![]() |
|
[Dev News] Brutal Gets A Bit Less Brutal - Printable Version +- Sick Gaming (https://sickgaming.net) +-- Forum: Programming (https://sickgaming.net/forum-76.html) +--- Forum: Game Development (https://sickgaming.net/forum-80.html) +--- Thread: [Dev News] Brutal Gets A Bit Less Brutal (/thread-114296.html) |
[Dev News] Brutal Gets A Bit Less Brutal - xSicKxBot - 10-29-2026 The Brutal C# game development framework released earlier this month free and open source. One of the core tenets of Brutal is that it isn’t easy to use. In fact, that is the source of the name: Quote:The name is a warning. At launch however this was extremely true, as Brutal launched with no documentation and no examples. Nothing. To figure anything out you basically had to dive into the code and figure things out yourself. Today, well… there’s still no documentation, but there are now examples… lot’s of them in fact. SampleWhat it showsHelloCore.csPlatform detection, Code: ByteSizeCode: ElementCountCode: Ptr<T>Code: MemCode: PtrOwner<T>Code: NativeList<T>Code: String8Code: StringBuilder<byte>Code: float3Code: float4x4Code: RandomCode: JobSchedulerWindowing and UI SampleWhat it showsHelloGlfw.csAn empty GLFW windowHelloSdl.csAn SDL window with a renderer drawing a filled rectangleHelloSdlImage.csSaving a generated image as PNG with Sdl.Image and loading it backHelloSdlTtf.csRendering text to a surface with Sdl.Ttf, using a system font if you don’t pass oneHelloImGui.csDear ImGui on its GLFW and OpenGL backends with some text, a button and a sliderHelloImGuiFreeType.csBuilding the ImGui font atlas with FreeType, without a windowHelloImPlot.csPlotting a sine wave with ImPlot in one headless frameHelloImGuiAbstractions.csThe in-game console: registering Code: [TerminalAction]Code: ImGuiExGraphics SampleWhat it showsHelloOpenGl.csA coloured triangle with OpenGLHelloVulkan.csCreating a Vulkan instance, listing GPUs and their queue families, and creating a deviceHelloVulkanAbstractions.csThe Vulkan.Abstractions setup helpers, and a vertex input layout built from C# structsHelloVulkanVma.csCreating a VMA allocator and a mapped buffer, writing to it and reading it backHelloShaderC.csCompiling GLSL to SPIR-V with shadercHelloSlang.csCompiling Slang to SPIR-VHelloRenderMesh.csGenerating a procedural sphere mesh Textures and assets SampleWhat it showsHelloStb.csWriting and reading a PNG with stb_imageHelloTexture.csTexture format descriptors, filling a Code: GenericTextureCode: TextureWriterCode: TextureLoaderAudio SampleWhat it showsHelloOpenAl.csPlaying a generated tone with OpenALHelloSdlMixer.csPlaying a generated tone with Sdl.MixerHelloFmod.csPlaying a tone with FMOD. FMOD’s native libraries aren’t bundled, so you need your own licensed copy Physics SampleWhat it showsHelloBox2D.csDropping a box onto the ground with Box2D and printing where it landsHelloJolt.csDropping a box onto the ground with Jolt Physics and printing where it lands Networking SampleWhat it showsHelloRakNet.csA RakNet server and client connecting over localhost and sending a message Diagnostics SampleWhat it showsHelloMonitorHost.csStarting the Monitor watchdog and writing logs to a fileHelloRenderDoc.csChecking whether RenderDoc’s in-application API is loaded (Windows and Linux)HelloRenderDocImGui.csDrawing the RenderDoc control panel with Dear ImGui, headless Demos SampleWhat it showsDemoVulkan.csA coloured triangle with Vulkan, the Vulkan.Abstractions helpers, a VMA-allocated vertex buffer and shaders compiled with ShaderCDemoGltfViewer.csLoading a glTF scene with its node transforms, optimising it with meshoptimizer and drawing it lit with OpenGL. Pass your own Code: .gltfCode: .glbEven better, there is also a community created example available as well, that showcases a full Vulkan renderer implementation to create a 3D model loader. Key Links Brutal Framework Homepage Brutal Samples Community Sample – Hello Brutal In the below we jump into the new samples and determine just how brutal the Brutal framework is to use! |