Java-Gaming.org Hi !
Featured games (81)
games approved by the League of Dukes
Games in Showcase (513)
Games in Android Showcase (119)
games submitted by our members
Games in WIP (576)
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  
  So I'm thinking of using Java...  (Read 1667 times)
0 Members and 1 Guest are viewing this topic.
Offline Galaxy613

Senior Newbie





« Posted 2009-10-23 02:07:43 »

Ok, here is the down-low. I've been taking a Java class at my local community college and I've grown to like how it handles objects/classes, much cleaner than BlitzMax. Now one of the things that has always been a thorn in my side is I've never be able to find a good networking API for BlitzMax, but they seem to abound for Java. I mean the fact this site exists and I've already bookmarked a few pages means there is the support in place, but I have a nagging feeling I should stick with BlitzMax. I think my biggest concern is, is Java Game Programming worth my time? I really want to start programming mulitplayer games, but if it means spending 6 months of my time to learn that I just can't get it to work, then what is the point?

The game I want to make is a 2D Space Shooter with upwards of 50 solar systems that players can visit and battle each other/NPCs. So obviously it will have to have a complex server-side executable that controls all that, and controls sending data of only the current system each player is in to each player... I want the game to be twitch-based, meaning when the player presses the left arrow, his ship turns to the left, when he presses Up Arrow, his ship moves forward and so on. Would this be too much for a normal Java UDP protocol?

And to show, hopefully, I'm not full of crap here are some screenshots from my singleplayer Alpha made in BlitzMax along with a GUI concept for the next version.

http://i257.photobucket.com/albums/hh236/Galaxy613/s-pc-screenshot71.png
http://i257.photobucket.com/albums/hh236/Galaxy613/s-pc-screenshot72.png
http://i257.photobucket.com/albums/hh236/Galaxy613/s-pc-screenshot73.png
Concept - http://i257.photobucket.com/albums/hh236/Galaxy613/NewGUIcopy-3.png

What I am looking for is feedback on how possible this project would be and some friendly pointers to some tutorials or articles that deal with some of the issues in creating a game like this. It would be great to finally play with people inside my own game... online multiplayer is just something I haven't cracked yet.

Programming since 2001 (Technically Tongue )
Uses: BlitzMax, Java, C++
Computers: W7 Desktop and a Triple Booting Netbook.
Offline kappa
« League of Dukes »

JGO Kernel


Medals: 78
Projects: 15


★★★★★


« Reply #1 - Posted 2009-10-23 02:35:03 »

For games networking in Java (especially if you haven't done any before) I'd recommend you pick one of the many networking libraries available, this will let the library handle most the pitfalls and problems associated with doing the networking part yourself and provide you with a nice clean API so you can just get on with your game. A nice library for this is the KryoNet library.

Secondly I'd highly recommend you use hardware acceleration for both graphics and sound (OpenGL/OpenAL) for butter smoothness, especially for a game that is a shooter. Currently the best 2d games library for Java is Slick2D, it has nice documentation, a helpful community and lots of tools to help you with various parts of the game (like for fonts, map editors, creating particles, etc).
Offline zammbi

JGO Coder


Medals: 4



« Reply #2 - Posted 2009-10-23 04:18:53 »

I have never heard of BlitzMax before... I think Java is just fine for games, there are plenty of libraries, heaps of places to find support.
Personally I think Java would be one of the easiest languages to program games in.

For the server side, if you want it to be scalable you can look into Project Darkside.

Current project - Rename and Sort
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline JL235

JGO Coder


Medals: 10



« Reply #3 - Posted 2009-10-23 07:50:19 »

I've used Blitz Basic extensively and have experience with Blitz Max. So I have some experience with how it compares to Java. IMHO there is only one downside in using Java over BMax, and that's the age old Java issue of deployment. BMax compiles to a stand alone executable where as Java requires the runtime (but you can distribute this with your game). This is pretty much the only great selling point of BMax.

But in every other way; tools, language, performance, libraries, community, cross-platform support, resources and even career prospects I'd argue Java is far better and receives far more development in all of those areas.

I think you really need to think about what type of game your producing. I'd recommend Java if your intending to be the only hosting the game's server (like an MMO), if you plan to support multiple platforms or if you want it to run the client in a browser. If the server is built into the game (like an RTS) or just if the client is an off line desktop app then I'd recommend C# or C++ instead, but here I'd still recommend Java over BMax.

Offline princec

JGO Kernel


Medals: 404
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #4 - Posted 2009-10-23 08:53:55 »

Java is ... rather harder to get results from than BMax. Deployment is probably a non-issue - finish the game first before you go worrying about that bit (as you can see it hasn't bothered us much)

Cas Smiley

Offline princec

JGO Kernel


Medals: 404
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #5 - Posted 2009-10-23 11:13:37 »

<edit>Can't see why anyone would recommend C# over Java though - all of the pitfalls, except slightly slower (still?), and not properly available on anything other than Windows and XBox360.

Cas Smiley

Offline JL235

JGO Coder


Medals: 10



« Reply #6 - Posted 2009-10-23 11:44:32 »

<edit>Can't see why anyone would recommend C# over Java though - all of the pitfalls, except slightly slower (still?), and not properly available on anything other than Windows and XBox360.

Cas Smiley
I was thinking more of XNA then specifically C#.

Offline Galaxy613

Senior Newbie





« Reply #7 - Posted 2009-10-23 16:29:06 »

Thanks for everybody's response. Cheesy I'm feeling alot better about this pathway now, those links really helped Kapta, I've already got "SlickTest' running and I've already started playing around with it.

Thank JL235 for your input on Java v BMax, I think you confirmed what I was thinking. I've been talking to my friend and he's only reservation is that "I won't have to keep updating my runtime every damn day and doesn't run like crap." I think it won't be a problem but we'll see once I get further along how well it runs on his computers..

Thanks again for all the input! It's very appericated and I hope I can give back to the community in the months to come. Smiley

Programming since 2001 (Technically Tongue )
Uses: BlitzMax, Java, C++
Computers: W7 Desktop and a Triple Booting Netbook.
Offline JL235

JGO Coder


Medals: 10



« Reply #8 - Posted 2009-10-23 17:59:02 »

"I won't have to keep updating my runtime every damn day and doesn't run like crap."
Is this aimed at the Java runtime? You know in some benchmarks it's able to outperform equivalent C code.

Offline Eli Delventhal

JGO Kernel


Medals: 42
Projects: 11
Exp: 10 years


Game Engineer


« Reply #9 - Posted 2009-10-23 21:52:56 »

Here's what it comes down to:

For anything that you could possibly make on your own as a hobbyist developer, Java will more than suffice. If you're needing to push every single resource you possibly can because you're a giant dev studio with 300 people... then Java probably will still suffice. But most dev studios don't use it because of needing to deal with a JDK and because there are already so many great tools built on C and C++.

But, once again, for anything at all that you're doing, none of this is an issue. Java's GC, better docs, and consistency make it a better option than C++ (in my opinion, of course), for most types of hobby development.

See my work:
OTC Software
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Longarmx (45 views)
2014-10-17 03:59:02

Norakomi (35 views)
2014-10-16 15:22:06

Norakomi (27 views)
2014-10-16 15:20:20

lcass (31 views)
2014-10-15 16:18:58

TehJavaDev (61 views)
2014-10-14 00:39:48

TehJavaDev (61 views)
2014-10-14 00:35:47

TehJavaDev (51 views)
2014-10-14 00:32:37

BurntPizza (67 views)
2014-10-11 23:24:42

BurntPizza (39 views)
2014-10-11 23:10:45

BurntPizza (81 views)
2014-10-11 22:30:10
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org 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‑gaming.org
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!