New beginning

Hi folks!
Well that’s it, my last day at CA was this week and my work on Total war Attila is done. Now i’m…. jobless. And moving out of UK this week end, so quite busy times.
If there’s any Total war players out here, i hope you guys will enjoy Attila!
I havnt been inactive on Ymir either. I have completed the first phase of adapting the game to this newer version of the engine i’m using, and i have now started to upgrade my UI system to reach a more professional standard. No more flicking UI, new main menu, support for windowed mode, full-screen mode, different resolutions, resizing the game window in real-time… all the classics. Its actually quite time consuming create a system that can support all, and quite ungrateful as for the players this is just ‘normal’ stuff they won’t even pay attention to consciously.

Main menu WIP  Main menu WIP

I also have to (re)organise the whole program ‘infrastructure’ : like where and how the program files will be setup. The game will now have an installer.

Beeing nearly done with the UI upgrade, my next step is to redo a proper editor ( the one i used before was a really messy and temporary thing ). This editor will be now directly part of the main game client, and eventually accessible to players.
Its first function will be to create and edit worldmaps that can then be used to setup games.
I also plan to make a ” single player ” tutorial, and the ability to launch and setup games directly from the client main menu ( automatically launching a server in the background when starting a game ).
Basically this “infrastructure” thing is everything that goes around the game itself, and its quite a big job and an important one to keep building the game on a good base.

It will also imply steam, which brings me to my first objective of green-lighting the game. Only then i can start testing the game within steam itself, which would be its final environment. I’ll need this to deal with accounts, server lists, uploading new builds and updates and all. When you get green lighted, you get this special account with access to functions to interact with the steam servers, and you get to upload the game there and generate keys to test the game as final players would. I can’t preview all this until i’m actually green lighted… So this greenlight will determine a lot of things on how i organize the way Ymir works, which is why i’ll need this as soon as possible.


I have pretty important news to announce :
As some of the people following Ymir for a while sur have noticed, things have been going pretty slowly for the last years. Having a dayjob doesnt leave much time and energy to do other big projects.
For the last 3 years i’ve been working at The Creative Assembly in UK. It’s been a really cool and rich experience to work in a big studio, and i learned a lot of things there. But i’ve decided to resign from my current position this December, and starting next year i’ll be working full time on Ymir.
I’ve been saving funds for a while now, enough to hold more or less a year. There will be no turning back now, and it will either suceed of fail when i run out of funds and have to look for another regular job.
Alpyro, who’s work you’ve seen recently, should be joining me in this next year, and helping me out especially for graphics stuff, allowing me to focus more on code and design.
My first objective will probably be to greenlight the game, and then possibly trying crowdfunding.
But more than that, my main objective is to complete within a year a playable version of the game with enough of gameplay mechanics implemented to make it a valid game that can already be enjoyable.

Now , with the moving out of UK, the christmas holidays and finding a new place to stay, it will probably take a few months before i’m actually fully working on Ymir.
This is on of the biggest risks i ever had to take, but i’m convinced i’m not the only one who’s like to play a real multiplayer city building game, and that it can be worth it. Anyway i couldnt have finished it at this rate, and i knew i had to try this. Otherwise that’s a thing i would have wondered all my life ” what if i had ? ” . So i guess i’ll go find out!

New stuff!

Hello ! Alpyro here, or Olaf Mac Dagguy on the forum . I made some graphic updates for the game. New buildings, like Fishery, hunt house and sawmill. And an illustration.

See yah ! :)

Scirie_etapes Chasse_etapes Pecheur_etapes Ymir-illu10

Upgrading to a newer version of the engine

I decided to try upgrading Ymir to a newer version of the engine i use, Game maker.
This will take some time, as it causes numerous problems due to the changes made to the engine.

Bad :
- I lose all the extensions i used : they’re now either obsolete or incompatible.
- No more multithreading… It was one of the main reasons i didnt upgrade before, as this experimental dll was abandonned and doesn’t work in more recent versions.
- It will take an unknown amount of work to fix all the issues due to the upgrade. likely weeks.

Good :
- The engine is way more optimized, however i can only measure the difference when all the work is done… will it compensate the loss of multi threading ?
- Allows a potential multiplatform release
- The code is more secured
- But most of all, this new version has some built in functions to support steam integration, which is something i’ll definitely need.

What’s been done in the last few months (v0.600)

So after a few months the – internal – version 0.600 is complete, with the new networking system operationnal and the old code mostly updated, at last! In the last few weeks, i’ve started building new features again.

Also, i started the implementation of Server-side region pathfinding. What does it mean ? It means the server is now getting ” eyes ” , beeing able to see a region. It’s first aplication is to allow the server to place buildings properly by itself, especially the automatic spawning of slum houses for extra populations ( in the last test game it, the messy temporary solution created exploits that are now fixed ).
Region's pathgridHere on the screen you can see a debug view of one pathgrid of a region. This is what the server ‘sees’. Here its showing invalid zones in purple (buildings and cliffs) and free spaces where to place a building in green.

Later on, this will allow buildings, walls and terrain to have an effect on battles ( currently they’re all ignored, and its as if armies were fighting in empty plains ).
The next step on that matter is to implement server-side WORLDMAP pathfinding. It will allow automatic movement of troops ( armies coming back to home after a mission or an attack, AI controlled barbarians moving around and attacking players etc.. )


Also here is a screen of the diplomatic menu.

diplomatic menu

Its composed of a text editor and an optional treaty proposal. Treaty options will in the end include things like right of passage, payment of tributes and taxes, setting up manual trade routes, allowing trade with cities ( the ability of a player to take trading offers from the regions of the other player ), transfering territories, becoming allied and vassals etc…
Also as you can see on each side of the treaty, there is ‘breaking closes’ specific to the 2 members of the treaty.  These will apply to the relevant member that breaks the treaty, and it includes 3 options: a gold penalty (some sort of security deposit) sent to the other member, the automatic declaration of war by the other member and an honor penalty. Honor will be a non gameplay stat only used used to inform other players of your reputation.
Signing a treaty with a high honor engagment basically means you ” swear to god i’ll respect it ” while a low one will mean more something like ” lets see how this agreement goes and it will last as long as i’m in the mood”.
This assymetrical system will allow a player negociating peace with a defeated oponent to force him to accept vassality and tributes , binding him with lots of penalties while having none on his side to remaining free to do as he wish.

Treaties will also cost some administration points, depending on the nature and amount of terms they contain.
They will also include a possible limited duration after which they become obsolete without triggering any breaking close.


v0.600 changelog

- Global networking upgrade & reorganisation to standardize and optimize data transfers and database management.
- Data subscription system to maintain data automatically synced with server
- New pathfinding system and coordinates to optimize framerate and allow later support of terrain elevation and walls.
- Multi threaded pathfinding system to optimize framerate
- Cleaned up login process
- Implemented Server side region pathfinding, allowing the server to place buildings in regions automatically.

- Events system
- Early diplomatic and contact menu

- New text editor

- Added dynamic music player and transitions
- Fixed bug in ambiant city sounds
- Added building sound effects

- Added oldpigs and piglet citizens.
- Now 2 visual levels of citizens ( total of 4×2 citizens )
- Added building animations

- Solved crashs when loading region.
- Solved workers not properly leaving a bulding set to sleep
- Solved bug where population could be duplicated when destroying slums
- Solved bug where slums would fail spawning