Posted by Oleksandr on May 19, 2018
May 2018 development update (v4) introduces rivers, and contains many improvements and tweaks for the terrain rendering.
Rivers flow between tiles, make the world more appealing visually, and affect gameplay. Riverbank areas get additional 1 food (and a minimum of 2 food), and yield at least 1 production and 1 trade. This can make even desert or tundra tiles useful in presence of a river. Moving units across rivers takes all of their remaining movement points, unless there is a road (i.e. bridge). Melee attacks across rivers have a 50% penalty. Additional gameplay effects are likely to come in the future.
Interesting facts about technical implementation of rivers:
- Rivers are generated starting from the ocean tile, and then moving inland step by step, taking random turns. There are checks to make sure that rivers does not intersect itself, or enter another body of water.
- Tributary rivers are generated with a second pass, starting from certain points on primary rivers.
- When generating terrain surface, river segments are smoothed and distorted to make them look natural, instead of going exactly along angular tile edges.
- Various overlays (roads, tile highlights, etc) are rendered with additional elevation over rivers. This way roads become bridges, and highlights are continuous without a drop in geometry.
- Additional shadows are generated below road bridges.
Other visual improvements
Oceans now have two levels of depth: shallow (near the coast), and deep. Ocean floor now has a varied non-flat surface. Transition from ocean to unexplored tiles is now smooth without a visible geometry break of the seabed mesh.
Unexplored tiles themselves are covered with soft gray shading, which makes it easier to see world boundaries and where your visible area is in it. Also if you try to scroll too far away from the world, camera will automatically bounce back, so that you never get lost in the dark.
Forests now use three different tree meshes depending on the climate zone, with gradual transition between them. Warm areas use palm trees, cold areas use pine trees. Terrain surface shader has been tweaked to increase detail at a close zoom level.
All important changes since v3 release (January 2018)
- Improved forest meshes, now with 3 different types depending on the climate zone.
- Added extra detail in the terrain surface shader.
- Camera now automatically bounces back to the world area if you move it too far away.
- Improved visuals for oceans and unexplored tiles.
- There are now deep and shallow ocean tiles.
- Seamless terrain LOD transitions.
- Blog improvements (pagination, sidebar).
- Users can now submit feedback by using form on the website.
- Improved HTTP error pages (404 Not Found, etc).
- Further backend work (deployment scripts, analytics, etc).
NOTICE Browser feature required for Statebuilder to work out of the box (SharedArrayBuffer) have been unfortunately disabled by all major browser vendors in January after the Spectre CPU vulnerability was discovered, since apparently it can be used to implement high-precision timers needed for the exploit. This means that for now users have to manually enable the option to try the game. Google Chrome is expected to re-enable it by default soon (relevant bug).
Posted by Oleksandr on January 1, 2018
January 2018 development update (v3) brings new gameplay and UI features, and other changes, which are available in newly created game sessions and in the demo.
Melee and siege units now deal collateral damage to other units on the same target tile when attacking. The exact amount of such damage is proportional to unit attack strength (bonuses included), but is weaker than damage done to the primary target. Siege attacks don't have a primary target, but instead hit every unit in the target tile with collateral damage. Cities are also affected by these attacks: stored food supply is destroyed, which can cause population to drop.
Collateral damage mechanics with a new limit of 4 units per tile should effectively deal with the "stacks of doom" issue, while at the same avoiding the "carpet of doom" of 1 unit per tile setup, where battlefield logistics can quickly turn into a nightmare.
Each move near an enemy military unit or a city with stationed units now takes all remaining move points, due to these tiles being in the "zone of control" of the enemy player. Such tiles are highlighted with red glow when you're moving units.
Path preview when moving a unit now uses red arrows and special marker to visualize attacks. It is now also possible to get move preview for units not controlled by the player. Simply try to move them as if they were your units and you'll see the calculated path (but of course the command itself won't be executed).
For attacks there is now a combat preview UI that accurately predicts the outcome of a battle. It shows all affected units (including those hit by collateral damage). When attacking a city, stationed units are not known in advance, so in such case you won't get an accurate prediction.
Now you can restore health of military units on the battlefield (or elsewhere) without pillaging by using supply units (Supply Wagon and later Logistic Support). When such unit is nearby, "Resupply" action becomes available, which recovers health at the expense of supply unit's health. This action takes one movement point.
Military units now earn combat experience which improves their performance (up to 50%). Based on experience they get assigned ranks (Regular, Veteran, Elite). Veteran and Elite units are marked on the world map with badges. Certain city buildings (Barracks, Military Academy) provide experience for newly produced units. Unit experience decays over time unless stationed in a city with military buildings.
Some of ancient-era units have received modern versions available after researching certain technologies:
- Explorer (replaces Scout): faster movement and more durable. Unlocked by Invention tech.
- Pioneer (replaces Settler): with more health and defense strength. Unlocked by Invention tech.
- Engineer (replaces Worker): 50% more efficient and can build Railroads. Unlocked by Railroad tech.
AI got some updates to work with the new gameplay mechanics, in particular supply units. Also it is now better with exploration.
All important changes since v2 release (September 2017)
- Melee and siege units now deal collateral damage to other units (and city) on the same target tile.
- A single tile can now contain no more than 4 units.
- Units now attack with reduced strength when movement points are exhausted.
- Zone of control.
- Improved path preview visualization when moving a unit.
- It is now possible to simulate and preview moves for units not under player's control.
- Improved UI for stationed units in a city.
- Combat preview UI.
- Supply units (Supply Wagon, Logistic Support) that can be used to heal units in the field.
- Unit experience and ranks (Regular, Veteran, Elite).
- Certain city buildings (Barracks, Military Academy) provide experience for newly produced units.
- Modern versions of ancient-era units: Scout → Explorer, Settler → Pioneer, Worker → Engineer.
- Tweaked terrain movement cost calculation.
- Tweaked unit health decay.
- AI has received updates to handle new and updated game mechanics.
- Further backend work to ensure that new code is compatible with existing game sessions.
Posted by Oleksandr on September 17, 2017
September 2017 development update (v2) brings new and improved gameplay features, visual updates, AI enhancements, further backend and website work and other changes. New functionality is available in newly created game sessions and in the demo.
City visuals have been refreshed. There are now two kind of houses used: short and tall, where tall houses are used in the center of large cities. House textures have been reworked to be more detailed, and now there are windows on the sides of a house. Windows are lit even in dark areas, thanks to a shader trick, where bright yellow pixels in the house texture are interpreted as emissive, and generate additional light.
Cities now appear more lively, and look much better from the side. On that note, another new feature is automatic adjustment of camera elevation angle when you zoom in with a mouse wheel (or trackpad), which will make it easier to get a different visual perspective on your empire. Also you can control camera rotation with Alt+[arrow keys], and use Alt+0 shortcut to reset it.
Possible future work on city appearance might include different styles for different cultures and for different technological levels. City walls will need to be visualized somehow too.
Terrain tiles can now contain special resources that provide extra yields. Currently there are:
- Fish: +2 food on water.
- Gold: +4 trade on hills.
- Iron: +3 production on hills.
- Minerals: +1 production on grassland.
- Wheat: +1 food on grassland, +2 food on plains.
Right now resources only provide additional yields, but in future releases there will be more interaction with the gameplay (strategic and luxury resources, etc). City screen UI now provides a better presentation of large yields, by grouping resource icons into one large icon with a number.
Base terrain tile yields have been tweaked: grasslands and plains now require a road to generate trade, but on the other hand water tiles generate 2 trade instead of 1. New configuration should encourage tile improvements early on, and favors coastal placement of cities. Speaking of that, one of the high priority development targets is to implement water units. Also rivers and lakes are planned soon.
AI has learned how to build all kinds of available useful buildings, based on the calculated benefit to the city. It is now required to build an Aqueduct to grow a city past the size of 6, and a Hospital after the size of 12. City buildings system right now is very rudimentary and will need a lot of work. Some fresh game design ideas are planned there (and especially regarding wonders).
Browser technology required for the game (shared memory for Web workers) is finally enabled by default in Firefox (version 55 and up) and Chrome (version 60 and up), which means Statebuilder now works out of the box without needing any experimental options. Support for other browsers (including mobile) is expected to come later.
Complex performance-sensitive applications such as games can now be delivered to the end user in the most friction-free way possible. Just click the link and start playing - the future is here!
All important changes since v1 release (June 2017)
- New city visuals.
- Terrain tiles can now contain special resources.
- Military units can now pillage tile improvements to recover health.
- Clearing a forest now provides a production boost to the nearby city.
- Fertilizer technology now boosts farm yields by 1.
- Maximum city population is limited until certain buildings are constructed (Aqueduct, Hospital).
- Tile yields have been tweaked.
- AI can now build all of the available useful city buildings.
- Camera elevation angle is now automatically adjusted when zooming in and out.
- Improved presentation of large tile yields.
- Unit action buttons now display their keyboard shortcuts.
- Improved game loading indicator.
- User is now notified with a popup when a new version of the game has been deployed.
- Improved analytics tools in the backend.
Posted by Oleksandr on June 24, 2017
June 2017 development update (v1) brings new gameplay features and changes. These features are available in newly created game sessions and in the demo.
Technology tree has been expanded, and now covers all eras from ancient times to modernity. New technologies provide access to new units and buildings. For now, only ground units are available, and most of the buildings are stubs (do nothing). That will be expanded upon in later releases. Currently useful buildings are: Granary (saves food), City Walls (improves defense), and those related to science (Library, University, Research Lab) and production (Factory, Manufacturing Plant).
Some of the units added in this release (Catapult, Cannon, Artillery) make use of a new siege mechanic. Siege units do a lot of damage, but have to spend one turn preparing before attacking. These units are fragile and can be easily destroyed, so make sure to guard them. AI is not yet smart enough to utilize them effectively, that will have to be improved later. Fortified units and ready-for-attack siege units use distinct icon shapes for visual clarity.
Workers can now construct roads and railroads (when Railroad tech is available). Roads make unit movement 2x faster relative to their normal speed. Railroad on player-controlled tiles allows any unit to move 8 tiles per turn, regardless of original speed of the unit. On non-player-controlled tiles railroads behave like regular roads. Road increases tile's trade yield by 1 unit. Railroad increases all yields by 1/3 of a current yield (rounded down), so a tile producing 3 food will produce 4 with a railroad, but a tile producing only 2 food will not be affected. Improvements on tiles that are not worked by a city now decay over time, and have to be redone if needed.
All important changes since v0 release (April 2017)
- Technology tree covers all eras up to modern times.
- Ground units available from all eras.
- City buildings available from all eras (only some are functional though).
- Siege unit mechanics: powerful attack, but have to set up.
- Fortified units are rendered with a different shape for visual clarity.
- Rough terrain slows down movement (but not for Scouts).
- Pathfinder shows the number of turns it would take for selected unit along the path.
- Workers can build roads and railroads, for improved tile yields and unit movement speed.
- Workers can chop and plant forests.
- Unattended tile improvements now decay over time.
- AI has learned how to build science-boosting buildings.
- AI tries to avoid placing cities too close together.
- AI is more active in exploration.
- Network protocol is more efficient (TCP_NODELAY on, messages combined when possible).