DevBlog 3 - Mod/Editor UI and Level System

Published October 20, 2021
Advertisement

Projectile editor with IMGUI!

In order to visualize the frame stretching projectiles, I needed to create a projectile editor. This required UI and Level systems to be in place. So must of the work here is just code under the hood, but not a lot of visuals.

This will be used to determine which grid nodes a projectile is potentially colliding with.


End goal is to stretch projectiles from frame(n-1) location to frame(n) location.

Here demonstrates something I often encountered when doing things mostly from scratch:

you very often find yourself needing to implement supporting systems to implement what you want.

I wanted to just create a debug visualization of of my projectile stretching idea, but needed a separate place to test that.

So, I did some house keeping and created a level system.

This necessitated some UI code, so I would not have to hardcode which level loads every time I wanted to change levels.

Another case of needing supporting system

I went with the IMGUI library as it is really easy to integrate and is set up for GLFW/OpenGL.

Now I have created a "projectile editor" level where I can visually debug the projectile stretching behavior.

But this behavior is not implemented yet, that will be in the next update.

0 likes 6 comments

Comments

Programmer71

I still donot understand why the reason of creating such applications when we have unity and unreal

October 21, 2021 12:52 PM
Oberon_Command

@Programmer71 There might be any number of legitimate reasons:

  • Learning about how engines work; someone had to write Unity and Unreal, they didn't just spring full-formed out of the ether. A number of the big studios use their own proprietary engines (eg. EA's Frostbite and 343's Slipspace) and there is therefore demand for workers who can function in that setting. Writing your own engine as a hobbyist is decent prep work for that.
  • Mainstream engines not having a particular feature that the dev needs to ship the game and the work needed to add the feature would require a rewrite of the engine.
  • Mainstream engines having a particular feature needed to ship, but that feature not scaling well and reworking it being costly or impossible.
  • Mainstream engines having all the needed features, but requiring a workflow the developer finds unpalatable or costly.
  • Having control of the entire tech stack so that another company's bugs don't become ship blockers (how would you like to discover that you can't ship your game in time for Christmas because Unity version <N> has a feature you need, but completely breaks another feature you need that was working previously?).
  • Having legal control of the entire tech stack so that the project can't get screwed over by changes to the engine's license agreement.
  • Boycotting the companies that make the engines (eg. some people are very turned off by Epic's recent decision to allow NFTs on their platform).
  • Simple inability to afford the professional license for a mainstream engine.

Unity and Unreal don't do everything you could ever want to do with a game engine and they don't suit everyone's particular technical and economic situation.

But this is ultimately the poster's question to answer.

October 24, 2021 03:21 PM
enigma_dev

@Programmer71 Oberon explained reasons well. The primary reason for this project is learning. I like to know how engines work and making one seems like a good way to get first hand experience. ?

October 26, 2021 01:17 AM
frankusthenerd

He wants to learn. Just like me. I created my own game development studio. Some people actually like to learn. Nothing wrong with that.

October 21, 2021 09:41 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement