Currently, I am working on a city editor for the web:
- I'm implementing it in Angular 17, explore the code on GitHub.
- You can play City online in the browser.
- You can see some wireframes and sketches in the sketchbook.
Supporting the British Red Cross (UI/UX Design, Animation)
In this game you explore a beautiful town threatened by a dangerous storm. I did the UI design and icon design in Adobe Illustrator, the character animation in Adobe Animate.
The project gave me the opportunity to do visual effects animation for wind, rain and sparkles in Unity Engine. Some of the Unity Engine prefabs for the UI also are my work.
Previously, I wrote 2 games in TypeScript, using ThreeJS and the <canvas> element. They both run in the browser:
C++ Game Engine
One of my previous game projects was a C++ game engine with
Docs and Source Code available on the Doxygen pages:
- State-machine agent model for the monster AI
- Level representation suitable for action-adventure games
- Extracting 2D cross-section from 3D geometry
- Collision detection with line segments
- Twisting the level in 3D
- Rendering animated 3D models (with morph targets, not skeletal)
- Smooth interpolation between character states (walk, jump, attack)
- Particle effects for fire, smoke, glow
- The animation, environment design and 3D modeling are my own work
Experimental Protected-Mode Operating System (EPOS)
Another of my side projects was a small OS in C and assembly for the Intel Architecture (IA-32) processors.
- It's BSD-licensed, you can see the source code and docs here;
- EPOS is a multi-tasking OS;
- EPOS executables run in separate virtual address spaces;
- EPOS implements inter-process communication as message passing;
- EPOS implements synchronisation with events and blocking message passing;
- EPOS has a basic file system, keyboard and RS-232 mouse drivers;
- There is a command line shell.