Hi, I'm Shamim
I'm a game developer and educator in Singapore. On Faramira I write step-by-step tutorials on game AI, puzzles and Unity, and I publish the full source code for each one on GitHub.
I have been writing here since 2019. Most tutorials start from an empty Unity project and end with something that works: a pathfinder you can watch search a maze, a jigsaw game cut from any image, or a state machine driving an enemy. Along the way I explain the algorithm, not just the code.
What I write about
Pathfinding A*, Dijkstra and greedy best-first on grids, graphs and mazes 4 tutorials Jigsaw puzzle From Bézier curves to a complete jigsaw game 1 tutorial Mazes Generate mazes with backtracking, then solve them 2 tutorials 8-Puzzle Model the puzzle and solve it with A* search 2 tutorials Finite state machines Reusable FSMs in C# and C++, applied to real game features 6 tutorials
How the tutorials work
- Full source code
- Each tutorial links to a GitHub repository with the complete project, so you can compare your work with mine at any step.
- Demos you can play
- Many tutorials include a WebGL build that runs in your browser. Try the result first, then read how it is built.
- Free to read
- No ads, no affiliate links and no sign-up. If there is a topic you would like me to cover, get in touch.
Why "Faramira"?
The name joins the names of my first two children, Fardin and Amira. I now have a third, so the name is overdue for a rethink.
Get in touch
The best way to reach me is on LinkedIn. Video versions of many tutorials are on my YouTube channel.