Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (757)
Games in Android Showcase (229)
games submitted by our members
Games in WIP (844)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  another im lost thread?  (Read 1588 times)
0 Members and 1 Guest are viewing this topic.
Offline qgpr

Senior Newbie


« Posted 2004-12-31 03:41:11 »

Hello, my problem is What should i learn and use to create a client/server rpg world with turn based battles? using java of course...
My main concerns are 3d graphics (FSEM with Java3D?), audio (JOAL?) and networking (plain UDP?).

Now you know my problem you might want to read this if you need more information...

Well, it would be tile-based 2d, but i would like to move to 3d whenever i had the rest working (never?), so i would use java3d or similar for my 2d game. I dont exactly remember what kind of objects you can draw using java3d but in the worst case the images can be put on cubes... Using java java3d would also let me add 3d'ish attack effects.

So i was reading this book (buy it if you read it =/ ), to understand the basics and it was fine until i started reading like 6 different libraries that do the same thing (maybe they dont, but im new and confused...) Java3D, Xinith, JOGL, and others, plus the networking chapter's TCP, UDP, RMI, CORBA, JNI, etc

I was going to do this with just html, css and php but then i couldnt have a character moving on the screen without having to click an hyperlink, and PvP being nearly impossible.

Then i thought "i can add java for the animations", but soon after that i realized i didnt need php if i was going to use java, it could be an applet, which leads to "it could just be a regular fullscreen client application" and no need of browser.

Now, my priority is learning the right stuff, then comes finishing this game quickly, and last its resources usage. So i would like to know what is actually used on java games / what is best to use.
My main concerns are 3d graphics (FSEM with Java3D?), audio (JOAL?) and networking (plain UDP?).

How would the game be? You create an account, login, start a character (choose its name, class, etc), and start playing. The world would be 2d, tile-based with top-down view.
Inventory and data stuff would be stored on a database (SQLServer7 until i can use Postgre). Any user can only see up to X players in a room (like 8 per room/zone, they arent that big), and battles are turn based with 3d attack effects   so i give the 3d library a use (like a rotating cube with a purple translucent texture).

If you say eg "RMI for networking", please tell me what RMI is and why it is recommended over other approaches thank you ^^
Now i must sleep...
Offline Smarto

Senior Newbie


« Reply #1 - Posted 2004-12-31 21:22:09 »

Hello qgpr!
Actually, I have been trying to learn all the concepts I need to know to create an online RPG myself.  I have pretty much all of these same questions, but I am a little clearer on some of them.

As for 3D graphics, many people choose the Xith3D Scenegraph/Rendering API over Java3D.
This is for a at least few reasons.
1.  Xith3D is targeted at game developers.
2.  Sun's support for Java3D appears to have faded away, while Xith3D is currently still in development (not by Sun, however).
3.  Xith3D is generally faster than Java3D and has less "quirks".

There is a downside to using Xith3D for your 3D graphics, and that is the lack of documentation.  The Getting Started  Guide is pretty good, but its a little rough learning the advanced topics.

As to sound, I would recommend JOAL even though I don't know much about it simply because it seems like it works, and well Smiley.

For networking, its really a toss-up between TCP and UDP.  Long debates have dragged on and on over this issue, some saying to have a TCP-like layer applied over UDP, others saying UDP's packets cause too much data loss.

One more thing,  and this is the most important of all.  Please, please, please, please PLEASE!  Do not try to "finish this game quickly".  You will only frustrate yourself heavily.  (Believe me, I wasted alot of time trying to hurry up and start up my game).

If you have any more questions please post them in this thread, or you can e-mail me here:

Anger is the equivalent of grasping a hot coal in the palm of your hand
- Unkown
Offline qgpr

Senior Newbie


« Reply #2 - Posted 2005-01-01 15:42:52 »

Thank you. I had this rpg working, but it was a VBScript MUD (sort of MiRC), the networking was already built so I didnt have to code that. It didnt have direct keyboard/mouse input, audio or graphics though, it was a chat room.

By quickly I mean not having to learn libraries I will never use with this game and in the future. I will check Xith3D.

But, what's better on networking, UDP or RMI (if they arent completely different). I understand RMI can call methods on remote machines, that means I can forget about TCP/UDP and instead sending messages I would call remote methods (??).

If that is possible that would simplify everything (I think), but despite I dont care if the game isn't fast I dont want it to lag the machine. Would that be too slow for a game? (RMI's overhead).
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Raghar

Junior Devvie

Ue ni taete 'ru hitomi ni kono mi wa dou utsuru

« Reply #3 - Posted 2005-01-02 18:51:45 »

First do it with Java build in sound, then give option for user to switch to some more reliable sound (OpenAL) It's always nice to have choice between downloading another file and seeing everything right away.

Have you ever listenened words packet storms?
TCP or UDP in this purpose they seemed rather equal. UDP is sligtly faster and you'd have a lot of work to do synchronization. Of course you should test lag between server and client machine.
But, what's better on networking, UDP or RMI (if they arent completely different). I understand RMI can call methods on remote machines, that means I can forget about TCP/UDP and instead sending messages I would call remote methods

You don't want to call methods on users machines, you want to send information about state of game server, possibly delta, to other machines.

I might worry more about speed of the database, than about other things, you might want to cache a lot.
Input and output is rather easy in Java, when I was learning keyboard input, I was able to create small game in 3 hours, just with help of API documentation. Biggest problem would be artwork and other things.
Pages: [1]
  ignore  |  Print  

EgonOlsen (59 views)
2018-06-10 19:43:48

EgonOlsen (42 views)
2018-06-10 19:43:44

EgonOlsen (61 views)
2018-06-10 19:43:20

DesertCoockie (240 views)
2018-05-13 18:23:11

nelsongames (142 views)
2018-04-24 18:15:36

nelsongames (141 views)
2018-04-24 18:14:32

ivj94 (883 views)
2018-03-24 14:47:39

ivj94 (144 views)
2018-03-24 14:46:31

ivj94 (795 views)
2018-03-24 14:43:53

Solater (159 views)
2018-03-17 05:04:08
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!