PDA

View Full Version : [JAVA] Creating RS like game



Frement
05-01-2010, 02:19 PM
Would it be easy to create a game like runescape?

I got few questions:

Is there libraries to loading and displaying models?
What is used to create the models?
Are there any tutorials on this kind of stuff?


The server side would not be that hard in my opinion, thought I dont know much java yet.

First I would like to create a simple model viewer that has movement in it, playing animations on the model and stuff.

Any links to tutorials or helpful sites would be greatly appreciated (no beginner tutorials please, with basics of java).

marpis
05-02-2010, 11:24 AM
You should start with making a simple 2D multiplayer online game I think..

HyperSecret
05-02-2010, 02:27 PM
You should start with making a simple 2D multiplayer online game I think..

I think he should also learn JAVA a lot better first...

Sabzi
05-02-2010, 03:46 PM
I think he should also learn JAVA a lot better first...

I like learning through challenges though. When you are facing a problem that you can't solve and you read until you can solve it then you start making the solution better. I have learnt a lot like that.

Frement
05-02-2010, 06:45 PM
I like learning through challenges though. When you are facing a problem that you can't solve and you read until you can solve it then you start making the solution better. I have learnt a lot like that.

Exactly my way of learning, and I stated in the post that I would not need any beginner tutorials. If id want to create some 2D game, i would have asked for information about that sort of stuff, i want to go straight to 3D.

Camaro'
05-03-2010, 10:34 AM
Exactly my way of learning, and I stated in the post that I would not need any beginner tutorials. If id want to create some 2D game, i would have asked for information about that sort of stuff, i want to go straight to 3D.

Could this help
http://java.dzone.com/news/3d-model-interaction-java-3d


Sorry if it does not :(

Yeah, I like tough challenges at first also.

Frement
05-03-2010, 12:57 PM
Could this help
http://java.dzone.com/news/3d-model-interaction-java-3d


Sorry if it does not :(

Yeah, I like tough challenges at first also.

I found that a very interesting reading, I will try to create something with that, but I must ask, do you know if I can create a normal client like in RS so that people dont have to download any other Java versions, SDK's or anything?

Camaro'
05-03-2010, 11:34 PM
I found that a very interesting reading, I will try to create something with that, but I must ask, do you know if I can create a normal client like in RS so that people dont have to download any other Java versions, SDK's or anything?

Not a clue.

i luffs yeww
05-04-2010, 01:40 AM
Well of course you can. :) I don't know how, but it seems obvious to me that it's possible, since other people/things do it.

mrpickle
05-04-2010, 02:47 AM
My abilities in Java only allows the creation of basic collision detection games :). 2D though, and no connected multiplayer of anysort xD.


3D i have no clue. The Normal Client Like RS, no clue.

But TBH, you'll have to go thru the easier stuff to better understand the more complex. Learn 2D, then learn how to make a downloadable client to connect to ur server. Then go on with 3D and that other type of client. Lessons that carry on.

weequ
05-04-2010, 06:31 AM
Wow this is what I have wanted to do too... Like a 2D runescape :)
Maybe we could help each other since we are both from Finland :D

I know a little about programming but like nothing about GUI yet :(

ape
05-04-2010, 07:11 AM
I found that a very interesting reading, I will try to create something with that, but I must ask, do you know if I can create a normal client like in RS so that people dont have to download any other Java versions, SDK's or anything?

I think you have a misconception of how java works. People have the java runtime environment (JRE) installed on their computer to run RS. This then executes the bytecode provided to us from the runescape JAR file. This jar file is quite like a zip archive, in which all the code necessary to run RS is stored. By adding extra features to your game, such as implementation of other libraries (3d engines or such) they get added into this jar file, requiring nothing but the JRE to be installed by the end user.

Unless you made a modification to the Java runtime environment code directly would the user be required to download a different version, but this is something different in its entirety. Sorry if any of this is a bit unclear as it is 3 am here and my brain is just about shutting down.

EDIT: You would most likely be best off learning the basics of java and then proceeding along two possible paths. A) You utilize some of the many graphics libraries and game engines to make your game. B) You create your own as RS creators did. Ironically however, RS is switching to a java version of the openGL graphics library. I would recommend taking this same path as it provides excellent performance on computers that have some form of graphics accelerator. (Almost all do).

Frement
05-04-2010, 10:23 AM
I think you have a misconception of how java works. People have the java runtime environment (JRE) installed on their computer to run RS. This then executes the bytecode provided to us from the runescape JAR file. This jar file is quite like a zip archive, in which all the code necessary to run RS is stored. By adding extra features to your game, such as implementation of other libraries (3d engines or such) they get added into this jar file, requiring nothing but the JRE to be installed by the end user.

Unless you made a modification to the Java runtime environment code directly would the user be required to download a different version, but this is something different in its entirety. Sorry if any of this is a bit unclear as it is 3 am here and my brain is just about shutting down.

EDIT: You would most likely be best off learning the basics of java and then proceeding along two possible paths. A) You utilize some of the many graphics libraries and game engines to make your game. B) You create your own as RS creators did. Ironically however, RS is switching to a java version of the openGL graphics library. I would recommend taking this same path as it provides excellent performance on computers that have some form of graphics accelerator. (Almost all do).

Thanks, that pretty much sorts it out :) And I already know the basics of java (or atleast as much as i want/have to know). And yes, i have been searching for a game engine, i got few choises.

Method
05-04-2010, 01:08 PM
Ironically however, RS is switching to a java version of the openGL graphics library. I would recommend taking this same path as it provides excellent performance on computers that have some form of graphics accelerator. (Almost all do).

It would help to define 'switching', considering they have three different rendering toolkits present in the client currently: one in pure Java, one using OpenGL, and the newest one using the SSE instruction set (http://en.wikipedia.org/wiki/Streaming_SIMD_Extensions).

Dervish
05-04-2010, 08:07 PM
Would it be easy to create a game like runescape?


No it certainly wouldn't, they have payed professional developpers, that doesn't mean its impossible though, just alot harder and tougher alone ;).

Frement
05-04-2010, 08:24 PM
No it certainly wouldn't, they have payed professional developpers, that doesn't mean its impossible though, just alot harder and tougher alone ;).

I will start alone, but i have some friends that will help, not in the programming, not in the modelling, but with model designing, and game designing, possible skills and other stuff :)

If i get it working nicely, a basic stuff, i may ask for some help in forums (modelling forums and others). Im starting in summer, and hoping to finish in 1 year.

Dervish
05-05-2010, 02:37 PM
I will start alone, but i have some friends that will help, not in the programming, not in the modelling, but with model designing, and game designing, possible skills and other stuff :)

If i get it working nicely, a basic stuff, i may ask for some help in forums (modelling forums and others). Im starting in summer, and hoping to finish in 1 year.

I hope you're tougher than me and don't give up half way through ;). Good luck ! :)

Frement
05-05-2010, 03:04 PM
I hope you're tougher than me and don't give up half way through ;). Good luck ! :)

Well im kind of the same, i prolly code it for 3 weeks, then ill stop, and ill continue in 1 week :P

n3ss3s
05-10-2010, 02:41 PM
Learn some solid Java first, it sucks ass to try and "learn as you do", you'll just end up with lots of headache...

Frement
05-10-2010, 02:47 PM
Learn some solid Java first, it sucks ass to try and "learn as you do", you'll just end up with lots of headache...

There are pills for headache you know :)

Everything i have currently done, web developement etc, are by trying and trying and trying, looking at examples, reading some resources, and then trying. Im pretty sure i can manage everything new. I hope i can manage to make it work pretty much smoothly in 1 year, but i dont mind spending another year :)

Craig`
05-10-2010, 05:01 PM
due to the common misconception of java and javascript, I vote that you should use WebGL!

Capricorn
05-10-2010, 09:40 PM
There are pills for headache you know :)

Everything i have currently done, web developement etc, are by trying and trying and trying, looking at examples, reading some resources, and then trying. Im pretty sure i can manage everything new. I hope i can manage to make it work pretty much smoothly in 1 year, but i dont mind spending another year :)

Uhhh well you see game engines are complex. Lets say you do this "learn as you go" thing. Well alright, your learning some Java and lets say you spent a entire week and got 4,000 lines of code. You learned some new techniques and find out you can go back and change 400 lines of code to dramatically increase the speed of your game. So now you had to go back and change some code, which probably broke some other stuff.

So now you've rewritten half your engine, and you continue on your merry way. Later on after even more experience you find out it would be better to build your engine in a entirely different way.

Get some java experience first. There is no point in creating a game engine only to scrap it entirely later to re-create it. Look at SCAR, Freddy has learned so much new stuff and SCAR is bloated or what not that he had to start from scratch.

Frement
05-10-2010, 09:42 PM
Uhhh well you see game engines are complex. Lets say you do this "learn as you go" thing. Well alright, your learning some Java and lets say you spent a entire week and got 4,000 lines of code. You learned some new techniques and find out you can go back and change 400 lines of code to dramatically increase the speed of your game. So now you had to go back and change some code, which probably broke some other stuff.

So now you've rewritten half your engine, and you continue on your merry way. Later on after even more experience you find out it would be better to build your engine in a entirely different way.

Get some java experience first. There is no point in creating a game engine only to scrap it entirely later to re-create it. Look at SCAR, Freddy has learned so much new stuff and SCAR is bloated or what not that he had to start from scratch.

Im prolly not going to create my own game engine, there are plenty of good ones out there, i have been googling some more and found 2 good candidates.

Scaper
05-14-2010, 12:31 PM
ask method to help ypu along the way with client things etc i heard he a master in client hax0ring etc and should be able to tip you into the right direction and maybe build you a client

I could also help you if you like

Method
05-14-2010, 01:00 PM
ask method to help ypu along the way with client things etc i heard he a master in client hax0ring etc and should be able to tip you into the right direction and maybe build you a client

I have no plans to create a MMORPG like RuneScape.

Aequix
05-17-2010, 09:27 AM
JMonkeyEngine's a very widely used game-engine for Java and is probably one of your best routes to go if you're certain you want to go down that path. HomePage (http://www.jmonkeyengine.com/home/)

I would definitely recommend trying a few simpler things to start of with. If you feel comfortable developing a 2D-Game it should only take you a couple of days or so, which is definitely worth it just to make sure that you're comfortable with the engine and Java.

If you want to start with a game-engine from scratch, the most viable path would probably be to utilise the JOGL library. This has come fairly far over the past few years and should be adequate in performance terms. The JOGL library can be found here (https://jogl.dev.java.net/) and NeHe's got some fantastic OpenGL tutorials here (http://nehe.gamedev.net/). The tutorials are based around C++ but there are ports for most in Java at the bottom of the pages, code structure transfers over to Java fairly nicely, any adaptations needed should be fairly obvious to you if you're competent enough to create an MMO.

In terms of the game itself - I would say that it seems you are underestimating the difficulty of it. Even to create a simple one you've got many, many things to consider. However, from the looks of it you're fairly set on it so I'd just say to get going with a simple core-model of the game, the world, basic-animations, movement, simple storyline and A.I. Once you've created that, take a look back over it and determine if that model's extendable enough to be turned into a full-fledged MMO, if not - you should have learnt enough in the process to go back to the roots and follow a structured development cycle and get a decent game out of it.

It's not a simple undertaking - but it's certainly fun, good luck with it either way! ;)

Edit :-

Forgot to mention, one of the difficulties with Java is it's inherent lack of solid-networking. Many, many people find that when they try to use Java's standard API for it, they really struggle with managing and producing efficient means of networking. You do however have RuneScape and others, such as the Lineage 2 Emulator - L2J, that have managed to get around that. From my looking at it, you'll need to really develop some solid networking capabilities of your own rather than utilise Java's standard - it may be an annoyance but you'll kick yourself later on if you find it just isn't up to the job.

Frement
05-17-2010, 12:55 PM
Wow, amazing post, and yes I have been looking into JMonkeyEngine and JOGL, but I'm not starting for another month. Then I'll have more time etc. And I am not expecting to make progress in the first month at all, just mainly have 1 model, a little world, and maybe some objects done in 2-4 months. After that I'll have some friends to design the storyline and some ideas for the game, I'll maybe even post here for some suggestions and ideas :)

I don't see Java much different then other programming languages so it shouldn't be so hard to get used to it. Takes a while to find my standards, but they will work themselves out I hope.

Scaper
05-17-2010, 04:33 PM
JMonkeyEngine's a very widely used game-engine for Java and is probably one of your best routes to go if you're certain you want to go down that path. HomePage (http://www.jmonkeyengine.com/home/)

I would definitely recommend trying a few simpler things to start of with. If you feel comfortable developing a 2D-Game it should only take you a couple of days or so, which is definitely worth it just to make sure that you're comfortable with the engine and Java.

If you want to start with a game-engine from scratch, the most viable path would probably be to utilise the JOGL library. This has come fairly far over the past few years and should be adequate in performance terms. The JOGL library can be found here (https://jogl.dev.java.net/) and NeHe's got some fantastic OpenGL tutorials here (http://nehe.gamedev.net/). The tutorials are based around C++ but there are ports for most in Java at the bottom of the pages, code structure transfers over to Java fairly nicely, any adaptations needed should be fairly obvious to you if you're competent enough to create an MMO.

In terms of the game itself - I would say that it seems you are underestimating the difficulty of it. Even to create a simple one you've got many, many things to consider. However, from the looks of it you're fairly set on it so I'd just say to get going with a simple core-model of the game, the world, basic-animations, movement, simple storyline and A.I. Once you've created that, take a look back over it and determine if that model's extendable enough to be turned into a full-fledged MMO, if not - you should have learnt enough in the process to go back to the roots and follow a structured development cycle and get a decent game out of it.

It's not a simple undertaking - but it's certainly fun, good luck with it either way! ;)

Edit :-

Forgot to mention, one of the difficulties with Java is it's inherent lack of solid-networking. Many, many people find that when they try to use Java's standard API for it, they really struggle with managing and producing efficient means of networking. You do however have RuneScape and others, such as the Lineage 2 Emulator - L2J, that have managed to get around that. From my looking at it, you'll need to really develop some solid networking capabilities of your own rather than utilise Java's standard - it may be an annoyance but you'll kick yourself later on if you find it just isn't up to the job.

hello jagex :D

Aequix
05-17-2010, 05:29 PM
Glad it was useful! You've certainly got the right frame of mind for it and seem ready to deal with whatever it throws at you, like I said - best of luck, hope to see a nice little demo game soon enough! :)


hello jagex :D

Haha, I'll take that as a compliment. ;)

masterBB
05-19-2010, 05:13 PM
Wow, amazing post, and yes I have been looking into JMonkeyEngine and JOGL, but I'm not starting for another month. Then I'll have more time etc. And I am not expecting to make progress in the first month at all, just mainly have 1 model, a little world, and maybe some objects done in 2-4 months. After that I'll have some friends to design the storyline and some ideas for the game, I'll maybe even post here for some suggestions and ideas :)

I don't see Java much different then other programming languages so it shouldn't be so hard to get used to it. Takes a while to find my standards, but they will work themselves out I hope.

You think much to easy about this my friend. It wil not be that easy, creating a online MMORPG takes a lot of time, especialy if you're building it 3D.

Frement
05-19-2010, 06:16 PM
You think much to easy about this my friend. It wil not be that easy, creating a online MMORPG takes a lot of time, especialy if you're building it 3D.

Or you just get the impression that i think its too easy :)

So far there has been no problems with me creating anything, even before i even knew how to code c++ properly, i was able to create a gui app, and with php, i have always made the hard ones first, i started with sockets and moved from there to file handling.

I want to do the same with java, from 3D to ... something easy :D

Aequix
05-21-2010, 10:48 AM
You may be interested in this article which I just came across, on the Netbeans articles page. It's on the forthcoming release of jMonkeyEngine and jMonkeyPlatform which allows for a much more integrated development platform for the engine.

The article's here (http://netbeans.dzone.com/nb-3d-game-dev).

Frement
05-21-2010, 10:55 AM
Cool, WebStart nice.

Flight
01-07-2011, 04:00 AM
Here's a link to a 2d mmorpg base, this is bare minimums so it's an absolutely clean base, I've not gotten around to giving this a try yet, but I plan to play around with it later on and see what I come up with.

http://www.rune-server.org/programming/application-development/java/284533-mmorpg-base.html