Saturday, March 12, 2016

ShoppyRL day one: "I'm the map, I'm the map..."

So today I made a map! It's similar to the TriQuest map (2013 7DRL) in that it's composed of "danger zones", but this time the danger zones are "fuzzed" a bit so they're not perfectly square. Well, actually they have holes cut out of them!

I've also created some creatures which are placed on the map: 5 heroes and a bunch of monsters. The terrain and the creatures can be edited in data files!

I also made a basic combat system; not sure how balanced it is, but it's similar to the one I used in TriQuest. Hopefully balancing it will require only tweaking creature stats...

Finally, there's a console app which displays the map and simulates some combat (though creatures can attack each other from across the map). I think I'll have to use some other sort of GUI, though, as the console app is way too slow then displaying the map. No idea why the Windows console can't just display a grid of characters... isn't that what it's for?

I think I'm basically on track for today, though I'll be rather busy the rest of the week so I don't really have high hopes of completing this game on time. I would have continued on with tomorrow's goals, but I'd already spent enough time programming for one day! (Even though I borrowed a lot of utility code from other projects of mine...)

Speaking of tomorrow's goals...

  • Create a real GUI
  • Oops, I forgot to finish this... let me go publish it now!

ShoppyRL day 8: "Game over, boys! No, wait, career over..."

So, I wasn't able to complete ShoppyRL this week. I already knew it on day 2 - I just had too much going on, and I was also fed up with trying out different UI frameworks. The Windows console was too slow after all (seriously Microsoft, how hard it is to make a freaking CONSOLE?!) and I tried WPF but I don't know enough about it to make anything happen in the "proper" way without what felt like gigabytes of repetitive view-model code. I could have hacked together a "fake" WPF app, or switched over to WinForms in which that sort of coding style is actually considered acceptable, but at that point I didn't really care anymore; I didn't have time for any more messing around, so I gave up. Sorry folks! Maybe I'll pick this up again someday, but I kind of doubt it... I don't even think I want to be a programmer anymore! Well, I could do it if I didn't have to write user interfaces, but good luck finding a job or open-source project like that...

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)

Tuesday, April 1, 2014

Beware of Strange Warp Points v1.1

With some help from a friend from the Space Empires community, I'm proud to announce the release of version 1.1 of Beware of Strange Warp Points! You can download it here. There are lots of new features and bug fixes (details are in the manual), so if you enjoyed the 7DRL release, be sure to check it out!

Friday, March 14, 2014

7DRL 2014 day 7: ITS OV4R!!!

And another exciting 7DRL challenge draws to a close, with the completion of Beware of Strange Warp Points! You can download it over at the Bitbucket page. I added a pretty comprehensive user manual this morning, so hopefully folks won't be too confused by the myriad stats and abilities!

Now to announce it over on /r/spaceempires, and maybe the roguelike subreddits, if other folks are spamming them with 7DRL announcements too...

And then I think I'm going to email Aaron Hall about this thing, and see what he has to say about it!

Thursday, March 13, 2014

7DRL 2014 day 6: Rise of the robots

So, today I worked on a bunch of little issues that I'd noticed throughout the week - bugs, minor features, and the like. Here's a quick overview:

  • Fixed a bug where enemy build rate was dependent, for some reason, on the player ship's speed. Meaning that the faster your ship gets, the faster the enemy shipyards build!
  • Changed the .NET runtime version of the game from 4.5 to 4.0, so it will run on Windows XP without using Mono.
  • Enemies are now more intelligent - they will attempt to stay at a range where they can hurt you, but you can't hurt them. Or, failing that, they'll flee (if their weapons are destroyed) or close to the range of their shortest ranged weapon (if they don't outrange you).
  • My favorite feature so far - now there are range indicators on the map for player and enemy weapons! No longer do you have to guess who's in range of whom!
  • The galaxy map now shows indicators for interesting stationary objects, such as allied colonies and enemy shipyards.
  • To go along with the weapon range indicators, there's also a range indicator for your scanners, so you can tell which enemies you can click to scan.
  • Sectors that have been swept with sensors are now shown as dark gray dots, making it easy to see where you've checked for cloaked shipyards and where you still have to check.
  • Most everything in the game has some sort of tooltip now. GameHunter won't be confused when he tries to play this 7DRL!
  • Crew and thrust counters are highlighted in red if losing another crew quarters or engine would cripple your ship. Remember to have backups!
Tomorrow, a manual and final release! But for now, a screenshot of the sweet looking range indicators:

Wednesday, March 12, 2014

7DRL 2014 day 5 - Imma firin mah LAZZ0R!

So today I added a variety of new components to BOSWP, to make the game more interesting. Not all of them behave exactly as they did in SE4, though. For instance, missile weapons have shorter range, armor is leaky, and ECM stacks, albeit with diminishing returns.

Also, the enemy shipyards are now cloaked, since I added sensors to the game. You'll have to deduce their location based on the direction ships tend to be appearing from! They also will no longer automatically build ships whenever possible when you're in their system, unless you can actually see them. You do get a free sensor range of 1, so you don't actually have to bump enemy shipyards to detect them, though. Still, a sensor range of 1 is pretty pathetic, so you'll want to buy a tachyon sensor or two when you get a chance.

The game's actually starting to be a bit fun now, though I'm not entirely sure if it's all that winnable. If you spend too much time searching for allied colonies early on, the enemy shipyards will start cranking out cruisers and battleships, which are quite difficult to take out without upgrades - and you won't be able to afford anything without killing enemies anyway! So I imagine the optimal strategy might be to pick off the scouts and destroyers, and search a bit for shipyards, then when you start taking too much damage, search for a colony to repair and upgrade at.

I've also got a list of issues I've collected which I plan to address tomorrow, now that the game is basically feature complete. And then, on Friday, I'll write some documentation, though that might not be all that necessary if I add copious tooltips!