Adventure Land – The Code MMORPG Guide

Beginners: Useful resources to get you started for Adventure Land - The Code MMORPG

Beginners: Useful resources to get you started

Overview

I collected a few useful Links to get you started. Things I wish I knew when I started out.Also, I provide a simple, approachable codebase for beginners, to build your own creations!

Getting Started

When getting started, things are always hard.

Most projects start out with a ton of research.

This guide aims to reduce that amount of research you have to do, and point you in the right direction, as well as provide you with some useful Links.

I am not a professional developer, but I got the basics down.

So if you want to run your own farming-party, read on!

Useful Links

I blogged about the game, and gave Beginner-Tips on how to get started.

An overview over the game can be found here[breaksome.tech]. If you haven’t bought the game yet, give it a read! Find out if the game is for you! Personally, I hate MMORPG’s, but I love this one – I explained the reasons in this post[breaksome.tech], so others can decide for themselves if Adventure.Land is their cup of tea! 🙂

I also collected my best Tips and Tricks for beginners and put them here[breaksome.tech].
These are things best described as: “I wish I knew that when I started”.
We’ll have a look on general principles of the game, as well as how to greatly reduce the resources your code eats up, in terms of performance.

Running efficient code is key in this game! If you mess this up, your client will run poorly, even crash (believe me, I know).

Again, check this post[breaksome.tech] out to find out how the game-loop works, and how to structure your code, so it has a minimal footprint on your resources.

Code to get you started

I posted all my own code on GitHub, you can find it right here[github.com].

I am not a developer myself. I consider myself an educated noob. I know what to do and how to build it, but I don’t write the most efficient and perfect code.

I follow the idea of “it takes a noob to teach a noob”. Because I’m not a professional dev, my codebase isn’t super complex. It’s well-commented and approachable for the average beginner (like myself).

I will now list what my own code is capable of. If you don’t want to use my code, use the following list as inspiration for your own code! One of the struggles when I started out, was finding out what I even wanted to do (because the game – in it’s supremely open approach – leaves all the decisions to you, which I absolutely love!)

So let’s get into what the code actually does:

General

  • Hotkeys: To load characters / create a party / stop characters
  • Custom Buttons and friendly User Interface for quick access to frequently used functions User Interface
  • Auto-move to the designated farming spot, over several maps / continents.
  • Auto-Farm designated monsters
  • New: Multi-monster farming! Designate multiple monsters to be farmed. Your characters will then farm several different monsters per day (in addition to their hunting quests).
  • Auto-use potions (health & mana)
  • Auto-Kite enemies. (All characters I use (Mage, Priest, Ranger) are ranged characters.)
  • Two Kiting-Modes (Walk backwards / circle around the target)
  • Seashells get exchanged for buff-potions
  • Buff-Potions get delivered to the correct characters, which consume them automatically
  • Fetch Hunting-Quests
  • Go hunting
  • Turn in fulfilled Hunting-Quests
  • Farming / Hunting small enemies get attacked by individual characters
  • Farming / Hunting big enemies get attacked by all characters (All characters target one single enemy)
  • Master-Mode (Define a master the other characters follow. Also: Only the master chooses targets. All characters then attack the chosen target. This lets you take on bigger enemies!)
  • Individual characters
  • The Mage can: Auto-attack enemies (farming), energize party-members, burst enemies (controlled and uncontrolled), and shield hurt allies from damage
  • The Ranger is capable to auto-attack enemies (farming), and he can use the hunters mark to debuff enemies. He also uses Multi-Shot (3-Shot and 5-Shot) for optimal farming efficiency. Also, he can both use the super-shot skill (higher dps), as well as the piercing-shot skill against armored enemies
  • The Priest also can farm on his own, heal individual party-members, as well as healing the whole party at once, if needed. He can also curse (debuff) enemies, use dark blessing (buff farming-party) and absorb sins (to protect your farming-party)
  • The individual character modules are still very basic. Farming low-level mob’s did not require writing complex code.
The merchant

The merchant can sell your loot on the marketplace. You can just drop your loot inside his merchant-stand, set a price and he’ll sell it.

I decided that, because the merchant cannot farm / generate gold on his own, he should act as a support characters for the “productive” characters.

So he takes care of a lot of things for you!

Every 10 minutes, the merchant does his round and fulfills a lot of automated tasks:

  • Close the merchant stand
  • Buy potions for all characters
  • Walk to the current farming spot
  • Deliver the potions to all characters
  • Get all the other character’s items…
  • …and all their gold
  • Go back to the market
  • Buy scrolls (if needed) to upgrade & compound the items the merchant got from the farming characters
  • Exchange any gems / chests he received
  • Deposit all gold above a certain limit in the bank. (Remember, to auto-buy things, the merchant cannot deposit all gold, he needs to keep some)
  • Deposit designated items at the bank (Auto-Store high-level / rare items, and items of your choosing)
  • Go back to town and open up his little merchant-stand

Once the stand is open, the merchant continues his work:

  • Auto-Upgrade designated items into a higher level item
  • Auto-Compound several designated items at once into a higher level item
  • Put these higher level items on the merchant-stand for sale (if needed)
  • NEW: Auto-Dismantle designated items to get crafting-materials
  • Sell “trash”, so your inventory doesn’t fill up. You can choose what items are considered “trash”. This “trash” will be auto-sold to keep your inventory free
  • Tidy the inventory so there are no gaps (from crafting / selling things)
  • Give other players the “merchant’s luck”-buff, with a chance to duplicate a free item from them
  • Auto-buy cheap items from other merchants. If they sell an item under it’s value, your merchant will buy it automatically. Sneaky!
  • Auto-Join giveaways: Automatically partake when a player hosts a giveaway – Merry christmas!

Other functions

  • Auto-exchange: If your merchant has an exchangeable in his inventory, he’ll exchange it at Xyn automatically.
  • Auto-exchange seashells: When your merchant has 20 seashells in his inventory, he’ll go to the fisherman and exchange it for a buff-potion. He then delivers the potion to the appropriate character (e.g. dexterity-potion for ranger) on the next round he does.
  • Autocraft: Designate items you want to craft. Farm several, different ingredients with the new multi-monster farming function! As soon as the merchant has all necessary ingredients in his inventory, he’ll auto-craft the item for you automatically!
  • Auto-Dismantle: Dismantle items of your choosing to get rare crafting-materials

Code Messages (CM’s)

  • If a character runs out of healtp-potions, it will ask party-members to pass some health-potions
  • Party-members will send the potions to the requesting character, if they are in range.

I didn’t do much with CM’s yet, but the modules to create (“sendCodeMessages”) and handle (“handleCodeMessages”) CM’s are in place and ready to use.

General functions

There’s a module called “helperFunctions”: It holds all functions in one place which are useful to every character (not to waste module-slots). They are quite helpful and take care of a lot of things:

  • Hotkeys
  • Starting / stopping characters and creating a party
  • Handle party-invitations
  • Auto-Transfer loot (to the merchant)
  • Drink / Relocate potions
  • Tidying the inventory (arranging all items, gap-free)
  • Following the Master, cross-map and cross-continent
  • Show status: Nice button with an abundance of information (Active hunting quests / Farming mode / Master / Map where yor characters are / What monster they’re farming / hunting / etc.)

Again, you don’t have to use my code. I recommend using this list as a set of features and code them yourself!

But If you follow this list and get stuck, the solution is always right here[github.com].

Battle-Tested!

The code is battle-tested.

This code is simple, but it works, I try to make sure of that.

I only publish a new version of my Adventure.Land code on GitHub[github.com] after it ran flawlessly over several days.

I try to make sure that if you use (some or all of) my code, it works, and it’s stable and reliable.

There might be an occasional bug, of course, but generally I only publish code that ran stable for several days.

In other words: Get that gold flowing right away! 🙂

Conclusion

If you have questions regarding the code, please post them here.

I will not merge commits from others into my GitHub project. It’s a learning experience for myself, too.
Fork it and add your own things. 😉

Thank you for reading, I hope I provided some useful resources to make your start less rocky and your research more efficient!

Have a good one!

SteamSolo.com