I have the basics down, but how do I practice? I dont have any basic projects im willing to practice or work on, most of the projects I try to do end up being too hard and I can never finish them… What should I do?
Learn more advanced topics like threads,networking,servelts and so on…
Start with something you like first until you find something you enjoy. At that point, you will have something comfortable to you. You can then proceed to build upon your previous successes, merging them into a single project. Join communities that share your interests. Play games.
Check out the Java4k competition. Find a game you enjoy. Write a clone. Nearly all of the games on there are pretty basic if you’re not worried about the 4k limit. (Left4kDead is probably the biggest exception, although if you don’t worry about the lighting to start with then it’s not very hard).
Try to plan your projects with the aim to better identify those sections that you think will be too hard. Then you can see more in advance if it’s a good project or not, or if there are any ways to change/tone down those difficult sections and make them easier.
But ultimately if you want to get better at writing Java, then just write more Java!
When I first learned Java I wanted to do the same thing. Find a project that I could practice with. An easy solution is to make something that already exists. One easy one is to take Notepad from Windows and try to make it in Java, as close to exactly the same as the original. It was a great learning experience for me. Don’t try to make it better in any way. It is hard enough to get it to work without adding feature creep. Once you finish it a second project could be to make a list of improvements and try them out.
Game wise my first Java game was Minesweeper.
Man, I think most of us here have fought with this. Here is my advice:
- Leverage a framework. kevglass (Slick2D) and others here have already tackled the tough problems that will knock the wind out of you. They open-sourced their stuff, so until you build up a codebase of your own, I suggest you drive it like you stole it.
- Pretend it’s your job. At work you can’t blow off your current task to do something more exciting, or you’ll get fired. At home, there is no one to force you to do all the crap work, so it is easy to get side-tracked on some nifty new idea. This kills your forward momentum, avoid it at all costs, (or your fired!
) - Put your ego on the back burner. WoW took 100+ guys 5 years to finish. Do the math, unless you have 500 years of free time to burn, you better get used to the idea of making a much smaller game.
- If you still can’t finish that smaller game, reduce scope until you can. The only thing less fun than an unpolished game that is barely playable is an unfinished one that can’t be played at all.
Good luck man, hit us up with questions if you get stuck. ;D
Actually, the core of the game took less than a year to make. All the content and debugging related to it took time. It’s that conflict when an artist wants something unavailable, but the feature somehow breaks the nice working code. And of course, the publisher wants the combination invented sometime… yesterday.
I think that game’s starting core only required one to three people, and I’m sure one of them didn’t work directly for Blizzard. Otherwise, all else seems true.
I was just trying to convey that biting off the scope of a typical A-list game is unwise for most indie developers. I have no problem reducing my estimate of 500 man-years of work to match your estimate of 100 man-years of work. :
Yes, quite good of you, but 100 more people-years should suffice. We shouldn’t forget women and children.
You get your self a java helloworld program and build on it bit by bit.
then you give it an added feature then you observe it see what errors it throws at you and understand why it did what it did.
for practice keep changing it adding features and bit by bit you will master the language, method by method ,api by api.
Experimenting will give you good insight with out trying to write specific projects.practice is but repetition,doing the same thing till its embeded in your cerra bellum.
first hting I got to ask is, do you have the basics of java game programming. Or just general purpose?