I have started this project 1.5 years ago or about, simply to practice Python and play around a bit, but I ended up creating a game about naval warfare with sailing ships (or rather, this is still a techno-demo of battle mechanics, although I do have 2 fully playable missions). I named the game Sea Wolves, but maybe I will change the name later. Recently, I didn't do much on it, but I still have plans to do much more in future. The process of game creation, and solving all the problems that arise during this process is a truly pleasant experience for me.
Not knowing any other place, where people may be interested, I decided to show it to you, guys.
I use Python 2.7 with libtcod library, and I started the creation by following this
absolutely masterful guide. Later I also included library implemetating perlin/simplex noise, for procedural generation of maps:
https://github.com/caseman/noise. You need to install it on your own, if you want to run the game from the sources, but I include binary as well, which should work on Windows without any additional efforts.
High-level ideaOriginally (and long time before I started actually do something), I wanted to create a game about maritime trade in the the setting of a fantasy world that has many in common with Earth in 15-16 centuries, but with much more water and no large continents -- only ocean and islands of different size. Fantasy part would be really light, and mostly limited to "Pirates of Carribean" kind of stuff - krakens, sirens, and other sailors' folklore. That is, no elves, dragons and direct magic like fireballs. The main points and goals could be summarized as follows: 1) Open, procedurally generated world 2) Complex enough economic system, so that player could have fun from roleplaying a private trading ship captain. 3) Ship management: armament, crew, supply 4) Naval warfare mechanics: if we have maritime trading, we must have pirates! Player also should be able to start a pirate career or join navy as a mercenary. 5) Certain exploration and information component: gather/trade/sell information about new lands, currents, prices in other ports.
Sounds very ambitioous, and I know that it's likely I will never progress to the final, but it's just good to have the global plan in mind.
Sources of inspiration: for the naval battles, I can call Age of Sails 1-2. For the trading part, Patrician III has inspired me. And obviously, Dwarf Fortress is a great source of general inspiration for a complex open-world game with procedural generation and deep game mechanis. Also, DF has neither economics nor sailing currently, so it was definitely an additional bit of motivation.
What do I have nowI started from coding battle mechanics. Current features can be summarized as follows:
- Basic movement: speed depends on your ship, wind, orientation toward wind, hp of sails (and set level of sails). Maneuverability also depends on your current speed, the higher your speed, the less time you need to turn
- The artillery usage. There are several gun types with different characteristics, fitted to one of 4 sides of ship. Each ship has simply 2 hp bars now: sails and hull. The chances to hit and damage depends on variety of characteristics. Among them, size of a target ship, mutual speed and orientation, weather (only wind speed currently), characteristics of the gun itself.
- Basic crew management: guns must be reloaded by sailors, as well as any sails operations require their labor. Crew can die from enemy artillery fire.
- Boarding. The mechanics is rather simplistic now, but you still need to distribute weapon and armor among your people, which can affect the result significantly. There are always 2 sides: defenders and attackers, each have certain disadvantages and advantages, but mostly, defenders are better off. Attackers can reduce penalties by approaching enemy ship in a convenient manner (side-to-side is the best)
- Day/night change, mainly leads to great penalties of sight radius.
There are two so-called 'scenarios' now; as I said, they are more to demonstrate and test battle mechanics and map generation, not a final goal of the game.
- The first one, 'Random Archipelago', is a random arena. Your ship is more or less fixed (armament will slightly vary though), but there is a lot of randomness among your enemies. In many cases you either have no chance to win or can easily stompt your enemies, so there is no balance at all. The map and weather are also random.
- The second one, 'The Lake of Despair', is well balanced and tested scenario. There is a slight randomness in wind direction/strength and map (althought, as you can guess, it is always a closed lake), but everything else is fixed. You will lose for sure first few times, before you find out characteristics of your enemies and come up with some tactics.
Future plansCurrently, I'm going finally to start playing around with the world generation. For sure, it will take huge time, but hopefully, I will enjoy it alot.
In the same time, I need to sketch economics system to know what exactly I want from the world generation.
Of course, there are a lot of possible development for battle mechanics and ship management. Naturally, one of the first we need for open-world is cargo and supply management.
Later on, I would want to bring such things as: crew morale, more detailed damage mechanics (closer to what we all know and love in DF), crew and captain skills. But for now, this is not the top priority, I really want to bring global map and such.
PicturesDownloadSource:
https://drive.google.com/file/d/0B62_kA9GGg0LeG9RQjg1T3dOTmM/view?usp=sharingTo run the game from source files, you need installed python 2.7 + noise Caseman's library (
https://github.com/caseman/noise), nothing more is needed as far as I know.
Would be cool to get feedback from Linux users, should work there in theory, but I've never tested.
Binary:
https://drive.google.com/file/d/0B62_kA9GGg0LS2l3R0N6TnROcW8/view?usp=sharingSimply double-click .exe file to play (Windows only)
Any suggestions, opinions, comments, bug reports are welcome! Also, you probably noticed that I'm not a native speaker of English, so the game may suffer in that sense as well. If you see any troubles of that sort and want to suggest your edits - let me know! On the other side, if you know good references about naval warfare or related things (e.g. maritime trade), let me know. I have read alredy something (e.g., I found and used very good references for early navy artillery types), but it is always good to read more.