Alternatively, join us on Discord.

[CSE Basic] Flatforme

Started by 123outerme, January 09, 2015, 11:52:46 pm

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

123outerme

January 09, 2015, 11:52:46 pm Last Edit: January 31, 2015, 08:01:02 pm by 123outerme
Flatforme is a 2D, single-screen based platformer in development for the TI-84+CSE. Platform your way to the Goal Coin and collect it! Fend off enemies who will happily stop your progress.



Todo:: ShowHide

*Level design
*More enemy AI (?)
*More puzzles than just "grab the thing" (?)
*More abilities (?)


Edit January 31st: Attached a new beta with the level editor!

DJ Omnimaga

Ooh I like how the graphics are laid out. :) how many screens per level is there? And how is level data stored?


Snektron

Looks nice! I always like what people can do with limited resources :p
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


123outerme

January 10, 2015, 01:14:49 am #3 Last Edit: January 10, 2015, 02:24:04 am by 123outerme
Quote from: DJ Omnimaga on January 10, 2015, 12:29:56 am
Ooh I like how the graphics are laid out. :) how many screens per level is there? And how is level data stored?

Thanks! Just for the sake of completing the demo, I hard-coded the collision detection. I plan to have a sort of lookup table with all of the collision and level data storing itself into variables. There will probably be 3-4 screens per level, but it could change.
Quote from: Cumred_Snektron on January 10, 2015, 01:02:56 am
Looks nice! I always like what people can do with limited resources :p

Thanks!

DJ Omnimaga

Aah ok. What would be nice is if you could come up with a system where each screen have the top platform starting and ending at various locations, same for the bottom one, and have the color be different (not hard-coded either) in each world. For collision, you could check if the character is at a certain height on the screen then check the list to see if you're inside an area with no floor.

123outerme

Quote from: DJ Omnimaga on January 10, 2015, 06:52:40 am
Aah ok. What would be nice is if you could come up with a system where each screen have the top platform starting and ending at various locations, same for the bottom one, and have the color be different (not hard-coded either) in each world. For collision, you could check if the character is at a certain height on the screen then check the list to see if you're inside an area with no floor.

Thanks for the tip! The way I did it was get the Y value of the top of the platform, where you would stand, and have it turn my gravity flag off. For hitting the bottom of the platform when under it, I added in a conditional in the jumping code that reset your Y value after the next one was calculated if you were directly underneath it. The collision to the side basically reset the X value when you attempted to go left near the side of the platform.

As for the different levels, I imagine that the color schemes will change, and the difficulty will change. But, the more that I think about it, the more I realize that level layout data will be hard to do, the way I'm currently imagining it. I'll have to put some thought into it.

DJ Omnimaga

Good luck with what you decide. Also since the sky is white I assume you could use pxl-test for collision detection, but since erasing a character with a space doesn't turn off those pixels, you would need to apply a pxl-off to 1 pixel inside the space where your character previously stood.

123outerme

January 10, 2015, 07:33:08 pm #7 Last Edit: January 10, 2015, 07:43:54 pm by 123outerme
Quote from: DJ Omnimaga on January 10, 2015, 07:11:52 pm
Good luck with what you decide. Also since the sky is white I assume you could use pxl-test for collision detection, but since erasing a character with a space doesn't turn off those pixels, you would need to apply a pxl-off to 1 pixel inside the space where your character previously stood.

Actually, I've got it now. Like I said before, I'm using lookup tables to store the collision data into some variables like so:
(platform)
                                                         -- this Y position is a variable (let's call it A)      [  ] --the goal's X and Y are another two variables
                                    XXXXXXXX
                                    XXXXXXXX
Y minus the height of A --             I
                                    I   The right and left bounds are two variables

Instead of checking a number, I check these variables, and since the lookup tables modify them, they change every level.

123outerme

I've been working on a lot of stuff, like the ability to place platforms wherever you want, not just on the left side. I also added color scheming and started on making levels.
Images:: ShowHide




(Level 3.1 doesn't have it's own level yet, so it's using Level 1.1's data)

LD Studios

Nice work, I like how the player squats down before jumping



123outerme

Quote from: LD Studios on January 10, 2015, 10:59:00 pm
Nice work, I like how the player squats down before jumping

Thanks! That was partly out of necessity, since it's otherwise impossible to tell when to press left/right to get the horizontal momentum. I added that cue in to telegraph when you need to press those keys.

DJ Omnimaga


123outerme

Quote from: DJ Omnimaga on January 11, 2015, 04:00:44 am
Looks very good :)

Thanks! I've also added in a Mario Sunshine-esque menu screen, and I'm almost ready to release a demo. I would suggest playing the demo on an emulator, since it doesn't have enough content yet to justify waiting for TI-Connect to work. ;)

DJ Omnimaga


123outerme

January 11, 2015, 09:03:07 pm #14 Last Edit: January 11, 2015, 09:05:18 pm by 123outerme
Quote from: DJ Omnimaga on January 11, 2015, 03:13:53 pm
Cool, I can't wait :)

Thanks! I added the demo now, it's in the first post. I'm still tweaking the levels. Please report any bugs you find!

Powered by EzPortal