Okay, I figure, maybe I’ll just document everything I’m doing on game development… Just because. If I can’t make money with ads… maybe the site will help fill in the holes.
Or maybe somebody who knows what the hell their doing will read my documentation, and correct me, or point out a better way of doing it. Either way, I figure this mystery person, or persons will probably look through the archive to find this, so I just want to point out some stuff for people who don’t hang out on this site that much:
A. I went to college for game art and design. Mostly art. Not so much programming.
B. I made a webcomic, it didn’t do too well.
C. I learned basic Java, then went into Android programming, then went into Android games.
D. 90% of the time, I have no clue what I’m doing, and I’m broke beyond broke.
That said, just to get up to date with all the stuff I’ve done on this project, which is currently known as “Inkman”, just so I have a name for it:
A. Read the apress Beginning Android Game Development book by Mario Zechner.
B. Modified the hell out of his framework for “Super Jumper” to make a framework
C. Either way, framework is like… 30% done. Right now I’m working on graphics for the spritemap.
From there, I’m using the framework to build a level editor, which, when used saves the current level information to a text file. Once I make a basic set of, say, five to ten demo levels, I’ll start building the game proper.
Ongoing problem list:
Bleeding off player velocity without relying on complicated states.
Bounding areas for environment objects. How do I handle gravity without relying on constant state checks? Such as, a stack of three boxes. I don’t want to be constantly checking whether or not there’s something under those boxes. They should just sit there until something changes. Same thing for the player character.
I really wish I had a few games from people more skilled than I to rip into. I need to see some good ways of handling things.
I still miss Serious Emotional Disturbances :I
Ah also. Re level saving. Make it a format that can be sent over network easy. such as JSON or XML. That way when the time comes and your game becomes amazing, you can more easily set up downloadable level packs, map sharing, etc.
Hrmmm, without understanding too much, i guess i can have a stab at it.
- I’m guessing player velocity is stored as a 2vector and it will gradually reduce toward 0? Can you not do something along the lines of v *= 0.9 each iteration to cause a pausing reduction, and just cap it at a lower bounds ( v < Lower ? 0 : v) or something like that.
- Bounding areas. This sounds like you are talking about collision physics? My first instinct would be to say… find if there is an implementation of something like Box2D and use that, physics libraries are everywhere, and often have rigid body physics heavily optimized…. but where is the fun in that.
If you want to reduce the number of checks, you can organise you information into quadtrees (2d octrees). Each quad is an area on the screen that has four sub-quads and so on down to some level you define. This way, if nothing changes in the parent quad, then nothing changes in the child quads. You can quicjly narrow down where you need to do calculations and where you can leave it alone.
So yeah… I love game programming. Currently leveraging open gl es shaders to make the gpu do things it is not meant to for a game I’m working on (can anyone say calculating 2d wave propagation in an arbitrary 3d environment?)
Velocity: Spot on, it’s just that it ends up being this huge ugly switch, with having to recognize orientation and then update from there. And I feel like… there’s gotta be a simpler way then like 20 lines of if/else, since it all ends up with this even more giant state-checking-thing on every frame.
Bounding areas: Yeah, its collision physics, but… more like psuedo-physics. A faking of real physics. I’m looking into physics frameworks for android… but so far it seems there isn’t much available. Either its expensive, part of a larger program (which is also expensive) or released from a guy who doesn’t speak much english.
Level saving: I don’t even know where to start with JSON. I’m looking into it now. And xml would just be wayyyy too complicated for a little 2D platformer. i mean like… little little.