Monday, February 28, 2011

The Milestone

Last week I accomplished quite a feat. I made it to my personally defined 0.4 milestone!

Now this was quite something for me. It took a lot of effort to accomplish all the things I had planned for this milestone. For one, the Editor is now usable in a reasonable fashion. Sure it crashes when you click on uninitialised toolbox buttons, but that's a minor detail. The GUI looks nice, I've got sprite-based buttons as well as rectangular buttons with text. I got the features in the game engine that I wanted and I even scraped some last minute animations in there.

For next week I plan to pick things up again. I took a little break after reaching 0.4 and gave it to a few friends of mine who picked and commented on it a little. One such comment influenced how a jumping character handles. These sorts of comments I tend to value as that's one of the first things that you get blind sided on from playing with the build for so long. You tend to notice subtle things less like how character movement 'feels'. Mostly the comments have been on par with what I've been going for so I guess I'm on the right track.

Next week I'll start implementing doors and switches, right after I fix how "Hurt" objects are handled, which currently don't respond very well if you're bumping into them from the sides. I think doors and switches will be one of the first changes to a more complex and entertaining object palette with which to build engaging levels. I've got big plans for the future... well... y'know. Big within reason.

See you next week!

Oh, and for those who care, here's the monstrosity that is 0.4's changelog.





Main v 0.4 (unreleased)
- Added smooth scrolling of the screen.
- Gave Player character arms and a gun.
- Player animation subsystem implemented.
- Currently the legs animate and can be controlled individually.
- Reimplemented level structure, it's now it's own class.
- Sepperated the player into it's own source file, it was getting too undwieldy.
- Player no longer dependant on the tile class, collision triggers from main loop.
- Added Goodies to the game. These are pickups that help the player.
- Goodies are now rendered, interactive and loaded from the level file.
- Implemented a basic GUI to display player health/lives/score
- Added a static backdrop to make the level appear less plain.
- Made goodie collision more accurate.
- Added hazards that can hurt and kill the player.
- Started the CubeWars Editor. An application to more easily build levels.
- Added function to save level & player states to file.
- screen.draw() function now takes argument which defines the framerate cap.
- Complete restructuring of source files. Sepperated GUI functions and window manager.
- Also, as part of the restructure, Editor and CubeWars now share dependencies again.
- Finished "graphicalinterface" reimplementation. Made functions accessible to Main.
- Fixed a bug in the scrolling routine that got it stuck near the edge of the level.
- Goodies and static objects can now animate at 3 basic speeds.
- Moved the animation handling to WindowManager. No use having thousands of copies of that during runtime.
- The Coin and Life powerup now have animations.
- Losing all your lives now causes 'game over'. Currently this just brings you to the Title screen.
- Reduced friction while Player is airborne. This causes more realistic jumping behaviour. (Thanks Martijn!)

- EDITOR: Version 0.1
- EDITOR: The Editor shares all classes and functions with game core.
- EDITOR: Added class to track mouse actions and positions.
- EDITOR: Added classes for buttons and buttonpanels to act as GUI elements.
- EDITOR: Using the mouse, tiles can now be picked from panels and placed in the level.
- EDITOR: Also wrote sweet-ass 'snap-to' logic.
- EDITOR: Redid the GUI layout and wrote button sorting functions.
- EDITOR: Created art for the new GUI layout.
- EDITOR: Moved a large number of variables and functions to a 'graphicalinterface' class.
- EDITOR: Rewrote most, if not all, of these functions.
- EDITOR: You can now scroll freely around your level at 2 different speeds.
- EDITOR: Added redundancy check, eliminating multiple tiles at the same coordinates/drawlevel.
- EDITOR: You can now place Player Start, all current goodies and the Hurt static actor.

No comments: