With the conquest multiplayer alpha on the way, my gaze now turns towards upgrading the conquest gameplay in general. If you recall, I did a big thing late last year where I asked players what they'd like to see in the finished game. Apart from conquest multiplayer, the most popular item was deeper conquest gameplay.
I'm implementing this on top of the changes I made to the game for multiplayer, which means you're going to have to wait for quite a while yet for this all to arrive, but then it will arrive all together in one glorious dev 10 update.
The first step I'm working on is the introduction of smaller towns. There's a big demand for bigger maps that take longer to play through. But instead of making a huge mosaic of dozens of empires, I'm instead keeping the number of empires the same and making them bigger. Each empire will start out with a capital city and three smaller towns (usually) surrounding it. By conquering towns, you can chip away at the might of other empires and increase your own.
Towns are basically cities in all aspects, except that they produce less income and don't have a shipyard. So you can only build defensive buildings, but no airships or landships.
So here's the implementation:
Cities are placed like before on the map, nicely spaced out. Then, towns are added, spaced more closely, and mostly placed next to their parent city. Occasionally, if there's no space, a town will end up disconnected from the parent city, which adds some variety.
Then, all the towns and cities and monster nests get connected up with roads. I've been improving that code as well, making the game better at re-using existing roads rather than creating multiple roads that run parallel or intertwine in weird ways. I've also fixed a bug where you couldn't travel to a monster nest in another territory despite there being a road going through it.
This all worked pretty well, but when I started up a large map, some painful performance problems became apparent. The game would just... pause for several seconds at the start, and then stutter constantly. I dug out my trusty profiler, and found that the strategic AI was having some problems adjusting to the new situation. I'd written some code that basically went over all cities and for each of them looked at all combination of cities. So by quadrupling the number of cities in the game, this code now took 4 x 4 x 4 times - 64 times - longer.
All in all, I found around three places where I'd written the code assuming there'd be a handful of cities. I fixed the performance problems through a combination of rewriting and just using the code less often.
Finally, I had to think about how to display the towns. With so many places now on the map, it had become very cluttered. So I made the display of things more dependent on zoom level, with the names and arms of towns only popping in when you are zoomed in enough. I also spent some time cleaning up some other parts of the map display code, resulting in an overall nicer appearance.
So what's next? I need to spend a bit more time checking the AI behaves sensibly now. Then I'll get started on the other major new features, including strategic resources and research...
Airships: Conquer the Skies
David Stark
David Stark
2018-08-16
Action Indie Strategy Singleplayer Multiplayer
Game News Posts 306
🎹🖱️Keyboard + Mouse
Overwhelmingly Positive
(5250 reviews)
http://www.zarkonnen.com/airships/
https://store.steampowered.com/app/342560 
The Game includes VR Support
Airships Linux 53 [139.2 M]Airships Linux 64 [545.79 M]
Airships: Conquer the Skies - Soundtrack
Airships: Heroes and Villains
In the game, ships are viewed side-on, and their modules are operated by individual crew members. During combat, players give high-level commands to a small fleet, positioning their ships, ramming and boarding others. Ships and terrain are fully destructible: they can catch fire, explode, break apart, and fall. Players can also compete against one another in Internet and LAN matches.
The ships are highly detailed, teeming with sailors moving around at their individual tasks, like an ant farm or a cut-away drawing. The player's choices in ship layout are crucial, and an important part of the game is exploring the design space of different airships and their matching tactics.
- OS: Ubuntu/Debian/Mint
- Processor: 1.8 Ghz+Memory: 256 MB RAM
- Memory: 256 MB RAM
- Graphics: 1 GB VRAM+
- Storage: 1 GB available spaceAdditional Notes: Not currently compatible with Intel HD graphics controllers. May run on other Linux distros. but no guarantees.
- OS: Ubuntu/Debian/Mint
- Processor: 2.2Ghz+ Dual-coreMemory: 2 GB RAM
- Memory: 2 GB RAM
- Graphics: 2 GB VRAM+Network: Broadband Internet connection
- Storage: 1 GB available spaceAdditional Notes: Not currently compatible with Intel HD graphics controllers. May run on other Linux distros. but no guarantees.
[ 5951 ]
[ 3198 ]