Where it started
Hang Tuah Journey was my Bachelor of Information Technology final year project at the College of Information Technology, Universiti Tenaga Nasional, submitted in December 2014
The idea came from a simple observation: there were plenty of games on the app stores, but very few that actually taught you something while you played. History especially (Malaysian history, and the story of Hang Tuah and Melaka in particular) felt like exactly the kind of subject that could use a more exciting way in. So the brief I set myself was: build a small offline Android game, playable by anyone, that quietly teaches players about Hang Tuah and Melaka's history along the way.
I still remember pitching this to my supervisor. A game as a final year project felt like a risk compared to the more conventional systems everyone else was building, but it stuck because it combined two things I genuinely liked: Malaysian history and building things people would actually want to open more than once.
Building it
The whole game was built in Construct 2, an HTML5 game engine built around a drag-and-drop event sheet system rather than hand-written code, which made it possible to build an entire game as a solo student without a games-programming background. Testing across Android devices, and packaging the final APK, went through Intel XDK.
-
Proposal
Scoping the game
Defined the objective (teach Hang Tuah and Melaka history through play) and the scope: single-player, fully offline, Android 3.0+, with Easy and Hard difficulty levels.
-
Learning Construct 2
Event sheets, layouts, and a lot of trial and error
Construct 2's event-sheet system was new to me, so the first few weeks were mostly experiments: getting a sprite to jump correctly, figuring out collision detection, and slowly turning a blank layout into something that felt like a game.
-
Content pass
Menu, levels, story, and the history quiz
Built out the full flow: main menu, level select, the endless-runner gameplay itself, a two-part story screen, and a multiple-choice quiz on Hang Tuah and Melaka history, each backed by its own event sheet.
-
Testing
From browser preview to real (virtual) devices
Tested first inside Construct 2's own browser preview, then across a range of virtual Android devices in Intel XDK to check it actually ran the same way on different screens before packaging it as an APK.
-
18 Dec 2014
Submitted
Final report and project handed in. Hard mode never quite made it past "coming soon" in the original build. That's something I'd only get around to finishing a decade later.
A few good memories
Some of what's stuck with me from that final year, in no particular order.
Late nights with the questionnaire
Running the current-situation survey and turning the responses into something the game design could actually be built around, the kind of unglamorous groundwork nobody sees in the final demo.
The first time it actually ran on a phone
Seeing the APK install and run on a real device for the first time, after weeks of only ever testing it in a browser preview. That moment made the whole project feel real.
Submission day
Handing in the final report on 18 December 2014. At the time, I had no idea it was the start of something I'd still be tinkering with more than a decade later.
Ten years later
Construct 2 is effectively gone now (no longer installed, no longer really maintained), but the original assets, the story, the quiz questions, and the Melaka-history sprites survived. So rather than let the project stay a screenshot in an old report, I rebuilt Hang Tuah's Journey from scratch in plain HTML5 and Canvas, reusing every original asset: same characters, same backgrounds, same quiz content pulled from the original data file.
Hard mode (the one difficulty that never made it past "coming soon" in 2014) is finally finished. And along the way it picked up a few things the original never had: squash-and-stretch animation, particle effects, a combo system, and smoother screen transitions throughout.