Work Since Last Devlog
I’ve been trying to take it easy this week, but did make a few small fixes to Hibernator, and also duplicated the source directory for refactoring Project #2.
- Bolero 2 codebase:
- Added strict.lua to the project, which caught several unintentional global variable declarations and expressions checking undeclared globals.
- Went over every core source file to fix things like unnecessary ID-number-to-string lookups (Lua already internalizes strings, making them perfectly fine for indexing arrays for tilesets, sound effects and the like), removal of magic numbers, and to make sure it has a sensible hierarchy overall.
- After finding a command-line argument in Tiled to export maps in other formats, automated converting TMX map files to Lua source files as part of the build process. (Wish I had done that earlier!)
- Changes to Hibernator:
- Added rudimentary gamepad support — not robust enough for me to feel comfortable moving the project status away from prototype, but I did a few test runs to completion with an XBox 360 gamepad and a generic clone SNES USB controller, both on Linux and Windows. I was able to complete the game at double-speed with a gamepad, which I don’t recommend doing because it’s extremely not fun, but it’s nice to know that it’s possible to do so. The engine uses the first joystick enumerated, and the action buttons are remappable, but the axes and deadzones are not. I need a better interface to properly flesh this out.
- Added a simple configuration file which saves settings on program exit and attempts to retrieve them on startup.
- Minor map adjustments and platforming fixes:
- Player now faces left at start, towards the machine which represents the first in-game objective
- Added some dedicated jump buttons (space, z, x, c) and an option to disable “Up to jump”
- Fixed a small ceiling terrain misalignment in the gauntlet area with the turrets
- Fixed ladder behavior, which I had been putting off. The player could get stuck in ceilings if the upper end of ladders terminated into solid wall. This needed to be addressed since the player can now jump while standing in front of ladders, whereas before jumping would always be overridden by climbing. This allows the user to jump through some bits that are supposed to be climbing-only, but I’m not too concerned about it.
Thoughts
Back to the drawing board I guess. Sketching out some ideas for the next project, and making an engine / tools feature list as well.
Plans For Next Post
- I’ll be putting these posts on hiatus until I have a better idea for the next project. Until then, cheers!