Game Development Essentials (Checkout my Toolbox)
Tags: gamedev, programming, development, productivity
Published: 2023-09-18 13:47:08

I’ve been developing games for about 20 years and while tools sometimes come and go these are the ones I’ve been using regularly in the last year or so.

**Visual Studio**

Reading, writing, and debugging any C++ code for my games and custom engine. Also sometimes used for C# when creating with Unity. It is still the best debugging experience in C++, and profiling tools are easy to find hotspots to optimize.

**Visual Studio Code**

Almost all other text editing for data, supporting scripts, web development and even tracking todo tasks with todo+ extension. Also used to attach to my local Linux box through ssh for building games on Linux and deploying website changes.

**Premake & Custom Build Scripts**

A custom build “system” that utilizes premake5 to create Visual Studio, XCode and make files and can build projects nightly to generate an email report of any failures. This helps me keep API breaks in my engine known and intentional.

**Git**

Keep track of the source-code for any project worked on for longer than 48 hours. Keeps all projects backed-up on multiple machines and locations.

**SVN**

Slowly moving most projects to Git for source-control to have advantage of better branching. However I still like many SVN features such as linear revision numbers and checking out a *specific* sub-directory. Also keeps projects backed-up on multiple machines and locations.

**Twitch Stream**

The pressure of someone [watching me work](https://www.twitch.tv/timbeaudet) keeps me laser focused. Staying focused is perhaps the most useful ‘tool’ in the toolbox today. Viewers also help with problem solving by rubber ducking, or even chat challenging your assumptions.

**Track Builder (Custom)**

A level editing tool built specifically to develop racetracks. Spline based, tiled segments or placed objects.

**vim**

For small and simple edits on my local server, game servers and web servers. I’m not crazy efficient with it, but it gets the job done and I no longer get stuck trying to exit!

**RenderDoc**

This is a great little tool for finding rendering issues with my engine, though it often requires fiddling around aimlessly until I find out what assumption went wrong. A must have for OpenGL rendering issues.

**Blender**

For the milkshakes of course. Also for practicing and building my art skills to create the visuals for my games directly as I envision them!

**Adobe Photoshop**

Used for various art requirements including game content, promotional images, and brainstorming with a virtual whiteboard for problem solving.

**Adobe Premiere**

For editing game trailers & YouTube videos, it was the editor that worked best for me after trying many of them.

**OBS**

For capturing game footage for trailers, clips and other promotional content. Also used for live streaming 😮to Twitch.

**Google Docs / Sheets**

For planning, documenting and brainstorming stuffs. Tracking my entire ad

**Local Linux Box**

ssh into this because no monitors, but I use it as a file-server, for Linux builds, website deployment and running the nightly builds on Linux.

**Steam / Steamworks**

Market research, play-testing games and finding player expectations, as well as managing my own game releases.

**Honorable Mentions**

* Chrome: For all websites, tools and multiple profiles for personal vs company.
* Discord: Community management & communication with contractors.
* Thunderbird: For dealing with emails and custom filtering rules.
* PicPick: For snapping screenshots with direct FTP uploading.
* Moosend: For managing the mailing lists and campaigns.
* KeyMailer: For finding streamers/influencers to play & promote my games.
* Mortality Extension: Shows countdown (on newtab) for important deadlines.
* Github: For my knowledge base and public or open source projects.
* Gitea: To run a github-like server for my internal and commercial projects.
* Adobe Acrobat: To write up contracts and get them signed.