This was my first attempt at a monthly project, and I wasn't really prepared for, uh, all of it. I feel like I've gotten a lot more used to both the pacing of a month-long challenge and my own code. A huge hurdle for this project was just figuring out how entities and components actually worked — at this point I had only used the entity/component code for beyond, and only in some really trivial cases, so throwing down and having a bunch of reusable ai and gui and movement etc etc components threw me.
I also didn't really keep an update log for this — the only updates I wrote in real time in the log are as follows, since I pretty quickly degenerated into complaining on tumblr about programming instead of writing recaps here.
LUDUM DARE OCTOBER CHALLENGE, DAY ONE (Which is September 30th but whatever, that still counts)
Basically, I decided to do this on a whim, and then spent the next eight or so hours tearing apart my existing system/video/entity code to get it down to something I could reuse in a totally general way. I can already tell I'm going to miss these changes when I go back to working on ~the other project~. Incidently, I really need to start giving these things names. Worryingly, I found a bunch of old bugs in the code I ported over. Between the porting and the bugfixing I didn't get much actually accomplished; what I have now is an extremely basic system structure that is just barely capable of rendering, and a single component to handle input. Hopefully in a month I'll have something worth showing off.
October 1st
First annoyance of the day: porting over some boeyond code requires the use of libtools in my configure.ac file, and between that and certain scripts not working right if the path includes a space I end up chasing bugs around pointlessly for an hour before realizing the ultimate issue is that I overwrote the top-level Makefile.ac instead of the src/ one when I renamed a parent folder from Ludum Dare to Ludum_Dare.
PROGRAMMING
I manage to throw together the basic hex drawing code, and decide to make everything double-sized. This means the game itself is gonna be 320x240, for maximum RETRO vibe. Next: scrolling.
Okay, attempting a new map and input system from almost-scratch is kind of a little harder than I thought. Still: now you can walk around a map and the view will follow you (the yellow square)
And after a little tweaking it'll clamp at the edge of the screen, too. It does not, however, stop movement at the edge of the screen, so you can happily walk off the edge of the map.
This leads to the obvious next thing: Collision. The very basic version would just have all 'border' map hexes be solid and impassable, so no matter what you couldn't walk past the map edge.
AND THEN I STARTED A REPOSITORY AT GITHUB AND POSTED ALL MY CODE PUBLICALLY. So that's probably the major thing for today. (It's over here just so you know.)
October 2nd
uhhhh actually I didn't get much done today. I wrote the absolute basics of the collision system. In my defense, I was actually busy for a large portion of the day and collision is scary. Still, I'm hoping to get a lot more accomplished tomorrow.
And that was it. I mean, I kept up programming for most of the rest of the month, but since then I've completely forgotten what I was doing. Here are the rest of the screenshots I took!
Above: I was perpetually having trouble with collision working. It was pretty easy to mess with the collision such that you could walk through walls if you were persistant enough and hit enough keys.
Above: the orange boxes are the draw boundaries of the objects; the blue boxes are the collision boundaries of the objects. I was doing the math entirely wrong and didn't realize until I actually started drawing them to make sure.
All-in-all this was not really a triumphant entry into the field of monthy game challenges. But it cleared up my understanding of some system stuff I was using enormously, and paved the road for some more successful attempts.