Houtamelo
updated August/2025

Software Engineer
Game Developer
Contact
Discord:
houtamelo
E-mail:
[email protected]
About
I started my game-developing career in 2019, using the Unity game engine. I branched out to Godot in the 2nd half of 2023, primarily using Godot-Rust.I specialize in 2D games, such as: Turn-based RPG, Platformer, Dungeon Crawler, Arcade, Rhythms, Fightning, Hack & Slash.This does not mean I cannot handle 3D games, I've worked on a year-long contract of a 3D open-world game made by Clementine Tech, they showcase the project in their Youtube channel.My primary skills are software/game/library programming, but I'm also familiar with:
->Scene scripting
->World building
->SFX mixing/editing
->Game design & balancing
->Drawing textures
->Drawing UI
->Editing sprite/pixel artAlthough I don't usually fill these roles, my experience helps me understand and communicate with professionals in those areas.
Summary
-Unity Engine
-C#
-Rust
-Godot
-Math
Skills - Unity
I worked with Unity through 2019 - 2023, on a 30 - 50 hours/week basis. From 2023 - present I've occasionally work in one project using the engine.
The fundamentals
Scenes: managing, combining multiples, loading/unloading - both single & additive.
Game Objects: hierarchy, parenting, prefabs, positioning and rotating, both world & local.
Components: scripting, messaging, their relationships with other parts of the engine - important for UI/rendering/physics.
Scriptable Objects: scripting, automating data creation.
Layers: Game Object Layers, Sorting Layers and how they behave under multiple cameras and/or post-processing.
Cameras: render modes, sizing, view ports, ordering, ray casting, combining multiples - even when mixing different render modes.
UnityEngine.UI Package
Canvas: combining, nesting, render modes (Overlay/Screen Space/World Space).
Selectables: Buttons, Dropdowns, Input Fields, Scroll Rects, Scroll Bars, Sliders, Toggles (and Toggle Groups); transitions and how to animate them.
Layout Groups: vertical, horizontal, grid.
Content Size Fitters
Text Mesh Pro: rich text, sizing, editing fonts, sprites inside text.
Graphic Ray Casting
Clipping/Masking: including nested masks.
Raw Images: using render textures to simulate in-game world cameras.
Interfaces: IPointer Handlers and how they interact with the Input system, using them to script custom UI components.
2D
Sprites: sorting (groups too), making custom materials (both through shader code & graphs), atlasing, editing, masking, tiling.
Physics: update processing, RigidBodies, Colliders - both triggers and collisions, materials, force & torque.
Lighting (Universal Render Pipeline): light sources, blending, shadows, custom shaders.
Audio
Audio Sources: spatializing, effects, queuing, looping.
Mixers: used for splitting audio channels in categories (often Music/SFX/Voice).
Filters & Effects
Animation
Unity's built-in editor: lerping properties (fades, movement, coloring), sprites, messaging.
Animator: clips, state machines, properties (triggers, bools, floats).
Rigging: Unity's built-in bone system, SpinePro, Live2D.
Asset Management
Importing: I'm experienced with the importing settings of all the assets mentioned above (such as images & audio). Import settings affect how the assets are bundled, compressed and rendered. For example, proper usage of those settings allowed me to reduce build file sizes by 5x, with negligible visual/audio difference.
Asset bundles: setup, creating, loading (both sync & async).
Addressables: creating, loading (both sync & async), groups, building, validating.
Shaders & materials
Shaders are very useful for generating custom textures/effects at runtime. In Unity, they are managed by the materials system.
Coding shaders in Unity's HLSL: Example: I can replicate any of the shaders on ShaderToy, they are not written in HLSL but I know how to convert them. I can also code my own effects from scratch.
Creating shaders using URP's Shader Graph: although more limited, Shader Graph offers a more intuitive interface for making shaders. Shader Graph also provides real-time feedback, which speeds up the process of trying new effects/bug-fixing.
Tooling
Coding custom inspectors/property drawers: These facilitate editing properties/variables, they are very useful when there are non-programmers working in the Unity Editor.
Coding scripts to automate tasks: some projects require frequently downloading files from external servers (such as: downloading translations from GoogleSheets, generating MTL through DeepL), these tasks can often be automated with a small amount of code, which saves the developers a lot of time (and sanity).
Coding scripts to validate assets: on many instances, it's worthwhile writing scripts that verify your project files, searching for inconsistencies/mistakes (such as: missing data, invalid data - e.g.: combat NPC with negative attack damage).
3rd-party packages
Popular packages among Unity Developers, due to their usefulness and reliability.
DOTween: very useful for creating simple animations/animation sequences through code, which is often more productive than using Unity's Animation Editor. I use DOTween extensively on my projects.
Odin Inspector: it's more powerful than Unity's built-in Object inspector. This package also speeds up the process of creating custom inspectors/property drawers.
YarnSpinner: although I have made a custom dialogue system (VN style) in the past, nowadays I prefer using YarnSpinner as it's simpler and easier for non-programmers to write dialogue in.
AI & Machine learning
Complex stateless machines capable of evaluating the present/past in order to estimate the best actions it can take, outputting stochastic distributions. Which I sample using RNG - making the AI be generally smart but less predictable.
Genetic algorithms: when a smart and complex AI is desired, genetic algorithms can be a viable time-efficient way of creating such AIs.
Reinforcement learning: using Unity's ML-Agents Package.
Some Systems I have created in Unity
Bullet hell arcade shooter (in learning project).
Platformer with Hack & Slash (in un-released project).
Turn-based combat systems (in Bonds of Blood and Spire of Slime).
Dungeon crawler with hexagon-shaped tiles (in Spire of Slime).
Custom dialogue system in VN style, mimicking all of Ren'py's features (in Bonds of Blood) (Spire of Slime uses a simpler system that does not allow rollback).
Powerful save systems capable of saving/loading in almost any state (in every commercial project I worked at)(Spire of Slime also features ironman-gauntlet mode).
Mini-games: quick-time events, slider triggers (in Spire of Slime and other non-disclosed projects).
Full-featured 2D character builder with modding support (in on-going project).
Skills - C#
While learning Unity, I spent a substantial amount of time studying C#. Aiming for a solid understanding of the language helped me become even better at developing in Unity.I am very experienced with most of the fundamentals/core library, including but not limited to:
Everything about the type system: Classes/Records, Interfaces, reference vs value types.
Generics Types: parameters, contraints, classes, interfaces, methods, delegates.
Nullable types (in and out of
#nullable enable
contexts)Methods vs Properties, Indexers
Iterators/IEnumerator/IEnumerable
Event handlers, delegates, lambdas, closures
Functional programming: pattern matching, tuples, deconstructing.
OOP concepts: objects, inheritance, polymorphism
Memory management: what allocates on the heap vs stack, how to keep the garbage collector from running during active playtime (which can cause notable freezes on Unity, which has a exceptionally slow garbage collector).
Exception handling, try-catch-finally scopes.
Everything value-type/struct related and it's caveats: moving, cloning, referencing, enumerators, spans, stackalloc, readonly structs, ref structs.
Collections, IEnumerables, LINQ
Strings: interpolation, manipulation, regex, verbatim, literals.
Operators: overloading (equality, greater/lesser), booleans, type testing/matching (
as
,is
), nullability propagation (?:
,??
,??=
)Async/Tasks
IO(File System) reading/writing
Casting & Type conversions
Reflection
Every single C# keyword, except volatile
Skills - Rust
I started learning Rust in 2022, and the language immediately captivated me, since then I've been using it in most of my personal projects, as well as sometimes professionally when working for Clementine Tech.I developed and maintain a fork of the Rust compiler, the main feature being the removal of the orphan rules. The fork is designed to facilitate the development of applications using Rust.I've also developed multiple open-source crates, the most popular ones being:
spire_enum: Procedural macros that facilitate creating delegated enums, as well as extracting struct variants from enums.
spire_tween: A tweening library for Godot-Rust meant to replace Godot's built-in tweening features. The user design is inspired on DoTween - a popular tweening package for Unity.
gdext_coroutines: Brings Rust Coroutines to Godot-Rust, the design is inspired on Unity's Coroutines.
In more general terms, I'm also skilled at:
Borrow checker: unique vs shared references, moving in/out of variables, validating & invalidating variables, lifetimes.
Heap Allocations, when to use and why: Box<>, Rc<>, RefCell<>, ...
Collections, iterators: Map, Filter, Find, ...
Managing scope: modules, paths, dependencies (crates), type aliasing, re-exports, imports.
String vs &str (and &'static str)
Error handling: Option, Result, panicking.
Traits, impls and generic types: including specially-treated traits from the core library, such as DeRef, Operator traits(Add, AddAssign, ...), From, Into, ...
Tests & unit tests
Making all kinds declarative macros.
Making all kinds of procedural macros.
My main project, Spire of Slime, is open source and coded in Godot-Rust: GitHub.
I also maintain a open-source crate providing functionality for Godot-Rust: Export Node Paths.
Skills - Godot
Having a very similar design to Unity, a lot of my Unity experience carried over, most of which I was able to apply when working for Clementine Tech in their main project Allyon Battlecry.My experience includes (but is not limited to):
The fundamentals: Scenes, Nodes, Signals, Scene Tree, Tweens, Resources, Native Scripts.
Handling input: Actions, signals.
Using almost every single 2D node.
Using almost every single UI (Control) node, themes, rects, anchors.
Using most of the common 3D nodes: Camera3D, Collision Objects, Collision Shapes, Raycast3D, Skeleton3D, etc.
Singletons (Both engine singletons & auto-loads).
Developing/Editing editor-plugins.
Developing inspector tooling(mainly for custom exports).
Memory management: hiding & freeing nodes, loading resources.
Scripting Nodes & Resources, with either GDScript, C#, or Rust.
Using the Godot-Rust bindings (I've also made multiple contributions to the project).
Editing the internals of the Godot engine itself, recently I've been developing a feature that automatically generates C# bindings for GDExtension-types.
Developing a custom dynamic pathfinding system for the open world 3D game Allyon Battlecry, which supports runtime updates that handle terrain destruction/creation.
(In AllyonBattleCry) Using an ECS library to handle various systems in a performant fashion: Grass, Fire, Smoke, Moisture, etc.
(In AllyonBattleCry) Making a replay system that is camera-independent, allows players to re-watch their moments from any angle.
Skills - Math
During my engineering major, I finished all the calculus courses, as well as other math-related courses, such as: statistics, physics, and geometry.
Many of these skills have been useful in game development. I can make equations used in game design/balancing, and physics are useful in many areas: projectile trajectory calculation, animation, collision, etc.
Secondary Skills
Miscellaneous Skills that I acquired while developing games
Game Design: I designed most parts of my hobby projects (like Spire of Slime). On projects I work on, I often help with small design changes and balancing. I am familiar with common terms/expressions used in game design.
Photoshop/Krita: I can make edits, exports, split layers and even make textures & pixel art, from scratch if necessary.
Sound editing: I can acquire, clean and edit simple audios (like sound effects), using Audacity.
Disclaimer
I have principles, and I take them very seriously.Don't waste your time (and mine's) if your project contains any of the following:
NFTs (Crypto projects are fine as long as they have a clear function, no play-to-earn games)
Microtransactions
Forced telemetry (I'm only okay with it if the application explicitly asks the user and they give their consent, no "tiny words" written in the bottom of an EULA)
3rd-party advertisement (self-promoting is ok)
Allyon Battlecry
(2024 ~ 2025)
Allyon Battlecry is an ambitious game that aims to provide an immersive monster-training experience by replacing scripted AI with LLM-made code that is generated, compiled and executed on the fly.I'm no AI expert, my role in the project is was closer to a back-end programmer: develop tooling and any libraries necessary to support the game's internals. I was also often tasked with fixing technical issues.I also made some of the non-AI core game mechanics, such as:
A custom dynamic pathfinding system that supports runtime updates - handling terrain destruction/creation.
Using an ECS library to handle various systems in a performant fashion: Grass, Fire, Smoke, Moisture, etc.
A replay system that is camera-independent, allowing players to re-watch their moments from any angle.
Spire of Slime
(2021 ~ present)
Currently being ported to Godot. You can play the old (july 2023) Unity version at Itch.io
Spire of Slime is an adult RPG focused on combat and dungeon crawling. In terms of content, the project is immature, but the Unity version already has most of the core systems coded and stable (there were a few bugs with the demo version, but fixing them was trivial).On that project, I was(and still am) responsible for:
Everything Unity/programming-related: Coding, UI, animations, database, etc.
Some UI assets.
Some audio assets.
Designing most game mechanics. (I did receive valuable help)
Managing a small team of 6 individuals, handling the entire hiring process, from scouting to interviewing.
Main Systems
(most are showcased in the gifs above)
Classic Visual Novel framework, powered by a customized version of YarnSpinner.
Complex and fully-animated turn-based combat system, inspired on Darkest Dungeon and Final Fantasy (a lot of inspiration came from F12).
Top-down, hexagon-based, dungeon-crawling map. Layouts are procedurally-generated.
Character panel: allows the player to upgrade stats after leveling-up, and pick new perks/abilities. Most perks have unique interactions in combat. Each protagonist has a unique perk tree.
World Map: simple point & click interface for choosing destinations.
Save system: allows saving/loading at any given time, including in the middle of combat. Iron-man gauntlet mode.
Following the Unity fiasco, I decided to port the game to the Godot engine. The code is open source, available at GitHubI decided to leave the Unity version's code private since I'm not maintaining it. I'll send you a copy if you'd like to evaluate it.
Project Revenge
(on-hold)
Project Revenge belongs to a client, it's a Visual Novel and Dating-simulator. We are developing the game with Godot-Rust.Simulation elements include: finances, college grades and relationships.I programmed the time planner (1st screenshot) and home interface (2st screenshot) in under 50 hours, many of which were also spent on several other systems (such as the save system), and splitting UI layers in Photoshop.
Main Systems
Classic Visual Novel framework, powered by YarnSpinner.
Day/week simulation system. Players must plan their actions at the beginning of the week: choosing which places to visit, study or work at. They also have to choose which transportation method to use. Every action interacts differently with over 15 different stats the MC has.
Bonds of Blood
(Ongoing, but I no longer work on it)
2019~2021
You can play the last version I worked on, at F95 Thread
Bonds of Blood belongs to my dear friend, TheDevian. It's a Visual Novel RPG with combat elements.It was the first "commercial" project I worked on.Although I'm happy to have accomplished Chapter 1, being an amateur at the time resulted in bad code architecture. (which programmers often refer to as "spaghetti code")On Bonds of Blood, my responsibility was coding, but I also designed the combat mechanics, made part of the UI, and several other things.
Main Systems
(most are showcased in the gifs above)
Hand-made Visual Novel framework, mimicking most of Ren'Py's features. Including(but not limited to) saving/loading mid-dialogue & rollback.
Hand-made translation tooling, responsible for fetching translations from a Google Sheet. The sheet allows live collaboration, allowing translators of all languages to edit contribute in real time.
Extensive UI.
Fully-animated turn-based combat system with complex mechanics, inspired on Vampire: The Masquerade.
Exploration systems:
----City map allows traveling between locations.
----Inside locations, walking is achieved through a classic point & click interface.Flexible save system: allows saving/loading anywhere except in the middle of combat.
Services & Rates
By default, any services I provide are charged on a per-hour basis, though I'm willing to negotiate other charging systems.Software development can be unpredictable: unexpected bugs/challenges can appear during development. This means that it's very difficult to precisely estimate how much effort a certain task will take. There is a very informational presentation by Allen Holub which provides a more in-depth dive into the subject.That being said, I'm still able to give advice regarding the scope of your project, considering what is/isn't achievable with your budget.
The following table describes baseline prices, I may charge less or more depending on the nature of the project.I will charge more if I have to sign an NDA.
Service | Pricing |
---|---|
Godot Development - Rust | US$ 40.00 / hour |
Godot Development - C# | US$ 45.00 / hour |
Godot Development - C++ | US$ 50.00 / hour |
Godot Development - GDScript | US$ 60.00 / hour |
Unity Development | US$ 45.00 / hour |
Other Game Engines | US$ 50.00 / hour |
Developing Game Engines / Tooling | US$ 45.00 / hour |
C# Development | US$ 45.00 / hour |
Rust Development | US$ 40.00 / hour |
Private Classes/Tutoring/Mentoring | US$ 60.00 / hour |
Consulting/Project Management/Scouting/Interviewing | US$ 50.00 / hour |
Accepted Payment Methods
Unless a contract is signed, new clients must pay up-front.Please keep in mind that I do not (and never will) use Paypal.
Western Union
Bank Transfer
Crypto (5% extra fee)
Hire me
Your first step is to contact me. You can do so through one of the options here. Don't be afraid to send a message, I love to chat about game development.
As mentioned on Services & Rates, I provide a variety of different services, but I often work as:
Programmer only: You give me all the details I need, and I'll deliver the code you requested. You'll have to handle everything else: Design, Art, Audio, Writing, e.t.c. Usually I fill this role when the client already has everything else figured out, and only need a programmer to tie everything together.
Producer/Programmer: This is the usual choice for clients with high budget to spare, but little time to work on the game. You only have to explain to me how you want your game to be like, I'll handle everything else:
----Programming.
----Finding/managing talent to fill the other roles: Art, Audio, Writing, e.t.c.
This is the position I fill on Spire of Slime.
During development, all you'll have to do is review the designs/art/playtesting builds to ensure we are going in the direction you want.
Also, I have managed to gather contacts while working on this industry, need an artist? I can direct you towards a few; same for sound engineers, designers, writers, e.t.c.
Frequently-asked Questions (FAQ)
Q: Can you code X feature?
I've had many ask me similar questions about a variety of features. Usually the answer is yes, I really enjoy trying new things. The only thing to consider is budget: complex mechanics take exponentially more time to code than simple ones, especially if they are interacting with many other systems.Q: Why does your price varies so much between different services?
A: I charge less for things I enjoy working on, and more for things that exhaust me.
Example: my rate for developing in Godot-Rust is $25/hr, while Unity is $35/hr. Working with Unity isn't pricier because I'm better at it, it's because I really enjoy working with Rust.
I can work on code for hours while suffering little exhaustion. On the other hand, mentoring requires full attention during the entire session, and to be constantly talking. I don't charge more for tutoring because I don't enjoy teaching (in fact, it's my second-favorite kind of work), I charge more because it's a lot more tiring.Q: How does your licensing work?
A: The prices mentioned in Services & Rates include a perpetual, non-revokable license to use the provided code in any number of commercial/non-commercial projects. But I still retain the right to re-use that code on my other projects (including other clients). If you want exclusivity, I'll treat it as an NDA - which leads to higher rates.Q: Do you accept SFW projects?
A: Yes, I have no problems working on either SFW or NSFW projects.Q: What kind of games you prefer working on?
A: I'm willing to work on pretty much any project as long as it meets my criteria on the About/Disclaimers section. But I have preferences: generally, I prefer games that integrate the lewd parts into gameplay mechanics(instead of just treating them as rewards, like gallery hunters).
Here's a few genres I would like to work on in the future:
----Platformers: although I did work on some prototypes, I was never part of a full-fledged platformer game, and would like to work on something similar to Eroico or Future Fragments.
----Turn-based combat: just like Spire of Slime, I enjoy games that feature sex during battle, making it a integral part of the gameplay.
----Strategy: I really enjoy strategy games and would like to make one in the future. My favorite is Attack It! Devil legion.
----Procedural generation, dungeon crawling, rogue-like: these are elements that don't necessarily define the main genre of a game, but I enjoy working on systems that require complex algorithms.Q: I want to make a game, but I have no idea how to start... Help?
A: I can definitely help you get started, giving you a direction. But here's a few general tips for absolute beginners:
----Start small, really small: I know you might have read this over and over, but people repeat this so much because it's valid advice, I personally had quite a few issues from ignoring it. Motivation plays a big role in your game development career, and failing a project because "it got too big for you" is a common way of killing all your motivation, giving your career an early end.
----Make a dirty prototype: even a complete beginner can get something done in something like RPG-Maker within 30 days. Having a prototype, even if basic, is a very good way of sharing/developing your vision.
----Study your favorite developers: game developing is a profession that is over 30 years old, and there's a lot of material out there that goes into depth about how experienced developers made their games. You'll find information about common pitfalls, dos and don'ts, e.t.c. Understanding the processes involved will be immense-fully helpful on your journey.Q: Do you accept revenue share-based employment?
A: No.