I haven't been able to shut up about it for 2 years and it's impossible to get people to play it. I got one of my friend to and they loved it as well. It's some of the best storytelling and presentation in all of gaming imo
@khamid
I'm a software engineer at @irongalaxystudios.com, and an open source developer on the Grindstone game engine independently. If you would like to volunteer or make games with Grindstone, feel free to reach out! https://karimio.github.io/grindstone/
I haven't been able to shut up about it for 2 years and it's impossible to get people to play it. I got one of my friend to and they loved it as well. It's some of the best storytelling and presentation in all of gaming imo
...which the editor can show within the material inspector, can be saved, and modified across materials. The new system is much more robust and easy to use. It took a while but I'm sure I'll be glad I have it in the long run! I hope to extract this system into its own open source library later on.
...rather than just shader code. Blending state, depth handling, culling, etc. These are defined in the same file as the rest of the shader so a technical artist can easily see all related aspects of a shader program at once. Finally, a shader provides several material resources and parameters...
In addition, shader composition is hard. Include files are useful but can be complex. That's why I introduced a shaderblock system where you can include specific snippets that will not be duplicated, but can be used across many different shaders. Next, a shader program requires additional info
Although initially it seems most of these shaders can be defined as a single common shader, that ignores cutoff/alpha tested shaders like leaves or fence wires, and ignores vertex displacement on shrubs that move in the wind. This is what the new system supports in the form of passes.
So earlier, I submitted the new shader system into Grindstone #gameengine. The new system is important because materials can't easily be defined by one shader. Surfaces have regular rendering, but also have shadows, depth prepasses, mouse clicks, and others. #game #programming #opensource
So I'm super excited it'll be done soon. I'll be able to build post-processing shaders much easier, and support custom effects per shader for things I couldn't before (shadows, outlines, mouse picking etc).
I'm hoping to merge this branch within a week or two!
This lets me build a system that can support multiple shader pipelines for a single material (ie: outline, custom shadows, transparent pass, and more), with different configurations (ie for different gpu capabilities), and hot reload any PipelineSet (as I call these files) easily.
For the past few months, I've been refactoring the shader system of the Grindstone #gameengine. I've been writing a meta programming languages similar to ShaderLab, hoping to contain all the necessary state information I need...
#opensource #gamedev #indiedev
A game engine editor screen, with a viewport in the middle. On the left, there is a scene hierarchy panel, with various objects that exist in the scene. On the bottom, there is an asset browser panel with icons for each asset. On the right side, there is an inspector panel, which allows editing each object. The scene in the viewport is the popular scene "Sponza", which in this image features stone floors and columns, plants in vases, vines, and blue and green curtains.
Here's a screenshot of Grindstone #opensource #gameengine from a few months ago. It has a long way to go, but I'm still pretty proud of it so far! #indiedev #gamedev
Hello void! I'm Karim, and I'm a professional game developer. Here, I will mostly talk about my own open-source game engine, Grindstone, and probably in the future my own games.
karimio.github.io/grindstone/