Going to start doing daily questions of the day here about misc game development topics. Probably also going to start some over in !game_design@programming.dev as well
For today heres a question about which tools & software you find essential
Obvious answer, but nobody has said it yet;
Git.
I haven’t started working on a game yet. It’s a near future goal. I hope y’all are okay with me answering this question despite that fact!
The FOSS ones:
- Blender for 3D. I’m excited to see what I can do with the geometry nodes (somewhat similar to Houdini’s workflow)
- Inkscape for 2D/GUI
- Aseprite for 2D pixel art (I have a game project that mixes 2D and 3D)
The proprietary ones:
- RizomUV: Blender covers a lot of ground, but RizomUV is much more fun to use for UV editing
- Reaper: This is what I’m familiar with and excited to use. It’s been very stable for me as well.
- Obsidian.md (Free for personal use): I might need to reconsider this one if I ever need to work with one other on a commercial game, but I use this for writing documentations that aren’t tied to code, workflow organization, etc. Use it for a lot of non-dev related stuff too
I just bought aseprite for creating sprites and it’s great
I’m not saying that proprietary software can’t be good, but it is absolutely essential to have real skill with FOSS–Blender, Audacity, Inkscape, Krita, FFMPEG, GIMP, LMMS or Ardour, any number of terminal tools… they update fast, they’re always available, they run on anything, and if you can’t figure something out, you can peek inside.
You want to use FL Studio or Maya too? Cool. But, you just have to at least know the FOSS/Libre stuff.
@Ategon
The most essential personally would be the C programming language and vim. After all, it’s what I’m most comfortable withVSCode! I can use it for pretty much any project I’m working on, and I’ve customized it enough that it feels wrong to use anything else 😆
If you’d prefer to use it without Microsoft’s trackers, check out VSCodium.
True! I tried it out for a few months, but the luck of extensions made me go back to the regular install. I use copilot regularly now anyway and I’m not sure if that’d work on codium
RenderDoc for debugging graphics
Imgui for tool UI
I develop on linux, i use cmake for compileing, blender for assets
For Unity, an asset that has greatly improved my workflow is the Odin Serializer. It greatly simplifies the workflow of building Inspector tools, which in turns makes it a lot easier for designers to work with them. It can also be used to quickly build an Editor tool, and in general has been worth every penny.
Another asset that has sadly been discontinued, but I really like the improvements it brings is the Peek for Unity. It changes the Editor workflow quite a bit, but one of the main features I now almost can’t work without anymore is the Right-click in scene to show a list of every object under the cursor (so, no more left-clicking to get what you want).
But I would still not recommend Unity as an engine to anyone, you’re better of learning Unreal as your first engine. I’ve mostly worked in Unity for my whole life, and switching from something you’ve spent almost a decade working in is really really hard. And with the direction Unity has chosen to go, I’d say that it’s not going to end well. Sure, it will probably always have a larger market share, but Unreal is improving way faster and is open-source, which will save you a lot of headaches.
As for debugging, I recommend looking into RenderDoc. When I first had to work on a 3D game, it has helped me immensely in debugging some shader issues.
As far as IDEs go, I really like Rider. This is mostly up to preference, of course, but in my experience Rider has always been better as far as code-completion or various analytics (such as how many inheritors a class has, where is it used, who has written it, what type the var actually is, or what Unity asset is using it) goes. Sure, you can get the same info in VS, but it’s not displayed as elegantly as in Rider.
I’ve also recently subscribed to Github Copilot, and so far enjoy the experience. It’s a hit or miss, but from time to time (such as when I was transcribing pseudocode algorithm), or from really obvious boiler-plate code, it’s spot on and does save some time. Also - it’s amazing for bouncing off ideas about your code, there have been numerous times where he suggested a solution I haven’t even considered and while it didn’t work exactly from the get-go, it has lead me to an entirely different and more clean path than I’d have chosen.
And for VCS, I’ve once worked on a project that used Plastic SCM, and the experience was amazing. The way it tracks merges, so you can quickly see what change came from what merge and differentiate between merges and changes in a branch is a nice QoL, and the code reviews and general UI is pretty smooth. Too bad it’s one of the victims of Unity greedyness and their strategy to buyout aspiring products and replace their licensing and pricing with absurdly high costs.
And last one that I use almost daily would be Parsec. I’ve always struggled with working on my laptop, especially in college where I had to attend in person, because it’s not really that much of a powerful machine, and gamedev through Teamviewer didn’t really work out. Parsec has none of the issues, and combined with a Wake on Lan so I can wake up my desktop from anywhere and just connect to it using Parsec makes for a smooth development experience anywhere I go. I’ve never encountered issues with latency or quality when working through Parsec, and most of the time I wouldn’t even be able to tell that I’m actually working remote and not locally on the laptop. This allows me to take my smaller Surface Pro anywhere I go, and then just work on my powerful desktop hardware from anywhere.
Unfortunately, Parsec has also become a victim of Unity greedynes. Thankfully they still offer a free version that works for most of the usecases, but Parsec also used to have an open source Unity library that could be used to implement a native streaming similar to Steam Remote directly into your game. Since Steam Remote wasn’t working well for us for some reason, but we never had issues with Parsec, we wanted to implement the library into our hobby/students game that we work on in our free time. As of now, the streaming library is only available on demand, so I’ve tried contacting Unity whether we can use it in our small student project, and what we have to do to get access to it.
They replied that it’s not a problem even for a small student team, and that they will provide it to us, with the first step being that we pay them a 1 000 000 USD for access.
Houdini is pretty cool. I can make assets with it that I never would’ve had the patience to make by hand.