These past weeks has been tough on development regarding Darkest Night, I mean really tough.Every single thing I've implemented has come with a challenge, I've started on networking and map creation, and both of those fields are pretty undocumented and hard when it comes to Unity.But at least for the networking I have a solution, and you might want to take a note if you're a Unity developer(more about it below).The map/terrain is however a challenge, in some cases it completely destroys your computer's performance, and in some cases it's difficult to work with.
You can now stack most items, but not weapons/larger items. Stacking makes it much easier to have a organized inventory.And ammunition from a stack is now directly loaded into your equiped weapon, which means, no opening inventory in the middle of combat to reload.The stacks have different max amount depending on which item is stacked, for example, small ammunition can carry more in one stack than a can of food can carry in one stack.The inventory is definantly looking better, next week I will be looking into creating the drag and drop functionality work with the inventory.It's ready for open alpha in my opinion, it looks neat, but it might need some animations to flare it up, so it doesn't look static.
Every survival sandbox game needs a flashy and cool map. But the map size could also be decided by the amount of player on the map.In my mind I want around 60-100 players per server, which is heavy for Unity, but can be done.So I thought of a map which is 154 km2, 11000(x-axis)m and 14000(y-axis)m.60-100 players on a 154 km2 is quite good, and it lets the player roam free, and doesn't always encounter another player.I've already placed out towns all around the map, main roads, rivers, and such. All that's left is to design the terrain in Unity.With some simple math I calculated it would end up with around 2-3 player per square kilometer, which is great.
If you're a Unity developer, you know map creation with terrains is an issue for both performance and it prevents you to easly design.There's also another issue with Unity, which is called floating point issues. With floating points you can't make your map too big, if you make it to big it'll lose precision, which'll change player movement and other mechanics.This is however still an issue, but you can't counter it somewhat. To make the terrain design more precise, I divided the terrain into chunks.By dividing the terrain into chunks doesn't really solve the floating point issue but does help me to design the terrains more precise.The map is all put together 16 chunks, smaller on the x-axis, and longer on the y-axis.
Multiplayer, a demanding part of the game's performance.I've done tons of research about this subject, so I could use the best middleware for Darkest Night.Since I'm aiming for 60-100 players, the middleware needs MMO support, and it needs several cores running on a dedicated server.That's why I'm not using the standard Unity networking(RakNet), it's single core, it can't support a MMO.uLink however is the middleware I'm currently trying and will hopefully be the middleware I release with.uLink supports MMO, it supports running the server with no graphic card, and the server is authorative.To prevent hacking/exploits, I'm developing a authorative architecture regarding the multiplayer.Authorative means that the server handles everything, movement, player action, and other things.
CONTINUOUS WORK ON THE ANTAGONISTS
Here's a work in progress picture of a wolf in the game, however this is not the upcoming werewolf.The werewolf will be similar, but with different animations, and model.Future work on the antagonists will be by creating the vampires.A priority with the antagonists will be to create a realistic AI, AIs are important.
WHAT IMPORTANT PARTS ARE LEFT TO IMPLEMENT ?
- Functional multiplayer servers- Spawn positions for loot- Completing the new mapThen I will initiate the private alpha, with the new feedback I will invite everyone to download and play Darkest Night online on public alpha servers.
Darkest Night dev