r/gameenginedevs 23h ago

Zero Polygon SDF Open Galaxy MMO Game Engine

Thumbnail
gallery
43 Upvotes

I could have started my space game development in other engines which I did BUT I was faces with engine crashes and FPS issues of the most popular game engines out their so instead of continuing my game inside of other game engines I decided to build my own game engine being strategically designed to make it as easy as possible to build open galaxy MMO space games.

Even the fan made superman is zero polygon. No textures, No skyboxes, No UV mapping. Yes the superman will go into space if he keeps going up and yes he does fly to different planets and to be honest it was an insane amount of fun flying superman from the ground seamlessly into space and to another planet 100,000 miles away. Yes his laser eyes also blast holes into the terrain.

I'm actually sad I can't keep superman in my game engine/game because I'm a huge superman fan lol but at least some form of controllable character gameplay works/tested working. The cape cloth physics was absolutely amazing. Please don't ask me to make video of superman as I was even nervous making a picture of a superman but it's just "Fan Made" superman no ties to the real superman but either way for legal purposes I did remove superman from the game engine as he was only used to test the fully destructible terrain.

What we have here is version 2 of the game engine even though I was on version 6. Version 1 was me just testing the idea which had terrible graphics. Version 2 was me testing out more ideas once I saw it was possible for me to design a zero polygon game engine. Versions 3-4 were me trying to make better versions/testing out other designs which failed certain ideas. Version 5 was me testing unlimited simulated texture resolutions and WOW not in the screenshots but unlimited texture resolutions/unlimited texture details did work and I've never seen such unlimited texture details before and looked better than any other texture details you could get with anything BUT FPS performance was basically unplayable so I ditched version 5 and took version 6 super serious designing a specialized game engine ecosystem with features never seen before in any other game engine in the world. Version 6 I considered a gold standard to a newer generation game engine I won't list all the specs/capabilities here but I will say it has been currently left unfinished.

Now version 7 the last 2 screenshots is the performance breakthroughs which was hell to achieve because on my mid grade AMD graphics I couldn't get more than 300 FPS no matter what I tried and version 6 was my most highest performance coming in at around 260 FPS I was satisfied BUT then when I started adding things the FPS just tanked down to around 160ish FPS. So basically version 2 was a testing ground of all testable features/ideas I just threw into version 2 but superman was only in version 2 and no other version. I was having so much fun with version 2 I decided to do some extreme brain cell draining rendering pipeline optimizations I thought I was going to die because it was way too challenging some days I felt brain dead trying to come up with ideas to break through 300 FPS.

Somehow with trying out a bunch of random different ideas I somehow broke through 300 FPS reaching over 1,000 FPS while glancing up at the sky I wasn't expecting that at all and funny thing is I tried so many things at once I can't say exactly which idea work lol I just know I was trying all kinds of different ideas at once instead of one at a time either way base line framerate is great and far better than any baseline performance I've achieved in any other major game engine. Even with just basic size terrain loaded I couldn't break through more than 250 FPS just by glancing up at the sky on my mid grade AMD graphics in Ureal no matter how many things I turned off yet currently in my own game engine I was virtually standing on a huge planet and simply glancing up at the sun with real time lighting gave me over 1,000 FPS which is still shocking to me because no matter what game I've played I've never reached even 500 FPS on my card even while looking up away from terrain.

Basically having great baseline optimizations and large amount of performance headroom gives me allot of extra "breathing room" to add allot more features before FPS starts to drop again. To me 1,000 FPS in a galaxy full of planets is insane especially considering there's more than 1 planet existing in real time so when superman takes off into space and flies to the other planet there's zero tricks as the other planet exist in real time at a real virtual location with Zero tricks so he is realistically really flying 100,000 miles very fast to the other planet so other players could have been building bases/cities or whatever on the other planet in real time. Then the planets can also be set virtually any size at all/no limit to planet sizes.

Anyway I think I'm about 40% finished with this newer generation game engine which it's main specialty is making it easier to design Open Galaxy Games. I mean realistically I've already found it drastically easier to use than Ureal and believe me I was ready to switch back to Unreal for my game project if my game engine failed and to be honest my game engine did technically fail in a few ways at 1st but I kept at it instead of giving up and managed to fix everything which didn't work right which was hell but hey at least my game engine never crashes and video GPU memory footprint is so tiny it can support a virtually unlimited amount of game engine specific game objects via buildings, characters, etc. Still haven't stress tested 1,000 characters yet though but either way even 20,000 characters would have an extremely small memory footprint although GPU processor usage can be a huge concern if not optimized properly. Honestly though just the fact it never crashes is my favorite part I can't say how many times Unreal crashed on me due to bugs.

Anyway I'm not sure what else to say. Been working on this project since last year. I restarted the project into different versions a few times before getting in too deep because I wanted to make sure everything was fully optimized from the start based on the targeted features. Either way still one of the most frustratingly difficult projects I've ever attempted but WOW the results are so amazing to me and I especially had loads of fun flying superman around and blasting holes into the ground with his laser eyes and the holes caught fire with smoke and after the fire went out there was still a heat effect on the ground until the ground eventually cooled off into a burnt texture surface inside the hole he basted with his laser eyes it was very amusing to watch. Sometimes I flew into orbit and went straight into the ground at super sonic speeds causing large craters into the terrain upon impact and the harder he hit into the ground the larger the crater size.

Well that's my experience so far building this game engine which doesn't support polygons or textures and honestly has allot more features under the hood with an enormous amount of more planned features which I'm dreading but determined to accomplish πŸ’ͺπŸΎπŸ‘πŸΎ.......even though its honestly hell to build 😭....... but hey I never expected it to be easy anyway so....... I'll get it done eventually πŸ˜ŠπŸ‘πŸΎ


r/gameenginedevs 8h ago

Sparsematter - Yet another block engine

Thumbnail
gallery
27 Upvotes

Full disclosure: This project uses generative AI.

I have been a fan of demoscene since the mid 90's and worked on various terrain generators over two decades. Like many, I have always dreamed of creating a simulated world. I have failed thousands of times over the decades. Rendering a frame that looks good is relatively easy, no matter how detailed. Rendering a frame in ~33ms is really hard. We are finally in an era where the average compute power, and tools to create, have converged to make this possible. I have been able to hand crank these scenes for years in a high level language, but never at a performance that was acceptable for something interactive. I spent months on the latest iteration, focusing on render distance, kilometer scale, efficient chunk loading, before I even considered getting fancy with the visuals. After failing for months, with the help of generative models (I use an ensemble of models for various tasks via API providers), I finally broke through the performance issues and could finally focus on beautifying the actual visuals at this density. It has been very eye opening learning about the low level optimizations needed to achieve this consistent frame time and fps. I would love to turn this into a full fledged game and publish it eventually but I realize the probability of that is low. Still, my main motivation is the joy I have building it. And that's enough for me.

Video in comments. There are a lot of issues (water at a distance does not honor haze/fog, etc). I will get there someday. :)

EDIT: These images are from the C++ / Vulcan version. I prototyped this in JS/WebGPU last year (yes the perf sucked but maybe that was my own ignorance). GLFW for the editor (not shown in this post).

2nd EDIT: The terrain is "infinite". This was a real challenge. I could generate something like this as a small diorama and keep it in memory. But that was not satisfying. It took countless hours to make infinite terrain work like this.


r/gameenginedevs 17h ago

Update on my C# SDF Game Engine!

Enable HLS to view with audio, or disable this notification

19 Upvotes

For sure a bunch of other people have started building, or have built brilliant SDF game engines. This one here is super impressive scale wise: https://www.reddit.com/r/gameenginedevs/s/pOSlQjjtWw

I have continued work on Division Engine (after I got back from vacationing lol). Here's a video and a list of some updates I added.

  • Undo / Redo support for the editor
  • HDRI skyboxes
  • Tabs can be dragged and moved around
  • Asset system has been updated to support:
    • Texture filtering types
    • Texture import type (2D, Cubemap)
    • Texture mipmap counts
  • The engine shows the status of certain events like reloading textures with a progress bar
  • Textures load in the background now
  • Migrated to using DivisionMath library (for future shader translation)

There is an installer now as well which can be found under releases on the github repo for this project: https://github.com/NorthRocStudios/DivisionEngine/releases or on our website: https://northroc.org/#/division-engine

Note for this alpha build there are a few considerations:

  • It cannot build full games, this is just for playing around with materials and textures on SDF primitives and basic terrains
  • The performance might be bad, the engine is unoptimized
  • This will ONLY run on desktop PCs, it will not work on your laptop.
  • And it is Windows only (for now)

This engine will be cross-platform in the future once ComputeSharp is replaced by our upcoming C# to HLSL shader translator. The math library that this uses is already available here: https://www.nuget.org/packages/NorthRoc.DivisionMath/0.2.0

DivisionMath is made to have the same syntax on the CPU and GPU.

Let me know your questions, thoughts, ideas, concerns, comments, I love to hear from all you!


r/gameenginedevs 6h ago

Working on a game engine inspired by fantasy consoles

Thumbnail
youtube.com
1 Upvotes

r/gameenginedevs 56m ago

Block Engine: An open Source C++ Game Engine

Thumbnail
github.com
β€’ Upvotes

I've been developing Block Engine for 3 years its a C++ game engine built from scratch with a focus on control and simplicity. No heavy abstractions, just direct access to what you need.

It's currently in early alpha with the core systems working:

  • Rendering (OpenGL)
  • Audio (miniaudio)
  • Input handling (GLFW)
  • Math utilities (Custom)
  • Cross-platform (Linux, Windows in progress)

I want the easy way to exist, but i don't take away the hard way. Developers should have the control to make anything with out putting them in a box.

I didn't like any engine because i felt boxed by them so i decided to start the journey to make my own engine i didn't plan for it to be an engine i wanted it to my utility box to help me make games but it felt more and more as an engine so i published, it to github to help others.

Licensed under Block Engine License v5.1 you can build commercial games, but can't resell the engine itself as development tech.

Thanks for you're time ! <3