MMORPG Adventure. Codename: Ancient Monkey World [STARTED - Phase0]

Hi, monkeys

The project has started. July 5th 2013. More devs need!!!

==== Quick start for Developers====

Contact to join: Call @atomix in this topic or PM, email me : ancient-monkey-world@gmail.com

I’m on the longest holiday since two years working for Gameloft, we just delivered funny Minion Rush game, check this out:
https://play.google.com/store/apps/details?id=com.gameloft.android.ANMP.GloftDMHM&hl=vi
So I have time to sit down a write something about MMORPG and my adventure in making one (if it’s not a forbbiden word). :stuck_out_tongue:

Prelude
I cant count how many times people saying that you can not build a MMORPG with just two hands and a computer… That mean no chance a one man army can even write that kind of game, or it going to be a failure. I’m not a fearless programmer nor a naive kid try to impress. I just think I can!

I was from a Database center solution then come to Game industry in a strangest kind of accident :stuck_out_tongue: As I was a pure Java programmer than become a fulltime designer. That’s kind of weird but teach me one thing “You can do extraordinary thing with the right tool”… not mentioned efford, time, knowledge, exprerience and passion…

The right tools weapon I choose is JMonkeyEngine and other opensources project to start to learn.

So did I tell you we can make a MMORPG with just an idea and a few thousand hours of working? Indeed. Here is the story:

  1. Your idea:
    Let’s say you have a good idea of a Game… an imagination world that people interact and fight, meet, share… you have a story to tell, and want to draw some impressive scenery or beatiful characters. Spend like a few years for the ideas, may be research and play a lot of games, use papers, talk with friends, travel around the world… Until you have concentrade enough for only one good idea.

  2. Your skills:
    Question: I can draw, can compose music, video, can code, can sing, can write script, can do Java stuff… Is that enough?
    Answer: Ummh, NO!
    MMORPG is a freaking black-hole of knowledges and experiences requirement. No estimatable amount of knowledge consider enough.
    But then I tell you is ENOUGH. At least you can do Java stuff and can draw, you can. The other you will learn when you are on the journey.

  • Programming: For the start, you need to “know” Java, the more the better. If you just write your first “Hello world” program 3 months ago. You are too hurry for a big challenge. Let make it at least 3 year exprience. I have 13 and consider people with much more expriences still facing problems of course. The years does not matter!
  • Assets: May be you should know how to draw and 3d stuff, the more the better. I recommend if you are at least 1 year with 3D modelling and animating, and should play around with tools. First is Concept. Then other things come quick : Sound, Sprite,…
  • Researching skill: This is very important if you are a one man army or indie team. You have to do research, brain-storming or ask people every time. So try to be active to get knowledge.
  1. Your workflow:

try Extreme programing: Extreme programming - Wikipedia

If you never in a professinal workflow before, try to do it simplier as your only have limited man power. Most valuable advice if you’re an artist do programming: Do it like Zen :stuck_out_tongue:

  • Smart and active: Research first, try to call out for help if need! Opensource are the key.
  • Flexible but manageable: Try to use SVN.
  • Shoot with both hands: Do both assets and programming can cause a mesh, do one at a time. After finish review, get approved by yourself or the leader. Continue developing.
  • Pirate spirit: Use place holder as much as your can. Skip concept, may use existed assets. There are plenty of free assets.
  • Avoid premature optimization: If still concerning about design, make it work first.
    … [more to come]
  1. Your tools:
    Of course this is big task, Your tools are various from DDC to Image/sound editor… But let’s name a few with zero cost! (mean open-source or free)
  • JME SDK and its plugins (Programming, database tools… a God-like tool for smart monkey)
  • GIMP (2d: concept, texture…)
  • Blender (3d)… and there are a lot of good 3d tools. Blender are the best integrated tool to JME
  • [Other assets tool like sound editors, sprite… come later]
  1. Your framework:
    This is the most important thing that can make your dream possible. So let me speak a bit slowly:
    I spend years for researching in this area (MMORPG), I came across WorldForge, Darkstar,… write my own Network engine and related DB stuff using Hypertable, ORM… (bad mislead time)

And finally I found a nice, free but powerful framework: The Threerings project http://www.threerings.net/code/ 2 year ago.

It taken time to research and admit that they do it nicely and scalable (i’m not going to blow it up). If you think you are better than me in reviewing go ahead, i also need valuabe comperations of framework at the moment:

OOO Core Libraries

Narya, Nenya, Vilya, and Clyde: a collection of Java tools and frameworks useful for making games, 2D and 3D, networked and otherwise.
Getdown: a system for deploying Java-based applications and updating them over the network following installation.
Depot: a declarative Java object-relational mapping library that uses EJB3 annotations but is not managed like Hibernate and friends.
GWT Utils: a collection of utility and user interface routines that make developing games and applications in GWT more pleasant.
Honeybird: a library that makes interacting with the Google Analytics API more pleasant.

So what I tell you that amount of tool are pretty enough for thousand players game. I’m not going to do Three rings advertisment, for short, it’s your chance to build a MMORPG.

What you will see at first that the OOO even support 3D stuff, as some of their developer also contribute in JME version2, then write their own engine. It’s quite bad compare to JME at the moment. So maybe you want to use JME3 to do graphics stuff and other tools for Network. Deploying and DB. AI stuff are often quite difficult to write your own but in the end, I will offer you a choice.

But is it real you can make a MMORPG game with just that?
Of course not. It will take more than thousands of hours to code and to draw, do experiments, fix bugs… This is just advice point out a good way before start your own journey.
People may come up with different levels of knowledge and experience. So here and there, they may want to replace an open-source project by their own library. I also write almost every modules of the architure, but for myself I can not provide enough efforts for an opensource project maintaining. I just can keep bad code, release a few good one and write down articles.
For people who are exciting of community project as MMORPG, may be this time you can gather up. I’m not guaranty that I’m enough of abitily to make it to the end, but at least we have a working base to start with. Anyone?

10 Likes

ok me :slight_smile: i would like to join, i could get lots of exp out of this :slight_smile:
already trying to do something, but its not mmo, just singleplayer atm, but can be changed trough connectors to be mp

1 Like

I liked the read, it is always nice to hear from someone else who has this obsession, though I am not looking at MMO, just 10 players would be nice or even a decent single player game.

I find that the biggest challenge is to get the hours put into the project. Personally I get up early, every morning, enough to put in 2 hours of work on my game each morning, before going to work - which is fortunately quite flexible, then work again after dinner when I return home. And weekends - who needs weekends?

I did invest in a copy of photo shop, which I think is worth it in the long run, especially because I got one of the last hard copies as it seems that Adobe is moving all their stuff to the cloud, with subscription in mind - which is more expensive in the long run. I also learned to use blender quite extensively, initially through my job. For audio I am using Audacity, which currently covers my POOR skills in audio.

For me the biggest technical challenges is networking and sounds, two areas where I have no proper experience. I really wish I had the chance to work on a professional game, to get more insight, but my love for Java seems to get in my way. Minion rush looks nice, what was it done in?

Best of luck!

1 Like

Well said and agreed!
Wandering on that path myself. Played so many MMOs and RPG’s in my time it’s not funny, both before and after my 2-year+ WoW addiction. Still am playing some (Forsaken World & Neverwinter atm).
I also believe one person or a small team CAN make an MMO, even a good one, it all stems on: Time, Planning, Dedication, Discipline, Commitment, Tools and most importantly: Imagination! The thing I’m lacking right now is the Time bit… but we do what we can.
I have my TiledTerrain library up and running (although I think it still could be improved) and right now I’m working on the terrain & world editor. Plus I’ve been writing all my ideas down into a notepad as I think of them so I keep the ideas for when the game mechanics time comes.
I think that is the most important aspect: write down ALL your game ideas and concepts, then go back and read over them as you develop the game and think of more or refine what you have, this way you can ensure the maximum story and depth of experience for your players. I’ve been sketching maps, towns, etc just to help get the feel for the world and how it might end up. I used to play pen & paper D&D back in the day, both player AND Game Master, still have all my original books and papers too! :slight_smile: So no shortage of the imagination bit here!

Enough of my ramblings… Keep at it, looking forward to seeing the results :slight_smile:

Enjoy.

This Sound very Interesting !
I Programm Java Based Games for years, but an MMORPG is a very very big project.
The Problem of such games is not the scripting or Modeling/Artworks. This is “only” large diligence work. But the troubleshooting … jesus! :smiley:
i would like to join, too :slight_smile: I love to solve Problems in Code, its like Tetris for me :slight_smile:

@nihal “And weekends – who needs weekends?” :smiley: :smiley: :smiley:
i spend about 2-3hrs a week, lost motivation in doing it alone :frowning: when i was working with some other guy, we coded every night :slight_smile: so actually im willing to join any project :slight_smile: (should be survival rpg with mp in mind :smiley: :smiley: :smiley: )

p.s. perfect game should be like this:
terrain and decals like in skyrim or oblivion, constructing like in wurm, survival like in dont starve or stranded 2 and pvp like in bf3 :smiley: :smiley: :smiley:

Thanks you guys, you are all welcome. I also believe that game making are fun, as I do it every day for my job. I also join some GameJam and Hackathon events, and appriciate the spirit of participated game developers. They don’t even care about the prize, just concentrade about ideas and fun!

p.s. perfect game should be like this: terrain and decals like in skyrim or oblivion, constructing like in wurm, survival like in dont starve or stranded 2 and pvp like in bf3

So I don’t want to limit our imagination at the first place. Let’s the ideas flow out of your brain!
What i can offer is a strong frameworks and tools that you can use to create that idea.

At first I plan to do something like Half life.
My favourite game of all time, so it’s a first person shooter and can play campaigns, having deep story and fun at the same time.

The most amazing part of this journey is: we have a lot of Editors for every aspect of the game. I came from UDK and then Unity so I borrows a lot of their editors ideas. They are not 100% complete, but will soon be in Beta status in August, as I bring the tools to the National Software Contest of my country, Vietnam. They’re almost workable but I want to integrate them as plugins of JME SDK, so they need further development, here are their status:
[Addition to SDK core]

And last but most important is a working MMO Game skeleton based on Three rings framework.
So it’s also a chance for you to have the most powerful tools right under your hand at once. We are standing on the shoulder of the giants!

P/s: I have no problem with sharing this suite of tools in Update center after November of this year, when the National Software Contest ended

3 Likes

:open_mouth: do not know what to say

Interesting to hear about the Three Rings stuff. I thought it dead/unused. The mailing lists are pretty silent anyway. (Or maybe I’m subscribed to the wrong one…)
Back to investigating frameworks, I guess. Oh well, it’s not that I have better-working code for what they do :slight_smile:

They are accquired by Sega! :stuck_out_tongue: That’s reason the for silent since then.
… but GoogleCode and Github are active like months ago. They also continue investigating in a 2-3D game engine named Clyde. I not interesting in it anyway but the good thing is they abstract out and modulize amost everything.

Yeah, I now remember what put me off their libs - they aren’t split at the right points, i.e. I’d be pulling in lots of cruft I don’t need.
Not a real problem in itself, it just looked like it wasn’t properly abstracted and generalized and polished for use by people doing different stuff, so I didn’t explore it further.
But maybe that was too hasty. Always the same problem: too many frameworks around, too little time to actually try them out.

Getdown specifically is self contained and works well - with limitations I’ve discussed a few times on these forums.

Yes, getdown seems nice, except for initial downloads.
Does it do incremental updates? That would still be valuable.
… and are there problems other than that wants-to-install-to-Program-Files problem?

It does do incremental updates, although at the “jar” chunk level.

i.e. if a jar file has changed you re-download that individual jar rather than the whole game.

In HeroDex we deliberately split the assets jars into smaller chunks along fairly logical lines and now if (for example) I want to change a sound I just update that jar and that’s the only thing that needs to re-download.

We used launch4j to wrap getdown. Inno Setup to create an installer for the wrapper. Added a step to the build process to automatically create the getdown digest.

Now the original download is just the 1mb or so for the wrapped getdown installer. The first time it is run it then downloads the game. Subsequent runs it just downloads anything that’s changed, checking each time you start the game.

Hmm, might be worth writing an article on this sometime I guess.

2 Likes

@zarch : nice rig: Inno Setup + lauch4j + getdown … Please write down an articles :

<cite>@zarch said:</cite> We used launch4j to wrap getdown. Inno Setup to create an installer for the wrapper. Added a step to the build process to automatically create the getdown digest.

Now the original download is just the 1mb or so for the wrapped getdown installer. The first time it is run it then downloads the game. Subsequent runs it just downloads anything that’s changed, checking each time you start the game.

Hmm, might be worth writing an article on this sometime I guess.

We need more informations and articles about deploying “real” JME3 games and applications!

Idea:
I’m also thinking about another way to not using WebStart by let Mavenize my game and setup a working local respository for just the game (because it will be opensource anyway). The design’s kind of overkill at first but toward the open-source solution and free the infrastructure of the game project. This idea can apply for games going to be a distributed software with user add-on and suchs for the future.

@atomix said: @zarch : nice rig: Inno Setup + lauch4j + getdown ... Please write down an articles :

We need more informations and articles about deploying “real” JME3 games and applications!

Idea:
I’m also thinking about another way to not using WebStart by let Mavenize my game and setup a working local respository for just the game (because it will be opensource anyway). The design’s kind of overkill at first but toward the open-source solution and free the infrastructure of the game project. This idea can apply for games going to be a distributed software with user add-on and suchs for the future.

…or you could “gradlize” your build and avoid spending 1/5th of your dev time tweaking maven project files. :wink: :wink: :wink:

Yeah, I wouldn’t really recommend something like maven for this.

@pspeed:
Gradle is nice but what i like more about Maven is a strong integrated features with IDE (Netbean for example) and current JME’s project structure (with Native, etc…) . In fact, you know we can use Gradle’s Maven plugin but for me is not enough to deploy my whole game … This blog offer a trick for Native libs, but I found it hard to get right after a few failures…

I also have Hibenate’s maven Goal to refresh my database’s structure <=> config <=> pojos after one in the chain was modified. I just use it and don’t want to write anything more.
At least, I don’t see too much reason to move to Gradle, or the Gradle’s Maven plugin yet!

Can you provide more examples how move to Gradle can improve JME’s game deployment or project structure … :stuck_out_tongue: Thanks

This blog is where the idea come to me that I want to move from Getdown only to Getdown via Maven, then Maven + Osgi only :stuck_out_tongue:

I don’t see how he’s gaining anything from maven? All the heavy lifting is being done by getdown.