Join us on Discord!
You can help CodeWalrus stay online by donating here.

[TI-84+CSE] [Hybrid BASIC] xLIBC Experimental Games

Started by 123outerme, April 10, 2016, 01:45:28 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

123outerme

I've decided to recreate Super Smash Bros (Melee, hopefully) on the TI-84+CSE (and CE assuming all goes well with xLIBCE). Super Smash Bros CCM, CCM standing for Color Calc Melee. I decided that if I posted this, it'd get done quicker. I'm doing this on the side, when I'm waiting for my testers to bring me back bugs and other things, and I get the urge to code, I'll be doing this. Here's a screenshot for no reason other than because I like you.

The blank background is intentional. I plan to break free from moving in 8x8 chunks (as in Sorcery of Uvutu), and for that, I'll need to have a blank background present.
  • Calculators owned: TI-84+CSE, TI-nspire Clickpad, TI-84+SE

Dream of Omnimaga

I like the speed so far. But when gameplay gets added you'll definitvely need to use shortcuts and workarounds in order to keep the speed high. I think it's possible, though.

-The walking loop should only include floor collision, jumping/falling speed/flag.
-When you press any key that isn't jump/walking, when you get hit, when you touch an item or when the enemy does anything else than walking, the main engine loop is exited.
-Once exiting the main loop, the game processes the above if needed. The Else instruction with nested Ifs must be used to minimize lag caused by going through long code whenever possible.
-No rand, randInt(), Sin(), Cos(), Tan() nor string operation must be used in the main walking loop. Those are too slow. In other words, have some form of AI and/or pre-determined enemy attack/move patterns, even if it means longer loading times before the match starts.
-Special moves should probably not be animations like a fireball moving gradually, but rather happen instantly, else having code to make a fireball or laser move every frame will slow down the game.

Some of the above have been used in Illusiat 13 and it helped a lot. The plain color background will definitively help too. I wish you good luck with this game and I hope it is successful. Just make sure to not start too big lol. :)
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

123outerme

Quote from: DJ Omnimaga on April 10, 2016, 03:40:00 AM
I like the speed so far. But when gameplay gets added you'll definitvely need to use shortcuts and workarounds in order to keep the speed high. I think it's possible, though.

-The walking loop should only include floor collision, jumping/falling speed/flag.
-When you press any key that isn't jump/walking, when you get hit, when you touch an item or when the enemy does anything else than walking, the main engine loop is exited.
-Once exiting the main loop, the game processes the above if needed. The Else instruction with nested Ifs must be used to minimize lag caused by going through long code whenever possible.
-No rand, randInt(), Sin(), Cos(), Tan() nor string operation must be used in the main walking loop. Those are too slow. In other words, have some form of AI and/or pre-determined enemy attack/move patterns, even if it means longer loading times before the match starts.
-Special moves should probably not be animations like a fireball moving gradually, but rather happen instantly, else having code to make a fireball or laser move every frame will slow down the game.

Some of the above have been used in Illusiat 13 and it helped a lot. The plain color background will definitively help too. I wish you good luck with this game and I hope it is successful. Just make sure to not start too big lol. :)
Thanks.
Unfortunately, all I have is the running loop with 1 "animation" (Falco sticks his leg out but never changes foot), no gravity or anything, just basic bounds checks, and already I can tell this is impossible. It's fairly slow already, and flickery (since I use both sides of GRAM to draw the map, I can't use double-buffering). On top of speed issues, since I can't mirror sprites, I'd need 2 copies of every single sprite in the game, one for facing left, and the other right. I'd estimate a grand total of 2 characters, using up both tileset slots. It's a shame to kick this project away so early, but I'm absolutely sure it was a mistake to start. At least the camera code might be helpful to some. Maybe this can be of use to someone. I'll leave the files here.
  • Calculators owned: TI-84+CSE, TI-nspire Clickpad, TI-84+SE

Dream of Omnimaga

Aw too bad. Actually the speed isn't that bad but As as ssb game some people might find it too slow. On the CE the speed would be twice faster at least so perhaps it could be playable there? You would need to test with Wabbitemu CSE at 200% speed, tho.

Also that character looks cool.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

123outerme

Quote from: DJ Omnimaga on April 10, 2016, 09:56:37 PM
Aw too bad. Actually the speed isn't that bad but As as ssb game some people might find it too slow. On the CE the speed would be twice faster at least so perhaps it could be playable there? You would need to test with Wabbitemu CSE at 200% speed, tho.

Also that character looks cool.
It's possible that if I get a CE, this would be a CE-only game, and I'd pick it back up. But as I have no reliable way to test for the CE (and DCE isn't even out yet), it'd be pointless to try.
It was hard to fit that much detail in 8x8, and some of the "animations" I'd already created look pretty bad.
  • Calculators owned: TI-84+CSE, TI-nspire Clickpad, TI-84+SE

Dream of Omnimaga

Well, for the most part, all you need for CE testing (xLIB at least) is a CSE emu set to 200% speed.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Dudeman313

Yeah, maybe a CE would be able to run it. Unfortunate to have to drop it so soon. It looks nice.
  • Calculators owned: TI-84 PCE
  • Consoles, mobile devices and vintage computers owned: Android O Phone
Does this qualify as a signature? 
The answer is "Sure."


Dream of Omnimaga

On a side note, have you experimented with scrolling wrapping around like in my Tunnel game? Kerm also made a Flappy Bird clone using that technique. If all you did was update and erase one block every frame, along with moving the character around, then I wonder how fast a jump game would run? Like this game, for example:

http://www.ticalc.org/archives/files/fileinfo/432/43207.html


Or you could just use rectangles if they're faster than sprites. With rectangles you could even draw and update longer platforms and scroll further as the game progresses. Wrapping around is insanely difficult, though >.<
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

123outerme

Quote from: DJ Omnimaga on April 14, 2016, 04:34:41 AM
On a side note, have you experimented with scrolling wrapping around like in my Tunnel game? Kerm also made a Flappy Bird clone using that technique. If all you did was update and erase one block every frame, along with moving the character around, then I wonder how fast a jump game would run? Like this game, for example:

http://www.ticalc.org/archives/files/fileinfo/432/43207.html


Or you could just use rectangles if they're faster than sprites. With rectangles you could even draw and update longer platforms and scroll further as the game progresses. Wrapping around is insanely difficult, though >.<
It's definitely possible that I could do that. I might have to try it. I was trying out a physics platformer myself (with 4 pixel-based movement instead of 8 ) but unfortunately, it's pretty tough to get it precisely right.
  • Calculators owned: TI-84+CSE, TI-nspire Clickpad, TI-84+SE

Dream of Omnimaga

Yeah I never had any luck with 4 pixels movement so far. I tried in my RPG but I couldn't get it right the first time around. That said, I was using tilemaps, which might not be necessary for the jump game example above (since you just draw a tiny rectangle to make platforms scroll then erase the other end with a rectangle that is the same color as the background.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

123outerme

Quote from: DJ Omnimaga on April 16, 2016, 07:46:34 AM
Yeah I never had any luck with 4 pixels movement so far. I tried in my RPG but I couldn't get it right the first time around. That said, I was using tilemaps, which might not be necessary for the jump game example above (since you just draw a tiny rectangle to make platforms scroll then erase the other end with a rectangle that is the same color as the background.
I could post my code, just so you can see what I'm currently doing with that. The only problem with the best version I have is that you fall through the left half of blocks. I've been trying to fix it, but no luck yet.
  • Calculators owned: TI-84+CSE, TI-nspire Clickpad, TI-84+SE

123outerme

It appears I've lost my top secret .gif somewhere...






  • Calculators owned: TI-84+CSE, TI-nspire Clickpad, TI-84+SE

Snektron

  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


Dream of Omnimaga

Hm interesting. Is this supposed to be a strategy game like those old NES/SNES ones where you had a world map, but with the ability to zoom in to conquer lands? I am curious about what are your plans with this. :)
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

123outerme

Quote from: DJ Omnimaga on April 18, 2016, 03:34:32 PM
Hm interesting. Is this supposed to be a strategy game like those old NES/SNES ones where you had a world map, but with the ability to zoom in to conquer lands? I am curious about what are your plans with this. :)
Yeah, so far I'm planning to combine Fire Emblem with Empire Earth. Build a large army and organize them into different formations (attack formation, defending formation, etc.). Build many bases (I'll probably have randomly generated empty castles, then conquer them as you see fit). I might try to have a multiplayer mode, but I'm not quite sure how that'd work out. I'd at least have a 1-player vs AI mode.
  • Calculators owned: TI-84+CSE, TI-nspire Clickpad, TI-84+SE

Powered by EzPortal