Need Advices about Starting Game Project

Started by WarStalkeR, August 14, 2012, 16:23:18

Previous topic - Next topic

WarStalkeR

Somebody said to me long ago, if you want to make your dream real, you must do it yourself. And so, this time came (not so long ago), when I decided, that I want to start making game.

In my own head I already know every aspect of it, how it must look like. I write down crucial aspects of game, that will help you give me right advices, where to start from:
1. It will be based on space setting, where you're flying on ship.
2. It will be 2D with top-down view.
3. It will have deep RPG elements.
4. It will have Singleplayer (Solo Sandbox).
5. It will have Multiplayer (Somebody hosts/joins).
6. It will have Online Mode (login and join to main server).
7. It will have Physics, such as collision between ships, gravity & etc.
8. It will be P2P if possible in order to reduce server load.
9. It will have more action during combat and will rely on skills of player.

Basically if you will take Starfarer and EVE Online mix them, remove skill learning and level upping, add same module fitting system that was in good old X-COM 3 on ships, add multiple procedurally generated galaxies beside multiple procedurally generated star systems, you will get right direction of what I'm aiming to do.

My Java coding knowledge quite good. The problem is, that I never created any other Java programs beside console based ones, I never coded anything that had even slightest GUI, all programming languages, including java were used only to make console based applications.

Why I chooses Java? Because it's object oriented and it can be easily work on all possible PC OSes. I want to make game so it will be available for all OSes, that it could take advantage of 64-bit systems, SLIs, Crossfires, Multi-core/Multi-threading CPUs and in addition to everything have seamless network gameplay.

Eclipse? got it. LWGJL? already waiting to be used. Creation of this game will be more like hobby for me, while I will continue with my standard work. I know, creation of such game could take couple of years. And I came to this forum to ask people with experience who know taste of failure and happiness of success for advice, where I need to start, where I need to begin, what Java libraries I need to use for creation of such game. I count on you and your advices.

P.S. To administrator, you need to mention that Display() you are asking about during registration is from LWJGL and not from original Java, you almost managed to persuade me that I forgot Java :)

princec

You might want to start with something rather less ambitious... like Space Invaders. That'll show you the ropes, so to speak. Then move on to something a bit more complex.

Cas :)

CodeBunny

Yes. Please, for your own sake, work on one or two smaller projects first. By all means, plan on tackling this project down the line, but get well-acquainted with how to utilize LWJGL and realtime networking first.

broumbroum

LWJGL is basicaly an Opengl Renderer for Java, with some additional packages to bind Input controllers. None of the features involves multiplayer management, or world generation, map edit or anything related to physics computation. So you gonna have to focus a lot on how many addtional libraries, besides LWJGL, you'll need.
I agree with the previous posts, you should have a try on a small animated game before to go on anyfurther. I wrote a multiplayer Pong in Java for my first year of IT studies, now it's been almost 10 years since. Are you ready to explore the very OpenGL coding ? ^^
let's see ! 8) 8) 8)

WarStalkeR

Quote from: broumbroum on August 15, 2012, 00:38:20Are you ready to explore the very OpenGL coding ? ^^
Be sure, I am. Regarding simple projects - I prefer to start directly with game, I want to create. I am newbie in making games in Java, but not in Java coding :)

People, what your personal opinion about Slick - 2D Game Library based on LWJGL? Should I start making game based on it?

princec

In a word, no; Slick is old and outdated. Use libgdx instead.

Cas :)

Fool Running

Quote from: princec on August 15, 2012, 08:27:09
In a word, no; Slick is old and outdated. Use libgdx instead.

Cas :)
Wow, I need to get out more. libgdx looks pretty nice. 8)
Programmers will, one day, rule the world... and the world won't notice until its too late.Just testing the marquee option ;D

WarStalkeR

Quote from: princec on August 15, 2012, 08:27:09In a word, no; Slick is old and outdated. Use libgdx instead.

Cas :)
Thanks for pointing out, from what it looks like, it's really great. Except it doesn't includes any networking libraries:
QuoteWe decided against including a dedicated networking module in libgdx. Thankfully Android supports most of the standard Java socket API (with some slight deviations which you should rarely if ever stumble upon). For the time being you have to role your own networking code if you want to create multiplayer games. We might at some point include something, don't count on it though. Search the web for compatible Java gaming networking libraries.
So if anybody have forward knowledge about Java gaming networking libraries that suitable and compatible with libgdx, it will be really big help.

EDIT: I think I found a suitable one, KryoNET. If somebody knows something better/effective, please tell :)

tlf30

Don't do like I did, my first time building a game in lwjgl was an MMO (which still is not done), but after being mad at the whole thing for moths I just started to work on other smaller projects and used some of my C knowalge to help me learn openGL and openAL. Start small then work up, I know it is hard but it is what you have to do. Now for the game library, you may want to write your own game engine in the future, it makes networking much easer along with making new games much faster and funner. Currently when I build a game I do one of two things, write a small protable game engine just for that game or use my giant powerful one that is way to big. But to start out i would go with a simple library to allow you to learn the basics and as you go allong start working on your own until you have enough experince to work without one.