Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (497)
Games in Android Showcase (114)
games submitted by our members
Games in WIP (563)
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  
  When to start trying?  (Read 1446 times)
0 Members and 1 Guest are viewing this topic.
Offline kutucuk

Senior Member


Medals: 5
Exp: 3 years



« Posted 2013-03-09 04:59:08 »

Hi,
This is my first post so, hi Smiley

I was wondering when one should start looking into game development?

I have a good understanding of condition statements etc. as expected Smiley Also, I have a good understanding of classes and OOP related terms, exceptions, multithreading (need some more knowledge though), basic I/O, generics, String manipulation, collections, basic Swing and hence event handling, and some Image methods. And it would be fair to say I have pretty good understanding of java.lang libraries. I might have forgotten some stuff.
Of course, I am not the best about these and may not be able to answer some questions you'd ask about these. Probably wouldn't be able to write a GUI app without my friend Eclipse. I did not memorize methods etc. And sometimes I can miss the most basic and obvious thing and start coding the whole class over from beginning Smiley
Now I am looking into design patterns hoping to improve my code efficiency (Or less buggy or less insecure - Let's say trying to improve my coding style - Hoping to have less unnoticed obvious stuff). I think next thing after patterns will be decided on this thread. I was thinking of networking.

I got my hands on Java2D. But I am not very good at it right now. However I don't think it will take too much time for me. What I am concerned is that, at some point while I'm trying to learn game programming, I might think "Damn, I had to know this before trying to code a game". Not a particular method or class, but a whole concept.

Besides, you should have some knowledge in Java to understand what a tutorial is trying to tell, right? Or I should be able to understand what you're saying when I ask a question.

So, what else should I know? Are there any skills or knowledge that a program designer doesn't need but a game designer needs?

As for where to start, I saw tons of resources and threads in this forum. Of course, any new starting point suggestions and guidance is appreciated. But I need to know when to start game programming.

PS: I'm not a computer engineering student or something related to computers. I am just a programming enthusiast. But I can allocate my time to this (and am allocating).
Offline Jimmt
« League of Dukes »

JGO Kernel


Medals: 131
Projects: 4
Exp: 3 years



« Reply #1 - Posted 2013-03-09 05:07:22 »

Start game programming right now. With the knowledge of java you say you have you will be fine. The most important thing imo is to have a solid concept of OOP as a base point. With that, you can start learning how to make game loops, separate logic from rendering, etc. You don't necessarily need to know how to use all the java classes necessary for game programming, learning as you go has always worked for me.
Offline kutucuk

Senior Member


Medals: 5
Exp: 3 years



« Reply #2 - Posted 2013-03-09 05:19:12 »

Thanks for the quick reply.
I was exploring the Gaming Wiki right now. I feel like it does not have the most basic stuff as tutorials but has resources to it?

And I feel a little lost when I try to think a way to write a game. How do you guys start writing a new game? What's your starting point?
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline relminator
« Reply #3 - Posted 2013-03-09 05:53:45 »

I started with these:
http://zetcode.com/tutorials/javagamestutorial/

Then made this:
http://rel.phatcode.net/junk.php?id=138

*Note that I'm barely over 2 weeks into javaland so I'm a noob myself.
Offline nerb
« Reply #4 - Posted 2013-03-10 07:05:07 »

Thanks for the quick reply.
I was exploring the Gaming Wiki right now. I feel like it does not have the most basic stuff as tutorials but has resources to it?

And I feel a little lost when I try to think a way to write a game. How do you guys start writing a new game? What's your starting point?

G'day kutucuk,

I come from a similar background to you; I'm not involved in the industry but am a programming enthusiast. I've been at it for about two years now, but still consider myself a noob.

As for writing your first game, I suggest at this stage you stick to something simple that has been done before. Even something like solitaire!? That way you know the basic rules of the game and how it should work, and there is plenty out there to compare it to. Once you finish writing it, compare it to other similar games, and think about why (if at all) it is different, and how you can improve it. You will learn a bit through that process.

As for the 'starting point', I first write all my ideas down on paper, including horrible little sketches etc. Write down the core concepts of the game, i.e. how you want it to play. Once you know exactly what you want to program, then you can start worrying about how.

Following that, start thinking about what classes you will need to create, and how they will interact with eachother, and write it down. I also find that 'state diagrams' can really help with your design. Even if you don't physically draw state diagrams, visualise them in your head. Generally speaking, everything in your game will have a state including the game itself, and that state may change either from user input, or events within the game.

Once you've got all that business out of the way, start writing! Write a solid game loop, then go from there.

As Jimmt said, dive in and learn as you go. I've got lots of small projects on the go, none of which are very spectacular or complete, but most of them explore a particular concept that I wanted to learn and try out. I usually abandon them once I've learnt what I wanted to, but keep them for reference. I've finally got myself to a point where I feel competent enough to write a 'full' game.

Good luck and have fun.

Offline philfrei
« Reply #5 - Posted 2013-03-10 11:22:04 »

There's always more to learn. If you keep preparing, you'll never get started.

"Greetings my friends! We are all interested in the future, for that is where you and I are going to spend the rest of our lives!" -- The Amazing Criswell
Offline Axeman

Senior Member


Medals: 7



« Reply #6 - Posted 2013-03-10 14:15:47 »

Yeah, just get started. It's really the only way to learn. Get something simple up and running, like a Snake clone for example, so you get comfortable with the game loop, collision detection, controlling the player.
Offline cylab

JGO Ninja


Medals: 49



« Reply #7 - Posted 2013-03-10 14:22:26 »

So, what else should I know?
- (Vector-)Math... yes even for 2D!
- Art
- Someone who is good at art Wink

Mathias - I Know What [you] Did Last Summer!
Offline kutucuk

Senior Member


Medals: 5
Exp: 3 years



« Reply #8 - Posted 2013-03-10 20:02:40 »

Thanks guys Smiley

I got my hands on Java2D a little bit. When I feel more comfortable about it, I'll start to worry about the mechanism of the game and the ideas etc.

Actually I got into Java just to write a program for me which would store my notes etc. My school grading system is a little different, so I couldn't find anything useful for that. That was easy for me and the Java was fun.

Look where I came now  Shocked I mean the intent was to do it and stop there.

Meanwhile, I guess I have my first problem now!
Offline philfrei
« Reply #9 - Posted 2013-03-10 21:58:15 »

Game loop with bouncing ball or box. That is a very simple and useful start, as it gets the most important thing happening: animation via a game loop.

A lot of textbooks on Java don't cover this simple case! But we have some good tutorials here.

"Greetings my friends! We are all interested in the future, for that is where you and I are going to spend the rest of our lives!" -- The Amazing Criswell
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline kutucuk

Senior Member


Medals: 5
Exp: 3 years



« Reply #10 - Posted 2013-03-10 22:46:12 »

After I cover basic Java2D, I'll go deeper in that as well philfrei. Thank you.

I feel like having a solid Java2D knowledge can help me with the other graphics&game APIs. Is that really the case here?

So far, I never used any other libraries other than Java default ones. I think all of the other APIs put something on the default APIs, so I need the default APIs and libraries anyway.

Java2D doesn't seem to be a good gaming library, I can see that. But I want to learn the basic game concepts before jumping on a game engine. Plus, it will add more to learn whereas I need to learn a lot.

So here is my map for game development: Feel comfortable in Java2D, at least be able to understand when you see a complex code snippet of Java2D --> Learn game development concepts and build at least one or two easy games without referencing somewhere (I give myself the right to ask questions Smiley ) --> Learn one or two (Is two much?) game libraries --> Meet someone who is good at art or prepare to pay for art if you gonna release Smiley

How is that looking?
Offline philfrei
« Reply #11 - Posted 2013-03-10 23:45:11 »

"How is that looking?"

Depends how deep you plan to go into Java2D. Seems to me just getting a game loop working is a very important step. I'm not so sure the other graphics APIs always build directly on AWT & Java2D. Some rely on their own native code. Deciding on what graphics to use can be put off for now. (I still haven't decided.)

A game loop is not a game engine. All that a simple game loop requires of graphics is a drawRect(xpos, ypos, width, height) or similar drawOval or drawImage method, and a place to draw (JComponent or JPanel for starters is fine).

But if you want to poke around with other things for a while, I guess that is fine, too. As you are noticing, there are a lot of details to fill in along the way, even with something that "should" be simple like loading an image to display it (and likely would be in a game engine). That's part of why I recommend bouncing a box first.

"Greetings my friends! We are all interested in the future, for that is where you and I are going to spend the rest of our lives!" -- The Amazing Criswell
Offline kutucuk

Senior Member


Medals: 5
Exp: 3 years



« Reply #12 - Posted 2013-03-10 23:51:34 »

I know that a game loop isn't an engine, I meant the APIs etc Smiley Sorry.

Well, if I am going to learn game loops and concepts, I think I need to know at least how to print an image (which I am having a weird issue right now). Hence, Java2D for a while. I won't mess with other stuff until I feel like another API would help my game performance or my coding period. Now it just adds another thing to learn. So for a while, I will put it off. Because no APIs would cause my game loop to change, I guess.

And actually, I think that is where I will struggle most. I mean, you can figure writing the right class, learn the right method in a shorter time, but game loop seems like more detailed than "draw-get changes-redraw".
Offline cylab

JGO Ninja


Medals: 49



« Reply #13 - Posted 2013-03-10 23:53:59 »

I feel like having a solid Java2D knowledge can help me with the other graphics&game APIs. Is that really the case here?

So far, I never used any other libraries other than Java default ones. I think all of the other APIs put something on the default APIs, so I need the default APIs and libraries anyway.
Actually most game apis for java use OpenGL and bypass Java2D completely. I would go for libgdx directly - learning Java2D will leave you with unused knowledge in the end - at least api wise...

Mathias - I Know What [you] Did Last Summer!
Offline kutucuk

Senior Member


Medals: 5
Exp: 3 years



« Reply #14 - Posted 2013-03-11 00:08:34 »

Hmm. So you say the sooner I get to one API the better. I might consider it.

When I find some time, I'll read about different APIs. But I still will need a basic Java2D knowledge to practice game developing concepts.

Thanks guys, you are more helpful than I first though. I was thinking answers like "I've got a game to code, beat it noobie" but no Smiley
Offline niroshido

Junior Member


Medals: 4
Exp: 4 years



« Reply #15 - Posted 2013-03-14 16:00:33 »

I have done three years of a computing with games design course, i find that courses never seem to delve deeply into games design (ironically), however my studies have helped me to understand the concepts behind designing a game.

You asked when is a good time to start games development
Simple answer: whenever you want.
More complex answer: Whenever you have a grasp on OOP, design patterns, datastructures and algorithms. OOP is the core to java and OOP is very powerful in the construction of programs (preaching to a choir here), once you have an understanding of OOP you should have enough to begin some basic games development, as you will understand API's that bit more. Someone mentioned having a grasp on art, this is not neccessarily as important to a game developer, in my opinion i consider the art aspect the "slapping the makeup on the finished product".

I wanted to touch on data structures and algorithm's
No one has yet mentioned AI, so i thought i'd give it a mention, if your designing a game an understanding of data structures and algorithm's will help you towards creation of pathfinding and other forms of AI learning that will give your games some life. Graphics like OpenGL are great but i think that a dedicated games programmer will focus on making a good Games Engine backed up with AI system. The art can be focused on near the end of development (unless you really need to see things graphically).

 
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.

UprightPath (5 views)
2014-09-20 20:14:06

BurntPizza (26 views)
2014-09-19 03:14:18

Dwinin (40 views)
2014-09-12 09:08:26

Norakomi (70 views)
2014-09-10 13:57:51

TehJavaDev (95 views)
2014-09-10 06:39:09

Tekkerue (49 views)
2014-09-09 02:24:56

mitcheeb (70 views)
2014-09-08 06:06:29

BurntPizza (52 views)
2014-09-07 01:13:42

Longarmx (39 views)
2014-09-07 01:12:14

Longarmx (45 views)
2014-09-07 01:11:22
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

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
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!