I'll keep this short, since I'm talking more about a potential game than an actual one at this point in my learning, but my end-goal here is to create a platformer that will run in the same vein as some of my favorite games of all time—Bionic Commando. Bionic Commando, but with hulking, mobile, desert tank towers. In my head, I'm thinking these Towers each be a level, as well as it's own boss. So maybe I'm also drawing some inspiration from "Shadow of the Colossus".
That said, the ability to jump is in this very very very early prototype version as a placeholder. It's much less complicated than figuring out how to program a grappling-hook, and I wanted to test my very basic, first attempt at 2d physics and basic ground-collision detection.
I work on this a bit every day, and so far I've made at least notable progress each time. It might take entirely too long, but I am bound and determined to finish at least this one game.
And—please, please, please—if you have any suggestions, tips, tricks, or advice of any sort, I would LOVE to hear from you.
• Learn a whole bunch of things. Like, virtually everything.
~More Optimistic To-Do~
• Figure out how to get the outline beneath hero's feet to go behind ground sprites when she's standing.
• Increase map size by 3x/4x and learn to program the "camera" to follow the hero around.
• Replace simulated screen-wrapping with hard edges so the hero can't walk off the map.
• Add/animate grapple hook, map to button (not trying to add the actual mechanic yet—baby steps).
• Add/animate a sliding kick/dodge, map to button (once again, just animating—mechanics later).
~New in v003~
• Improved the ground collision detection so that the hero doesn't pop-up through the floor
• Re-colored everything to fit a Gameboy-esque, 4-color palette. For coolness.
• Added some useless sprites to decorate the tank-thing up a little bit.
• Added a sliding-stop effect when direction buttons are released
• Added jumping and falling animations
Something I haven't seen anyone do yet, Chief, is to use the Graphic Tile area to extensive store map data. You can only store 16-different identification marks (pixel-colors), but that should be enough, and you can always fine tune and edit your map data from there.
Pretty sure someone will take this idea and run with it. :)
Making a foreground shouldn't be too hard; anything you want to draw in front of the player has to be drawn after the player is drawn.
As for the mechanics, I think you will find it easier to program your mechanics first and worry about animations afterwards. Or, depending how you approach it, you could very well wind up making both at the same time. All I'm saying is I don't recommend making your animations before you've got the mechanic working how you want it.
You're probably going to be studying some vector math if you want to swing on a grappling hook, for example you might need to learn how to rotate the player around a fixed point at a certain distance. When I first had to do this my best friend was a Google search for "polar coordinates".
Basically what I mean is, instead of reading the map data with MGET and MPUT you would use SGET and SPUT.
The concept is pretty clear when you think about it. You have 128 pixels across and down to store tile data. If you designate some of that for your mapping, not where one overrrides the other but carefully thought out locations.
It will require you to write your own code to draw the map, but then you have the advantage of custom building one to your liking - and THAT can be exciting territory.
And by not using the MAPPER space at all you may perhaps have greater control over how you build maps and tiles.
Might be easier to see it than explain it. I can post an example if you like.
And that's a good attitude, looking to learn ! :D
I'm liking the art style and feel so far, looks like it has a lot of potential!
I'd recommend (and this is coming from an artist) that you get the mechanics down first and THEN animate and pretty up later as you could spend ages of the art and end up disappointed when the mechanics don't work...
[Please log in to post a comment]