Inventory, levelling up, customisable enemies, spells, etc. All these parts need a solid system behind them to be comfortably playable and editable.
Sometimes the most mundane things can be made easier with some tools. Much better if those tools are built into the IDE/Engine you're working with.
The player has to move, shoot, pull cards, traverse the board, etc. Player interactions are the most important of any game so they have to be done well.
Hi there! My name is BenJoe. I'm a freelancer gamedev programmer from Hungary. I've been programming for the better part of 10 years now. First as a hobby, then at University while getting my BCSc degree and then spent 5 years as an application backend developer at a company. Unity was the first gamedev tool that I picked up right when I started learning C# and I've stuck with it ever since. Recently I also took a look at Godot and started to grow a liking to the engine. My main focus is programming systems and tools but I've worked on many things over the years and learned something from every aspect of game development.
Unity is my main engine of choice, have been working with it ever since I started game development.
Godot is a recent acquisition in knowledge but I feel as comfortable using it as any other tool I use.
These are a handful of my many projects that I've worked on in the past or am currently working on. Mostly offline, personal creations but a couple of them are playable on itch.io (follow the links).
The game made for the first ever Alakajam! gamejam. The theme was "Alchemy". Compound tests the player's keyboard knowledge and pattern recognition. Won the audio award on that year's jam. Was a good entry level project for me into minor SFX and VFX on personal projects.
PlayAnother gamejam entry, this time for the 2019 GMTK (Game Maker's Toolkit) GameJam. The theme was "only one". It's a weird take on bullethell shooters where you only have one remaining bullet that you have to ram into every enemy you see on the screen before they do the same to you. This game gave me the chance to create a very well configurable enemy spawning system and a modular enemy design.
PlayThis amazing project was my first foray into the world of shaders. The project had 2 main versions, one with a music focus and another with a slightly different bullethell vibe. The main attraction of this project was the morphing tunnel. First implemented with runtime mesh generation (very bad performance I know) and later reimplemented with shaders thanks to an interesting usage of vertex displacement textures. Also created a tool for generating such textures. The project is currently on hold but not abandoned.
My latest bigger project was this one where I ventured into more run-time mesh generation. I love the natural look of a Voronoi diagram so I figured why not use it in an overworld map. After implementing the generation thanks to a number of open-source libraries, I added one more feature, than another one and soon I found myself with a pretty decent RPG system. I went through a couple of iterations of refactoring so that the game systems are easily modifiable and extendable. Also implemented many features that every game requires including extensive video-audio options, configurable save system and I also created multiple tools for the project including the first version of the "Project Build Window". Project is currently semi-active.
I put this here because this was also a Unity project of mine. It is my take on a TTRPG (table-top role playing game) helper tool which allows the game master to create an atmosphere during the game by utilising ambient sounds, music and sound effects. I used Unity because I wanted to (and did) learn what their UI System and the Audio Engine is capable of, but I will admit that it might've been an overkill and if I were to redo it, I'd do it in a different way. This project was for personal use only, but if I have the time I might rewrite and publish it properly.
I took part in a gamejam with a friend of mine and we wanted to use something different than Unity this time so we decided to try Godot. This is not the gamejam entry but a test project that I put together during a weekend. It taught me most of what needs to be known about the Godot Engine's 2D capabilities. I liked the engine and I also liked to work on this project. Pretty polished result given that I only had a weekend to pull it together from basically 0 prior engine knowledge.
These are a couple more complex tools (not just some inspector customisation) that I've created for Unity. They are not published as they are either specific to one project or not yet robust enough for general use. But they help me quicken some of the most tedious game development processes.
One of my bigger projects required frequent builds and I was getting sick of having to set up the Unity build window for every single build the same way. So I created a new window that accepts a build setup, that can be configured for multiple platforms separately, and you just have to set the version number and click the huge build button. The build has it's own, versioned folder where you can access and use it or just archive it for later. This is a personal tool for now but with every use I see more and more upgrade possibilities that could add more value to it and would even help out others. Planning to make it a fully featured git package in the future.
One of the projects required a regular cylinder to be transformed into different shaped tubes. First I wrote it with mesh transformation but it turned out to be not performant enough so I turned to shaders. I created a custom shader that uses vertex displacemenet to transform the tube and a texture strip that contains the deformation data. Creating the deformation texture by hand was way too much work so I created this tool that takes a circular mesh of 48 points and generates the deformation texture that can be fed to the custom shader. This turned out to be way better in performance than the previous version. This is also for a personal project due to its very targetted purpose.