It’s been a while since the last news 🙂
I’ve completed my learning of shader basics. After doing basic post processing ones applied to the screen, i’ve now reorganised the way the game itself is rendered so that i can apply shaders to game objects themselves and create shader materials.
Firstly this means that now i’ll be able to have different material behavior depending on the tiles : exemple a wet clay ground tile can look wet by reflecting the sky, ground with a soft specular reflection, water tiles with animated waves and reflection ect…
Then it unlocks lots of potential optimizations in the future, because i can do things through using shaders instead of “regular code” and its usually way faster ( and it has the other advantage of using the graphic card processor instead of the main CPU, balancing the computer resources usage ). First one i plan is to use shaders to deal with some expensive animated sprites ( all animated vegetations ), which will improve framerate. In the end i can potentially use shaders to make the procedural generation of regions faster, but it will be a big work so its on hold for now. Anyway having learned this new skill took a while but it will be worth it in the long run.
Here is its first visual result. I heard as general feedback in the greenlight that the worldmap was now really below the level of the rest, so i’ve been working into making it better and doing my first complex shader : a sea shader for the worldmap.
I learned how to actually use a normalmap and render it. It creates an animated waves normal map out of 2 textures , reflects the sky and blurrs with distance, and also has a colour gradient from the coast tiles to keep this 2D style. There’s also a foam effect that looks quite nice from a distance, creating lots of small flicking white points on the blue sea. The shores are also animated.
Its a first step to improve that world map and make it look less static. Next step is to animate trees and grass through shaders. The normal map probably still needs some tweaking as i think its too strong on closup.
It is now possible to launch the actual game again from the front end, at last.
Whether you start a game from the UI i showed the other time or load an existing game, or in the end join an existing multiplayer game, you’ll arrive to this server lobby screen.
This where you’ll see your characters on this particular game, and create new ones. In the screen below, there is no existing character and the only option is to create a new one.
Factions now have their own name generator so you dont have to spend hours wondering how to call it if you don’t care, and can start right away.
On the right side you have the spawning options. Depending on your choice and current availability, you can see how many starting points match your settings. Obviously you won’t be able to start if there’s none.
You can choose a general climat type, and the 3 starting types : primitive tribes is the default start where you start from nothing, colonies are regions created by players themselves, and anarchic regions are regions that don’t have any owner ( the original player lost or quit the game ). At game start only primitive starts will be available, but as it goes these will disappear and you’ll be able to start from existing colonies or regions (so late joiners won’t have to start from scratch).
In primitive tribe start mode, you no longer start with a pre established village. Instead you start with a single unit, your tribe. Also, all other pending primitive tribes are actually ingame from the start and visible as part of a primitive tribe non-playable faction. Everytime a player joins, he takes over one of these units.
If players destroy these, they actually destroy that starting point. This way everything is coherent with the universe, and you don’t see villages spawning from nothing.
Also the point is that as starting regions tend to have extra resources making them more interesting, players used to colonize these first.
Now it will be more complicated to do so as they’re defended by an actual unit.
It will require some balancing but in the end the point is to make it hard at the beginning of the game, so primitive starts can be preserved for other players to join.
Also i’m redesigning the bottom left unit menu so that everything regarding units can now be done through this one instead of using a second popable centered window menu. Regions will use that same bottom smaller menu.
Right now i’m re establishing all the functionalities of the worldmap ( still in this general task of updating the alpha1 prototype ). When its done, i’ll move to the region. And then eventually, i’ll be back at the prototype’s point of progress and can start adding new features at last!