Friday, March 4, 2016

ShoppyRL day zero: "Once more unto the breach..."

Time for another 7DRL! This time I'll be doing an idea that Nick (my friend who helped me with polishing up Beware of Strange Warp points a few years ago) and I have been discussing.

This one's called "ShoppyRL", and it's inspired by the PC game Recettear as well as the Android game Merchant. In ShoppyRL, you play the role of a shopkeeper by day, and switch over to controlling an adventurer by night to fend off the monster incursion.

As a shopkeeper, you'll be buying, selling, and crafting items with various town citizens, including adventurers, craftsmen, and other such folks. You want to make a decent profit, but be sure not to overcharge the adventurers, as you want them to have enough money to buy more gear later!

As an adventurer, you'll patrol the area outside the town in search of the demon gates, which are spawning the invading monsters. If you destroy the demon gates, you win the game, but of course they are well guarded by monsters, so you'll need to gather loot to improve your adventurers. Wait too long, though, and the monsters will overrun the town!

That's right, "adventurers". There will be several adventurers, and you'll be able to switch between them at any time, with the ones you're not controlling being run by the AI. I'm hoping to get some sort of "hunting pack" mechanic in there that keeps the adventurers close together (stay near the strongest ally, for instance) while also attacking nearby enemies, so they don't run off and get killed too easily. Of course, the monsters will employ this algorithm as well, so prepare for some epic battles!

Stay tuned over the next week as I develop ShoppyRL!

Oh, yeah, goals for tomorrow...
  • Create "creature", "townsperson", "hero", and "monster" classes
  • Create a map, and populate it with terrain, heroes, and monsters
  • Implement basic combat mechanics (not movement yet, just combat)
  • Create unit tests to make sure the map and combat work (since there won't be a GUI yet)

1 comment: