Various beginner questions

Hello,

I am relatively new to game programming in Java though I’ve been doing normal Java in school for 3 years.
I now want to create a Pokemon-like game with a friend of mine who has similar experience.

The questions we now face are:

  • Should we use a library or code everything ourselves?
  • Is there anything we should do or not do if we want to port our game to Android later on?
  • How do we save things like world-map, evolution chains and so on? txt-files?
  • How should we “load” the map? Loading the entire map would probably be VERY performance inefficient
    so how should we do phasing? Center around our character, load the current screen and update this as you move?
  • How should the “running” of the game be handled? Have a main file that calls a “Game()” and have everything run
    in a “GameThread”?

Thank you very much in advance!

A bold yes

Noooo…

Use LibGdx.

I’d just like to give my opinion to this.

[quote]Should we use a library or code everything ourselves?
[/quote]
Coding everything will take you GREAT amounts of time. If you are using Java2D, you will sooner or later find that it is just too slow in rotating, scaling, transparency and stuff. Then porting to OpenGL will cost you lots of time. A library is a nice shortcut.
But if you plan on studying computer science, a look at the underlying architecture can’t be bad.

[quote]Is there anything we should do or not do if we want to port our game to Android later on?
[/quote]
Yeah, like 65k said, LibGDX is a good choice for porting on Android. It works nearly instantly. But using LibGDX also takes a good amount of time to learn. But its worth it.

[quote]How do we save things like world-map, evolution chains and so on? txt-files?
[/quote]
At first, txt-files are the way to go! Because that means, that everything will stay rapidly editable. So building a good config-reader is a good idea.

[quote]How should we “load” the map? Loading the entire map would probably be VERY performance inefficient
so how should we do phasing? Center around our character, load the current screen and update this as you move?
[/quote]
You will probably load the file containing the tiling information. This information can be kept in an array or any good structure that is efficient enough. Your engine can now determine which part of the map has to be drawn and read out the relevant parts of the mapTiles-structure. Then only the visible parts of the map will be drawn.

[quote]How should the “running” of the game be handled? Have a main file that calls a “Game()” and have everything run
in a “GameThread”?
[/quote]
Well… most likely. You will find answers in KillerGameProgramming.

At first I thought I will give same answer too about using library for performance, then I read last questions and changed my answer: you need to learn the fundamental first before anything else, like running state of game, and do simple but essential project.

Don’t code everything yourself.

On the other hand, don’t use libraries for everything.

Be sensible in choosing libraries.