I can't tell you how many hours I've saved by making custom debug tools for my games, but I know it's a lot of time. In this video I share my philosophy for my debug tools, the benefits, and how I added one to my games. Now I use the Godot game engine to make my games, but I think the high level approach I outline can be easily applied to any engine. Good luck out there! Support me and my work by checking out Hexagod: store.steampowered.com/app/3059390/Hexagod/
There is an amazing addon called Imgui-godot which I use for my debugging tools. This addon makes it so you don't have to create all these Debugger scenes just to make buttons to click. And it also works great for creating graphs/images/checkboxes and any UI control you can dream of.
Ohh great suggestion! Here is a link I found for anyone who is interested (github.com/pkdawson/imgui-godot). I am typically adverse to adding addons to my games since I makes the game reliant on another developers and can make upgrading a bit messy, but this one might be worth those tradeoffs. Thanks!
Replying on addons is great because then I don’t have to write the tools myself and I’m doubling my saved time, can definitely recommend this one too! Been using it a while
For your demo/live flags, you may have a look at Feature Tags in the documentation. This should help to not forget to activate/deactivate them when you do a build as you can give specific tags to a specific build.
Quite literally just made one of these for one of my projects yesterday - It's insanely useful, and depending on what kind of tool it is (mine is less of a "make changes" one but more to "neatly display a lot of information"), you can even eventually repurpose them for the player.
Definitely something I need to implement more in my projects, I hard code tests and just play out things to test specific scenarios way too much. It wastes a lot of time. My excuse for not doing so before is my hatred for doing UI, even for something as simple as a rushed debug tool.
An inherent advantage of using Godot is its interpreted language, which allows for live/hot reloading-a feature not typically available in compiled language engines.
Personally, I haven't needed it yet, most of the stuff I can just debug in an isolated state, but when my game progresses, I can see this being very useful.
I have a script or two that runs when I build, hiding debug stuff or things specific to the build platform (webgl build vs desktop) and resetting my gameplay global parameters to the non-testing values and honestly it saves me so much mental energy not having to remember to undo things before I export a build.
I really need to invest more time into learning more unity editor scripting. I do a little bit of it here and there, and the tools i make always end up paying for themselves over and over in terms of time saved in the long run.
It sounds like you're only using the debug tool in editor builds, so you could replace your manual `is_live` flag with `not OS.has_feature("editor")`. Similarly, if you want to differentiate demo and full builds, you can create separate export presets (e.g. Windows demo, Windows full) and add a custom "demo" feature tag in the demo export preset. This might help reduce the number of times you accidentally create a new build with the is_live flag off. :) (Apologies if this is a duplicate message. TH-cam decided to eat my comment, so I'm posting again...)
oh yeah a debug menu is super important. and i could see how godot makes it really easy! btw it looks like you missed and edit at the eight minute mark :)
I can't tell you how many hours I've saved by making custom debug tools for my games, but I know it's a lot of time. In this video I share my philosophy for my debug tools, the benefits, and how I added one to my games. Now I use the Godot game engine to make my games, but I think the high level approach I outline can be easily applied to any engine. Good luck out there! Support me and my work by checking out Hexagod: store.steampowered.com/app/3059390/Hexagod/
There is an amazing addon called Imgui-godot which I use for my debugging tools.
This addon makes it so you don't have to create all these Debugger scenes just to make buttons to click. And it also works great for creating graphs/images/checkboxes and any UI control you can dream of.
Ohh great suggestion! Here is a link I found for anyone who is interested (github.com/pkdawson/imgui-godot). I am typically adverse to adding addons to my games since I makes the game reliant on another developers and can make upgrading a bit messy, but this one might be worth those tradeoffs. Thanks!
@@Aarimous True, relying on too many addons could get messy. This addon I put in every project I make, together with: Script Tabs.
Replying on addons is great because then I don’t have to write the tools myself and I’m doubling my saved time, can definitely recommend this one too! Been using it a while
Debug tools are INSANELY important! The best part is having a library of common tools that help me more and more as I ship more games
Debug tools are amazing. The only thing that saves more time is forcing all of my friends to playtest while I keep working.
Based
For your demo/live flags, you may have a look at Feature Tags in the documentation. This should help to not forget to activate/deactivate them when you do a build as you can give specific tags to a specific build.
Quite literally just made one of these for one of my projects yesterday - It's insanely useful, and depending on what kind of tool it is (mine is less of a "make changes" one but more to "neatly display a lot of information"), you can even eventually repurpose them for the player.
game_over(false) == Game Over
Hurts my head.
6:09
God mode is very useful for content creators, since they can make nice thumbnails with it :)
This just feels like “the dream” place to be with your game - please appreciate the moment you’re in with this masterpiece 😭
Another great idea! Thank you!
Definitely something I need to implement more in my projects, I hard code tests and just play out things to test specific scenarios way too much. It wastes a lot of time. My excuse for not doing so before is my hatred for doing UI, even for something as simple as a rushed debug tool.
Great! I was waiting for this video!
Thank you!
🙏
This is a very good idea - adding it to my projects Kanban board :) Also have your game on wishlist and trying the demo now.
An inherent advantage of using Godot is its interpreted language, which allows for live/hot reloading-a feature not typically available in compiled language engines.
Personally, I haven't needed it yet, most of the stuff I can just debug in an isolated state, but when my game progresses, I can see this being very useful.
Sim currency was Simoleons! Thanks for the vid.
I have a script or two that runs when I build, hiding debug stuff or things specific to the build platform (webgl build vs desktop) and resetting my gameplay global parameters to the non-testing values and honestly it saves me so much mental energy not having to remember to undo things before I export a build.
#consoleLogIsMyDebugger
I really need to invest more time into learning more unity editor scripting. I do a little bit of it here and there, and the tools i make always end up paying for themselves over and over in terms of time saved in the long run.
It sounds like you're only using the debug tool in editor builds, so you could replace your manual `is_live` flag with `not OS.has_feature("editor")`. Similarly, if you want to differentiate demo and full builds, you can create separate export presets (e.g. Windows demo, Windows full) and add a custom "demo" feature tag in the demo export preset. This might help reduce the number of times you accidentally create a new build with the is_live flag off. :)
(Apologies if this is a duplicate message. TH-cam decided to eat my comment, so I'm posting again...)
Andnf for realtime games I would put this into the pause menu and maybe an F key to show hide too.
Vostok somehow has mods and are planning mod support, maybe they have ideas on how it can easily be done?
6:21
i think you meant... maybe they can make a HEXAmod
Simoleons? Was that the currency in all the Sim games?
oh yeah a debug menu is super important. and i could see how godot makes it really easy! btw it looks like you missed and edit at the eight minute mark :)
what the devil
2:09 well, don't do that