Adventure Land: The Code MMORPG cover
Adventure Land: The Code MMORPG screenshot
Linux PC Mac Steam
Genre: Role-playing (RPG), Simulator, Indie

Adventure Land: The Code MMORPG

Event: Egg Hunt + Weeks 61,62 in Review



For this year's Egg Hunt event, added a Wand for Mage's as a new/unique item, along with the new Wand (T1.5) - there's a T1 wooden Wand available to be bought directly from the basic weapons npc

Most important change is an updated weapon logic, now each class define how using a weapon affect it's stats, for example a Warrior can equip/use a Bow, but it's very inefficient - Along with this change, completed/improved the internal weapon tiering logic too - Initially, now all the bows are controlled by this new/practical logic (and the new wands too) - What does this mean? Well I can finally start introducing T3 weapons, as they will be easier to balance

Working on the Dungeon, added a new polygonal spawn logic, integrated into our Arena first since it's fitting for Irradiated Goo's as well, so far so good, tackled the initial issues. Progressed the new map editor features further. The dungeon is ready map-wise, global drops are ready, individual drops/monster dynamics are left to week 63. There's a new trap format too, first example is a zone that slows you down

Spent close to a week preparing the required artwork for Mac App Store / for potentially getting featured, preparing marketing material doesn't come easy to me - it's very stressful

Other Changes:


- New Code Functions: get_party, get_servers, get_characters, kick_party_member, consume
- move, xmove, smart_move routines now return Promise's
- New Method: stop('smart')
- New Abilities: "regen_hp", "regen_mp"
- Added new buttons / shortcuts to the Guide
- New Discord message for game updates

Early Access: Week 60 in Review



Dedicated this week to re-visiting the map data format and upgrading our in-house map editor

Up to this point all spawns and zones were rectangular, they were always manually set, monsters will all be roaming inside the dungeon, so added zoning capabilities to the map editor to make things easier, spawns zones will be large polygons for the dungeon

Secondary improvement/addition is dynamic animations, with this extension, going to add stuff like high frame chimney smokes to liven up the game - this was a bit of a challenge because up to now we only had 3-frame animations that were tied to the animation speed of the map, with this change, animations are completely free - they also blend with players (render over or under players depending on location)

Early Access: Week 59 in Review



While Jayson almost finished the Dungeon map design, I dedicated this week to tackling the challenges of moving to NodeJS/new cloud technologies - While game-wise it is not directly productive, I consider it a good investment - I suspect it's going to take around 2 weeks to actually re-write/re-structure and move everything when/if the time comes to open source

Good thing about the current Python backend is that it can fully run locally too, the new Node JS one will assumably make things simpler, however, new stuff can't run locally, so it will be a game that will go live with 1 command - it's both cool and bad, bad because free tiers are very restrictive and cloud costs are high - I just hope it won't be a roadblock to those who attempt yo build their own experimental mmorpg's - and I guess it also eliminates the step each project has where you go from local development to a public version

Early Access: Week 58 in Review



I bought a Raspberry Pi 4 this week, fell in love with it, inspired me to go forward with the companion mobile app and related improvements

The result is: https://adventure.land/comm/

You can also click any in-game character ([I]) and just start observing them from the main screen too

The mobile app is also complete, it's a lot like the Electron client vs. Browser - so the browser is more practical yet mobile app is full screen / more authentic - going to release the iOS one soon, couldn't test android as I don't have an android device, emulators are almost impossible to debug with (TL;DR: You can just use /comm on mobile, it won't be better than the actual thing for some time)


I was almost going to release the XP Extractor item/device, yet couldn't decide on the amount of XP extracted from a character and bottled, if the cost is set to be one qubics (5m gold) 100m XP makes sense - So you'd extract 100m XP from one of your characters using 1 qubics (or your merchant could buy XP from a character with a special listing) - The dynamics are hard to decide as I can't predict how the market would be - I'm guessing 100m XP would be worth 20 million gold? (so the cost of one bottle is the 20m you pay + the 5m cost)

Added the "Performance Settings" - the selection screen also got a new layout - Turning off the "Pre-Cached Maps" makes the game playable on low performance devices

Monsters that transport back to their spawns now retain their original ID's, with this change, they are automatically re-targeted

For Week 59, going to experiment with retaining every message sent - local, private or party messages, if you send a pm to an offline player, it's going to get saved for viewing later on too - if that player is on another server, going to get delivered there - planning on adding a "Global" section to "COM" too, where every local message appears (or maybe a 4th "global" type message)

Small changes:
- New "wblade" projectile / hit animation
- Improved X.servers data
- Improved X.characters data

Early Access: Week 57 in Review



A fruitless week from my end, but the Dungeon design progresses - the week was mostly wasted on tax stuff and some other things

Refactored the server a bit, the next update will fortify the extra gold drops, favor Rangers a bit more (as targeting 1+ monsters used to reduce the gold amount to prevent abuse - now it will factor in the last engagement time internally)

From #new_ideas, Rapier will make it into the game, as a 2-hand weapon with 1-hand stats with additional attack speed

Early Access: Week 56 in Review



Mostly an experimental week, not very productive

Jayson pushed the Dungeon design architecturally, while I experimented with new mechanics

One nice new feature: Weather animations, currently snow and rain, maybe a sandstorm for Desertland in the future, and storm fx to complement rain

Other than weather, experimented with limited vision, lighting and a fog of war-like vision limitation - this fog of war is needed if the vision of a character is smaller than the viewport

Small change, elixirs can now be right-click consumed too

Early Access: Week 55 in Review



It was a very productive full week, tackled some edge issues

Started by messing up the gold dynamics, we have an entirely new system now where the engagement with the monster affects the gold drop, especially for low level players, it makes so much more sense for them to fight harder monsters, the longer the fight the better the gold income - For veteran players, I've been increasing the base modifier for the gold drop gradually too, while nerfing boosters etc.

Tackled a very major UI issue, mainly an html shortcoming, if an entity is updating, clicks to that entity never register anywhere, in my opinion it's a long standing browser/chromium shortcoming. So for 3 years now, if your inventory was updating, or a character was continually updating, you couldn't click/interact with them, it was beyond imagination annoying, at least for me. On the weekend, I decided to tackle this problem once and for all, at first developed mimicker dom entities, for anything clickable, these acted like fixed position overlays, it was a classic case of developing before thinking, it didn't work with the inventory, as it was almost impossible to make drag and drop function as it used to function. I then decided to just re-visit each major interface, and modify them to only update things that changed. For example for the inventory, if it's open, instead of the entire inventory updating on every change, now items change singularly. Integrated this approach to the focused characters too, even if they continually spam something, like equip/unequip, you can click on their other items, click on the Invite/PM buttons etc. Conditions are still re-rendered at every update, so you can still observe this click issue - but important stuff has been patched

There were more edge UI improvements too, items on the "All Merchants" page render all the information, similarly, items on the /character and /player URL's now render item stat types/properties too

The "DUNGEON" server design is progressing as well, I originally wanted to make Adventure Land a very PVP oriented and chaotic game, it evolved more into an idle PVE game, I see the Dungeon as an opportunity to introduce (or force) more direct engagement

Other Changes:


- Monsters no longer level up during engagements
- Incoming damage multiplier for party contribution reduced from 0.4 to 0.3
- Items stacking limit can now be lower than 9999 - .s property determines the limit
- Citizen Luck/Gold buffs and dynamics nerfed
- Chests go stale (no gold bonus) if you don't loot them in 10 minutes

Early Access: Week 54 in Review



New System: Charging Items - currently only the Warp Vest and the Power Glove's and only Ancient Computer passively and randomly charges these items

Warp Vest and the Power Glove's received their abilities, Warp Vest can warp to anywhere in the game, yet it takes ~an hour to charge, and after 100% charge, ~20 hours to gain additional charges - Power Glove's take ~120 and ~90 hours to fully charge, when you unleash the power, you get a high attack speed buff for some seconds, it's like an on-demand and overloaded Sugar Rush. As a reminder, Power Glove is a rare drop from the Konami Quest (just enter the code and grind)

Two new set definitions, "The Legends" and "Rage and Fury" - first includes Star Killers, Warp Vest, the latter includes Fury and Sucker Punch

Fixed the last remaining entities/monsters issue after the recent change, this mainly plagued the appearance of monsters in the browser (unfocusing and focusing the page), they halted for a while before moving again

Fixed combination damage, you can no longer trigger combination damage by stacking your players on top of someone else and including them in the damage - However this still works during coop fights (Checks character.s.coop.id)

Nerfed the +1000% Gold/Luck citizen buffs, should've done it earlier

New Item: Stompy's Nose Ring

Snowman, Love Goo no longer affected by damage return, they should also level slower

Fixed the Shiny item system (grade condition was missing), lowered the %'s too

Overall, a slow week, lost 2-3 days to some other stuff

Event: Valentine's + Week 53 in Review



Our Valentine's day event is rebooted!

It was an exciting week in terms of exciting issues, first one was a hoard of uncontrollably growing monster pack caused by the new routine that can kill monsters with damage return, the condition spawned a new monster each time it was death before a projectile can hit it. Second one was more major, discovered by Biene (Dre4mc4tcher on Discord) - the upgrades never failed on the new Europas Dungeon server. When an exception occurred before the post upgrade cleanup, it caused the previous upgrade item to be restored after a failure. Thankfully he reported it and we avoided our first rollback. Planning to make April 1st a planned rollback day, the game will shutdown at one point and everything will rollback to midnight



The T-Shirts are finally released

New System: Platinum / Gold / Bronze Ingot's/Nugget's can be used to produce Shiny items from +0 upgradeable items (FreezePhoenix's idea on Discord)

Took the Europas Dungeon server for a test run, I think I'm going to use the new "Doorway Protector" mechanic for the Pirate Ship instead - the attraction of the Europas Dungeon should be hard to kill monsters and pvp / last hit gets the loot mechanic

Small Changes:


- Fixed an issue that caused characters to get stuck at 0.5 alpha
- Trade History is improved, recurring purchases now stack too
- Vampire Rat's now drop nuggets instead of ingots
- Items from Glitches are now Glitched items
- Legendary scrolls drop from Emerald with a very low%
- Items can now stack inside chests

Early Access: Week 52 in Review


A very productive 4 days after the last update, really hope I can keep this pace up, here's a long list of changes:
  • Projectiles can now be avoided if the `.m` attibute of the target changes or the target moves away more than ~72 pixels (to be improved later on, higher for healing) - `.m` attribute changes on transport/teleport
  • Improved the "hit" event documentation and added "action"/"incoming"/"target_hit" game/character events
  • New system: Penalty Cooldown, when you equip an item, `character.s.penalty_cd` is incremented 120ms - when you attack, your cooldown is increased by this cumulative (but decaying) amount - I suspect the dynamics might change with feedback
  • New Item: Frost Bow
  • New Projectiles: Fire Bow, Frost Staff, Harbringer, Oozing Terror
  • Fire, frost weapons, harbringer now have 2 looks on characters - one resting and one active look
  • This is internally a major change, significantly refactored how players/monsters (aka. entities) are sent and processed, they are now bundled with `start` and `new_map` socket events, so there's no vision delay when you first enter a map - Also, more importantly, when you focus an unfocused browser tab, parent.entities no longer become empty momentarily, it's always populated now, this change might break some things with a low probability
  • Save code works in bank if you don't change the slot name
  • Improved Dragold, new skill charging UI, multi burn has a different projectile, added armor/resistance, nerfed the multi burn damage and interval
  • Monster state restoration fixed (when the monster teleports back to its spawn), previously the contribution was reset for bosses, and the announcement was re-sent
  • When the server restarts, monsters that drop to 1HP no longer provide 100% drop and count as 1 kill, their drop is proportional to their hp and they count as 2.2X of their progress - so if a boss is only at 10% - it counts as a 0.22 kill - if it's at ~50% - it counts as a whole kill - going to document all these arbitrary multipliers at one point
  • Added "death" game events
  • New code function: get_focus
  • Increased Fire Roamers' essence drop rate
  • Monsters can now die from burn too
  • Both monsters and players can now die from damage return
  • New public character property: `.pdps` - exact metric that's used to calculate party share %
  • Evasion now contributes to both `.pdps` and coop points, burn contributes to `.pdps`
    A lot of other small changes as well (for example traps can now kill players)


Phew, it has also been 1 year in Early Access, was planning to do a review of year, but better not demotivate myself, doesn't feel like it was a productive year :)