Best Resources for a diablo type MMORPG?

BlitzMax Forums/BlitzMax Beginners Area/Best Resources for a diablo type MMORPG?

amando(Posted 2011) [#1]
Hi all,

First of all, let me tell you that I spent days looking blitzmax forums with all the questions I kindly ask. So please, don't forward me to search forums.

I licensed an isometric MMORPG like diablo game over 8 years ago. It was was quite a success that time and licensed the game and source code. It could handle over 200 online players (tested) on average Pentium 3 CPUs.

Client code was written in C++ code with just 256 colors (PCX sprites), poor networking code, and graphics were not the best.

Game was online for a couple of years with quite success, but with 3D MMORPGs and the amount of money invested, 2D isometric games were no much intesresting.

Now I am thinking about rewritting the client (and possibly server code) with Blitzmax and it's amazing capabilities.

Would do you think would be the best available code for Framework, GUI (for games, not tools), particle system, etc?

Is Blitzmax Threading code stable? I have read that Blitzmax is really fast.

Just for your info, the game is 2D iso, so don't think on a 3D MMORPG. It's was kind of diablo clone but with MORPGS (+200 at a time) game.

Lastly, I have noticed that forums are not getting as much traffic as before. Is Blitzmax still being updated?

I will appreciate all your info and help. In the meantime, I will setup a server for someone of you to test, and have some fun.

Amando


Czar Flavius(Posted 2011) [#2]
Hi. Welcome to Blitz!

I licensed an isometric MMORPG like diablo game over 8 years ago. It was was quite a success that time and licensed the game and source code. It could handle over 200 online players (tested) on average Pentium 3 CPUs.
That's impressive!:D

Would do you think would be the best available code for Framework, GUI (for games, not tools), particle system, etc?
I haven't used a framework, but there are a few around and I'm sure people will suggest some. Personally I prefered just to write the game code myself from scratch and build up my own library of handy functions as I go along.

For GUI, I can suggest FryGui or CeGui. FryGui is native BlitzMax. It is simple to use and get going and I'm using it in my current project. CeGui is a C++ library wrapped for BlitzMax, it's very powerful and with tons of features. However I found it too complicated for my needs.

For particles, I use the TimelineFX library. It is also native BlitzMax so easy to integrate. Not only does it come with a polished library, it also comes with a very polished interactive editor to design your particle effects!

Is Blitzmax Threading code stable? I have read that Blitzmax is really fast.
I don't know as I have never used threading. BlitzMax is very fast and compares well to other languages. If your old game worked on Pentium 3s, you're in for a dream!

Lastly, I have noticed that forums are not getting as much traffic as before.
Unfortunately, not :(

Is Blitzmax still being updated?
Well, threading itself is a relatively recent edition! Right now they are working on a seperate product called Monkey which oriented for mobile phones and Flash and things, so things are still going on. I'm not expecting any major additions to the BlitzMax language itself any time soon, but the language itself is pretty mature as it is right now with everything you need.

Last but not least, I can highly recommand RakNet as a networking library. It is very fast and reliable and it has been wrapped for Blitz. It's free for a free game but for a commerical game you have to pay but only after you have earned a certain amount of money. It's very professional and polished though.

And also checked out Blide, 3rd party code editor.

Last edited 2011


ima747(Posted 2011) [#3]
Welcome!

If you're working on something from "back in the day" you should really have no problems with speed at all.

Threading itself is stable with the following caveats:
Threading is inherently dangerous. It's very very easy to make a misstep and cause some seriously annoying stability issues. The documentation is also not great, however I wrote a beginner's guide in the tutorials forum a while ago which should help with the basics.
The Garbage collector for multithreading compiled apps is not flawless. It's totally fine for most things but if you start doing some wonky resource management it can trip over itself from time to time (you've generally gotta hit it with a stick to make this happen, but it is possible, the single threaded GC is VERY hard to break, generally it's a module's fault if something goes wrong with that.)
Not everything is threading safe so you can't expect it to solve all the worlds problems. Just like knowing how to use it you have to know WHEN to use it. There's always a workaround for non thread safe things (like secondary event pools) but it can add a lot of complexity.


GW(Posted 2011) [#4]
I would recommend 'HighGui' over Frygui It's about twice as fast in my testing.

Also,I second the recommendation of RakNet.

I've written a MMO style server with Bmax and Raknet and never had to resort to multithreaded builds.


amando(Posted 2011) [#5]
Thanks for your answers! I have been searching for all the modules you suggested and finally found most of them.

TimeFX looks awesome to replace sprite based spells that game uses instead of particles.

Raknet seems intimidating! I would look under the examples once I can compile it. It is giving me an error when compiling with threaded enabled on. I have bought Blitzmax just a week ago, so I will need a lot of time to begin doing some work.

Do you have more suggestions or examples?

Thanks for your help


ima747(Posted 2011) [#6]
Make sure younrebuild your modules with and without threading enabled when you modify...


YellBellzDotCom(Posted 2011) [#7]
If you need any inspiration of what blitzmax can do, check out the games listed and of course look at Basilisk Games Eschalon Book 1. As far as I remember that game was written solely with Blitzmax and without any third party libraries.


amando(Posted 2011) [#8]
Yes Xyle, it's indeed a wonderful game. I haven't found what kind of GUI or Framework they use for doing such amazing game (apart from a programmers expertise).


YellBellzDotCom(Posted 2011) [#9]
Just a follow up...

Quote from Tachyon
"For those of you who want the beef on the tech side of it: it(Eschalon Book 1) is made in 100% BlitzMax code, no 3rd party add-ons. It can be compiled with a vanilla BlitzMax installation."

From
http://www.blitzbasic.com/Community/posts.php?topic=74055#830572


Gives a really true sense of the capabilities, especially since no 3rd party addons were used. Of course I'm sure some in house modules and custom frameworks were cleverly created.

Last edited 2011


Czar Flavius(Posted 2011) [#10]
I don't understand the "pride" thing of using no 3rd party modules. If you want the challenge or it's just easier for you that way, go ahead. But if there is something I need and somebody else has done it, why reinvent the wheel?

In my game I use:
Raknet
Libxml
TimelineFX (particles)
FryGUI
Brucey's random mod


SLotman(Posted 2011) [#11]
Sometimes is useful to code something yourself.

Sometimes - and just sometimes - you'll need something that 3rd party libs/modules don't have, or can't be implemented within it's setup: on those cases, is better to have something done by yourself, that you can fully understand and modify to do whatever is needed.

But yeah, if you can cut corners with stuff already done, then by all means, do it :)


YellBellzDotCom(Posted 2011) [#12]
I wasn't knocking any 3rd party mods or libraries or the method of using 3rd party addons. Just giving an example of what can be accomplished with Bmax out of the box.

Its just nice to know that you can make some really terrific games with Bmax without having to install this, download that or get something else.

In my opinion the majority of BMax users utilize 3rd party mods and libraries due to the time saving factor and as you put it "Not having to reinvent the wheel".


amando(Posted 2011) [#13]
Thanks for all your replies. Sorry to not able to response, I couldn't. Now I am fully time working on this project.

I have doing some tests and ENet is working perfectly as the MMO arch is tile based instead of per pixel movement. Server is going to be coded in C# and RealStudio with a native ENet plugin. Being Server the most time consuming part I decided to split the MMO into several Zones that will run per core on an independent executable, allowing the Master Server to dinamically create new ones or split a Zone into subzones if there are more than 255 players per zone (ENet limitation).

By the way, the game I licensed is The 4th Coming, (www.the4thcoming.com), one of the 1st available MMOs, still developed by the new company that acquired it. T4C although still be developed, it's an aging C++ client that has lots of limitations. Feel free to download and test it for free. I can create a private server for people interested in playing, although new game will not be T4C based in any case, although a lot of experience came with it. Same as Diablo and Torchlight..

Now comes Client.

Seeing what BlitzMax is capable of doing I will rely on it (possibly Monkey after it gets mature), speed and multi-platform is the only choice I see for 2D games.

Here I ask you for some kind of collaboration for some people interested in joining a team of people that can create a game client.

Client will be 2.5 isometric and make use of hardware for advanced 2D effects. Use TimelineFX for area fx, spells, bluffs, weapons, character, etc. ENet as UDP library would be use at this stage, although can be changed in a future with other library (not Raknet). GUI, it's open to your suggestions. LUA and or other kind of scripting for easy modification of GUI, etc. Windows, MacOSX and Linux are key for success.

I am open to all possibilities of collaboration and would be glad to join a team of talented developers and designers to create a prototype of a running zone, with the basis of a RPG.

You can post to this topic or send email at amandoblasco (at) gmail (dot) com if you are interested or send your portfolio, designs, ideas, comments, suggestions, etc.

In the meantime a new website with Forum and Agile Project Management is being setup, although I will like also to use blitzmax forum, that has decreased activity.

Amando


SLotman(Posted 2011) [#14]
Hey! I was a beta tester on the 4th Coming (a long, loooong time ago)! Cool to see it is alive somehow :)

Too bad I don't have time to play it or contribute with developing a client now, it would have been fun :(


amando(Posted 2011) [#15]
Yes, The 4th Coming was a fantastic MMORPG at that time. Still has a nice niche of players after 10 years or more. Development of this new MMO will follow its roots, but with a much better server engine and hope a brilliant client.

Sad you can't contribute at this time, but maybe you can join the team later ;)