Final year project, 2014

The story behind Hang Tuah's Journey

Long before "DevOps" or "AI agents" were part of my vocabulary, my final year project at Universiti Tenaga Nasional was a small Android game about Hang Tuah and the history of Melaka. This is the story of how it got made, and why I rebuilt it a decade later.

01

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.

Early concept / proposal photo
FYP presentation day
02

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

03

A few good memories

Some of what's stuck with me from that final year, in no particular order.

Photo

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.

Photo

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.

Photo

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.

04

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.

Play Hang Tuah's Journey Web Version