My first day is over, so now it’s time to introduce my game!
Growgue is a roguelike built around farming mechanics-planting, caring for, and eventually harvesting plants. Above ground, as well as in small patches throughout the dungeon, the player will find soil that can be used to grow plants. They’ll need to keep track of the conditions inside the dungeon: Things like heat, humidity, soil content, etc.
That’s the goal, at any rate. So far, I’ve just started laying the *ahem* groundwork for the game. My last 7DRL was pretty underwhelming, in part because I rushed ahead too quickly and ended up spending much of the later days fixing critical errors that were popping up everywhere. This time, I’m pacing myself with an actual schedule: 2 days for building the engine and core systems, 3 days for building all of the necessary gameplay, and the 2 final days for filling out the game with content and adding polish/balance fixes. I’m also going to be running the game through Valgrind’s memcheck tool every night to ensure that I’m not leaving behind any stray crashes.
I’ve made a quick update to To the West, just to make building easier and fix a couple of colors. I also made a working Windows build! Sorry for taking so long with that, I must’ve hit my head at the end of 7drl and mysteriously lost all my knowledge of coss-platform development or something.
My 7 days are up, and I’ve finished To the West. I’m still not sure just how successful I was, but I’m not exactly disappointed with my showing. The game’s a bit buggy, (I even had to remove a few interesting features due to wierd bugs) and even after hours of tweaking it’s still fairly poorly balanced, but it works! I have a random world, 14 different monsters(5 with unique abilities/ai, the rest with a variety of stats/drops), 8 biomes, a final boss fight, and shiny levelup screen. What more could I want? The game is beatable. (I’ve reached the final area plenty of times, reached the final boss twice, and killed him once)
Anyways, I don’t have a build out right now. The source and makefile are available for Linux users, and you shouldn’t need anything too exotic to build the game(ncurses, lua, and rapidxml). I was planning to make a Windows build, but I was having a bit more trouble than usual with it. The game should technically be fully cross-platform, but compiling console applications for Widnows can be a slight pain at times.
Anyways, I’ll be making one last post later with a postmortem on the project. For now, though, I think I’ll just rest a bit.
This was a hard day for me. I’m starting to feel a bit burnt out, and I even briefly considered giving up a few hours ago!
…I’m feeling better now. I’ve done some more work on the game, mostly on getting all of the bits together. I’ve been doing tons of tweaking and balancing, and I only have one major feature left: enemy drops. Once I have enemies dropping items, the code parts of the game will be done and I can focus on messing with xml and lua files. I don’t have a whole lot of time tomorrow, since my run *officially* ends at 3:00 PM. Hopefully a good early showing will secure this success though!
Well, I think it’s time to call it a night. I have a lot of work to do tomorrow, and with any luck you’ll be seeing a success post soon enough!
I started by adding an examine feature. You can now select a monster to view its’ name and stats. If I had more time, I’d let you examine terrain and items, but I still have quite a bit to do in these last 2 days. After that, I spent the rest of the day working on adding items to the game. They’re almost done, but picking them up/dropping them is a bit buggy. Still, you can now use and throw items, and they can do different things depending what’s done to them. When you get items, they also stack together nicely. When a stack reaches the maximum size, any overflow goes right into a new slot. Rather than a weight limit, I’m instead limiting the inventory to ~30 unique items/stacks.
I also added a script call for spawning enemies, and with it, a necromancer enemy. They’re pretty weak and don’t approah the player, but they also generate lots of weak but aggressive skeletons.
Anyways, I don’t have any super interesting screenshots to share this time, since it’s mostly boring backend work. Still, I’m quite happy with my progress so far!
I only did two things today. At least one of them was rather substantial!
First off, I made the game controllable by the numpad and added a wait button. Last year I went vi-keys only, and it bothered some people. I like them, but I understand that not everyone is particularly fond of the setup. The wait button comes in two flavors, short and long. This game is kinda sorta not turn based. It looks like any other turn-based game, but it actually is based on a system of hidden time units. The short wait expends one unit, allowing you to wait a tiny fraction of time for enemies to approach and whatnot, and the long wait goes for 10. After that, I expanded the help to encompass this information and made it scroll. I’ll probably be doing that to the messagebox soon as well. Lastly, I created a system for ‘effects’. Effects allow a script to be executed on a group of tiles/units, and can be created based on a point, a radius, or a line(and the line can be told to stop at solids). Hopefully, I’ll be using these things to not only handle various items and enemy abilities, but other things as well. For instance, I could easily use this to make an ambush, or make a gate open/close as necessary. This took a really long time to get working, however, so I haven’t had time to do anything with it.
…well, except for this:
As pictured here, Red Dragons are bad for your health.
Today was fairly productive, I think. I finished the basic ai for creatures, and now they either wander aimlessly or charge after a target. I also added levelling, and a bunch of extra scripting work.
The scripting is really starting to pay off, I think. Only one monster makes use of it so far, but it definitely lets me add some more interesting things to the game. I also have scripts running on certain tiles, such as lava. You can wade through it if you really want to and don’t heed the game’s warnings, but the result is guaranteed to hurt.
I’ve been making a point to add at least one biome and two enemies per day, so hopefully the game will have some decent variety by the end of the week. Also, you might notice that this screenshot looks a bit different. I was trying to find a way to make enemies more visible, and I messed around with colors for a while. Ultimately, I ended up doing the exact opposite of this, but I don’t have any great screenshots of that right now. If you’re really curious, it looks like the older screenshots I’ve posted except with a colored background on the enemies.
Tomorrow, I’ll probably work on scaling and balancing things properly.