Recap (once again)

(Ok, I’ll start by mentionning that this post was intended to be online three months ago, in december. Unfortunately, I broke the blog when I tried to update it to a more recent version, and I left it untouched/broken until now… I paid it dearly in terms of spam to remove, not gonna do that again. Welp.)

So, another 13 16 months later, and here we are (again).

Believe it or not, but despite the lack of news, I am still as commited as ever to the game. Irritatingly so, I would say, given how frustrated I am by this last year’s poor progress, so, so far away from my expectations.

The last few months of 2017 and most of 2018 has been a succession of events that ate little by little every speck of free time I could dedicate to working on the game. Some positive, some negative, but the end result is the same nonetheless : I have had little to no (viable) time to work on significative feature. It does not mean that I did nothing for all that duration. But I have little to show as most of it ended up being background or game design work, rather than graphical, player-appealing stuff.

What has been done

Overall, most of the time I have worked on the codebase has been used to simplify or refactor (improve) code that was getting hard to maintain. There is still more work to do on that front, but the situation is already much better than it was a few months ago. The plus side of not working on code for an extended period of time is that it makes it obvious what needs to be clarified, improved, or simply documented more adequately.

Failsafe behaviours have been added in quite a few systems that were previously crashing the game’s client. The server was already fairly stable in that regard.

The rendering engine has been improved to better manage animated entities. Any game object can now be animated at a much fewer cost than before.

Persistence of character data has been thoroughly implemented (inventory, skills, location…), what gives a more MMO feel to the game. It’s also much easier to test it as progression is saved properly.

Support for multiple worlds (versus a single map) has been prepared. It is not yet used, but it is ready. As I detailed in one of the first few blog entries, personal “housing” space is planned, and it’s most definitely one of the next things I hope to work on, making multiple worlds a necessary development.

Plenty of minor bugs have been fixed. Even if I can not work on big shiny features, I can at least fix bugs :)

What is coming

So far, 2019 as been significantly more active on both the game design and development fronts. Not much to show for now, I’ve mostly done cleanup, fixes and created the bases of incoming game systems.

Developments, by order of priority for the time being :

1. More refactoring. As a whole, I am rather happy with how I have architectured both the client and the server. But I have made a few poor decisions that need to be addressed now, before they become a problem. It’s more an “on-the-go” thing than an “it’s done” thing, but it’s the top priority nonetheless.

2. Personal spaces. It is a core feature of the game, and I need to have at least one new of such features up and running, even just to have something to show. It implies quite a lot of sub-systems to implement (“housing”, crops, cycles, …) or move forward (player cities), so it will be a time-consuming development. I’m still finalizing the game design for it at the moment, but I hope to start developing it very soon.

3. Another graphical rework of characters. It is one of the few things I have prepared on the side, and certainly nothing critical, but I have slightly adjusted the look of characters to return to something more akin to the first game models I created years ago, except at a slightly higher voxel resolution. It’s one of the things I had actually plan for 2019 that is already partially done.

And there we are. I would like to say that I’ll try to news more often, but I’m more likely to code when I have some time than to write a blog post. I’ll do my best either way, but the past proved it was far from enough, so let’s see how long it will be until my next post. See you soon (hopefully).

More recent screenshots

It’s been three weeks since my last post, time for another recap.

While the two first weeks that will be covered were mostly oriented on getting big systems working, or on improving existing systems, this last week has been the occasion of working on a multitude of minor details that need to be ready for an interesting user experience. I’m currently working on making a first test version for a few concurrent users. If successful, I might try to gather more people – even if there’s nothing to do in the game at the moment outside of fighting each other or mobs – to check how the server application will handle a real load with real network latencies. At the moment, I’m still targetting a few hundred concurrent users.
But for now, here are more screenshots of recent development:

I keep (slightly) improving graphics, adding some details here and there, modifying colors… It was the case for the sky, that is now a bit closer to what a sky should look like:

Updated sky color.

I improved the water depth feeling, and added some algae:

Not obvious on a screenshot, but those algae are waving.

Mostly for testing purpose – at first – I added character collisions using terrain tiles as the base for them. I’m still testing them and need to improve them a bit, but so far I’ve been quite happy, since they give an extra TRPG feel, especially with the grid and tile indicators I’m currently using to make them obvious:

A grid to simplify tile visualisation, and colors for collision zones.

I took some time to test the render of low-resolution low-contrast textures on the terrain. On one hand, it’s satisfying to have more details, but on the other hand, it tends to make non-textured objects less attractive. I’m still not sure whether or not I’ll go for this textured style – if you have an opinion, I’ll gladly hear it. So far, most people had a preference for the simple color style over the textured one:

Textured Terrain
The textures are quite small, 8×8 pixels, and match the voxel resolution of trees.

Trees Shadows
An example of what can be done with textures: pseudo-shadow around tree trunks for a better integration.

I’ve reworked large parts of the biome and LOD system, and optimized a bit the graphic engine. It allowed me to improve by two to four the previous framerate, for a similar view range. It now allows this kind of scenery with the default settings:

Level of details view range
Probaly a bit hard to tell at first, but there are three level of details in this screenshot.

And in the most recent images I uploaded to Twitter, I’ve shown a bit more of the characters, that have been reworked to include tails for some races, and the keyframes for the future dual weapons:

Running fox-based character
Beginner stuff on a fox-based character and dual beginner swords. Not amazing, but should be kinda cute!