Sign in to follow this  
EndersGames

New MORPG Project Thread. An 8-Bit MORPG Development Path. not an MMORPG yet :p

Recommended Posts

EndersGames    128
Hi all.

Been working the last couple of weeks on an MORPG with 8Bit Graphics. In no way is it easy to program heh. I am programming it in Java and plan to release the client in Android. I feel that Android will give me a better player awareness also it will allow me to make the game free with paid content using the Android Market In App Billing API. Currently I am writing the base Client software in Desktop java for quicker development.

The Client/Server structure is setup so that each Client will have their own thread.

I do not have the "Game" part of the MORPG fully mapped out. But my general desire is to make it humorous. I plan on referencing older RPGs in a joking fashion.

My current Game Design goals are:

2 zones (maps) of 64x64 size.
2 zones of 128x128 size.
Several Starting quests.

4 Classes with Genders. Class names are as follows.
[list][*]Tank - (The damage taker and high damage dealer)[*]Caster - (Nukes, spells, and support)[*]Healer - (Player Support. healing, reviving, and curing)[*]Rascal - (Fast attacking, stealthy skills)[/list]I plan on having Paid classes that will combine abilities of the base classes with unique abilities

The game will be in 8-bit fashion. Graphics will liken to the days of Dragon Warrior on the NES. I am currently using DW graphics as Programmer art. I will replace with my own.

The logic code is mostly done on server side. The player requests an update on the current zone, and the Server will send the zone information. (Current entity positions)
The player will send to the server where they want to go in a zone. (/mov 0 0) via mouse click on a tile. The server will attempt to find a path to that point, and increment the player movements in the Game Loop on the server. Chat is done via zone as well. It will only send the message to the players in the same zone. most of the coding i am doing right now is the network code to make sure everything is working.

I am also looking to get feedback, ideas, and criticisms. (If you criticize, please follow with ideas on making it better :rolleyes:)

Below is a screen shot of my current progress.

Thank you :)



[img]https://lh3.googleusercontent.com/-KpYYe283t_A/Tqh4qxKUv0I/AAAAAAAAAI8/KKL3jB85U_k/s912/mmo2.png[/img]

Share this post


Link to post
Share on other sites
SimonForsman    7642
What kind of playercount are you aiming at per server ?

The one thread per client model will scale extremely poorly. You'll very easily end up running far more threads than the hardware can deal with forcing constant contextswitches (expensive) and you will have multiple threads operating on the same set of data (likely to require extensive locking), (Even for a MORPG with a low number of players per instance you want to run multiple instances on each physical server to keep costs down).

If the playercount per instance is in the 2-64 range (Which would be normal for a MORPG) i'd recommend using a single thread per game instance (That way you should be able to run one or two game instances per hardware thread without any problems and each thread will operate on its own dataset eliminating the need for locks entierly)

Share this post


Link to post
Share on other sites
sharpe    144
I totally dig this! :D

I would love to play a MMORPG with 8-bit-style graphics!

I'm not sure about the humor aspect, though. I'm never one for that type of thing. I'd rather the insider-jokes be more like they were in Dragon Warrior where [url="http://en.wikipedia.org/wiki/Howard_Phillips_%28Nintendo%29"]Howard[/url] was looking for [url="http://en.wikipedia.org/wiki/Nester_%28character%29#Nester"]Nester[/url] and in Final Fantasy where there was a tombstone of Erdrick (from Dragon Warrior) or Link (from Legend of Zelda) depending on the version. I certainly wouldn't like there to be very much at all of that aspect. Like, maybe a blind witch livin in a cave named Matoya looking for her magic eye to see, and who will give the player an herb to awaken a prince or something if they find it.

You know, it may be cool just to use the actual formulas for damage an everything as they were (meant to be) in Final Fantasy, just maybe re-balanced and tweaked. FF1 was horribly unbalanced in favor of melee characters. The system was pretty complex. Here are two links detaining the system down to a science:

[url="http://www.gamefaqs.com/nes/522595-final-fantasy/faqs/57009"]http://www.gamefaqs....tasy/faqs/57009[/url]

[url="http://www.gamefaqs.com/boards/522595-final-fantasy/41701255"]http://www.gamefaqs....antasy/41701255[/url]

Anyways, just wanted to drop by and say the project looks really cool! :)

Share this post


Link to post
Share on other sites
EndersGames    128
[quote name='SimonForsman' timestamp='1319675076' post='4877399']
What kind of playercount are you aiming at per server ?

The one thread per client model will scale extremely poorly. You'll very easily end up running far more threads than the hardware can deal with forcing constant contextswitches (expensive) and you will have multiple threads operating on the same set of data (likely to require extensive locking), (Even for a MORPG with a low number of players per instance you want to run multiple instances on each physical server to keep costs down).

If the playercount per instance is in the 2-64 range (Which would be normal for a MORPG) i'd recommend using a single thread per game instance (That way you should be able to run one or two game instances per hardware thread without any problems and each thread will operate on its own dataset eliminating the need for locks entierly)
[/quote]

I hope to be able to handle 100 players. After reading your post, I did as much research I can find about "One Thread per Client", and yes, I too also believe it will not fit the scale I have in mind. I also found some info about the Java NIO API. Looks like I will be racking my brain in figuring out how to do Network code again. :P

It seems way more complicated to do it all in a single thread. Multiple threads just made it so easy. (Wait for input, process, send to client)

Well, back to the drawing board. :wink:

[quote name='Sharpe' timestamp='1319677013' post='4877411']
I totally dig this! :D

I would love to play a MMORPG with 8-bit-style graphics!

[/quote]

Thank you! I always wanted to make something like this. This will be my first attempt at making an MMO. So I will have a lot of learning to do.

[quote name='Sharpe' timestamp='1319677013' post='4877411']
I'm not sure about the humor aspect, though. I'm never one for that type of thing. I'd rather the insider-jokes be more like they were in Dragon Warrior where [url="http://en.wikipedia.org/wiki/Howard_Phillips_%28Nintendo%29"]Howard[/url] was looking for [url="http://en.wikipedia.org/wiki/Nester_%28character%29#Nester"]Nester[/url] and in Final Fantasy where there was a tombstone of Erdrick (from Dragon Warrior) or Link (from Legend of Zelda) depending on the version. I certainly wouldn't like there to be very much at all of that aspect. Like, maybe a blind witch livin in a cave named Matoya looking for her magic eye to see, and who will give the player an herb to awaken a prince or something if they find it.

[/quote]

I completely understand that. Little easter eggs are better then taking quests completely from older games.

[quote name='Sharpe' timestamp='1319677013' post='4877411']
You know, it may be cool just to use the actual formulas for damage an everything as they were (meant to be) in Final Fantasy, just maybe re-balanced and tweaked. FF1 was horribly unbalanced in favor of melee characters. The system was pretty complex. Here are two links detaining the system down to a science:

[url="http://www.gamefaqs.com/nes/522595-final-fantasy/faqs/57009"]http://www.gamefaqs....tasy/faqs/57009[/url]

[url="http://www.gamefaqs.com/boards/522595-final-fantasy/41701255"]http://www.gamefaqs....antasy/41701255[/url]

Anyways, just wanted to drop by and say the project looks really cool! :)
[/quote]

Now this is exactly what I am looking for! I can use these formula as bases to create my own. They will come in handy :)

Thanks for the feedback guys. I will post updates when I am done with my next milestone.

Share this post


Link to post
Share on other sites
Sign in to follow this