Hiho! So I have big plans to start build a mmorpg with isometric engine and im asking piece of advices. First of all mmorpg would be someting like this games Tibia and Endless Online. So it would be isometric game with windows dialog or how ever its called. Basically my game programming background is very short but my will is high to program games. I can use C/C++, Java and MySQL. My first game that I really finnished can be found here. Im sorry that site is in finnish and so is the game but im sure u will find out where im capable right now. Perhaps u already found out that we have nine university students game studio with wide-range of know-how. That team might be behind this mmorpg one day after I have done some prototype or so. So what comes to my help that I was coming to ask from U. At the begining I would love to hear from U which books should I buy at the beginning to be able to program isometric mmorpg with low lvl graphs? Best thing would be that if book could offer a good isometric mmorpg engine or do I wound one from internet :) ? Right now I own next books for game programming Tricks of the Game Programming Gurus and Developing Games in Java. Thanks! [Edited by - arachidyl on December 16, 2005 7:03:06 AM]
As far as I know, there exist no book out there which is worth buying to teach you how to develop MMORPG's.
I have bought a few books on this subject; "massive multiplayer game development", and "designing virtual worlds".
The former is not even a good paper weight. It's really just a collection of poorly written articles... you would learn MUCH more from just searching the net.
The latter is actually a very good book - however it does not speak on programming. It is a design book, and worth every penny. Awesome book to help you spark ideas, written by someone whos been doing this stuff for years.
My advice to you - start slow and work your way up. Build an online pong clone. THEN build a mini-RPG that you can walk around in. Then add online elements to it, let people connect to each other and walk around and chat. Keep adding pieces. Years later, you might have a game [grin].
PS- I strongly suggest to NOT use C++. Creating even a small scale 2D MMORPG is VERY difficult, and more important time consuming. Do everything you can so shave time from your development cycle - this means avoiding C++ like the plague. Go with Java if thats what you know and are comfortable with. Take this from someone who spent a year+ developing a 2D MMORPG in C++ (www.ftaonline.info). If I could go back in time, I would have used C# or some other high level language. (And sadly, I would have gotten much further in my game).
Graveyard filla u really turned my opinions upside down. I would never thought about using Java before your post. Some how I felt like C++ would rock in mmorpg developing. I would be glad to hear more opinions from this case developing mmorpg with C++ or Java.
Just did some fast googling and there really was some mmorpg developmented in Java. Like Wurm and Jrpg but those didnt attracted me yet.
If its really worth to use Java then I/we should develope our EtteriHippa game to work as a multiplayer game via internet. Im sure that would give me more information how hard it would be to build a mmorpg. After that we might have enough know-how to work with isometric mmorpg with Java.
The language is probably one of the smaller hurdles you'll have to jump when developing an MMO. There's no reason you can't do a perfectly fine 2D isometric MMO in Java.
What I would worry about is where all the art would come from: who's going to draw all the characters, items and levels?
What I would worry about is where all the art would come from: who's going to draw all the characters, items and levels?
Right now im going to make a mmorpg prototype and after that more peoples will join this project. Im sure our Kuolemaa ja Kukkasia (Death and Flowers) game studio is more than willing to join this project after proto is ready. Right now im feeling like 9 peoples is too much at the begining. There is three very good game artist which might be enough for 2D mmorpg graphs. Right now im keeping low profile and hasnt even talked to our team. Just need to get enough information before im going to suggest this project.
Im still willing to hear good books for starting this project and opinions about Java in mmorpg production. Did some research and found this book Killer Game Programming in Java. This book has some basic things about isometric game programming. It even include basic engine for isometric game that might be good kick-off?. Another good discovery was networking part.
Right now im needing a book about saving things in database. Book could include some usefull information about mmorpg developing plus how to use MySql database efficiently and properly in mmorpg programming.
Just pick up any decent book on SQL. Really, the SQL part of a small MMORPG is trivial compared to, say, system development or something; you won't be writing any advanced query's or anything. Once you know the basics you can apply it to anything, there's no need to get specific on MMORPG's.
[Edited by - graveyard filla on December 17, 2005 4:05:48 AM]
I hope you do get a few good recommendations but, in my experience, books on game programming have been a complete waste of money. Why? Because they fall into 2 catergories: theory and how to program Asteroids. Theory, particularly in MMORPGs, is something you pick up by playing. Articles on the subject are a dime a dozen online (try uo.stratics.com), so why would you pay $50-60? And those that center more on programming leave you with a rudimentary C version of Atari2600 software. They don't discuss hit detection, physics, events, multiplayer, or any of the real problems that trip up people that can make it past Hello World.
If you've found a book you think will help your particular project, though, then by all means go for it.
Also, SQL will be very easy to pick up, especially if you're just loading and saving item data. C# has a few classes that make interacting with that database very easy but it's still very possible even as far down as C if you can get the libraries for your vendor linked right. Java I have issues with, but I see no reason a Java programmer would have much trouble. Good luck!
Yes, I too would second graveyard filla's suggestion to use Java for the implementation on the server (the client being another story). With Java's garbage collection, you don't have to worry too much about memory leaks-- while, if not managed, a memory leak in your C++ app could potentially bring your whole server down with enough users. Also, I find that Java's built in libraries for socket programming (java.net, java.nio etc) make for MUCH cleaner code than the archaic Winsock/Berkely sockets libraries. Porting a Java app from one OS to another wouldn't be near as big of a problem as it could be with C++.
Unfortunately, there really aren't many programming-centric books out there made specifically for MMORPGS, let alone any written with Java in mind. However, I can point you to a couple of good resources for network programming in general:
Killer Java Game Programming: http://fivedots.coe.psu.ac.th/~ad/jg/
This page contains the unrevised chapters for the book. The networking chapters are particularly useful-- read the first couple, and you're ready to do a simple chat.
Then, a book called Java Network Programming: http://www.amazon.com/gp/product/0596007213/qid=1135158421/sr=8-9/ref=pd_bbs_9/103-6139179-1187844?n=507846&s=books&v=glance
This book isn't necessarily made to be read from start to finish; rather, it serves as a good reference. There are also some nice sections on streams, threads, and buffers in Java-- all of which are essential to writing your own socket server.
Though written with C++, Ron Penton's MUD Game Programming book could prove useful conceptually.
Finally, if you want to connect Java to Mysql (which is a lot easier to do than with C++ IMO), mysql.com provides a Mysql Connector/J package that will do the trick.
If this is one of your first projects, I'd be cautious since your choice is a very difficult type of game to tackle. Actually, I'd even say the same about a plain vanilla RPG. Good luck anyhoo. :)