First battlesPremiere batailles

Units are now in the game, and i implemented the basics of the IA and real time battle display.

When two ennemy “formations” meet on the same tile of the world map, it triggers an automatic real time battle. Anyone looking at this tile at this moment will be able to witness the battle in real time.  The attacking army deploys on the border matching it’s provenance in the world map ( attacking from the North tile, South, East… ) , and the defending army deploys next to its campement on the tile. In cities, player would ideally be able to specify placement of each unit in case of an attack.

After this deployment, AI controlled troops move and fight each other. Psychological factors will make units flee or retreat : for now they just fight to the last pig standing. The 2 armies are then updated on the worldmap.

Les unités sont enfin dans le jeu, et les premières battailles ont eu lieu dans le monde d’Ymir.

Lorsque 2 joueurs sont en guerre, si 2 de leurs armées se retrouvent sur une meme case cela déclenche une bataille qui peut être visualisée en temps réel dans les regions. L’armée attaquante se déployant sur les cotés, et l’armée basée sur la case en son centre.

Pour le moment , ce ne sont que les bases qui sont mises en place : le déroulement des tours de l’IA, la compression et l’envoi des données aux clients, le déclenchement des batailles, l’affichage des troupes sur le terrain, et l’affichage des combats sur les clients en fonction des données reçues par le serveur.

Les citoyens décoratifs dans les rues des villes devraient également bientôt faire leur apparition, maintenant que le système des unités est dans le jeu.

Ya encore beaucoup de boulot pour avoir des batailles basiques fonctionnelles. Elles n’ont pour le moment pas de fin : les batailles ne sauvegardent pas leurs résultat sur les armées et n’ont pas d’effet. Je dois encore aussi gerer les cas des multiples armées ( pour le moment je ne gere que le 1vs 1 ).
Enfin l’IA se contente juste de charger instantanément l’ennemi sans rien faire d’autre. J’ai simplement mis en place la “pipeline” du déclenchement d’une bataille lorsque 2 unités ennemies se retrouvent sur une meme case jusqu’a son affichage dans les régions en temps réel sur les clients.

v 0.400v 0.400

After a long time, the new version 0.400 is finished.
There’s a LOT of progress since the last “official” version 0.304.
The networking engine has been completely changed, there is now factions ( players can create their own, choosing a color, an name and a flag ).
There is now also formations ( armies ) wich can contain any combination of troops and will have a wide range of missions : delivering ressources, attacking targets, settling on a new tile… Those formations will carry goods, and be composed of civilians or military troops, or both at the same time.
Those formations can be seen and can move on the world map from tile to tile.
I’m now starting to work on the most tricky part of the game : the battle engine and the regional representation of troops.
Also there’s now 13 finished unit sprites, and a few more buildings and ressources sprites, although they’re not implemented in the game fully yet.

v0.400

Optimizations
– Buildings out of screen no longer drawn.
– Tiles chunk system implemented ( tiles out of screen no longer drawn )

Debug
– Fishes can now be distributed correctly.
– Solved bug with disconnect button.
– When clicked, region and world tab no longer reload if user is already in this tab.
– Solved bug with farms cultivating same ressource as a present natural ressource.

Networking
– New networking engine
– New file system
– Reorganized save files
– Reorganized data of characters, players, regions, factions and worldmap

Interfaces
– New character menu
– New character creation
– Multi language support system

Gameplay
– Basics of the faction system
– New world map
– Players now have avatar, state , rank and score
– Players can now choose amongst differen spawn types : tribal, colony, anarchy or custom. Only tribal is fully operationnal.
– All distribuable ressources are now belonging to distribution groups.
– Ressources of a same distribution group now have individual prices.
– Basics of the formations system ( armies and units ).
– Formations can be created, and troops can be recruited.
– Formations can be moved on the worldmap
– New right-clic menu on world tiles : it’s possible to declare war on another player.

Graphism
– 13 finished unit sprites including mounted elephant, mammoth, light cavalry , archers and infantry
– Brewery, potter, lumberjack and farm buildings finished ( up to level 3 )

Apres un long moment, la version 0.400 est terminée.
Il y a eu beaucoup d’avancées depuis la derniere “version” terminée .
Le moteur reseau a été entierement refait, il y a maintenant un systeme de factions basique ( ou les joueurs peuvent creer la leur, choisir une couleur, un nom et un drapeau ).
Il y a également désormais les bases du systeme d’unités : les joueurs peuvent creer des ” formations ” , groupes de troupes composées elles mêmes d’unités.
Les formations peuvent etre composées de troupes militaires, civilies, ou un mélange des deux ( escorte militaire protégeant des civils en route pour coloniser une region voisine, par exemple ).
Ces formations sont visibles sur la carte du monde, et peuvent etre déplacées. Elles bougent alors lentement de case en case.
Egalement, il y a maintenant 13 sprites d’unités terminées, parmis lesquelles on trouve le mammouth monté, un cavalier léger, un lancier, un archer ou encore un javelinier.
4 batiments sont terminés jusqu’au niveau 3 ( le niveau max visé pour la v1.00 ) : bucheron, brasserie, potier et ferme.
Pas mal de sprites de ressources ajoutées… métaux, bières, nourritures.

Je me prépare a aborder l’étape la plus cruciale du developpement : le systeme des batailles et la représentation “régionale” des formations et combats.

v0.400

Optimizations
– Buildings out of screen no longer drawn.
– Tiles chunk system implemented ( tiles out of screen no longer drawn )

Debug
– Fishes can now be distributed correctly.
– Solved bug with disconnect button.
– When clicked, region and world tab no longer reload if user is already in this tab.
– Solved bug with farms cultivating same ressource as a present natural ressource.

Networking
– New networking engine
– New file system
– Reorganized save files
– Reorganized data of characters, players, regions, factions and worldmap

Interfaces
– New character menu
– New character creation
– Multi language support system

Gameplay
– Basics of the faction system
– New world map
– Players now have avatar, state , rank and score
– Players can now choose amongst differen spawn types : tribal, colony, anarchy or custom. Only tribal is fully operationnal.
– All distribuable ressources are now belonging to distribution groups.
– Ressources of a same distribution group now have individual prices.
– Basics of the formations system ( armies and units ).
– Formations can be created, and troops can be recruited.
– Formations can be moved on the worldmap
– New right-clic menu on world tiles : it’s possible to declare war on another player.

Graphism
– 13 finished unit sprites including mounted elephant, mammoth, light cavalry , archers and infantry
– Brewery, potter, lumberjack and farm buildings finished ( up to level 3 )

 

 

 

 

World mapCarte du monde

The game now has a new networking engine wich should be much more stable and efficient.
The basics of the faction system are finished. Players can now create and belong to a faction. Each faction has a standart and a color chosen by player.

I am currently working on the graphics of the worldmap and the basics of the unit system.
There are 3 levels of consideration regarding this :

– The unit is an individual, civilian or soldier.

– A group of units form a Troop, wich cumulates experience, morale and other parameters (like the city of origin). A troop can only contain the same type of units.

– A group of Troops is a Formation, wich is most of the time an “army”. But formations can also be made out of civilians, merchants, of a mix of anything you require ( ex :  a troop of 400 settlers witn one troop of 100 archers for escort, all moving as one unique group : a formation ).

no images were found

Le jeu a maintenant un nouveau moteur réseau qui devrait etre plus stable et plus éfficace.
Les fondations du systeme de factions sont terminées. Les joueurs appartiennent désormais a une faction. Chaque faction a un nom, une couleur et un étendart personnalisable. Les factions pourront ultérieurement grouper plusieurs joueurs, et des traités automatiques pourront s’appliquer a ses membres ( droit de passage, accord commerciaux , politique synchronisée ).

Je travaille en ce moment sur les graphismes de la carte du monde et les fondations du systeme d’unités.
Il y a 3 niveaux de considération pour les unités :

– L’unité est un individu, civil ou soldat.

– Un groupe d’unités forme une Troupe, qui possède une experience, un moral et d’autres parametres ( comme la cité d’origine ). Une troupe ne contient qu’un seul type d’unités.

– Un goupe de Troupes forme une Formation, qui est en gros une “armée”. Mais les formations peuvent aussi etre constituées de civils, ou d’un mix des deux selon vos besoins. Exemple : une formation constituée d’une troupe de 400 colons et d’une troupe de 100 archers comme éscorte.

no images were found

v 0.304v 0.304

The new version 0.304 is finished. It was mostly focused on debug, optimizations and various game adjustments.

Debug
– Various bugs affecting wealth , ressources and growth calculations.

Fixes
– Camera now starts focused on village.
– Game now starts on worldmap.

Gameplay
– The more piglets per sow there is, the lesser the sows are likely to breed.
– Price change decisions now priviledge income over number of clients.
– Total population amount now lowers health.
– Vital needs shortage now affects life quality.
– Infrastrcture now have a cost.
– Annexes now have a cost.
– Players can no longer affect regions that are not theirs.

Interface
– Population menu.
– Ressource menu.
– Game menu with quit and disconnect.

Networking
– New data structure transfer system : centralized in one function, and transfer data chopped in packets askable in any order.
Will allow mecanisms to avoid lost packets.

La nouvelle version 0.304 est terminée! Il s’agit essentiellement de corrections de bugs, optimisations diverses et nettoyage général du jeu.

RECRUTEMENT de testeurs francais ouvert!

Debug
– Various bugs affecting wealth , ressources and growth calculations.

Fixes
– Camera now starts focused on village.
– Game now starts on worldmap.

Gameplay
– The more piglets per sow there is, the lesser the sows are likely to breed.
– Price change decisions now priviledge income over number of clients.
– Total population amount now lowers health.
– Vital needs shortage now affects life quality.
– Infrastrcture now have a cost.
– Annexes now have a cost.
– Players can no longer affect regions that are not theirs.

Interface
– Population menu.
– Ressource menu.
– Game menu with quit and disconnect.

Networking
– New data structure transfer system : centralized in one function, and transfer data chopped in packets askable in any order.
Will allow mecanisms to avoid lost packets.

v 0.303v 0.303

v 0.303

The version 0.303 is finished. Visually, there’s nothing new, apart those small market stands. They are the first distribution annexes available : like production annexes, every building producing a distributable resources ( like food, pottery, drinks, cloth… ) can place a direct distributor which will , like production annexes, monopolize one worker.

The main progress in this version is in fact behind the scene , and concerns economy.
There is now a live, complex and dynamic economic system : ressouces now have a dynamic price, based on the amount produced, the offer/demand ratio, and the amount sold. Each social class now has a wealth parameter that defines if it can afford houses and resources depending on their price. Population also has health ( depending on housing and food ), life quality ( housing quality, access to resources ) and growth ( defined by various things like health, life quality or intelligence ).
All those parameters influence each others in a way that will be invisible to players : part of the point of this game will be to guess, test and establish your own theories of what’s the best to do, and share it with others. Therefore, the ” truth ” won’t be accessible, and players will only see what the results and parameters’s value ( like average fertility, health, wealth ) , but not how they interact.
Here are some examples of mecanisms : distributing a more diversified food to your population will improve their health, the more you distribute a resource, the more likely the price of this resource will lower, thus becoming available to poorer populations ( but lowering the income of those producing it ).. and so on!

It won’t be, I am aware of that, a casual game “for everyone”. However, because the game intends to be logical, this complexity will be made easier, as a player will be able to succeed just acting logically, without having to spend time knowing the all the detailed rules and mechanics of the game : lots of things are matter of common sense.
Ymir will be a complex simulation, and losing – even by yourself – will be likely, if you fail managing your economy. “Losing is fun”, and Ymir shares the same philosophy with Dwarf Fortress.

v 0.303

La version 0.303 est terminée. Visuellement, il n’y a pas grand chose de nouveau, mis a part ces petits étals de marché. Ils sont les premières annexes de distribution disponibles : comme les annexes de production, chaque bâtiment produisant une ressource distribuable ( comme la nourriture, potterie, vinasse… ) peut placer un distributeur fournissant directement la population. En revanche, celui ci monopolise forcément 1 travailleur, diminuant la production.

Mais l’avancée principale de cette version est en fait invisible, et concerne l’économie.
Il existe désormais une économie dynamique et complexe : les ressources ont un prix variable, basé sur la quantité produite, le ratio d’offre/demande, et la quantité vendue a la populace. Chaque classe sociale à maintenant une valeur de richesse qui détermine justement leur capacité a s’acheter telle ou telle ressource vendue, mais aussi de vivre dans telle ou telle habitation ( si ils n’en ont pas les moyens, alors ils créent des taudis ). Mais cela ne s’arrête pas là : la population à aussi une santé ( dependant du logement et de la variété des nourritures ), une qualité de vie ( dépendant du logement et de l’accès aux ressources ) et une croissance ( influencée par tous ces paramètres ).

Tous ces paramètres s’influences les uns les autres, d’une façon qui ne sera pas révélée précisément aux joueurs. Une partie de l’interêt du jeu résidra par ailleurs dans le fait de deviner, tester et établir ses propres théories. Ainsi, la “vérité” ne sera pas accessible, et les joueurs ne verront que les résultats et les valeurs des différents paramètres ( comme la fertilité, santé, richesse… ) , mais pas la façon dont ils interagissent.
Voici quelques exemples des mécanismes : distribuer une nourriture diversifiée augmente la santé de votre population, plus vous distribuez une ressource et plus sont prix aura tendance a baisser, devenant ainsi accessible aux plus pauvres, mais diminuant par ailleur la richesse de ceux la produisant… ect !

En raison de sa complexité, ce ne sera pas un jeu casual plaisant à tout le monde.  Cependant, comme le jeu prétend être logique, une partie de cette complexité sera rendue plus simple, un joueur étant capable de réussir plus ou moins en agissant simplement par bon sens sans avoir a passer du temps à connaitre toutes les règles et mécaniques du jeu.
Ymir sera difficile, et perdre – même tout seul sans l’intervention d’un autre joueur – sera possible, si vous échouez dans la gestion de votre société ou économie. “Losing is fun”, et Ymir revendique la même philosohie que Dwarf Fortress.