It’s about time…
I’ve gone on enough about the background. Don’t get me wrong, it was important to get all my thoughts about this project sorted out so I could see through it all. But the goal here is to make a game, dammit. Consider this the first design doc, the blueprint for Joyride. At least, the first iteration. I see two things I need to have a version v0.1:
1. A Place to Explore
Hey! I know! How about HexSpace? Great, let’s use it. My HexSpace, let me show you it:

I consider this programmer art but graphically isn’t a bad start. Also, the actual sectors will have many more tiles than this. The tiles themselves will probably be larger, too. So, what’s actually going on here? On the outside of the grid is just un-explorable space. Inside the grid is where the player explores. The orange stuff is nebula/clouds/fog/aether that obscure the monsters and loot. In this image, it comes in four varieties: clear, light, medium, and heavy. I might play with more levels of nebula density, but that’s the start. The nebula density of a tile affects everything from sight ranges, movement speed, and weapon effectiveness. Broadly speaking, the heavier the nebula, the worse it’s going to be for the player, but loot hides everywhere, and the player needs to dive in.
Sight Lines
The denser the nebula, the less the player can peer into it. Each tile has an interference level of 1, 2, 4, and 6 for clear, light, medium, and heavy tiles. The player’s tile has half the interference. The player has sensors with a penetration level of 8. To find out if a tile is visible, sum up every tile’s interference from the player’s tile to the target tile and if that value is less or equal to the player’s senor’s penetration, that tile is visible. If there is more than one path to a target tile, take which ever path has less interference. That might make for weird situations later, but I suspect that this particular game mechanic will be revisited many times. Here is an image with sight lines from a few different locations. The green circle is the player’s location, colored tiles are visible, and the numbers are the interference for that tile.

Some observations about this system. It’s easy to sidle next to heavy tiles and see what’s in there, but going into that tile really obscures what the player can see. If there is a large grouping of heavy tiles, the player can be flying blind for a while. I could see some serious strategy coming from this. Also, there is a “bug” in the middle picture in the bottom tile with the ’9′. That tile isn’t visible to the player, but they way I showed the hue left that tile looking visible. It wouldn’t be.
Movement
For this iteration, I think movement will just be simple and turn-based. The player taps an adjacent tile and he moves there. Then, everything else takes its turn. In the future, I would like to have an action point system and different tiles would have different action point costs. Clear tiles might take one action point and heavy tiles would be three.
Weapon effectiveness
I think the player should be able to fire his weapon further than he can see, but the chances of hitting are reduced by the interference and distance. Say the player has a base 50% chance of hitting. Before rolling to hit, the interference in subtracted from this value for the new modified chance. A different weapon, like a laser, probably wouldn’t miss, but the interference would reduce the damage. I’ll probably have to play with just how much the effectiveness is reduced by interference, but this will be the basic mechanic.
2. Risk and Reward
Any game worth its salt (e-salt?) has risk and reward. The more risk you take, the greater chance of reward but in turn a greater risk of failure. It makes things interesting. I’m sure people could argue me on this point and I invite those people to go away. I’m not interesting in exploring the deeper meanings of play here, just making a damn roguelike! So, what’s the player going to put everything on the line for? Crystals! (Also, need a better name than crystals).

Yeah, ok, that’s just Bejeweled, but I wanted something evocative of what I was going for without spending all day making actual gems for you to look at. What are these crystals? They are the solidified essences of the aether that makes up HexSpace! Scattered about the sector are deposits of these crystals just waiting to be picked up. What do these crystals mean for the player? Well, the crystals are his…
Score!
More crystals means more points and games are all about the points. But that is just a simple metric of the player’s success. Here comes the real twist. They are also his…
Ammo!
Well, crap. So, I’m saying player effectively reduces his score to kill enemies? That’s right! But the enemies want to kill the player and dead player can’t get more crystals. Dead enemies also drop more crystals. I also really want the player to think about every shot they take, that’s why I am giving the crystals and enemies affinities. Right now, it’s simple stuff, a rock-paper-scissors relationship. Red crystals hurt green enemies more than other colors, for example. To start, there will be four colors, red, green, blue, and white. White is generic. It’s not strong or weak. It’s what the player will find the most of and what he starts with. Red is strong against green, green against blue, and blue against red. Go the opposite direction for weaknesses. So, now does the player use that level three blue crystal against that really big, bad enemy or bank it for points? But wait! There’s more! Crystals are also the player’s…
Buffs!
If the player uses that crystal on himself, he’ll get a temporary buff. I… don’t know what the buffs will be yet. This will be a later iteration, but will add depth. Speaking of depth, crystals aren’t the only loot. There are also…
Artifacts!
When a player starts, he is practically just chucking these crystals at the enemies. HexSpace, though, is strewn with fantastic relics of others that have been sucked in and the player can shove a crystal in these and really cause some damage. To start, artifacts will provide different sorts of attacks and buffs from the stock ones and later that can allow more in-depth mechanics like mixing crystals to make hybrid attacks or damage. Those enemies won’t know what’s coming! Speaking of enemies, the game will have…
Enemies!
I’ve mentioned them, but what are they? I still don’t know. For this iteration, they will be really simple affairs. They detect the player, they move towards the player, they hit the player with damage until he dies. As I iterate, enemies will get different strategies and special abilities. For now, they’ll just be cannon fodder. There’s just one last part. In between sectors is the…
Home Base!
I always want this game to play in short 10-minutes sessions, but I would still like a longer sense of progression. The player dives into a random sector, kills a bunch of fools and harvests all the crystals, but what does he do after that? I’m thinking the home base is where the play goes to spend those crystals on upgrades, new ships, and other perks. I don’t have anything designed yet, but I wanted to get this idea out there so people know about it. To start, the home base will be where the player goes to get his score and start a new sector.
Next Steps
So, that’s my design doc. There is enough here to have a game that people can play. There is a bit more than I want in my first iteration, but I think needed to be said. I am going to use an agile system for making this, so my next step will be breaking this design doc into user stories and prioritizing them into a backlog. I already have made some headway into this and I will post them when I have it finished. I also need to do some investigation into what tech I would like to use. Cocos2D is might leading candidate, but since I last played with it, there have been more releases. There are also other game frameworks like Corona and Sparrow which look interesting. I will also write-up my findings with those. Meanwhile, if you have suggestions or ideas on any of this, leave a comment or send me an email! I’d love to hear it and I would like to incorporate your ideas I like earlier rather than later.