10 Jan 2015

For about a week now, I have been working on a side-project, a game that is a simulator of a famous MMORPG called MapleStory.

I used to play Maple as a kid. It is more like a childhood game to me where I think of the friends I met in 2006/07. I played as a legendary dragon knight.
Upon returning to MapleStory, I read that in their latest job revamp patch, they had removed two of my favourite skills from my Dragon Knight:

“Dragon Roar” and “Dragon Crusher”

I remember using Dragon Roar many years ago and the feeling of killing 15 monsters in one swoop was really satisfying. But my Dark Knight was revamped with new skills with nothing unique about them and my damage had inflated into the millions.
Long gone are the days where doing 5k damage made you a pro. And long gone were the days of Dragon Roar and the old Maple.
Being a very memory-inclined person, I kept thinking back of those old times. I lay stuck in nostalgia for a long time. I looked up old screenshots and videos and wanted to experience the fun of using Dragon Roar, but the new MapleStory made that impossible.
Then I decided to make a game. So I made this – a game I promptly titled “OldStory”.

This is a Maple Simulator which features the skills and simulates gameplay of a Dragon Knight in the old days.

I made the map resemble “Forest of Golems”, one of my most memorable and favourite training grounds.

I added my favourite skills, Dragon Roar above, and Dragon Crusher below.

I used ‘hit boxes’ to determine the range of a skill, and these hit boxes can be controlled to appear only when the skill reaches a particular frame because skills like Crusher have a delay between when you first press the skill button and when the actual damage appears.
Hit box
I even made my own skill, which doesn’t exist in the real game. It’s actually inspired by Dragon Nest where you summon a relic to the map which heals you and damages nearby monsters. I also added a tooltip that appears when your cursor hovers over skill and buff icons.
When I was confident with my codebase, I expanded the game and made more maps. The other map I made is “Deep Gorge II” that spawns Sotongs. Aquadungeon has always been my favourite training place – the music, the gobies, they all bring back old memories playing with my friends, spending hours just trying to gain one stupid level that can now be reached in far less time.
I wanted to feel how it was like to play my old Dragon Knight from 2006 again. MapleStory had been ruined by its new updates, and I can’t do anything about it.
But what I can do…. Is to make my own simulator. 

A game where I set the rules, and where I can relive my old memories. It took me 3 full days carrying on from a scrapped codebase I had from one of my abandoned games. I modified its Physics, controls and the toughest part was re-coding MapleStory’s skills from scratch and trying to resemble them as accurately as possible. I actually went to analyse videos at 0.25x speed to see the skills and to capture the way MapleStory works, e.g. the way the damage lines stack above the monsters. But finally… I had done it. The graphics were terrible and there were bugs here and there though – but what can you expect out of something done in 3 days? After that, I proceeded to clean the game up, added features and gameplay elements like Ropes to climb from platform to platform, and there it was.
OldStory was created. And I had a lot of fun making this.

It was coded with FlashDevelop and Flixel along with BannedStory for monster & skill sprites and tiles. I also used TexturePacker to consolidate all the individual sprites from BannedStory into a usable spritesheet. Not all the art assets are from the actual MapleStory.

The backgrounds are mine, using existing art assets which were inspired from MapleStory itself.
A background I had previously drawn

An original background scenery for a possible Ellinia-like map, but was never used. 
I also drew the damage numbers myself because I couldn’t find the original. It impressed my friend because he thought I ripped the numbers due to the fact that the ones I drew looked so alike it fooled him.

The damage skin graphic I drew and used in my game
I got ambitious and added a ton of other stuff to make it like a real game – an XP and levelling system, map unlocking, monster drops and even a final boss, along with buffs and skill delays and a shop to upgrade your equipment to improve your HP and damage using mesos. It’s not the most polished thing, but it was really fun trying to implement all that.
This is the shop I made. It’s a place where you can spend the money you looted to upgrade your equipment, raising your damage, your maximum health, as well as Mastery – a stat that increases your minimum damage.
The screenshot above is actually the shop in its early versions. It is not something I followed MapleStory in. I had no plans to draw proper graphics for a simulator, but when I started to get positive comments, I decided to put a bit more effort to make this game more presentable.
So tadda! Above is the look of the new shop. I actually spent some time drawing some simple UI boxes to just beautify the look of the game, including a slime I drew for the fun of it. I also did some rebalancing.
I shared it with my old MapleStory friend as well. He said that it was really fun, which made me really happy, considering that this game was only supposedly meant to relieve myself of my nostalgia.
Though it was supposed to be just a small side project that honestly I spent too much time on, I did learn new things, such as custom keyboard configurations which I didn’t know how to code before, so maybe it was worth it spending so much time on it after all. It was also my first time using bitmap number  graphics instead of actual fonts (for the damage numbers).
It took me HALF A DAY (it was a weekend somemore) to figure out how to code this. This was an idea by my friend who gave me this suggestion.
Edit: Updated this with more stuff below…

More Changes from 11 to 15 Jan
I started updating the game with more stuff because of positive comments and decided to invest more time into making this an actual game than just something nostalgic for myself and friends.

Much like many people, I wanted more high-level content and end-game content. Previously, the game pretty much ends at Level 200, but there is no reward or any sort of Congratulatory message to tell you that you beat the game.

Now, I added a new map, new monsters, as well as Level 200+ skills and unlockables. Now, level 200 is just the beginning of the most exciting part of the game, and I find the Level 200~250 journey of the game incredibly fun.

To make the new map more interesting, I coded in a simple feature, which functions sort of like Quests, giving you a reward for killing 200 monsters.

You also can get a new skill as a drop from monsters in the new map:

Look at the number of buffs I have activated on the character.

I also added a tutorial, with classic MapleStory slimes to help those who don’t play MapleStory and to introduce properly the mechanics of the game, especially Flash Jump, a new skill I coded, and is also a skill that can easily go unnoticed.

The new Jr. Balrog monster 

This new skill, Rush, is a totally hackish skill in this game, which is what makes it really fun to play. In the  real game, it had quite a significant cooldown to prevent it from being spammable and the distance was too short to be fun. But in here, I made it really useful.
 Death sprite and falling tombstone, just like the real Maple


When you reach Level 250 in the game, you unlock New Game Plus, which resets your level back to 1 and resets all your money and equipment. However, you gain additional rewards like more skills.

You also get new equipment.

I added new equipment, the belt, shield, ring and pendant that each give different stats to the player. They can be enhanced. What’s interesting is that the maximum enhancement level increases with every New Game Plus, so this game can basically go on infinitely. You also gain passive bonuses, such as inheriting skills at Level 1 without needing to unlock them at their respective levels (eg Level 100 for berserk, level 200 for Beholder)

A new item drop was added, the Fire Gem.

It is a rare drop from monsters and when looted, gives you a permanent stat boost to your character until the next New Game Plus.

I also added skills that would add value to the game. Skills that are situation-specific are what make Dragon Knights interesting. Although I could add many skills into this game, I didn’t want to add obsolete skills which the player rarely use. So I tweaked some skills to fit the game.

The skill above is Sacrifice, and deals huge damage to a single target by sacrificing health.

I made Sacrifice a very powerful bossing skill, but it is costly and weak in training.
I made Dragon Roar a very good AoE skill for training, but has a long cast time.
I also added a bonus skill called Dragon Strike which deals high damage and has high range, but has long cooldown, as opposed to Dragon Crusher which has shorter range and lower damage but can be spammed. Both skills can be intermittently used for maximum damage output.

Additionally, I drew a popup which appears when you get a new skill. Previously, my friend wasn’t aware he got a new skill, even though I added a message saying so at the top of the screen. But I don’t want to rely on players having to read messages to be informed of important events.

Just some notes of some of the changes I made to the game over the past few days. I kept these so that I know the significant changes to the game versions I am sending to my friends. These changes were all made after the basic game has been completed, which basically means that the game was sort of ‘finished’ before I added these, which are additional stuff to make the game more fun and playable.

Changes 11 Jan Part 1:
1) Manon boss now drops a skill book when killed for the first time, giving u a new skill
2) Flash jump given at Level 1
3) You now get stance at Level 110
4) You get a new skill at Level 200
5) You unlock a new map at Level 210
6) You unlock a new skill in the new Level 210 map
7) You get a new skill at Level 220

Changes 11 Jan Part 2:

– Added tutorial: New ellinia map and slime monsters
– First time players will be asked to play tutorial. No longer brings up keyboard settings page
– Tutorial now introduces Flash Jump properly
– New boss and map: Balrog / Cursed Sanctuary replaces Manon
– Manon moved to Level 250 boss
– Final boss map now unlocked at Level 240
– New Game Plus option added (but not working)
– Meso graphics now change based on how much mesos are dropped
– Roar now displays damage with a 1 second delay like the real Maple
– Using roar now shakes the screen when the damage appears like the real Maple
– Bosses now have attack animations when aggro-ed and can cast magic attacks onto player. However, magic attacks have infinite range currently.
– Monster AI improved: They now move toward you when aggro-ed
– Mixed Golems now cast attack up buffs when provoked
– Fixed Bug where non-critical hits appeared red if the first line is red
– Fixed bug where goby houses could spawn on top of each other

12 Jan changes
– New feature: New Game Plus (NGP), unlocked at Level 250
– New weapon graphic in Shop
–  added tutorial transition from login
– UI changes to golden at level 250 (super cool)
– Added the HS as a 1% drop rate from mobs
– Monsters now move back smoothly when knockd back, no longer has jerky movement
– New equipment: Ring (dropped from Manon)
– New equipment: Pendant (obtained on NGP)
– Enhancement prices have been adjusted:
     – Weapon is now 2x more expensive to enhance

13 Jan changes:
– You now spawn at the correct portals when traversing through maps
– New Game Plus(NGP) now supports infinite New Game Pluses. Previously capped at 6 and had no rewards thereafter.
– Added new skill: Mesos UP (awarded upon 2nd time reaching lv 250)
– Added new equipment: Shield
– Updated info panel with new stat: Defense
– Finally added Music
– Added Menu button
– Monster knock-back distance has been lowered
– Enhancing has been sped up at lower levels
– Fixed display bug in Shop (for new equipment)
– Lowered KB value on slimes
– When knocked back, monsters now turn to face you
– OldStory completed.

Changes 14 Jan:
– Added new item drop: Fire Gem
– Added mute button
– Oblivion guardian HP has been increased (420,000 -> 450,000)
– Monster stats now start to increase from 7th NGP (new Game plus) onward
– You now get a permanent 20% HP bonus from 7th NGP onward
– When hit by magic attacks, the effect now shows on the player
– Shield is now required to be re-obtained every NGP, and it only adds to player’s stats only when the shield is in possession
– Added new equip: Belt (buff duration +3s / level)
– Added new stat: Buff duration
– Camera bounds is finally working properly
– Monsters hit by skills with delay (eg Roar) no longer freeze at their HIT frame but their STAND frame (like the real Maple)
– Monsters’ magic attacks previously had infinite range. But not anymore.
– Exitting to Menu now saves the map you were previously on
– Manon EXP and Meso reward has been increased by ~20%
– Damage displayed over Manon now does not exceed the height of the screen (for tall monsters)
– Player HP bonus per NGP decreased: 20% -> 10%
– Pendant and Shields have their enhancements capped at 28 + 2*NGP
– All equipment’s max enhancement level now increase with every NGP
– Added two new levels of equipment graphic sprites (+16 and +17 enhancement graphic)
– Added 200ms delay to rush to simulate real maple’s rush
– The delay for buffing on ropes has been reduced to 200ms
– Fixed various bugs and issues:
   – On NGP, SE and HS no longer drop when u have it
   – Fixed max enhancement display error in Shop
   – On NGP, some messages were changed / removed
   – On NGP, you can no longer re-obtain holy symbol if u have it
   – on NGP, messages telling you to unlock a new skill do not display if you own that skill
   – On NGP, bosses no longer drop skills that you own
   – Some messages now only appear once in a lifetime
   – First message now changes based on your NGP count
   – Fixed 0% success rate on 16+ enhancements
   – Fixed bug: Your health got reset to base max health if you switched states instead of your real max health (if HB is on)
   – Fixed a minor display bug with buffs that overlapped each other in the UI
   – The login page now saves your username
   – Entering different states in Lobby reset your map to mixed golem
   – null success rates and upgrade costs for equipment past 15 enhancements

15 Jan:
– Belt has been buffed (buff duration per level: 3s -> 5s)
– Added Dragon Blood char animation effect (super cool)
– Added new skill: Sacrifice (320% damage to one target)
– A popup now appears every time you gain a new skill
– Added a new equipment graphic at +18 enhancements


The shop screen as of 15 Jan, which looks more awesome than it was at first.

16 Jan:
– Added new skill: Demolition
– Added new Map: Someone else’s House
– Added new monster: Mushmom
– Added hit animations for Crusher, Roar, Demolition, Dragon Strike
– Manon’s damage has been doubled
– Spawn rate in Goby Dungeon greatly increased:
     – Spawn limit is now determined by num of enemies alive rather than total enemies in map

– Fixed bugs:
  – Dragon Blood effect did not wear off even after end of buff
  – Closing skill popups now cancels immovable status caused b skills
  – There was no return portal from Mushmom map if level is below 15

17 Jan:
– Added F1 shortcut key to shop
– Deactivated buffs now have their shortcut keys colored red and to make it more obvious, a ‘!” icon will appear over expired buffs
– Username now saves across newGamePlus
– added double confirm before deleting save
– When u reach the top of the rope, there used to be a bug where u jump. This bug is minimized, but not fixed completely.
– Added mushmom spores
– Shop mesos text size is now adjusted if u have too much mesos
– Added commas to shop meso text
– Updated the mushmom spore display in shop.
– Spores now carry over New Game Plus
– OCD: Centralized hidden portal in ‘Forest of Golems’ to map’s symmetry
– Rolling over shop button and New Game plus now displays tooltip for shortcut key
– Sacrifice popup only appears on the 1st and 2nd NGP
– Demo popup only appears when below 5 New Game Pluses
– Zombie Mushmom has been added
– Reduced font size of stat description in Shop (16 –> 13)
– Updated stance description “99.99% to prevent KB” instead of “90%”
– Level font size decreased if level is above 1000
– New Item drop: Poisonous Mushroom
– Added poison status effect
– Messages added for collecting 120, 150, 170, and 200 spores
– Added small bonus for getting 100, 150 and 200 spores
– Item drops do not fall through the floor anymore
– Zombie mushmom can now be damaged by Heal
– Fireworks fx appear over a successful item enhancement
– Getting Holy Symbol as an item drop now saves when u change map
– Added shortcut key to toggle music: M
– Added 2x EXP and Meso coupons
– Insufficient mesos buying coupons will cause meso text to flash red
– Fixed a bug where cancelling Beholder didn’t cause Beholder to disappear

– Fixed bug:
  – Level 200 text no longer repeats after every level
  – Ring enhancement cost was 0 past Level 16
  – Demolition no longer drops from Mushmom wheen you possess the skill
  – Slightly increased Manon’s mesos reward (40000 -> 50000)
  – Relic can no longer be summoned out of level bounds

18 Jan
– You now get popup if u loot shield, ring, belt and cape (only on first 3 games)
– Added new equipment Graphic at E21, E25, E30 and E40.
Additionally, sparkles will appear on E41+ equipment
– Weapon cost now increases by 50k per Enhancement after E15
– Armor cost now increases by 25k per Enhancement after E15
– Added new equip: Cape *unlocked after 2nd new game plus
– Added new equip: Earring *unlocked under secret requirement: when all equipment reach E20 (cannot be enhanced or obtained yet)
– Demolition now gives you invisibility and invulnerability
– Spores’ damage cap boost now only take effect from 1st NGP onward
– Added new skill: Booster (to be unlocked after 5th NGP)
– Added new skill: Shadow Partner (to be unlocked via secret)
– Cooldowns are unfortunately saved
– Added ability to jump to platform below  (DOWN + Jump key)
– Added hyper jump (shortcut: jump while pressing UP midaire)
– Increased gravity (800 -> 900)
– Increased jump power (400 -> 500)
– Increased flash jump power (400 -> 450)
– When in air, hold down to fall faster
– Added popups when choosing New game plus skills to carry over
– Updated New Game Plus screen with the advantages of NGP.
– Removed the “U gain meso UP at lvl 250” message at every NGP screen
– 1st, 2nd NGP will have rewards displayed on NGP screen.
– Miss rate has been doubled (1% per level below mob lv -> 2%)
– Goby level increased to be in line with Bone fish (55 –> 60)
– Manon level increased (200 -> 210)
– Buff exclamation mark does not appear if skill is still on Cooldown
– Buff durations no longer reset when entering Shop or entering portals only for Booster & Shadow partner 🙂

– Fixed bugs:
  -Fixed major exploit where you could spam skills
  – Your hp could become 0 if ur HP was at the exact Hp requirement of roar
  – You could previously use the shortcut key F2 to start a new game plus even at Level 1

19 ~ 20Jan
– Belt and Shield popup now indicates they need to be recollected every NGP
– NGP level requirement increases by 20 from 10th NGP onward.
– Increased earrings to max 15 enhancements
– Keyboard settings now only allows alphabets, and supports the same special characters that maple supports
– You can now customize all the new skills (except Sac and Demo)
– Added new map: Shadow’s Lair
– Added new boss fight at NGP10 (is it too early?)
   – New boss drops special equipment and skill
– Added Stats Window
– Updated tutorial with the new abilities
– Added new map: Pianus’ Cave (unlocked at NGP20)
– Added new boss: Pianus
– Added new skill: Maple Warrior
– Game now saves your mute preferences, and your current map
– Added messages for first time purchasing 2x EXP/ mesos
– Added buff overlays (timer) for certain important buffs
– Added shortcut key to enhance eqp: ENTER
– ATk bonus per NGP decreased (25 -> 20)
– Shoes now give up to 75 move speed (but player base speed decreased by 20)
– You can no longer push stationary monsters (pianus, goby houses) sadly, it was fun watching pianus get pushed across the map
Bug fixes:
– Booster and SP durations were 4x longer than expected
– Black overlay inaccurately conveyed buffs’ time before expiring
– Added messages for first time buying 2x meso/exp. Buff descriptions are now more informative and reflect durations accurately.

– EXP tnl formula revised for Level 251+ onward
   – It is now much harder to level up from 250 onward. This is because new update made it too easy to reach Lv 4k, and level accounted for 90% of player’s damage (my normal att was hitting max dmg) *see screenshot*
– Excess crit rate over 100% now adds to Crit Dmg
– New stat: Crit Dmg
– Ring now gives 1% crit rate per level after E15
– Damage formula revision scrapped
  – Each level was going to give 2% ATT instead of 4% (but made early game too difficult)
– New Game Plus no longer gives 10% HP bonus each (pianus needs to do 400k dmg to be of a challenge and that is too high)

21 Jan
– Pianus now summons Bloody Booms
– Fixed bug: Goby houses did not return to stand frame when KB-ed
– Added Pet button in shop as well as ability to purchase pet skills, but skills do not work currently

– Fixed bug:
– Fixed a bug where unlocking the last pet skill required the state to reset to update

22 Jan
– Added Pet:
– Added 5 Pet skills: Can walk, loot, buff and heal you
– Pianus boss fight made more challenging: Pianus’ summon booms can heal him, and heal amount increases with bloody boom count. However, at high NGP it is still too easy to beat him

– Fixed bugs:
  -2x meso and exp counted down wrongly
  – IdleBot is officially working

(Warning: The following is more personal and less to do with my work.)

Unfortunately, even after doing all this, I am unable to relieve the original experience of what it felt like to be playing with some of my old friends, training and bossing together and having so much fun with them. It was at a time when we were all young and innocently playing together. Those times of a simple childhood are long gone…
The screenshot above was taken in 2011 (read the message banner at the top).
MapleStory was more than just a game to me, it was a place I formed some of the strongest friendships I have and created unforgettable memories. And just looking back at some of the screenshots I have, it’s just nostalgic.
It’s like going back to your old school, and thinking of the times you spent with your old classmates and friends.

This nostalgia is indescribable. It makes you want to go back, back to when monsters took 6 or 7 hits to kill, back to when doing 5000 damage made you a pro, back to when Level 100 actually meant something, back to when you’d loot everything on the floor, back to when partying with your friends and having fun formed the main purpose of the game.

I remember wanting MapleStory to be a single-playing game because I didn’t like the multiplayer aspect, but I have come to realize that it’s not just the game that made it memorable, but the friends I made in the game.

But well, it’s all just memories now.
The End.
For reading till the end, here’s a bonus…
This is a Cherry Boss I drew in the past. It was an unused asset. I didn’t use it in the game because I had no interest in making anymore maps.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s