The state of things

Generations

In this stone age survival game, you must use all your skills to survive in a harsh and unforgiving environment. From crafting tools and shelter, to hunting and gathering food, you will need to do whatever it takes to stay alive. With all these conditions to contend with, will you survive?

Hello survivors, This post will be me having a heart to heart with you and discussing the current state of things. As most of you probably know, I develop Generations alone. This means that I don't have dedicated teams working on specific aspects of the game. I purchase or make the assets myself. I write the code myself. I design the map myself. I optimise the game myself. I am skilled in some parts, and not skilled in others. After recent play tests, I have without a doubt realised that optimisation and graphics are not things I am particularly skilled at. [h2]1) Issues Regarding Performance[/h2] I have a pretty good PC (RTX 3070 with Ryzen 7 5800X), so for me performance was never the biggest issue. However, some friends of mine with 1650's or 1060's reported that they get a little over 20 fps. Normally bad FPS would be something that would be fixed in an update with a few optimisations. The issue is, [b]I cannot fix the performance problem.[/b] There are almost 10.000 trees in Generations, and rendering them is hard, even for the best computers. I first thought the issue lied in that, so I optimised trees, expecting an FPS increase, but was surprised to see no change at all. I was shocked, so I started turning off everything in the game, even the networking but to no avail. The game still could not surpass 60 fps. After some more tweaking, I realised something terrifying. The problem laid with Unity's High Definition Render Pipeline. Unity HDRP is great for a lot of things; realistic rendering, volumetrics, AAA graphics. However, it is not good for huge open-world scenes. [i]I cannot make a game where only people with expensive RTX graphics card can play.[/i] Even if performance did not cause issues, another big issue would occur. [h2]2) Networking[/h2] I thought I made this game in the best way it could be. I thought every system was crafted perfectly and could work intertwined easily. While developing new features, I realised that almost every problem caused was networking related. This made me uncover the scary truth. My networking code [b][u]sucked.[/u][/b] Players would play their movement animations but not actually move. Clients would get kicked out for no apparent reason. Games would crash when someone else disconnects. Inventories would not get saved. Player data would not be loaded. Packets would be dropped. Steam would not allow connections to go through. It is interesting, as a player, when things go right you never think about the inner workings of the game. However when you actually know how it all works, and you know that its basically all held together with duct tape, you start to get scared. Scared that you will have to re-write something again. [h2]So... what now?[/h2] The game is not cancelled. I need time to think things through. Maybe re-write the networking. Maybe switch to URP instead of HDRP. I know nothing for certain at this moment. Thank you for playing Generations. I hope to update you on everything soon. - zyapguy