SodNa : The restyling has been continued….

Some month ago I spoke about the future of SodNa and the return to 2d graphics since it is the only way to have some chance to complete a game (you can read the post here).

I worked a lot on the project, particular on:

  • Nice slopes and many fix on the map drawer
  • Fixed a lot of bugs and improved my dx11 library
    • New text system with border
    • Improved performances on the sprite system
  • Items and textures loader
  • Window system to show game information (e.g. the minimap)
  • Useful console used to show debug (e.g. the noise data)
  • Simple building system

You can see all these improvements on the follow screenshot:


I know that it might seem a small work, but it is important to develop a stable core in order to have an efficient game.

Directx11: Let’s try them

When I started programming with graphics library I tried Diretct 9: in fact they are simpler thant Opengl and they have a ton of documentation on the net. Recently I decided to try the last version, Directx 11.
I am very excited about the new features and I thinked “Why don’t try again with my last project <World> ?” So, I started a new test project to evaluate their performances.

First of all, I saw that my last source library was deprecated: the new architecture is a bit different and I was obligated to rewrite my source from the begin: I wasted some old concepts and I tried to learn from my old errors. The new main keyword will be: performance. I have to build the code thinking all the time at this word, because every single line of code could generate a bottleneck when I will render the buffer on the screen.

I didn’t yet implemented textures and many other features, but the new engine is already impressive: It is able to render a large terrain without lose fps.

New features:
– LOD system: as far is the terrain, as lower is the polygons count
– Very large terrain: thank the LOD system, I’m able to render an area of 1.000 x 1.000 chunks (240.000 depth pixels) in 0.01 seconds
– Fast computation: the entire mesh is calculated in debug mode in 0.2 second
– Better noise system: I modified my noise alogorithm to generate some far mountains

The screen above is just a test:Dx11_FirstTry

Warhammer worksheet

Since I was 19, all the Sundays evening I play roleplay games with some friends. During this years the game we appreciated mostly is certanly Warhammer fantasy, so I decided to recreate a typical scene with a couple of dice, a sheet and the handbook.
The picture doesn’t have several elements, but the result is fine for my competence.


The future about SodNA

It’s a very long time I didn’t write something on this blog about programming, but I never stopped working and it’s time to update you about it.

Last times I explained the biomes system and a simple 3d engine that was able to render a basic landscape with many trees and a few of grass. Unfortunately the frame rate was very low (I am a newbe with 3d programming) and the view impact was not as I expected. The big problem is that i wasted a lot of time trying to fix the graphics instead of program the game.


I thinked about how I could fix all these problmes and finally, I spoke with a designer (the author of Sod lost soul graphics) and he decided to give me his 2d tileset (thanks a lot Arnobius!!!). He is a very smart person and he already realized a tons of tiles; moreover he decided to help me if I will have any kind of problem.
So I started again the 2d project, I imported the loading and generation routine from the previous engine and I rewrote only the draw algorythm.

I dint’t yet finished the restyle, but you can see a first screenshot below where I draw a basic terrain with the new height map system:


In the last post I showed the current engine, but at the moment all the settings are stored in the code. Before to improve new feature, I have to code an external tool to manage the game content.

So, I started a new C# project:

SodNa editor v 1.0
SodNa editor v 1.0

Initially I inserted only the basic information about the map generation, my current porpouse is only replace the old code with this new kind of data structures.

Next I googled to study how generate a realistic terrain and I decided to do it 4 steps.

Step 1.
I coded a modified version of Perlin Perlin Noise Algorithm; in the Map tag I can set its parameters (frequency, amplitude, size, octaves and persistence). In the next picture I drew with different colors the various altitudes generated.

Map terrain
Map terrain

Step 2
I set a new parameter moisture that represent the distance from the water.

Map moisture
Map moisture

Step 3.
I subdivided the map in 4 latitudes and I applied again a simple noise to make the border irregular.

Map latitudes
Map latitudes

Step 4.
I created a table where for every latitude and moisture I inserted biomes (tundra, desert…); You can see the result below:


Now I have to set for every biome its vegetation and colors and I also have to edit the engine to load my new db.

Sword Of Darkness: new adventures

I want spend some word about my current project: one year ago I started rewrite my old textual game: Sword Of Darkness. In my intention it will be a single player game where the player can explore a large procedural word, build items and buildings and other many features.
Now, I publish some screens of my various 2d and 3d approaches:

First try of SodNA


A simple experiment of 2D game.


Procedural landscape with a character.
What did I learn about this ?
I learned the beauty and the many difficoults about the 3d graphics, my limits and the time required to make a decent model textured.
So, I restarted again with a 3d cartoon style. The result is the next and I am very statisfied:


This version has the potential to became a great game and I want to follow this way.