Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (107)
games submitted by our members
Games in WIP (536)
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 would one be ready to create advanced game engines  (Read 1078 times)
0 Members and 1 Guest are viewing this topic.
Offline AppleSauce
« Posted 2014-06-19 03:54:27 »

LWJGL seems complex for certain aspects. I know some people create game engines with it and then create their game, but It seems like that would need in depth experience from college. I'm years away from college and think such knowledge would be tasty. Yes, there is the internet which is full of information, but things like animation and advanced matrixes, how the heck do you understand this? I read the description in Thin matrix from YouTubes description and it linked me to a document with a lot of weird looking matrixes that I couldn't understand. Do books like the red book and superbible for OpenGL teach this stuff?
Offline NegativeZero

JGO Knight


Medals: 30
Projects: 2
Exp: 3 years


Zero but not.


« Reply #1 - Posted 2014-06-19 04:07:03 »

@Title
For you, a loong time from now.
Offline AppleSauce
« Reply #2 - Posted 2014-06-19 04:08:34 »

@Title
For you, a loong time from now.

yay...  Emo
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Online LiquidNitrogen
« Reply #3 - Posted 2014-06-19 04:18:39 »

I suggest yo try making another game similar to the basic design of flubber space but with more to it.. you already know how to do that, so it would be easy to concentrate on adding more game play features while learning a few more things. Make something with multiple levels, different enemies, obstacles, etc. I made heaps of little single screen games when i started out before I could even understand how to make a basic scrolling game, most of them were fun/funny cos I concentrated on adding game play features instead of trying to do something which I didnt have the technical understanding to do.
Offline BrendynT

Junior Member


Medals: 3
Projects: 1
Exp: 7-9 months


CRTL + SHIFT + F = OP!


« Reply #4 - Posted 2014-06-19 04:19:12 »

Well you gotta think about it. A lot of knowledge has to go into creating these engines like you said.

You have to understand how engines and frameworks operate, how to optimize it to run well in the language you are using. As well as understanding data flow in order to render objects to the screen. Not to mention all the rather advanced math you will need to have learned in order to add them into the engine, more so if its 3D oriented.

Considering you're profile says you only have 7-9 months under your belt what NegativeZero said is accurate. But hey, that gives you something to work towards right?

- The Firm Night Owl
Offline AppleSauce
« Reply #5 - Posted 2014-06-19 04:36:25 »

I suggest yo try making another game similar to the basic design of flubber space but with more to it.. you already know how to do that, so it would be easy to concentrate on adding more game play features while learning a few more things. Make something with multiple levels, different enemies, obstacles, etc. I made heaps of little single screen games when i started out before I could even understand how to make a basic scrolling game, most of them were fun/funny cos I concentrated on adding game play features instead of trying to do something which I didnt have the technical understanding to do.

Yeah I got some cool ideas for that. Along with that, I want to work on this other project though that requires scrolling so I can learn from it. Right now I want to know how I can fix up my tile engine :p


Considering you're profile says you only have 7-9 months under your belt what NegativeZero said is accurate. But hey, that gives you something to work towards right?

A lot to work forward to appearently.
Offline NegativeZero

JGO Knight


Medals: 30
Projects: 2
Exp: 3 years


Zero but not.


« Reply #6 - Posted 2014-06-19 04:37:28 »

Let me clarify: You are still quite young. 12-13 by my reckoning. At this stage in your life, you're still at a point where the entirety of your school learning is done within the confines of your classroom. Within the next few years, school will become a lot harder, and you will learn the skills needed to learn by yourself, especially as you start to go to university. Right now, reading a book probably won't help you whatsoever, not because you aren't clever enough to understand or because you don't have a set of underlying talents, but simply experience.

What you can do at the moment, is start on simpler things. Once you get the hang of 2D, which should intertwine with the content you learn in your math class (such as trigonometry, Pythagoras theorem, enhanced algebra skills) you will have gotten the ball rolling as far as the skill of learning, and eventually that should give you an edge over your classmates, and a greater ability to program.

I know you may think you are at a point where learning about things is easy, but it is very typical of someone your inexperience/maturity/age to often seek guidance from others (I know, I was there a few years ago Tongue), instead of doing your own thorough (and often extremely painful) research, sorting through page after page after page of Google, stackoverflow, lwjgl.org, java-gaming, tutorials, wikis... If you really don't think you seek guidance from others that often, you have been on this forums for 2-3 months, and in that time you have made 208 posts, averaging at 5 posts a day, starting 27 topics with over half of them being in the "Newbie and Debugging" board alone.

Also keep in mind: I'm sure a lot of people will affirm in this thread and you cannot learn LWJGL right now (me included), but that does not mean you are stupid by any sense of the word.

As BurntPizza said in another thread, your best bet right now is learning about LibGDX. It will teach you several foundation skills, which once learnt will help you greater understand the general flow of how a computer game works. Try go for a small game, thinking big (making your own game engine kinda big) tends to lead in severe disappointment when you become aware how slow long-term development tends to go, and has borne many great ideas to be thrown aside as you decide you've become a better coder and need to start again or that you can better use your skills on another project, discarding your original one forever (we've all been there). That said, don't just make a endless stream of minigames, as all you will effectively learn is how to set up projects.

Come up with an idea, get a word document, define a scope and set goals/deadlines for your projects. Don't try to learn a hundred new libraries or skills with your first project, for example trying to learn modern LWJGL with kyronet with controller support with complex lighting shaders with etc... If you want, you can upload your design document to JGO and I will have a brief look over it and  give you my opinion of how you could improve, and hopefully some others will also look over it too.

If your struggling with ideas, don't spend half an hour with a pen and pad drawing random shit, just sit down and make a pong clone. Give yourself a few days for that, then if you still have no ideas, make a BrickBreaker clone. Then if you're still without ideas, make a mario clone. Even if you're not using your time making something that you would write home about, make sure you're using it to continually develop your skills.


I hope this post was more insightful than my previous ^.^
Offline AppleSauce
« Reply #7 - Posted 2014-06-19 04:49:31 »

My whole life as a programmer just flashed before my eyes. I have spen t soooooooooooooooooooooooooooooo.. much time trying to understand some things. (ex. 3D modeling, VBOs, Java in general, game mechanics, ettc..) and all I have made was Flubber Space.  Yawn Personally, I feel no matter how old, you can learn high end programming with enough confidence. I really don't know what to do right now. I want to make a game with a story line that scrolls as my first project with a purpose(unlike flubber space a minigame).

@LiquidNitrogen I know there is a lot of games that can be made on a single screen, but my rpg scrolling game has been a dream  Grin
Online BurntPizza
« Reply #8 - Posted 2014-06-19 04:53:01 »

I have spen t soooooooooooooooooooooooooooooo.. much time trying to understand some things. (ex. 3D modeling, VBOs, Java in general, game mechanics, ettc..) and all I have made was Flubber Space.  Yawn

This is called the learning curve. It is steep. Everything takes a lot of time at first, and it slowly starts getting easier to "roll" up the hill as you progress. Eventually things will start clicking, and after a certain amount of experience (years) you don't even have to think about a lot of things, you can just do them.
Don't worry about it and go do.
Offline AppleSauce
« Reply #9 - Posted 2014-06-19 04:55:29 »

Yeah, I felt so dumb when I realized the point of game libraries instead of using Java2D. What should I focus on right now?
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline BrendynT

Junior Member


Medals: 3
Projects: 1
Exp: 7-9 months


CRTL + SHIFT + F = OP!


« Reply #10 - Posted 2014-06-19 04:59:41 »

Yeah, I felt so dumb when I realized the point of game libraries instead of using Java2D.

Just recently BurntPizza found Mini2Dx. A lib "Inspired by Slick2D, built on LibGDX." I just recently picked this up and I would like to recommend it to you. Its a very simple lib allowing you to do much more than Java2D, and since its built on LibGDX its super fast.

I'm using it now, its great. Highly recommend.

Here you go:
http://www.java-gaming.org/topics/mini2dx-inspired-by-slick2d-built-on-libgdx/33408/view.html

- The Firm Night Owl
Online LiquidNitrogen
« Reply #11 - Posted 2014-06-19 05:02:38 »

my rpg scrolling game has been a dream  Grin

You could make something similar, using multiple screens instead of scrolling, if the player walks off the side of the screen, make it change to a new screen. That way you could just slap a background image on each screen instead of needing to work out tile maps too.
Online BurntPizza
« Reply #12 - Posted 2014-06-19 05:07:02 »


Yeah I haven't played with it, but if it's mature enough to use, then go ahead.
Offline AppleSauce
« Reply #13 - Posted 2014-06-19 05:10:16 »

my rpg scrolling game has been a dream  Grin

You could make something similar, using multiple screens instead of scrolling, if the player walks off the side of the screen, make it change to a new screen. That way you could just slap a background image on each screen instead of needing to work out tile maps too.

Oh, I actually tried that making it based of a game called Warspear Online. I had an image file with each part of the map. It would look like this.

zo (zero, one)0,1
zt(zero, two)0,2
zth(zero, three) 0,3

I accidently deleted the image file and didn't think of a better way to store the map data(programming wise). Hey! I just thought of this, why not use letters like mario.



Yeah I haven't played with it, but if it's mature enough to use, then go ahead.

I just looked at it and it seems very simple. I just want to use libraries like this and learn newer game mechanics.
Offline BrendynT

Junior Member


Medals: 3
Projects: 1
Exp: 7-9 months


CRTL + SHIFT + F = OP!


« Reply #14 - Posted 2014-06-19 05:12:52 »

There's no shame in using a Library!  Pointing

You should focus on doing whats most important, making games!

- The Firm Night Owl
Offline ctomni231

JGO Wizard


Medals: 98
Projects: 1
Exp: 7 years


Not a glitch. Just have a lil' pixelexia...


« Reply #15 - Posted 2014-06-19 05:28:03 »

I built my first program when I was around the same age (13 - 14), but hey, I didn't have the resource of the internet to come and recommend me a lot of stuff either. The best thing to do is just to try to apply the knowledge you are doing in your classroom to your programming.

For me, I built two types of things, games and applications to make my life easier. You gain a lot of experience by just trying to do things that are just a little bit out of your reach. Every game and application that I made was small, and easy to create in a few days. But, the knowledge gained is priceless, because you start generating tools that you can apply regardless of the language you are in.

Trust me, there is a lot in programming that books can't teach. Moving from library to library is risky for programmers without a solid plan. You have to find something you want to learn and stick with it. For me, I started in BASIC, and I stuck with it regardless of the outside world. I always tried to push that language to its limits, and kept trying new things. It is those experiences of trying to push your boundaries that give you a lot more edge than reading a bunch of documents and looking at videos.

There is no "quick fix" to learning. You have to actually program to get things done. If you keep it small, the feeling of accomplishment will carry you over to the next project. I recommend finding a library you really like, and sticking with it. Keep your projects manageable. The most important part of reading all this information, is being able to apply it to the games you are making. (Totally impossible if you don't understand what it does in the first place.) Tongue

Online HeroesGraveDev

JGO Kernel


Medals: 239
Projects: 11
Exp: 2 years


┬─┬ノ(ಠ_ಠノ)(╯°□°)╯︵ ┻━┻


« Reply #16 - Posted 2014-06-19 06:31:50 »

I know some people create game engines with it and then create their game, but It seems like that would need in depth experience from college. I'm years away from college and think such knowledge would be tasty.
There are a fair number of people on this forum still in highschool that have managed to learn this stuff. It may take time, but it can be done with nothing but internet resources.

Quote
how the heck do you understand this?
By not diving in the deep end.
From what I've seen from you, you're way ahead of yourself. You need to build up your understanding of different concepts over a long time. Trigonometry may seem boring and pointless at first, but it is a must for 3D graphics.

A great way to learn is to read up on concepts well before you'll ever use them, so your brain has already had a bit of experience with the ideas before you come back and revise them for actual implementation.

The thing with learning to use LWJGL is that there are no real tutorials for it, and you have to pull in resources from all over the internet, including several in C++. I'm hoping to write a proper tutorial on how to use raw OpenGL for graphics, but it's taking time and I don't always have the motivation.

Offline Gibbo3771
« Reply #17 - Posted 2014-06-19 09:47:31 »

I have been programmer for around the same time as you.

However I am 22 years old, I find it ridiculously easy to learn things. More so than I did 10 year ago.

When I was in school I struggled with Maths class, now that I look back on it...it's not that I could not do it, my attention span to something I presumed I would never need was rather low. I was an idiot.

I've never made a large game engine, my game engine is extremely small. It simply consists of around 5-6 classes, all these do is enable me to have the graphics, physics, input and audio to all talk to each other in a clean manner; as in not calling audio methods inside some other random class. That is to me, a useful but small game engine.

Ain't no harm in doing something like that, to make your projects a little easier. Hell I have used this little engine for 3 games so far, none are finished ofc lol.

"This code works flawlessly first time and exactly how I wanted it"
Said no programmer ever
Offline Hermasetas

Senior Member


Medals: 6
Projects: 2
Exp: 3 years


I do gamez, yes!


« Reply #18 - Posted 2014-06-19 17:19:19 »

Yeah, I felt so dumb when I realized the point of game libraries instead of using Java2D. What should I focus on right now?

Making games Tongue

Make many games!
Every time you make a game you learn something new, and after creating many games you have learned alot! Smiley

Also play around with smaller projects. I recently created a small program which simulated curling stones because I had never done anything physics related. But now I have and now I have a better understanding of it.

Take a look at this for inspiration:
http://www.java-gaming.org/topics/need-practice-developing-games/30733/view.html
Offline AppleSauce
« Reply #19 - Posted 2014-06-19 22:05:35 »

Yeah, I felt so dumb when I realized the point of game libraries instead of using Java2D. What should I focus on right now?

Making games Tongue

Make many games!
Every time you make a game you learn something new, and after creating many games you have learned alot! Smiley

Also play around with smaller projects. I recently created a small program which simulated curling stones because I had never done anything physics related. But now I have and now I have a better understanding of it.

Take a look at this for inspiration:
http://www.java-gaming.org/topics/need-practice-developing-games/30733/view.html


Dodger seems like Flubber Space XC.


I have been programmer for around the same time as you.

However I am 22 years old, I find it ridiculously easy to learn things. More so than I did 10 year ago.

When I was in school I struggled with Maths class, now that I look back on it...it's not that I could not do it, my attention span to something I presumed I would never need was rather low. I was an idiot.

I've never made a large game engine, my game engine is extremely small. It simply consists of around 5-6 classes, all these do is enable me to have the graphics, physics, input and audio to all talk to each other in a clean manner; as in not calling audio methods inside some other random class. That is to me, a useful but small game engine.

Ain't no harm in doing something like that, to make your projects a little easier. Hell I have used this little engine for 3 games so far, none are finished ofc lol.

I've been doing algebra, Geomotry, and this other one... I forgot, but this year I did that so I felt ready. I didn't really have a problem doing that stuff in LWJGL, but I never understood matrices like this



See, I know that matrices add up and what the fov does, but I don't know what's the point of this above. (Yet  I never asked or looked it up)
I'll build more basic games with LibGDX since it's a game library wrapped on lwjgl thats wrapped on opengl... yadayadayada. I now know what lwjgls' purpose is and I'll continue to study it because understanding it is awesome. I also just realized ra4king has some wickid c++ OpenGL translations to LWJGL. I also didn't do so swell in math this year. I had all A's and B's this year but a C in math. I would always be forget somthing.
Online BurntPizza
« Reply #20 - Posted 2014-06-19 22:12:51 »

Not sure if it'll help, but this explains what the various matrices do in OpenGL: http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/#The_Model__View_and_Projection_matrices
Offline AppleSauce
« Reply #21 - Posted 2014-06-19 22:25:18 »

Not sure if it'll help, but this explains what the various matrices do in OpenGL: http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/#The_Model__View_and_Projection_matrices


Yeah that was a good article. Do you have one that teaches game mechanics like scrolling and creating tile engines? (hopefully I haven't seen)
Offline Longarmx
« Reply #22 - Posted 2014-06-19 22:29:08 »

Not sure if this will help, but this channel explains various game concepts (mostly math-related). I found it a while ago but have only been able to watch a couple videos. He has everything from very basics to some more advanced concepts.

https://www.youtube.com/user/BSVino/videos

Offline Slyth2727
« Reply #23 - Posted 2014-06-20 02:17:06 »

Hell I'm still in high school (in fact I just finished my freshman year) however I'm starting to understand the more advanced concepts of game programming. Using libraries such as libgdx and jmonkey helped me to get into LWJGL, where I can say, "Hey that's how they did this in that library!". I've been programming an engine for the past 4-5 months and have learned a crazy amount in that time. So yes, it takes time, but you learn a ton from it.

Not sure if this will help, but this channel explains various game concepts (mostly math-related). I found it a while ago but have only been able to watch a couple videos. He has everything from very basics to some more advanced concepts.

https://www.youtube.com/user/BSVino/videos

This is great, thank you very much for the share.

Was I before Chuang Tzu who dreamt about being a butterfly, or am I now a butterfly who dreams about being Chuang Tzu?
Pages: [1]
  ignore  |  Print  
 
 

 

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

The first screenshot will be displayed as a thumbnail.

CogWheelz (14 views)
2014-07-30 21:08:39

Riven (21 views)
2014-07-29 18:09:19

Riven (14 views)
2014-07-29 18:08:52

Dwinin (12 views)
2014-07-29 10:59:34

E.R. Fleming (32 views)
2014-07-29 03:07:13

E.R. Fleming (12 views)
2014-07-29 03:06:25

pw (42 views)
2014-07-24 01:59:36

Riven (42 views)
2014-07-23 21:16:32

Riven (29 views)
2014-07-23 21:07:15

Riven (30 views)
2014-07-23 20:56:16
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22
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!