Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 07 Aug 2009
Offline Last Active Dec 21 2012 04:59 AM

#5011021 An MMORPG as a Javascript/programming teaching tool

Posted by on 15 December 2012 - 02:18 PM

I've been developing an MMORPG to use as a teaching tool for Javascript, HTML, and other programming concepts. It's received a huge amount of attention lately in various programming communities. I think the GameDev programming community will be especially interested to learn about it. The game is called Topia Online, and the game engine is designed to give player's full scripting capabilities and a marketplace to share their creations.

Here is a screenshot of the marketplace:

All creatures in the game are coded by players, limited only by their creativity and the limitations imposed based on their characters skills and resources. Scripts execute within the context of your character, so you need the appropriate abilities and reagents to invoke scripts. Players can also create their own interfaces. I am currently working on a sandbox which teaches Javascript in an interactive way.

Here's a game screenshot:

Our Kickstarter is trending slowly, and we're having a hard time explaining to non-programmers how they can enjoy the game. We're reaching out to a lot of IT / 'technical' communities to help us get a following. I'm not trying to advertise the Kickstarter, so I won't link it here, but I would definitely like to spark some discussion about 'programming in online games'. I also think this game will be the birth-place of very complicated automated ecosystems and society.

#4997127 Are open pvp + full loot SANDBOX mmorpg's still possible?

Posted by on 04 November 2012 - 04:29 AM

Since I am developing a game that is specific to this topic, I figure I would weigh in on my design choices for this genre:

The problem with permadeath/open pvp:
The problem with most people's thinking on permadeath/pvp is that it's applied to a game that's very similar to 'modern MMORPGs'. They feature long grinds, repetitive game content, lack of 'low level fun', dying due to lag, griefers, etc. It also spawns 'take no risks' gameplay habits. Players will hide in safe areas, fight only low-level creatures, and generally avoid any risk of death. Permadeath can only be successful in games that are designed from the ground up for it. It brings numerous problems to the table that most online games have not solved. As a result, permadeath/pvp often hampers a player's ability to enjoy all of the game's content. The infamous 'rage quit' often occurs as a result of losing a high level character, which damages the overall playerbase and puts a sour taste in the victim's mouth.

Solutions I am implementing to overcome the negatives of permadeath:
For the most part, any 1 or 2 of the below solutions fall apart without the rest of the features to counter-balance each one. Making a permadeath game fun and rewarding is a careful balancing act.

1. Accept that players are going to die a lot, and reward them for doing so. This is the 'roguelike/realm of the mad god/arcade' solution that is often implemented. When a player dies, give them a 'score' and show them their achievements. Unlock new play styles, encourage them to try new character combinations, and provide new ways to enjoy the game. This will often create a 'okay, just one more time' mindset that will keep a player hooked to try to unlock new things each time they play. Moreover, if a player is scored and put in a 'hall of fame' list, they have some bragging rights and some remembrance of their character that they can show off to their friends even after death.

2. Implement a combat system that allows a character to defend himself in the event of disconnects/lag/AFK. This is one of the trickiest solutions, and not always recommended. Automated combat routines can be a cool feature though, when implemented properly. The idea is that if the player is not entering commands, his character will still continue to perform 'auto combat' routines. These routines could either be designed by the player themself, or by the game's creator. In my own online game, I have provided a scripting language that allows players to fully customize their character's combat routines. In traditional RPGs, this system is relatively easy to implement, though it may never be as smart as a 'real player'. However, for action-based 'twitchy' games, this solution may not work.

3. Design a game world that is equally fun and challenging at 'high level' as it is at 'low level'. Sandboxes are the perfect environment for permadeath games, because they often let the player loose to do anything that they feel like doing in the game. It is important to ensure that there are very few repetitive activities that encourage constant 'grinding'. Huge timesinks that grow a player's character will only infuriate them more so if they end up dying. Moreover, when they create a new character, they should be able to jump back into activities that they WANT to do, rather than repeat activities that they don't want to do. Advancement in the game should be based more on material possessions and 'the way they play their character' rather than 'I killed 1000 orcs'. There should also probably be diminishing returns on the character's growth, so that 'new characters' can close the gap with older characters a lot faster. (but still allow older characters to grow in 'strength' slowly)

4. It's important to encourage the player to still 'take risks'. If the player can advance simply by doing low-risk activities, there is much less incentive for them to take risks that could involve losing their character. There should be plenty of 'high risk' activities in the game that offer the player rewards that are not obtainable through low-risk means. The risk for these tasks should be clear, so that the player feels responsible for their decisions, rather than being punished for unknown random gameplay mechanics. Finally, for players that take these risks, the game should broadcast their achievements to give other players something to aspire to. In other words, high-risk actions should be visible to others.

5. Killing other players should have consequences. However, the consequences should not be so negative that it completely hampers a player's will to fight other players. In a permadeath game, the consequences will often be that if you kill by the sword, you will die by the sword. If you kill other players, chances are that someone will kill you as a result and you will lose your character. Something that I believe works is a 'bounty system', which encourages other players to seek 'murderers' to claim bounties. There could also be bonuses/incentive for a player to create a new character to hunt down and get revenge on his killer. Lastly, everyone in the game should have a fighting chance. It should be possible for groups of players to take down any single player, even if the group are 'newbies' compared to a single veteran player. This will prevent extremely 'high level' players from camping or griefing new players.

6. Losing all of your items should not be a huge deal. One of the games that did this properly was Ultima Online back in it's prime. It hurt to lose all your stuff, but you could be back on your feet within an hour usually. This is because there were diminishing returns on the quality of equipment. The difference between a 'Sword' and a 'Sword of Power' was decent, but you could still kill many things with a plain sword. Rare and awesome equipment should be present in the game, but it should not be so powerful and rare that it is completely demoralizing to lose it. As I said earlier in this paragraph, Ultima Online was an excellent example of the careful balance between items and equipment impacting full-loot gameplay.

7. Recreating a character should take less a minute. They should be able to 'save the template' for the last character to easily get back into the game. They should be able to easily use the same character name and appearance as well. Death may take all of their character's acievements, skills, and property, but it's important that they get back into the game without a click-fest. Moreover, once inside the game, they should not be forced to perform any tedious 'newbie tasks' that actual new players may have undergone. These can be account flags or options to bypass tutorials, newbie quests, and so forth.

If you agree on any of my above points, please follow my progress as I develop 'Topia Online' ( http://www.topiaonline.com ). I am exhibiting many of the above examples in this upcoming MMORPG.

#4993763 Are open pvp + full loot SANDBOX mmorpg's still possible?

Posted by on 25 October 2012 - 06:13 AM

I just got my site online at www.topiaonline.com .

This game will probably satiate your desire for open PvP / full loot sandbox once it's released. ;-)
Contact me at joshrmt@gmail.com if the feature list excites you and you want to stay up to date on the game's progress.

#4972707 Thoughts on my perma-death always-persistent bot-based MMORPG

Posted by on 23 August 2012 - 01:10 PM

I've been developing a game & game engine for the last 6 months, here are the cliffnotes:

* Permadeath (Character is deleted upon death).
* Always ingame (Every character is always present in the game world, when you 'log out' your character is still ingame)
* Scriptable avatar (Your character, hirelings, spells, etc can all be custom scripted using an in-game script editor)
* Skill-based advancement using achievements/milestones.
* WASD tile-based movement with semi-automated combat.
* Ability to build/destroy anything in the game world if you have the resources.
* Full PvP / Full loot.
* Script marketplace to allow players to share/sell scripts (for ingame currency).
* Customizable on-the-fly game engine, all in realtime.

The idea is that players will play the game manually, but when they 'log out' their avatar will be taken over by scripts that the player has set up. So while offline your character may continue to chop trees, grow crops, fight monsters, etc. You can also hire 'henchlings' that will perform scripts for you.

All scripts are created using Javascript and are 'always running'.

Here are some screenshots of the game client. It is currently using placeholder graphics.
Let me know your thoughts, or email me if you would like to discuss it further: joshrmt@gmail.com

Attached Thumbnails

  • mainGame.png
  • marketplace.png
  • scriptEditor.png
  • chat.png