Rogue Final Build

Published March 27, 2014
Advertisement
https://www.dropbox.com/s/bsxgr9njkcqki0f/Roguelike.7z

Download the zip file (created with 7zip) and extract it. I should create two folders. C runtimes which has the visual studio redistributal packages. Install the one that corrisponds with you OS if you don't have vsc++2012 installed. The game folder ofcourse holds the game and the needed assets.

Shouldve mentioned last time the game runs in a 1280x800 window, I opted out of fullscreen and supporting other resolutions as this was meant ot be a personal project for testing purposes. Still a bit shocked or suprised that it ended up being what it is. Let alone making it to a final state.

Bare with me.... this is a long post....

Post Morteum

As mentioned before the game started off as a remake of a strategy game I once made. I jumped straight in working on the terrain/map/gameboard (whatever you like to call it), and go figure that is the portion of the game I'm most satisfied with. I'll definitley be refactoring and expanding it for the next project. I plan on doing another roguelike or gauntlet style rpg for the next project. and I've alrady got a list of ideas I've been jotting down the entire time I've been working on this project.

In nearly every project I've done so far, I now realize I over design everything to the point its impossible to accomplish. I've had breakout clones that have gotten to impossible states without huge refactors. Typically I just give up on these projects. Mostly giving up cause I can no longer grasp the design at one point or another.

This time I focused on getting things done rather than worrying about the design. If that meant everything was in one file was perfectly fine for me aslong as it worked. A total of 14 files (counting header + source as one file), a huge difference from one of my breakout clones I just counted at 32 files (counting header + source as one file). Holy crap you might say... yes that is major over designing.

One of my refactors did add 2 files, simply for readability sake. In the end I feel it was a good design aspect I wish I wouldve done from the get go though. I'll definitley incorporate it in the enxt project to a fuller extent. Seperateing the processing of item based actions, especially the use action. The use action function went from a 200+ line function of copy paste code to only 22 lines. Making it capable of reading the flow of the function without taking notes as I scrolled through it.

The entire game is hardcoded and I particulary didn't like this aspect. It's what actually discouraged me from adding a plethora of new potions, scrolls, weapons and armours. Especially with potions and scrolls, all their effects immediately created spaghetti everywhere. It took the huge refactoring to atleast make it manageable and still it wasn't what I wanted. It wasn't as easy as I thought it would be to incorparate things like weapons that could heal (think wands). Some thing I greatly want to work on for the next project is extracting such affects or abilities from unique items and allow any item to have those properties. Cursed items wouldve even been another headache, copy and pasting it to every item type I wanted to be able to be cursed.

I've never been that great with coming up with formulas, solving them sure. It shows especially in the combat calculations. It just seemed no matter what, the players stats just didn't have any effect unless pumped in big jumps. You might notice strength really doesn't have any effect between increments of 5. I probably tried to hard to keep things small numbered. I like the idea of the player not know the exact formulas but being able to deduce it by doing the math in there head and dealing 9999 damage with 324 strength just isn't friendly doing it in your head. I'm strongly thinking of removing stats such as strength. Making everything gear dependant. Your character is only as strong as the weapon you're swing with.

I'll admit I modelled or atleast drew alot of my inspiration from dungeon crawl stone soup which I consider the tiles version the best roguelike out there. Granted I haven't played a huge amount of them but I've dipped my feet in a fair amount of them. Everything you do in it seems to have a feeling to it, there's just alot more feedback though there isn't. I couldn't seem to reproduce that, and i blame my formulas for that. A lot of the times it just desn't feel like the player is actually in combat. I want to try for more visual ques, simple ques, like floaty-text numbers to show damage dealt. Nothing major but more than just the console narrating.

What's Next?

Same concept, more depth, and A roguelike engine. Probably just a framework, but I want to take what I've got and start to put together an engine to make these projects faster and easier. This project already incorporated a couple aspects from my last project and I'm definetly keeping the dungeon code around for future projects. The console and BSPTree are surely reuseable too. Unfortunately the rest of it is only reuseable in concept.

I want to incorporate more procedurally generated content. The item system, I want to be able to randomly generate items with different properties. Such as the sword of healling. Not all of which would be gauranteed in every play through. I'm thinking of for weapons for example. The game will have a set of base weapons that will all be included in the game. But the game can also generate random versions of the base item with random abilities and effects.

More livly dungeons. I've been playing Craft The World quite alot recently, if you haven't heard of it check it out on steam. If you like games like terraria but wanted it to be simcity esque... craft the world is your game. Everytime it makes me think why can't i change the dungeon as the player? Why do I have to use that door everytime? What if I found some explosive and wanted to blow a hole through the wall instead? What if not every creature was a midless enemy hell bent on chasing you to your death?

I'm not sure how far Id take the idea. been wanting to do more experimenting with AI in a game. That along with the idea of an ever evolving world. Like dwarf fortress, towns and civilizations are constantly changing and doing their own thing to progress through the game just as the player is. I would take things that far, not yet atleast. Something simpler along the lines of maybe an ant colony. Think of a room with a queen ant in it that when not hungry places eggs on the floor. The eggs will eventually hatch and generate new worker ant creatures. These worker ant might tunnel through walls expanding the nest making it possible for the queen to place more eggs. The workers will also search out food and bring it back to the queen to feed her so she keeps producing more workers.

and oh my god I think I have my idea :) I've been thinking along with all that, that I'll ditch the multi floor dungeon in favor of one huge world. a world that isn't entirely exploreable right away and has to be manipulated (dug out) to find and reach your goal. Also instead of only controlling the player, you'll have a group of adventurers that you could consider your civilization. AI controlled, you would issue things to do and the AI would decide how they do it. everything will still be turn based, I want to keep the roguelike idea alive, but make it far more next ime.

I just need to figure out what the purpose of all the extra characters would be except for having somewhere to fall back to in a fight. So with that I begin a new design process and will begin brainstorming ideas tomorrow. Farewell till next time.
Previous Entry Rogue Downloadable
Next Entry rogue game 2
2 likes 2 comments

Comments

arka80

Thanx for sharing this thoughts. I also fall often in the over-design issue. I also tried to go back using C instead of C++ to not be forced by OOP paradigm, but with almost the same results ;). It seems I simply can't keep things plain and flat.

March 27, 2014 10:17 AM
Aardvajk

Excellent work.

Ran around the first two levels, collected gear, killed a couple of snakes then geckos then starved to death because I forgot to eat anything :)

Look forward to seeing what your next project brings. Congrats on getting this into a finshed and polished state.

March 28, 2014 11:00 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement