Vendettaseve
Junior Newbie
|
 |
«
Posted
2013-02-02 18:55:18 » |
|
Hey guys
As usual I find its highly recommended/necessary to spend a substantial amount of time programming small and generally pointless things to learn and practice prior to starting anything big and interesting.
Since I am relatively new to Java and fresh off a crash course through the basics, I would really like to know if anyone has some projects they can suggest to me(Not necessarily tutorials, just ideas with a few main goals). Perhaps some things that really make use of everything that makes java unique.
Thanks in advance.
|
|
|
|
tyeeeee1
|
 |
«
Reply #1 - Posted
2013-02-02 19:28:35 » |
|
Try creating a simple battle simulator where a 'good guy' and a 'bad guy' are created, given stats, names, etc... and then forced to fight until one of them reached 0 health. After you get that working then try adding in simple controls for the user so that he/she can decide what the 'good guy' should do, then when that is working try and create a simple AI for the 'bad guy' so that the battles are a bit more varied and fun.
I'm currently trying this, but the AI is a bit of a pain.
|
|
|
|
HeroesGraveDev
|
 |
«
Reply #2 - Posted
2013-02-02 19:28:51 » |
|
Try making a platformer engine. Or a few.
By only making the engine, you learn how the engine works, but without making a full game and wasting time.
After that you could try again a few more times, adding more features and optimising until you have a good engine for a game.
|
|
|
|
Games published by our own members! Check 'em out!
|
|
jonjava
|
 |
«
Reply #3 - Posted
2013-02-02 19:40:46 » |
|
Making small "useless" games 99% complete is WAY better than to make "engines".
1) You practice the art of actually finishing a game/application. 2) The engines you make will be outdated immediately when you finish them because: a) You will have learned how to do something better. b) Someone else has made it better AND easier to use. 3) No-one, not even you, will want to look at your old shitty "engines" or learn how to use them. 4) Everyone, even you, will want to play your shitty game or at least take a quick look at it.
So, imho, make games/clones.
Making "engines" is premature optimization at its worst!
|
|
|
|
HeroesGraveDev
|
 |
«
Reply #4 - Posted
2013-02-02 20:23:26 » |
|
Making small "useless" games 99% complete is WAY better than to make "engines".
1) You practice the art of actually finishing a game/application. 2) The engines you make will be outdated immediately when you finish them because: a) You will have learned how to do something better. b) Someone else has made it better AND easier to use. 3) No-one, not even you, will want to look at your old shitty "engines" or learn how to use them. 4) Everyone, even you, will want to play your shitty game or at least take a quick look at it.
So, imho, make games/clones.
Making "engines" is premature optimization at its worst!
You fail to see my point. I do not mean making an engine that can be reused. I mean just making the engine of the game and a few bits of content to test the engine. The engine is the easiest part of the game, and the part which is best for getting better at programming. Making a whole game on your first platform engine is just going to frustrate you. Worrying about finishing is a bad idea when you are trying to learn game programming.
|
|
|
|
sproingie
|
 |
«
Reply #5 - Posted
2013-02-02 22:18:14 » |
|
I have three bits of advice:
1. Learn stuff. 2. Screw around. 3. Have fun.
|
|
|
|
theagentd
|
 |
«
Reply #6 - Posted
2013-02-02 22:21:50 » |
|
I have three bits of advice:
1. Learn stuff. 2. Screw around. 3. Have fun.
4. Join the rest of us who pretend to be awesome while never finishing any games. 
|
Myomyomyo.
|
|
|
teletubo
|
 |
«
Reply #7 - Posted
2013-02-02 22:33:06 » |
|
Try making a platformer engine. Or a few.
By only making the engine, you learn how the engine works, but without making a full game and wasting time.
After that you could try again a few more times, adding more features and optimising until you have a good engine for a game.
I highly disagree with that. You'd rather build a small car that barely moves, than to build 30 car parts without even knowing what exactly a car needs. You'll never know what you need in an engine if you have never made a game. Think of when you first tried writing a game, you had no idea what a spritesheet was, nor what a "game tick" was. My advice is to make small game clones. Pong, then space invaders, then pacman. You will notice that will start reusing some parts, and that might become your engine. Then make World of Warcraft.
|
|
|
|
ReBirth
|
 |
«
Reply #8 - Posted
2013-02-03 02:24:20 » |
|
I have three bits of advice:
1. Learn stuff. 2. Screw around. 3. Have fun.
Actually the more you screw around the more you learn. 1. Have gut to do something 2-99. Screw around 100. dance
|
|
|
|
Vendettaseve
Junior Newbie
|
 |
«
Reply #9 - Posted
2013-02-03 05:58:58 » |
|
Thanks for your replys guys, I have a better idea what to do now, As said above I think I will start with pong, and learn all that business, I think a good short term goal might be to replicate the core gameplay elements of that old game Graal, just the walking around and stuff 
|
|
|
|
Games published by our own members! Check 'em out!
|
|
Jimmt
|
 |
«
Reply #10 - Posted
2013-02-03 06:03:27 » |
|
Then make World of Warcraft.
Hah. If you do, don't make it subscription  Replicas of old games are a very good idea because the art is usually already online and you have game behavior/rules already defined for you, not to mention a level of polish to compare your own game to.
|
|
|
|
matheus23
|
 |
«
Reply #11 - Posted
2013-02-03 10:43:38 » |
|
I have three bits of advice:
1. Learn stuff. 2. Screw around. 3. Have fun.
4. Join the rest of us who pretend to be awesome while never finishing any games.  You are awesome, but I've never seen a complete game from you  Would be cool, since it looks like you could create the next BF3 with your knowledge and skills 
|
|
|
|
65K
|
 |
«
Reply #12 - Posted
2013-02-03 11:36:08 » |
|
Take a ready-to-use library like libgdx, set up a game skeleton, put a sprite on the screen and let it move according to key presses. Then start to make your own clone of any simple game like Tetris or Breakout. Then go further and do something with a scrolling playground. Then try something with simple game AI. Buy good books for the basics of (good) programming. Learn, learn, learn. No engine please, a noob just cannot do that, no matter if reusable or not.
|
Lethal Running - a RPG about a deadly game show held in a futuristic dysoptian society.
|
|
|
theagentd
|
 |
«
Reply #13 - Posted
2013-02-04 09:11:19 » |
|
You are awesome, but I've never seen a complete game from you  Would be cool, since it looks like you could create the next BF3 with your knowledge and skills  BF3? They can't even get their MSAA right with HDR. Don't compare me with them! 
|
Myomyomyo.
|
|
|
Oskuro
|
 |
«
Reply #14 - Posted
2013-02-04 10:17:21 » |
|
The Holy Trinity: Tetris, Pacman, Breakout
Substitute any or all by whatever classic game you'd like.
|
|
|
|
orogamo
|
 |
«
Reply #15 - Posted
2013-02-04 10:27:34 » |
|
Screw around with Console(as in text-based) Games, just to get the feel of making a game(not concerning yourself about graphics or sound), then move on to Java2D(or similar, libGDX, slick, etc.), then you can move on to learning OpenGL and make a OpenGL Accelerated 2D games with basic sound(OpenAL), and finally move onto 3D(OpenGL). But don't get to excited, this is not a small learning curve. It will take time and dedication to get from start to finish... Good Luck 
|
|
|
|
Varkas
|
 |
«
Reply #16 - Posted
2013-02-04 11:26:01 » |
|
I've been somewhat successful with making clones of old games to get into Java game programming:
- Breakout - Trailblazer - Boulder Dash
Just something simple, which you like(d) to play.
|
|
|
|
ra4king
|
 |
«
Reply #17 - Posted
2013-02-04 22:28:28 » |
|
You are awesome, but I've never seen a complete game from you  Would be cool, since it looks like you could create the next BF3 with your knowledge and skills  BF3? They can't even get their MSAA right with HDR. Don't compare me with them!  Wait whaaaat?! Explain this now! 
|
|
|
|
|
Agro
|
 |
«
Reply #19 - Posted
2013-02-05 00:32:49 » |
|
I think a "true" game engine is something that doesn't have anything gameplay and game content related, and handles only broad systems(like collision, networking, etc). So, by definition, it would be a pretty dumb idea to create an engine for a noob project. All you want is a small little game.
|
|
|
|
novasharp
Junior Devvie   Medals: 1Projects: 1
Gamemaker
|
 |
«
Reply #20 - Posted
2013-02-05 01:50:18 » |
|
Start with pong, go to space invaders, maybe a maze game. From there, you can work on adding 3-d and then you will have the basics.
|
novasharp
|
|
|
Oskuro
|
 |
«
Reply #21 - Posted
2013-02-05 10:55:49 » |
|
I think a "true" game engine is something that doesn't have anything gameplay and game content related, and handles only broad systems(like collision, networking, etc). So, by definition, it would be a pretty dumb idea to create an engine for a noob project. All you want is a small little game.
Well, technically, any codebase that allows creation of game content is an engine in itself. The difference usually lies in the approach. Those making an engine exclusively focus on making it generic enough to allow multiple implementations; Those focusing on a game, on the other hand, develop features that the game needs, regardless of reusability. So yeah, for starters, I'd focus into making the game first, and then for future projects focus on maybe expanding the engine that'll come out of it. (Mind you, all this advice is great, but I at least tend to be an idiot and ignore it. My current project is bogged down by my obsession to try and make everything as generic as possible, so maybe read this as "don't make the mistakes I'm making" advice)
|
|
|
|
KevinWorkman
|
 |
«
Reply #22 - Posted
2013-02-07 13:44:32 » |
|
I'm surprised nobody mentioned Project Euler yet: http://projecteuler.net/That website gives you a bunch of problems to solve, and you submit programs that solve them. You compete for points by solving harder problems.
|
|
|
|
Cero
|
 |
«
Reply #23 - Posted
2013-02-07 15:04:50 » |
|
I have three bits of advice:
1. Learn stuff. 2. Screw around. 3. Have fun.
Sounds like a Dad telling his son about women :D
|
|
|
|
ReBirth
|
 |
«
Reply #24 - Posted
2013-02-08 01:48:24 » |
|
I have three bits of advice:
1. Learn stuff. 2. Screw around. 3. Have fun.
Sounds like a Dad telling his son about women  Now you say it. Still apply from game project, multiply the screw around step 
|
|
|
|
KruSuPhy
Junior Newbie Projects: 1
|
 |
«
Reply #25 - Posted
2013-02-08 02:03:29 » |
|
From a fellow java noob, here's a website that's got a bunch of basic exercises to learn and get good with stuff. http://www3.ntu.edu.sg/home/ehchua/programming/java/J2a_BasicsExercises.htmlI've only been learning java for about a week, but that website's helped out a lot so far. I just made a number-guessing game(it's one of the exercises) without having to look at any references or anything, which is a pretty good feeling.
|
|
|
|
|