Finally... > Creative Projects
ASCII-based game about sailing ships.
hun:
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 idea
Originally (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 now
I 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 plans
Currently, 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.
Pictures
Spoiler: Main menu (click to show/hide)Spoiler: General map screen (click to show/hide)Spoiler: Map screen in targeting mode (click to show/hide)Spoiler: Weapon info screen (click to show/hide)Spoiler: Boarding initiation dialog (click to show/hide)Spoiler: Crew management screen (during preparation for boarding) (click to show/hide)Spoiler: Boarding progress screen (click to show/hide)Spoiler: Night (click to show/hide)
Download
Source: https://drive.google.com/file/d/0B62_kA9GGg0LeG9RQjg1T3dOTmM/view?usp=sharing
To 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=sharing
Simply 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.
hun:
First attempts on world generation. I'm still experimenting outside of the game, but I'm probably close to start introducing world generation module into the game.
For now, the first part of world generation, i.e. biomes, is basically done, and overall, I like the result. According to my current vision of the game, I need to have an ocean world with many islands. Most of them contain only 1-2 biomes - this is exactly what I want, since later it will motivate towns and civilizations to trade, due to different resources. And player is going to be part of this commerce, of course. Here are a couple of resulting maps:
Spoiler (click to show/hide)Spoiler (click to show/hide)
All biomes are typically present, but I'm still not fully satisfied with this set of generation parameters. Deserts and especially, marshes/swamps are typically underpresented, also probably there are too much land and some islands are also a bit too large. But the parameters are really flexible, I just need to decide, what parameters to take as a standard, which of them the player can change etc. Here, for example, a different set of parameter:
Spoiler (click to show/hide)Land is much scarcer here, and a lot of mountains: almost every decent island is basically a mountain range with some vegetation on the shore.
The size of a map is 400x400 cells, according to ingame measures, it is going to be 2000x2000km. Each cells, consequently, is 5x5km. I think it works fine as a standard map. If to relate this to a battle field of what I currently have in the game, each global 5km cell represents 100x100 battle sector (every cell 50x50m, and this is the smallest I going to have in the game).
There is still lack of rivers, and probably I leave it for a while. Further generation components are going to be much more demanding. I need to scatter different resources (yet I need to decide what resources), then civilization/history generation.
Asgarus:
This looks great. I will give it a try once I'm home from work (if I don't forget to^^)
MoonyTheHuman:
Me and urist mcdebian will test with on linux for you. just wait 6 hours because its 2AM.
snow dwarf:
Looks really cool!
Navigation
[0] Message Index
[#] Next page
Go to full version