// about
Self-taught, 20, and building in the open.
I'm Ahmad Zaim Aiman bin Ahmad Azam — Zaim for short. I model 3D environments in Blender and write the Lua systems that make them work. No bootcamp and no CS degree yet: I learned by building, breaking, and reading other people's code until it made sense.
Right now I'm deliberately widening my range. Lua is home, but I'm studying HTML, CSS, JavaScript and TypeScript by rebuilding examples in VS Code and shipping small projects — the same way I learned everything else. Long term, I want to be properly full-stack: web tools built alongside the 3D and game work.
Skills, honestly rated.
“Working knowledge” means I can build with it and still Google things daily — I'd rather label it accurately than oversell.
Scripting
Where I spend most of my time — making worlds respond to the player.
- Luadaily driver
- Game systems (checkpoints, shops, interactions)strong
- Save systems & player dataworking knowledge
- Game UI wiringworking knowledge
- Debugging by reading errorsstrong
3D modeling
Making the environments and assets that go into a build.
- Blenderdaily driver
- Environment / level modelingstrong
- Props & hard-surface modelsworking knowledge
- Lighting & renderingworking knowledge
- Real-time export & optimisationstrong
Currently learning
Studying other people's code, testing it in VS Code, then rebuilding my own version until it's mine.
- HTML & CSSworking knowledge
- JavaScriptworking knowledge
- TypeScriptworking knowledge
- Git & GitHub basicsworking knowledge
- Pythonworking knowledge
Work habits
The parts that matter when you build something with other people.
- Reading & adapting unfamiliar codedaily driver
- Finishing what I startstrong
- Taking feedback without egostrong
- Collaborating on shared projectsworking knowledge
- Bahasa Malaysia & Englishdaily driver
Workshops & training.
Where it started — structured introductions to programming and animation that turned curiosity into a direction.
Programming workshop
Bengkel Programming with Blockly
My first structured taste of programming: logic, loops and events built by snapping blocks together — before touching written code. It demystified how programs actually work.
Animation workshop
Bengkel Animasi — “Animate Your Story”
Storytelling through animation — planning scenes, timing, and taking a short idea from storyboard to moving frames. This is where the visual side of my work started.
The path so far.
Workshops lit the fuse
First steps
A Blockly programming workshop and an animation workshop (“Animate Your Story”) were my first structured taste of building logic and telling stories on a screen. Everything since grew from those two rooms.
BlocklyAnimationCuriosity, then obsession
Start
Started building worlds out of curiosity and never really stopped. Learned the basics by rebuilding things I liked from the games I played.
Level buildingScripts, not just scenery
Getting serious
Moved from placing objects to writing Lua — doors, checkpoints, shops, saving. Googling one error message fifty times a day, and slowly needing it less.
LuaGame systemsMaps in Blender, systems in Lua
Now
Currently modeling 3D environments in Blender and writing the scripts that make them playable. This combination — art plus logic in the same project — is what I enjoy most.
BlenderLuaLearning the web properly
Next
Studying HTML, CSS, JavaScript and TypeScript by reading code, testing it in VS Code, and rebuilding my own versions. Long-term: web tools that support the games I build.
JavaScriptTypeScriptVS Code
Rules I build by.
Finish things
A finished small project beats an abandoned ambitious one. Publishing something teaches you more in a week than planning teaches you in a month.
Read code, then rewrite it
Studying other people's code is how I learn fastest — bring it into VS Code, test it, break it, then rebuild my own version until I actually understand it.
Art and logic together
The projects I'm proudest of had the map and the systems designed by the same person. Understanding both makes each one better.
Be honest about the gap
Lua is home. Web development is where I'm still learning. I'd rather show real progress than pretend to be further along than I am.
Uses
Tools and habits, as of today.
- Scripting
- Lua — systems, saving, UI logic
- Modeling
- Blender — environments, props, hard-surface models
- Code
- VS Code for reading, testing and editing code
- Versioning
- Git & GitHub — learning proper branching habits
- Learning
- Reading source code on GitHub, testing it, rewriting my own version
- Community
- Developer forums and Discord servers
- Languages
- Bahasa Malaysia (native), English (working)
- Setup
- Whatever runs Blender and my code editor smoothly
Work with me
Open to junior opportunities, freelance scripting and 3D modeling work.
- Malaysia · GMT+8 · remote-friendly
- Commissions, trials and junior roles
- Bahasa Malaysia & English