Advertisement

Starting game dev with Java

Started by January 05, 2018 12:48 PM
2 comments, last by Honneamise 6 years, 10 months ago

Hey guys, I am totally new to game dev and member here since today. I have been learning Java since 3 years now in school and have not done any bigger projects, but now i want to make the next step and start to develop a little game. Although i got a lot of ideas, i am not sure about a lot of basic game specific questions and i would appreciate it if you helped me there.

 

The game should be about an shift supervisor at a nuclear power plant, that has to deal with problems like replacing the fuel rods (where some complications could show up), an automated reactor shutdown or a generator on fire. I am not exactly sure how deep and real life compliant this game should be, but at least more realistic than just adjust the amount of coolant and how deep the control rods are in the water. The second problem here is that i have so many ideas that it would have more content than any game on the market and i can not decide what to include to my project.

Another point where i am not sure are the graphics (I heard that coding the game functions has prior 1 and the graphics should be done when the game functions are already working), I think 2d graphics would be easier to do, sure there are engines for 3d, but i have no experience with them and i do not instantly want to do a game with AAA graphics. Then i remembered the game X-COM: UFO Defense and i guess that type of graphic would be totally enough for my little simulator but i have no idea about the difficulty of making this (My only graphical experience is Window Builder). So there should be the control buttons and levers on the bottom of the interface, in the middle displays and the lights that you have to react to and on the upper side i would like to give a very very small and basic overview (more for your eyes than with real purposes) about your power plant where you for example can see smoke coming out of the cooling tower or a small fire burning down your transformer. 

 

What do you think about my idea, what should i change, what do you think about my problems?

General feedback would be great as well. And no i do not want to learn C and do this in C, i want to do it with Java :)

 

And sorry if my English is not the best, it is not my mother tongue.

 

Hello, and welcome to gamedev.net!

I like your idea, and it sounds like a good game dev starter project for somebody with a couple of years of general programming experience. You have realistic expectations, that's a huge advantage over many beginners who come along with far over-ambitious ideas. Some thoughts on how you could approach the whole thing:

- Begin with a very basic console / text mode application and  implement a basic simulation model of the plant: Which system components should be simulated (generators, cooling towers, pipes etc.)? Which data represent the state of each component? How does the state of each component change over time, and how do they interact? Start as simple as possible, and especially try to implement the interfaces between the different components (which data are exchanged between them?) as small and solid as possible. Try to find the best compromise between simplicity and future-proofness. This way, you can minimize the required effort to replace individual components with more complex/realistic models later on, since you won't have to make a lot of changes all over your entire program.

- Then, let your simulation run in a loop and print various parameters to the console to see how it behaves. Maybe implement some reactions on different pressed keys to change the simulation state, cause problems and solve them. Then you already have a minimal version of your came and can see if it works.

- Finally, create a graphical interface. There are many libraries that you can use for this. As you have already realized, it's wise to keep it in 2D for the beginning. One good option is JavaFX, which is perfect to build complex modern GUIs fast and easily (it has a visual form designer, and you can style your GUI elements with CSS). Another option, which is more oriented towards games, would be LibGDX. It's more low-level than JavaFX, but gives you even more freedom, probably better graphics performance, and the possibility to build your game for Android and web with very little extra effort. But you can still decide on a graphics library later, when you have your simulation model up and running.

Have fun!

 

Advertisement

what wurstbrot have written is correct.

about the library you could use i would also suggest you to take a look at Processing ( www.processing.org )

it is a "fast" way to create your prototypes using Java ( with few little limitations ).

This topic is closed to new replies.

Advertisement