SakeTami
Speiger
Speiger

patreon


2 Steps back, 1 Step forward

Well its been now 15 days since my last post and I got sadly not much more progress done. 

Mainly for the reason that I had some big fundamental issues in my core render engine that slowed down the game so much that it wasn't playable or workable.

That's why also the delay by 1 day since I just got 99% of these issues fixed.


So what was the issue? Basically I had 1 giant mesh for every entity type/stage and I would render that as an Instanced mesh.
That system worked great I was able to render 500.000 entities + 8000 Terrain Chunks in 1 go and my gpu would be close to its limits then.

Only downside when I tried to move to fast the game would freeze and come close to crashing because of the overload.

The reason why that was happening is I updated the mesh for every chunk that was either gaining or losing visibility.
That's not a good idea, I learned that the hard way.

After some talks to people who are far more experienced with designed they suggested me some ideas which are good but wasn't what I was looking for. 

These ideas would solve the issue that I was having but would eat a huge amount of GPU memory that I wasn't willing to sacrifice. 

So I came up with a middle way where I would combine the "Per Chunk" and my global approach.

The result was that every island that the game has had also mesh per Entitytype/state that could either be broken down in smaller pieces or be 1 giant thing, depending on the crowding.

These meshes would require only updates if the entities change, while being relatively speaking very small. 

So that took me an entire week to be implemented and rework.

Also thanks to OvermindDL1 for the help that he has done. He knows a lot more then me and without him it would have took a lot longer to get some systems to be implemented!


But of course that wasn't the only thing that I have implemented.

Something that I kinda wanted for my game was a grid that could be toggled on and off and I was surprised how simple it was to implement.

Its basically just a check in the shader if the position is close enough for a natural number then just darken the pixel by 24%. And the result looks quite nice and it improves the looks of the terrain quite a lot.

Another thing what I fully implemented now is the "Window" System for my Gui.

Where I can make windows very simple and have buttons for moving/minimizing/closing very fast and have nice things in them.
Here is an Example of it:

As seen here you can move them around, minimize them, close them or reset their position.
Getting the Render Order implemented into this was actually the hardest part.

Yeah took me already a good chunk of time and half a week I wasn't able to code because of the heat/sunburn that I got.

And besides some small fixes/additions like a change in camera movement or implementations into my vector library there is not much mentionable there.

So yeah that covers this update post. My next update is going to be again in 2 weeks and this time I try to be early instead of late.

Thanks for reading. Speiger

2 Steps back, 1 Step forward

Comments

That's what I'm implementing to get my Game projects done at <a href="http://justintime.studio" rel="nofollow noopener" target="_blank">http://justintime.studio</a>

Justin Kiffiak

Nicely done, and congrats on getting the post out. In terms of getting the posts out, you might want to implement a rollings schedule, where you have (for example) 7 hours of work, then 30 minutes to post, then 45 minutes of marketing, then 7 hours of project work. Since this is rolling, you can just work at it as you have time. (E.G. Mon: 4 hours of project work, Tue: 2 hours of project work. Wed: 1 hour of project work, 30 minutes to post, 45 minutes of marketing Thur: 3 hours of project work.) ^ This way, you get the stuff done, for sure, as your time allows and you roll on through the schedule.

Justin Kiffiak


More Creators