Old Story Part 2
For part 1, please refer to:
I had been working on OldStory for about 3 weeks now. (Advisable to see part 1 before part 2). Progress has been remarkably great, considering I did not intend for this to be a game in the first place.
I added more content over time, and added features to make the game more playable and fun!
The game’s first build had 6 equipment:
The new equipment are:
– Cape (added in latest version)
– Earring (added in latest version)
You get new equipment as you progress through the game. I didn’t add the new equipment at one shot. It was more like I gradually added them over time because the game was slowly expanding bigger and bigger and equipment was a game-changer to make it more rewarding and fun to play.
I received comments that HP was useless. The trend I noticed from testers generally were that they rather spent 400k mesos upgrading their weapon, than spend a few 10k upgrading their armor.
Weapon was overpowered and 1 attack was more valuable than a 1000 HP.
So I buffed the armor to add special stats.
Helmet: It increases your Mastery, which stabilizes your damage by increasing your minimum damage.
Topwear: Doubled the HP boost. It gives the most HP compared to all equipment, making it worth double its value.
Gloves: It now gives 1 attack per enhancement. I noticed immediately that my testers upgraded glove as the next priority after the armor buff patch, along with Helmet because of the new inherent damage boosts.
Shoe: It now adds to your movement speed, allowing you to move faster.
The new equipment all add unique stats that make them extremely useful.
Ring: Increases your critical rate and at a high enough level, adds to your critical damage.
Pendant: Increase your EXP and Meso gain. (+farming speed)
Shield: Increase your defense (a favourite because at high levels, makes bosses deal 1 damage to you)
Belt: Increase your Buff duration (another favourite among my friends who played)
Cape: Increase your cap damage (apparently addictive feature because it increases your farming speed)
Because of how special this last equipment was, I devoted a few days to implement the condition to get it. You have to fight an epic “shadow” boss which looks like you. He drops a very powerful skill and the final equipment.
The Healing Relic in the game is a unique skill I made personally. I drew the graphics for it, and at one point, you get to upgrade the Healing Relic to Lv. 2.
I also added a multi-relic feature, so you can plant Multiple relics on the map after an upgrade.
New maps and Monsters
The game soon hit its limit content-wise with the last few maps I added to the game.
I added a brand new area after Time Temple, mostly end-game content. I named the expansion “Fields of Nostalgia” because it includes some old monsters and nostalgic music.
Summarized “Patch notes” for myself to refer to (23 Jan ~ 31 Jan):
– Added new expanded area: Fields of Nostalgia (unlocked at NGP15)
– 6 new maps were added, inclusive of 2 bonus areas
– 8 New monsters (2 big bosses, and 2 mini-bosses)
– 4 New skills were added (Combo Atk, Dark Thirst, Dark Synthesis, Mystic Door)
– Many skills are now upgradeable (Dragon strike, Crusher, Sacrifice)
– Equipment give huge stat boosts at E50 and E100
– Added perma rewards at NGP50 and NGP100
– Scaled up monster stats from NGP100 onward.
– Plenty of bug fixes (e.g. Items falling through floor)
– Plenty of exploit fixes (e.g. cooldowns no longer refresh when switching save files)
– Plenty of rebalancing changes
I found it a hassle to repeatedly enhance my equipment and I had to do a lot of clicking. So I added the auto-enhance feature. Ever since when I test my game, I always use it to enhance my equip.
If the level difference between you and the monster is too great, you can ‘miss’ them. It works at a 3%~4% rate per level difference.
Currently, the last boss you unlock is Pianus, the gigantic fish boss. It’s currently the second most toughest boss to defeat and drops a special skill for you. It also drops skill books to upgrade your skills!
Pianus is capable of summoning BOOMS, which heal him if you don’t kill them fast enough. If you are too weak to kill the BOOMS faster than Pianus can spawn them, then Pianus simply heals himself to full health before you can damage him. It’s the first boss I implemented that has summoning and healing abilities.
I designed and implemented a stat window so you can observe your stats without having to go to the Shop. The stat numbers turn red when they are increased or affected by your current buffs, which is really cool, plus it updates real time.
My first Pet in MapleStory was a Panda. Till now it is my favourite pet because it’s just so iconic and cuddly. So I added this in my game, simply for nostalgia purposes. I considered adding the Pet because I knew it would be challenging and tedious to make it work, and true enough it was.
The pet feature was one of the most challenging because it took me a few days to get the pet AI working correctly. The pet has 5 states and it automatically transitions between them under appropriate conditions:
– Follow : Follow the player and ignore all loot drops
– Loot : Go to the furthest item within the pet’s looting range
– Buff : Buff the player
– Guard : Protect the player from an attack
– Free : To buff or guard, the pet must be in ‘free’ state, aka not doing anything else.
Pet skills improve your pet, such as increasing its walking speed, looting range, auto-buff interval and such. The last skill is ‘Kung-fu Panda’, and it is unlocked after a special requirement.
The pet’s debug mode: White box represents its looting range, and red box hovers over the loot it is currently trying to get.
As I was working, I began to conceptualize an epic boss that was capable of inflicting status effects and debuffs on the player. This boss was going to be extremely annoying but challenging to defeat. I think it worked really well in the game and you will definitely get a shock when you fight this boss for the first time.
To the left is my original concept of the Final Epic Boss map. (That black thing in the middle is the portal)
Some of the statuses it inflicts on you are not even in the original MapleStory, and they are really unique. I went to brainstorm the ideas and took the most creative ones and added them to the game. I think this boss really is a boss that isn’t just a sitting dummy for you to just defeat.
Instant kill effects
I added a new ability: Instant Kill, which activates at a chance. An animation also appears when instant kill is successful, though your eyes are probably focused on the 999999 numbers to notice it.
Ludibrium Maps, NPCs, Quests System, Item drops
I managed to code in quests just recently. This brand new area is part of the “Fields of Nostalgia” expansion. Quests took me about 2~3 days to code and implement. It was not as problematic as pets, but challenging to make it bugless and seamless nevertheless.
This is the door to the new expanded area. You can’t enter the portal unless you meet its requirement.
Sleepywood Jump Quest?
Although this will not be in my final build, I did accidentally create a jump quest map full of monsters and floating ropes / portals. It was funny to play around with the map, killing monsters as they fall from the sky.
There are currently a lot of buffs in the game. In my latest build I coded them to actually form a second row if they get too long, as you can see in the screenshot below.
Boss HP Bar and Icons
Math and Rebalancing
As the game got huge, balancing the game became a big issue for me. I sometimes overlook game design and balancing, and poor balancing in a game can break it.
One feature in the game is ‘Spores’, which increases your character’s stats permanently. I accidentally coded them to give 5% HP each instead of 0.5%. And because I discovered this pretty late, it was difficult to rebalance the entire game.
If I reduced their HP boost, I would have to adjust all the monsters’ attack values so they aren’t too difficult. This type of rebalancing at this late in the game is really difficult to do. There are too many things I need to tweak. The large HP boost means that the value of buffs that give HP is effectively decreased.
I wanted buffs to be essential, so I tweaked the HP formula. I inputted my current and new formulas for the game. The Blue line in the graph is the old formula where HP buffs work additively, and the Red line is my new adjusted formula (multiplicative buffs so that a 60% buff means x1.6 instead of +0.6). I wanted the results of the two formulas to be as close as possible, and thanks to the graph, I am able to fine-tune my values such that my formulas don’t make one particular stat/buff too overpowered or underpowered.
In the graph, I also nerfed the new HP values because the game was getting too easy. The graph lets me view how slight changes I make to the game affect values at later levels (at the start, 50 spores don’t make a big difference, but as you get further, the more spores you have, the larger the difference)
One of my most favourite latest additions was Multiple save slots. I can’t put in words how useful this is to me as a developer and tester. I often realize that changing one small thing in the game can often lead to very different results later on. When I realize a monster is too easy for a high-leveled character, I increase its HP and make it tougher, and sometimes I overdo it and it becomes too hard to gain experience for lower leveled characters.
Having multiple save slots means I can create a low level save slot, and a high level save slot, and I can test both content simultaneously instead of wasting time inputting commands to reset my progress or power-level to the level I want to test.