Jump to content

Working on a smallish PC game


TheTerminator2004

Recommended Posts

Right, I have a long summer ahead of me with not a lot to do, so I figured I'd practice my Java programming skills to make a game. Which will be a challenge both because its Java (which isn't known for being great to make games in), and because I want to focus heavily on procedural generation - which is not only hard, but extremely underused by most developers, so therefore there isn't a huge amount of useful info available. It's going to be an interesting experiment in game design. Why am I posting here? Partly so I have somewhere to collate all my thoughts and ideas, and partly to get people's opinions, suggestions, etc.

 

For those of you who don't know, procedural generation is, basically, randomly generating stuff. The landscape in Oblivion, for example, was originally procedurally generated, and then edited by hand. I want to take things a lot further than that, however - I want to generate an entire world, races of people (and maybe other creatures too) and civilisations, with random structure (so they won't all be ruled by a king, served by his lords, each of whom controls a castle, etc - they may be ruled by a council of elders, or a dictator, or whatever). The world generation in Dwarf Fortress is the closest thing to what I want to do, but it is somewhat different - I don't want to go into dealing with rainfall distribution/drainage/etc like DF does, but I do want to generate governments (which DF doesn't), and new creatures/races (which DF sort of does, in a very limited fashion, with its forgotten beasts). It will have procedurallu generated storyline/quests/characters etc, procedurally generated towns/castles/dungeons/other places, and quite possibly procedurally generated items as well (beyond your basic steel swords, yew bows, steel chainmail, etc - though I may need to generate those too, depending on how similar to the real world the procedurally generated ones will be) I'd also quite like to generate histories/cultures too, but that isn't necessary for the actual gameplay - just stoyline/interest, so can be done later. I'm working on the basis that a deep, interesting, immersive world is an essential part of any role playing game (its what made Morrowind, for example, great), and being able to procedurally generate interesting worlds will make for not only a fun, immersive experience, but one will be unique every time - thus greatly extending the replay value of the game.

 

I have a rough idea of how I'm going to do most of that, and I've already started writing an algorithm to generate the landscape itself (using plasma fractals, whch maths fans may have heard of). The procedural generation is my main interest in this (the results may be superficially similar to DF in many ways, but I believe the implementation is completely different), so thats been my main focus so far. Before I can program lots of it, however, I need to design the actual game - which is what I'm working on atm.

 

Also, advance warning: this is basically me putting my thoughts down on paper. They may not entirely make sense, they probably will be incomplete, and they will most definitely not be easy to read. But any input/advice/constructive criticism would be very welcome :smile:

 

 

The basic idea I have at the moment is that you can be a noble (or noble equivalent), and generally do noble things (such as command an army, manage your estates/castle/lands, and engage in political maneuvering - which may involve working to gain the king's favour while discrediting your rivals, or what have you).

 

It would likely have to be focused either on combat (managing armies, expanding territory, etc), or politics (in which case the focus would be on making deals, treachery, etc in order to gain power - this will probably involve various positions (maybe pseudo-randomly generated, maybe fixed) such as general of the army (and various sub-positions), admiral of the navy (again, with subpositions), mayor of a city, lord of a castle, etc - maybe things like foreign minister (spies, diplomacy with other civilisations?), or home minister (managing the country somehow? taxes, colonies, etc maybe?).

 

The combat route would involve much more detailed combat/army management/etc (the political route would also involve armies + combat, but not in as much detail, or to the same extent). So a complete system for moving armies around, battles (maybe zooming in and commanding the battle personally, in either a TW style realtime affair (though that'd be hard to program), or a Wesnoth style turnbased thing), and systems for commanding armies, moving them around, stationing garrisons, giving orders to your underlings, etc, plus systems for either recruiting or requesting new troops, as well as training and equipping them. You'd also have to deal with supplying your army (how much detail with that would be fun, I can't say - setting up supply chains and managing food/water stocks is a must). And there'd be morale/tiredness systems in there too.

 

I also can't decide whether to make the game turn-based or realtime either. Both have gameplay advantages and disadvantages, and both lend themselves to different gameplay styles. Turn-based would be easier to make, as the game would have a clearly defined sequence (player does stuff, ends turn, AI does stuff, ends turn, repeat), whereas realtime would have lots of stuff happening at once. Turn-based in a NeverWinter Nights style might be possible too (which has turnbased combat in a realtime game). I'm leaning towards turn-based at the moment, but some kind of hybrid system to make travelling around quicker would be preferable I think (travelling from a town on one side of the nation to a town on the other side could be slow, and boring if you could only move a certain number of tiles per turn. Could streamline it to only visibly process turns when other creatures/people are on screen? Or have some kind of auto movement?).

 

A dialog system would be needed to converse with other people, this could be expanded and be used for various stuff (council votes/discussions/etc, telling subordinates what you want them to do, plotting with a fellow noble, hiring spies/assassins, etc). Some kind of inventory system. A screen for managing troops. A screen for managing a particular estate, castle, or other property.

 

I definitely want the focus to be on the player's character though - so the player will control things by moving around the map and talking to people, killing monsters, etc. Which means there needs to be a limit on the amount of boring noble stuff - and orders from the player's superiors should be pretty general (Capture this city, in any way you like, as quickly as you like - as opposed to capture this city, using this army, by besieging it, within the next 5 days).

 

I also want the player to be able to do what they want - and I'd like more traditional solo adventuring to be a part of the game (will probably the starting point, and then noble stuff will be added later), so the player will need to be able to wander around the world (with or without their army), and explore dungeons, kill monsters, do quests, as they like (as in a typical rpg type game, though with less focus on stats. Hopefully the unique worlds (some of which could be very different to our own, at least in terms of animals and wildlife). Obviously there would be stats/levels, but that would probably be fairly basic (player skill should be more important than how much they grind). Player customisation (clothes, equipment, etc) would be fairly deep.

 

If the worlds are as unique and varied, some kind of encyclopedia might be necessary, but ideally it should be easy enough to understand what everything is. This will rely on good presentation, and good writing, as well as the ability to examine everything on the map (examining a nearby animal might tell you, for example: "This is a nuggagi. It is a large, 8 legged, furry creature. It is commonly used as a beast of burden by the people of the Ankaran empire. It is sometimes ridden, but rarely. It's meat is edible, but not tasty. Its fur is sometimes used for clothing. It is docile, but vicious when angered." It may have more info on the creature's stats etc too.). Asking people for information would also be essential.

 

 

 

Sorry for the length and rambling nature of all that, I'm still putting my thoughts together at the moment :smile: If people are interested, I'll probably post regular development updates as I go along (I'll need something to keep me motivated until it reaches a playable state). I hope to have some kind of working version by late September, but I doubt it'll be anywhere near finished till much, much later than that. I might also release versions that are little more than a map generator while I work on that, just to show I have something :tongue:

 

Oh, and also, I have absolutely no artistic talent whatsoever. So if anyone is any good at drawing sprites (pixel art, most likely 16x16 tiles, with transparency), and wouldn't mind helping out a bit, I'd appreciate it! :smile: This game, if it gets as big and complex as I hope it will (unlikely), may potentially be profitable, in which case I will sell it instead of releasing it for free as I go along (though free versions before that point are likely). If I do end up selling it, I'll be happy to negotiate some kind of payment, but as I don't know if it'll reach that point, I can't promise any reward other than my eternal gratitude.

 

I'm still in the brainstorming stages at the moment, so I'd love to hear other people's ideas and suggestions. The more the merrier

 

EDIT: fixed smileys. Whoever thought replacing the codes which everybody knows, like :), with stupid different ones like : smile:, is an idiot.

Edited by The_Terminator
Link to comment
Share on other sites

It'll only be similar to Dwarf Fortress in terms of the size and complexity of the world (and probably the horrible graphics :P) - although DF focuses more on working out rainfall, drainage, etc, so it can realistically place rock layers/ore veins - which I won't be doing, of course. Mine will spend more time generating races and civilisations.

 

Things are coming along quite smoothly so far. I have the basic framework for my game all set up (Using the excellent Slick), and have finished writing up my algorithm for generating the landscape. So far it only creates a heightmap, but the results seem promising. I have discovered that I'm going to have to write most of the game engine before I can do much more on that (the maps are too big for me to fit on the screen, so I need to be able to scroll around them to see much - though I need to figure out a way to make a minimap too for the player to use). I'm going to work on making it possible for the player to move around the world next, then go back to world gen - making rivers/forests, and possibly redoing the heightmap algorithm if it doesn't produce good enough results.

 

I've also found a couple of small graphics tilesets which I may use as placeholder graphics until I find some better ones. If anyone knows any other collections of free sprites, please let me know :)

 

So yeah, things are coming along nicely. Fingers crossed they'll carry on that way.

Link to comment
Share on other sites

Well, smallish to start with. I plan to do it in stages, until I either get bored and give up, or have everything I've mentioned above, plus more. Things are going slowly at the moment, but hopefully in a week or two I'll have something playable to show off (By 'playable' I mean the player will be able to walk around, and not much more). I'm not the fastest programmer in the world...
Link to comment
Share on other sites

So I threw together a quick loop to show the results of my world gen algorithm on screen, so I could check whether it works or not. It shows all land with a height below 100 as blue, all land between 100 and 300 in height as green, and everything between 300 and 500 as grey. Its hardly a shining example of good graphics (not to mention I used an individual sprite for each tile of land - 1025x1025 individual images, each 1 pixel big, isn't exactly the most efficient way to draw stuff - hence the 1 FPS :P), but it gives a rough idea of the kind of landscapes I'll get. I have to say, I'm not wildly impressed - it seems to be good for maps with 1 big feature, like a mountain, rather than a whole, diverse world, with many different mountains, lakes, etc. Also, it isn't very customisable. I'll probably have to redo it, but I'm going to get the basic game working first. The final worlds will hopfully be much bigger too, which may help.

 

Heres some screenshots:

 

 

 

http://i296.photobucket.com/albums/mm181/The_Terminator2004/Procedural%20Game/gentest3.jpg

http://i296.photobucket.com/albums/mm181/The_Terminator2004/Procedural%20Game/gentest2.jpg

http://i296.photobucket.com/albums/mm181/The_Terminator2004/Procedural%20Game/gentest3.jpg

 

 

Link to comment
Share on other sites

Color me intrigued. I can't really help you with programming or anything, but I can give a little feedback.

 

When you were talking about travel and the map, I kept thinking about Fallout, how you click on a place in the big map and your trek across would only be halted for special encounters. I don't know if you'd want to do something like that, but I think it's worth considering. Also worth considering is how you would have one tile of the map loaded at a time in the game. (I don't know if that's what they're called, but I assume you'll understand what I'm talking about.) If you did something like that, it would probably help the engine not to lag.

 

However, I see one set problem with your premise for this game: How can you be a ruler or nobleman of some sort if you're always on randomly generated land? Unless the character's goal is to always conquer far-off places, there's really no way to do it if you can't always go back to your castle or base of operations. There's no reason to even be involved with the government if it always changes and what you do has no lasting impact. But I don't know, perhaps I'm just misunderstanding you?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...