I completed my first game jam yesterday🎉, this was an unforgettable experience. Gam Jam was supposed to last 3 days, but we started only in the middle and tried really hard to create something decent in that short timespan and I think we did! 😄🎮
#gamedev#gamejam#ІгровариДжем
I fiddled around with #Roslyn Source Generators for #Unity a little bit.
I wrote a simple generator that generates Reactive Properties, you can imagine something like that might be useful for building MVVM for example
#gamedev#indiedev#csharp#programming
Recently, while learning how to create a rain shader, I discovered a thing called Temporal Offset Map.
Thank you so much @BenCloward, your tutorials have been an invaluable resource and I'm learning a lot!
Tutorial - https://www..com/watch?v=5eyq2FJ6lig&t=679s
#unity#gamedev
Recently, I needed an object pool that could differentiate between different types of objects. Unfortunately, Unity's Pool doesn't support that, so I created one myself.
Features
- Can differentiate between objects
- Uses HashSet to prevent duplicates
#unity#gamedev#programming
I'm planning on doing procedural world generation in the future, so I figured that I might as well start with QuadTree for terrain partitioning.
#madewithunity#shaders#quadtree
Project's GitHub: https://t.co/RlTRINHYWB
Here is a simple visualization I made while learning about QuadTrees. It's a procedurally generated mesh with a wireframe shader.
QuadTrees are widely used in #gamedev and can help speed up collision detection and reduce rendering overhead.
#unity#shaders#procedural#indiedev
Hello, I present you with the Human Shader, a project where anybody can participate and help create the first ever human-brain-only powered shader and mathematical image! Please join us and be part of history!
https://t.co/Y5uSUpyKNc
I don't have much to share, but I did a simple textured quad, and I really like it so far. All the things I learned working with shaders in Unity and didn't fully understand, all of this starts to fall into place.
#shaders#unity
I wanted to try to work with OpenGL or DirectX for quite some time, but almost all learning resources are using C++, which I don't really know. So, I was really excited to find https://t.co/iCixpKolys, a library that provides low-level bindings for OpenGL and other APIs.
So, the performance so far is:
1 million cells using instancing ~700 ms
1 million cells using instancing indirect and jobs ~16 ms
but when a new generation is created there are spikes to around 80 ms
Btw, I uploaded the project on GitHub: https://t.co/111BbKOm6g
I wanted to learn about optimization and profiling in #Unity for some time already and came up with a great project to learn with. So, here I'm creating Conway's Game Of Life on as large scale as I can manage to optimize. #GameDev#Optimization#GameOfLife
Two more optimizations I made:
1) Move the game algorithm to jobs, it resulted in a significant performance boost.
2) Switched to using Graphics.RenderMeshIndirect, which didn't make any performance difference, since the rendering was already fast.
My takeaway from that is it's okay to use LINQ where performance isn't a major concern, like methods that won't get called frequently. But when something is frequently called, LINQ should be avoided, because of the allocations it produces on every call.
A little note about LINQ's performance. This LINQ code was 2 times slower than for loop, allocating garbage every call. Previously, I thought that the only thing I need to care for using LINQ is avoiding closures. Turns out, that's not all. #Unity#LINQ#GameDev#Optimization