So anyway; as I was saying a brief 1000 days ago…
Okay, maybe I’m taking the whole “seven year” part of 7yrl too literally ;-). I’m working at a different company, still in the same house, still coding games at night to maintain sanity. I took about 18 months off and spun up a few different projects (wanderlinggames.com and bluesky.io, primarily), but my life of an indie developer recently gave way to my life as an individual with a paycheck. Which isn’t actually a bad thing.
I also recently started in on my roguelike coding efforts again. I’ve started over from scratch again; one of the joys of not having a deadline imposed (well, other than the self-imposed 7 year one 😉 ) is that I can start anew knowing a bit more than last time. I’m taking a few things from the previous attempt and will take more (primarily the dungeon generation code), but by and large it’s a completely different project.
The main thing that drove me back to coding up a roguelike is Pixoban, of all things. It’s a pretty standard Sokoban, but with graphics that simply scream “make a roguelike with me!” Check this out to see what I mean: http://www.148apps.com/wp-content/uploads/2013/08/pixoban5.jpg.
However, no one has made one (slackers, all of you!). In the spirit of making the game you want to play, I’m, well, making the game I want to play. As you can tell from the image in my previous post, I’m going for a bit of a darker feeling and playing a lot with shadows (lots more on that in future posts).
Here’s the short list of core pillars driving the game:
- Old school 8- and 16-bit graphics with new school flair; real time shadows, particle effects, SSAO(-ish), normal lighting on mobs, bump mapping, ortho projection, and animated tiles.
- Roguelike permadeath but with progression; when your character dies, he dies; but you maintain knowledge that helps you get farther next time – weapon proficiencies, monster proficiencies, skills, Professions, and more.
- Heavy crafting influence; discover ingredients and recipes to decipher in order to make items – once you’ve made an item you can use it, but it also can then appear as a drop in subsequent plays. Skills are also crafted, as are runes to augment weapons.
- Targeting both Mobile and PC. I’m building screens and controls from the start to support arbitrary resolutions as well as both portrait and landscape modes
- One-finger play on mobile; I want to hold my phone like I was browsing the web when I play the game. I’ll talk more about the Contextual Action Bar (CAB) later.
- All of the graphic systems listed above are coded and fairly production-ready. I’m getting acceptable performance on my 2011 macbook air, and an iPad 2 is acceptable; anything less isn’t.
- State management (with transitions) is done. Async loading is also almost done – some issues with OGL and TPL interaction to work through still.
- You can move around using keyboard or tap-to-move or A* explore.
- Persistence model is in place and functioning for multiple games and multiple levels
- Works on both Mac and Windows now, and iOS builds work except for some layout issues.
I still need to finalize how much to open source and how to deal with it. e.g. I picked up a license for Oryx’s great 8bit and 16bit sprites and am using both, so just posting stuff up on github may not be an option. I need to read up a bit on how best to handle that situation (e.g. is a note in the license.txt sufficient?).
One more in-game shot:
If you zoom in you can see the bump mapping on the floors as well as the walls above the player. Up near the top is a mob with a colored light, and the flaming skulls all have particle systems attached to themselves. A bit harder to see (but present) is that all of the mobs and items have normal maps and light correctly relative to the light; a subtle but nice effect. The skeleton to the left of the player shows it best in this shot. You can also see the SSAO-esque effect best in the space to the right of the stairs going down (upper left of the image).
It’s good to be back,