1. Ymir
  2. News

Ymir News

Ymir "New Dawn": new engine overview


After many months of work on Ymir "New Dawn", the basics of the new engine and graphics framework are now completed and I can finally share all my progress and more details about the new coming features.


New dawn

First of all, what does Ymir "New Dawn" refers to exactly?
More than just an update to the existing game, New Dawn is basically a new game due to the extent of changes: migration to an updated engine with my own 3D graphics framework built on it.
It is built around the idea of trying to streamline as much as possible loading times, which currently kill the UX of the game.
It will however not be released as a separate product but will instead gradually replace the 'legacy' game when it is ready. Therefore people who already own the current game will basically get this "Ymir 2" for free (the last legacy version will then remain available as a separate custom branch in Steam for those who want it).


Updated engine and 3D graphics


The game graphics will now be 3D based, which allows for more optimizations down the line and to make better use of computer hardwares.
The world, terrains and buildings will now be in 3D while other things like trees or units will remain 2D "billboards" but within a 3D environment.
This in turn allows for dynamic cameras and to finally have camera rotations which will make bumpy terrains or complex fortifications much easier to understand.

3d based graphics allow for proper camera rotations at last.

3d graphics will also allow for more immersion, seeing your territories with perspective.

The update to a more recent version of the underlying engine also FINALLY allows for x64bit builds, which basically means the game can at last use all the available hardware memory instead of being limited to 2Gb.
This means the possibility for more graphical content such as much more diversity in environment, decorative objects, buildings etc...

Spherical worlds




Worlds are now true spheres with hexagonal (and pentagonal) territories. Hexagons are the only way to divide a spherical surface evenly, and it also fixes the issue of diagonal adjacencies between territories causing them to only share a tiny corner.
It also makes more organic looking worlds.


Loading times


The priority of this new version of the game is to streamline loading times, which have been the main factor ruining the player experience in the legacy version.
A core new feature of New Dawn will be the absence of loading times between the worldmap view and the local territories: once initially loaded, you'll be able to freely zoom in and out of it seamlessly "à la google earth".
Not only that, but instead of having only one territory loaded at a time, you'll be able to have your whole region (city and all its attached territories) displayed at once, allowing you to simply pan the camera to your countryside to manage it instead of having to load back the world, select the countryside territory and then load the tile again.
This should hopefully drastically change the playing experience, making things feel less time consuming and cumbersome to manage in the later phases of the game.


No more loading times: when you'll zoom in on one of your territories, it will simply transition between "worldmap" mode to "local" mode, displaying the fully detailed territory

More detailed environments

With this new engine, environments will be much more detailed than the legacy game: more diversity in trees, bushes, grass, rocks.
On top of new things, all previous graphical assets are being reworked with more details as well.
3D graphics also allow for dynamic lightning, which means a possible daylight cycle. Additionally, the world being truly spherical means day/night cycles would be realistic with timezones and durations, with for instance a lower sun the closer you are to the poles (but that could have gameplay repercussions so it might be something i'll keep disabled at first).



The new procedural generation of territories also now better matches the worldmap, has more relief, and creates much more original looking territories. It also makes adjacent territories match with one another, which was required as now more than one may be displayed at once.

New climates

New Dawn will also include more climates than the legacy version: What was "Nordic" will become split into 3 different climates: "Tundra", "Taiga" and "Steppes".
What was "Tropical" will be split into "Humid" (represents china / South US type of climate), "Monsoon" (represents tropical savanna climates), and "Jungle" (equatorial types of climates).

The screenshots showcased in this news show the new "Mediterranean" climate (now renamed "Dry" for a more generic name), which is the first climate to be updated with new graphical assets.

Buildings will gradually transition to 3D models. The old sprites will remain used in the meantime, although it will probably look weird.



The 3d huts seen here were spawned manually to test the model graphics which is why they are not centered on the grid and have no surroundings.
Actual buildings will be a composition of a main model and other decorative surroundings to recreate a similar look of the legacy sprites.


Multiple territories can now be displayed at once, which mean you'll be able to see your capital and its surrounding countryside at the same time, and to manage them all seamlessly.


Supporting me

As you can imagine, making such a new game will take a lot of time.
It's quite a desert crossing for me as it leaves the legacy game un-updated for all that time (causing a natural drop in interest and sales) while this 'new game' still has a long way to go.
Any support on Patreon is REALLY more than welcome nowadays. It is rewarded with a special Discord room where i discuss and share daily updates about the progress of "New Dawn" with my Patrons.

Ymir: A new dawn

As those who follow news on the Ymir discord probably already know, since the beginning of this year I've been focused on upgrading the game to a newer version of the engine (gms2).
Yes, it is still Gamemaker but this newer version opens up much more possibilities (such as finally 64bit builds removing the memory limitations).



As i started focusing on QOL features last year, it became clear to me that above all else the biggest problem of the game is... loading times, which compound with all the other QOL flaws making it feel tedious and too time consuming.
Everything else would feel much more streamlined if the loading times were reduced between swapping from territory to world map, or going from city to its countryside territories.
Unfortunately because of how graphics were organized and the engine limitations this could not be improved upon without rethinking the whole graphics from scratch.

This upgrade meant redoing graphics rendering from scratch anyways, and I thought that instead of wasting time redoing the same overall system as in the current version of the game, it made more sense to take this opportunity to design something much more ambitious focused around the idea of optimizing loading times as much as possible.

This is going to be much more than a simple upgrade to a more recent version of the engine.
In fact it will probably feel much like a new game rather than an update, although the game mechanics themselves are not going to be modified.

But its going to take many months to complete, so much that i can't give any timeline but it could very will be this whole year.
This also means the current version of the game is going to remain unchanged in the meantime, also why there hasn't been any new update recently.

You may ask "why not take this opportunity to finally move on another engine?".
Well: graphics are only a small part of the game. By upgrading, i "only" have to redo graphics but i can mostly keep everything else unchanged.
Moving to a different engine would have implied redoing and translating everything else. Instead of a year, it would be 3. And that's just too much time to leave the current game standing still in the meantime.



As i make progress on the gms2 transition, I am feeling more confident about my most ambitious plan and it is time for a first teaser so you guys can get a better idea of the scope of the changes and why it's going to take so long.
I will reveal more as i keep making progress, but you can probably already speculate on the scale of changes based on this first screenshot!



Hexagonal tiles and spherical worlds





The first feature announcement of this update -which was already announced on the discord a while ago- is the transition to not only hexagonal tiles but also to true spherical worlds.
And yes, there will still be procedural worlds as well!
There's a reason spherical worlds are rare in games: it adds considerable headache to everything else.
But I always dreamed of it , and so that trumps everything else.
Plus, as seen in this screenshot, it will allow to make an actually accurate custom Earth map with real proportions, and that's pretty cool as well.



These are going to be exciting changes that will renew the experience of the game, but it's going to be a long wait. I hope it will be worth it and that you will forgive the time it will take to complete this change.

The Map editor update


This update adds a new map editor to create custom maps and also include the first official custom map: a giant map of Earth.
It also contains world map display optimizations (already patched in a while ago).

Map editor

The new map editor allows you to create custom world maps. You can also preview the list of procedural resources that will appear on each territory and override it with a custom list of resources to control where you want strategic resources to appear.




[h2]Earth map[/h2]
The update also contains a new official custom highly detailed map of Earth which even includes some customized resources to match historical data (only partial).
It can be viewed and modified with the editor for your own games as well.



Earth Server

For the occasion, today Server 2 is being restarted as the "Earth server", with a new game using the new custom Earth map. This is experimental due to the size of the map compared to the traditional ones used in other games, and the max limit of players is also being pushed to 120 instead 100.


Server setup

The way to setup servers has been reworked and the .ini files have been reorganized and extended to allow setuping new server games purely through .ini files.
Refer to Porcopedia for more details here.


Worldmap display optimizations

Worldmap display has also been optimized to better handle larger maps such as the Earth map.





The Map editor update
v0.6.3

- implemented map editor
- implemented starting games with custom maps
- added giant "Earth" custom map
- starting a server with no game argument now auto starts a new game with default settings (old server UI to start/load games is deprecated)
- made it possible to fully setup new servers through .ini files
- in server game save folders, game_settings.ini is renamed server_settings.ini for coherence.
- repaired client logic not updating properly when terraforming heights
- fixed probably cause of abnormal tech speed development in persistent servers
- fixed bug of resource satisfaction quality not working
- fied bug of annexation target in war not turning to "unadministered" when won
- fixed bug of war declare invalid target when declaring through character menu
- fixed bug causing a project failure loop
- fixed bug with war resolution treaties starting with engagement period showing as "engagement over"
- added more informations about engagement period and current status in treaty UI
- fixed bugs with war escalation not working properly

Previous Patches:
- implemented worldmap display optimizations
- fixed exploit of using "lowres" cached worldmap to see fully explored worldmap
- migrants formations now suffer a permanent attrition and will disappear if not settled
- fixed issue with mission "Thriving agriculture" and required amount of fields
- fixed bug with restoring field cost
- fixed bug of discrepancies between farm building menu and real server production
- fixed placement UI showing wrong cost when building walls
- fixed crash when settling from inside territory
- corrected "new game" menu looking wrong for 1080p resolutions
- fixed missing agricultural food resources in some arid/desert spawns
- fixed problem of fields over inaccessible tiles (ponds, lakes)
- fixed bug of decreased production gains from natural sources with production skills
- corrected natural source factor of natural plants to better match pre-patch balance
- fixed issues with resizing field costs
- fixed "unload all" button appearing on non-controlled formations

The Farming QOL update

This first "Quality of Life" update is focused on farming with a set of features to make fields management easier and more time efficient.
It notably allows to create fields of custom dimensions which also ignore map borders and river tiles.



Fields now include cosmetic fences like pastures, and reflect their productivity visually with empty tiles.

Dynamic dimensions

No more placing 8x8 fields one by one and headache to figure out the most efficient way to manage river banks and map borders: fields can now be placed in a single drag & drop click and will ignore invalid tiles.
You can now create fields overlapping with a river or the map borders and it will automatically fill the valid space, making full use of it.
Fields can be moved or resized, and compatible fields can be merged with the annex tool (provided the result of the merge forms a rectangle, so they must be adjacent and sharing an edge).


Converting and recycling fields

It is now also possible to convert fields to different resource types, saving you the hassle of destroying an recreating it and the cost in tools to do so. You also recover some of the seeds of the previous resource type.
Livestock pastures can also be converted for free between animal producing and wool producing (for the relevant animals)


Farm upgrades

Production Skill points no longer increase efficiency of farms, requiring to readjust fields for every farm every time a change is made. Instead, production skill points only boost productivity of the fields, not changing the amount of fields per farm.
Level 4 farm upgrade now boosts productivity instead of efficiency in the same way, meaning after lvl 3 the amount of fields per farm becomes constant and will no longer require re assignments.


Other

This update contains other various minor QOL features that are detailed in the full changelogs below, including the ability to place multiple buildings at once (ground storages or houses), a new annex menu, seeing the parent building max workforce usage while placing annexes, various fixes about the Casus-belli past update, some balancing changes and more.



The Farming QOL update
v0.6.2

- Desert type spawns now have higher odds of a starting mineral resource as well + bigger food sources
- increased valley size of Desert climate
- buffed truffles resource: unlocked production skills, increased natural sources production, wealth 0.15, increased quality
- added "unload all" button for formation inventory
- added "taxable income" details to government budget for treaty money transfers
- "war reparations" treaty now has punishment breaking clauses for both parties
- allow swapping resource type of fields and pastures
- adding summary of upgrade comparison to the building upgrade button
- wool and meat pastures can be swapped as free upgrades
- Meat and Wool no longer requires an initial production skill to unlock
- increased space efficiency of chickens and rabbits
- allow fields placement over invalid tiles (to make full use of river banks and map edges)
- made skillpoints in agricultural production improve only productivity instead of efficiency
- lvl4 farms and lvl4 cattle farms increase productivity instead of efficiency
- implemented separate productivity stat for buildings
- new annex building menu displaying more informations and options for annexes
- visual feedback of productivity and fertility of fields
- Display parent building max workforce usage when placing annexes (ex fields of a farm) to know when enough are placed.
- optimized display of auto-fenced buildings
- recycling fields gives back portions of invested seeds as well
- annex tool allows merging compatible fields together
- making fields and pastures dimensions dynamic
- allow some building types to be built multiple at once with one mouse drag
- adding more logs to diagnose server issue with building auto-placement
- fixed "patrol" order not showing up unless formation is on the same territory
- fixed issues with war resolution treaties not properly triggering and remaining 'war pending' even after the war ended
- fixed white peace treaty still triggering on top of other war resolution treaties for main belligerents
- fixed issue with price market study increasing the influence of richest population classes for rare resources
- fixed bug where player can't settle or move when starting out, showing 0 expansion points.
- fixed networking problem of receiving data update while its loading
- fixed Server auto-wipe happening at 0;00 instead of target hour
- fixed issues with server buildings auto-placement
- fixed new server battle crash
- fixed multiple bugs with patrols not triggering properly.
- fixed Partisan rebellions count towards war morale
- fixed war declaration not auto-expulsing enemies that were trespassing
- fixed Defeating an enemy combatant in a war sends any troops you had on them to a random friendly city despite the game giving you a "war passage" treaty

Previous Patches:
- tech project failed from insolvency: made different event notif
- improved auto-deployment defensive zones choice
- made leadership coup generate a fixed amount of rebels instead of a popular uprising
- territorial claims casus belli duration +1 day
- annexation war option not showing up in declare war menu despite having a valid claim
- defeated retreated armies not dropping their inventory as battle loot (porcoderthals)
- fixed battle display crash related to unit positions in troops
- fixed paper bombing exploit
- fixed bug with un-reinforcable units despite meeting requirements
- fixed spawn terrain generation error
- fixed patrol range 2 not including formations of movement 4
- fixed bug getting auto claims when occupying another capital
- fixed problem of rebels spawning inside fort
- fixed bug with unit type in population auto-defense
- fixed bug setting patrol to idle not cancelling patrol
- fixed primitive tribes rebellions not allowed to breach/climb/embark
- fixed server battle crash
- fixed problem of auto-generated peons displacing normal troops when deploying
- fixed militia being able to patrol

The Battles update

This update is focused on bringing a second batch of improvements on the new war mechanics while also focusing on battles.

For the occasion of the new update, Server 4 is being restarted with a fresh new game starting today.



War escalation

An important feature missing in the casus-belli update was a war escalation system, allowing a main belligerent to pursue multiple casus-belli within a same war or a defender to push for its own casus belli in return if he wins.
More details on Porcopedia



Patrolling

Patrolling is an Action that can be performed by Formations. This action puts the Formation in a permanent patrolling state until a different order is given to it. While the patrolling is active, the formation monitors adjacent territories and auto-intervene against enemies in range if the conditions are met.
More details in Porcopedia

Violating rights-of-passage

It is now possible to ignore the lack of right of passage with another State and pass through anyways, but it allows the other State to attack any intruders on its territory without a war declaration. It also triggers any Patrol.
More details on Porcopedia

Population auto-defense

Population auto-defense has been re-implemented, meaning it no longer is possible to raid a 300 habitants territory with only 2 soldiers.
More details on Porcopedia

Indirect co-belligerence

The update also introduces the "indirect co-belligerence" penalty to discourage the practice of parallel bogus wars used by large nations.
More details on Porcopedia

Deployment collisions

It will no longer be possible to deploy multiple troops in the same position, as they now occupy tiles which are displayed in red when using the strategic tool.



As armies can move in and out of territories, it is still possible to end up with troops having colliding deployment orders. In such situation, the troops are auto-redeployed. First trying to place them in the same area, then in nearby areas, and then if everything is full they get redeployed randomly nearby.

Defensive mode no longer requires manual defensive zones: instead it will default to the local "area" (any contiguous enclosed space).
This means you no longer need to fill your fortifications with defensive zones to match each enclosed space: you can directly put the troops in defensive mode and they'll defend the whole area.

The strategic tool view has also been cleaned up to make more complex fortifications easier to see.


Battle AI threat maps

The new implementation of "threat maps" which should significantly improve the battle AI behavior is almost completed.

This means that now, the battle AI can consider the threat of enemy positions and not just the terrain and fortifications.
It can now select to breach walls or climb in the places that are not covered by defenders instead of going for the cheapest way in, and it can walk around the range of archers or towers.


Fortifications restrictions

There will now be a maximum number of allowed gates and towers depending on the status of a territory.
The current upcoming limitations are:
- countryside: no gates, 2 towers, no walls, 20 platforms
- outpost: 1 gate, 4 towers, 40 walls, 20 platforms
- hamlet: 2 gates, 4 towers
- village: 4 gates, 8 towers
- town: 6 gates, 12 towers
- city: 8 gates, 16 towers
The goal of this feature is to reduce the over fortification of countrysides causing wars to be too static and too centered around sieging. This will prevent the turtling of fortifying every single countryside and will favor more pitch battles in open fields.


Battle survival rates

This update introduces "survival rates" and retreats after battles, meaning a formation that was entirely "killed" in a battle will no longer be completely destroyed.
Some units will survive and the broken formation will retreat in a nearby location.
A broken formation will auto encamp, have 0 AP, and all its troops will have to recover before they can battle again.

This means in the example of a troop of 20 archers "killed" in battle, after the battle you could end with about 6 "wounded survivors".
This will be represented by a troop of 0/6 remaining archers (same as when there's insufficient population to maintain a troop), that will slowly recover to 6.
This represents the convalescence of soldiers.
- Defeated defenders in regional centers cannot retreat, and a defeated formation is therefore really destroyed.
- The winner of a battle gets a better survival rate than the defeated.
- survival rates are currently between 30 and 45%

Battle visuals improvements

This update brings visual improvements to battles, now with dust & blood.
Units also have better collisions during melee top stop all of them merging into a single tile where you can't see what's going on, as well as a reaction from defending units bracing for impact.








The battles update
v0.6.1

- increased minimum default distance between primitive spawns in persistent preset to "1.8"
- added option to control spawns target nb and minimum distance in "new game" UI
- cleaned up "new game" UI
- blocked ordering relocation of capitals to non-regional centers
- automatic territorial claims when a foreign state settles a territory adjacent to your capital
- increased Politics Points rewards from startup missions
- added "famine" loyalty factor: below 50% vital needs population loyalty drops exponentially (max -75)
- added 'indirect-cobelligerence' ( one army is assisting defense of another army against a common enemy but not sharing a common war) morale penalty in battles
- in raiding campaigns, war escalation for the agressor is immediate
- implemented war escalation system
- cost of fabricating claim during a war +50%
- implemented "Patrol" action for formations
- rebellions and partisans now use "Peons" instead of "Snouts".
- re-implemented territory people's auto-defense
- added new "peon" unit (peasant snout)
- added auto withdrawal of troops when breaking rights of passage
- it is now possible to violate rights of passage, but armies can be attacked by the owner of the territory without a war declaration
- implemented survival rates after battles
- troops below 25% of their max troop size now merge with other troops of the same type automatically.
- fortification now limited by territorial status
- reorganized resource categories to allow better targeting in raid orders
- fixed embarked units able to land on elevated tiles without climbing
- allies in a war now also have the action "liberate" instead of "occupy" , returning territories to the original owner automatically instead of becoming occupants of their own ally's land
owner during war
- improved battle melee visuals: added dust fx for moving units and combat
- improved battle melee visuals: added blood fx
- improved battle melee visuals: better matching of enemy units in combat
- battles AI: implemented threat map
- battles AI: improved inter-area pathfinding
- battles: climbing now disabled for formations including animals, cavalry or elephant units.
- battles: fixed bug of battle display not starting when already in the territory as a battle starts
- battles: fixed ally units inter-zone pathfinding sometimes ignoring gates as a free passage causing them to break or climb instead
- fixed UI bug with mouse coordinates on platforms and water
- deployment tools: allowed defensive mode outside of defensive zones -> defaults to defend whole area instead
- Battles: implementd area limit of deployments based on the area surface of fortifications.
- optimization: migrated troop units coordinates calculation to the c# DLL
- deployment tools: improved display of defensive zones and areas.
- optimization: migrated nodal pathfinding to c#
- improve readability of fortification display layer
- migrated & unified pathgrid zoning to c#
- fixed bug of characters still paying taxes to previous nation superior even after leaving the nation
- fixed bug of territory staying with "occupied" status when auto-liberated during armistice
- fixed territory culture stat calculation issues in very low population territories
- fixed raiding campaign bug causing battles morale to not affect agressors
- fixed problem of settlements with 0 Actives unable to rebel
- fixed ground items spawning over stairs
- fixed bug allowing to change stock policies of resources in occupied territories
- fixed buf with missing war reparations in a multi-parallel wars situation
- fixed bug allowing to diband formations in empty territorial claims
- fixed issues and bloat with territory deployment data
- fixed pathfinding bug + minor optimization
- fixed battle display glitch where units still target dead enemies in melee
- fixed bug where "liberate" action was unavailable on indirectly occupied countrisides
- fixed bug of indirectly occupied sub-territories remaining as occupied when freed by its original
- fixed issue causing too frequent spawning of herds near settlements.
- fixed bug where troop units would not collide with cliff edges of walls.
- fixed bug where main belligerents could get a "whitepeace" treaty on top of the normal armistice treaty.
- fixed 0 produced culture issue for new settlements.
- fixed building water platforms not updating dynamic water properly
- fixed Postal building not auto distributing service

Previous Patches:
- animals can no longer burn down buildings
- fixed territory menu icon showing up for empty claimed territories
- fixed still being able to change territorial status of indirectly occupied territories
- fixed bug in market order in server 1
- character changing status (ex becoming inactive) now also triggers timer that prevents despawning
- fixed inactives still despawning while at war
- fixed inactive territories despawning before minimum decay timer after a change in ownership
- cleanup timers in regdata for despawning and cultural integration
- fixed bug allowing some capital buildings to be functional in non-capital territories
- fixed advanced government buildings missing the requirement for proper builders
- fixed barbarians raiders not despawning when back to camp
- fixed being able to only build 1 water mill per territory