Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 13 May 2011
Offline Last Active Sep 22 2013 08:04 PM

#5093680 Java books

Posted by on 12 September 2013 - 05:39 PM

Hey Crusable! Just saw your reply on my post :]

Anyway, for Java books I have several in my bookshelf but I think the one I find the most useful is Java All in One For Dummies. It's a pretty thick book but it's not heavy and it's jam packed with information. The style is highly accessible and rarely is it dry like the other Java books I have. And speaking of the other Java books I have in case you would want to check those out as well I have Learning Java from O'Reilly, Killer Game Programming in Java from O'Reilly again, and Developing Games in Java by David Brackeen. I have other small books but I mainly used those for the exercises when I was just learning computer science for the very first time. The two books by O'Reilly have a lot of information but I personally find them very dry.

All in all I think my favorite recommendation to give is the All in One Java for Dummies book :] it covers all the core classes and gives you a good working knowledge of Swing. Killer Game Programming in Java has a more extensive coverage of Swing and the likes but it is more hefty, more expensive, and really really dry. Good luck with Java and Android development!


#5090489 What do I learn after the basics?

Posted by on 30 August 2013 - 06:42 PM

Hello! Congrats on finishing the book and the basics :]

At this point, without fully understanding what your "basics" encompass, I would suggest tackling small projects and going from there. You'll be learning how to use things as they come up. When I finished my basics I went on to try and make my version of Pong. This is great because it gets you familiar right away with using Swing. Before you jump into the coding though I would highly suggest you get pen and paper and write down what you think you are going to need.

Two Paddles
Score System
Collision detection between paddle and ball
Collision detection between paddle and goals
Bounce mechanism

From there on you can decide how you want to structure your classes, and once you have those written down, decide what methods each class should have and which classes should be responsible for which interactions. From then on, get to your favorite IDE/text editor and start coding away. Whenever you run into trouble, hit up the debugger, set up some breakpoints, use System.out.println(), and try to figure out what's wrong, If you can't figure it out, break out the Google-Fu, and if that doesn't work, then post over here and people will help you as best they can :]

So just pick a game that you would like to make and go from there. Add your own modifications too! My Pong had a "boost" bar that charged up every time you successfully deflected the ball, once it was full you could press spacebar and the ball's velocity would quadruple for a fraction of a second(in whichever direction it was already heading, so yes you could kill yourself haha).

Once you have a couple of games under your belt and you feel more solid in your Java, it's time to start looking at libraries. I don't know too much about Java libraries but if you're going to eventually go into 3D, take a look at JOGL, LWJGL, and others that are currently slipping my mind...but yeah just look around/ask around and you shall find them :]

Oh and also you should pick up a nice reference book to keep on your desk. I have the Java documentation bookmarked sure, but I always keep my Java for Dummies All in One desk reference. The book has served me wonders for a long time. 

Anyway, sorry for the long post. I hope some of what I said has been of use to you, and if not, I'm sure many other people will post useful information. Congratulations again and I wish you the best of luck and most of fun in your gamedev endeavors!


#5019363 Impact of Using Outdated Resources

Posted by on 08 January 2013 - 11:01 PM

Python 2.x isn't an outdated standard, it's just an older version.

Thank you! I didn't think of it that way. I guess the reason why I'm confused is because like in OpenGL, there's a huge difference between the older versions which are now deprecated(fixed function pipeline) vs the programmable pipeline. Python's not my first language so I guess I should be fine just diving in with what I got and adapting to the new stuff as it comes :]

Only one other thing though that had piqued my interest. When I was searching around for differences between HTML 4 and HTML 5 and Python 2.x and Python 3 I found a lot of negativity directed towards the newer versions and people saying that the switch would never happen and that it was a bad idea and stuff. Why is this? Is it just because of the amount of the code base that would then become legacy code? As far as I understand it in HTML's case, "switching" to HTML 5 isn't going to affect people who wrote their code in the older standard.

But anyway I digress. Thank you very much for your help.I will go ahead and get started on Python.

#4997020 Rogue-like tile system display question

Posted by on 03 November 2012 - 06:00 PM

Hey! I'm not sure how much I can help here, but I know it's frustrating to not have anyone answer your questions so I'll do my best here. I'm also working on a Roguelike in Java so I'm in the same boat as you. I just have some questions to see if I can better help you.

1. Are you using any external libraries for your game?
2. Due to the wording, I wasn't entirely sure how you were handling your display. Are you going text based, graphic based, or hybrid?
3. What is the structure of your game?(Dungeon has Floors, Floors have Rooms, Rooms have.....etc)

Seeing as I can't contribute much until I know more about your game I'll assume that you have randomly generated one big map(or Floor) of interconnected Rooms. So in the class where you take care of the generation you populate the map with its respective tiles. Then you have an entity class that is randomly spawned on to the map. I agree with you when you say that the tile should not have to know which Entity it has on it, however each "Floor", if you will, should know all of its contents. Not necessarily all of the specifics of it, but it should know what it has. The way I see it(and again I am only assuming here) you're taking care of generating the map and then adding on the Entities, but shouldn't you just spawn each floor already knowing how many entities, items, and whatnot it should have and their locations?

That way you go like this

New Floor
+4 Monsters
-Greater Potion of Vitality(12,12)
-Lesser Potion of Mana(48,34)

Then inside of your code all you have to do is put in an order of precedence of what is displayed.
if(there's an item OR there's a monster)
Draw the item/monster
Draw the tile

This way you still have the tile there although it's not being drawn, allowing you to use its modifiers(ex.sludge tile slows your character if he's not a Ranger)

Also pertaining to the replacing char question, have you considered using a StringBuilder? Seeing as you mentioned overhead I'm assuming you're worried about performance(I'm making a lot of assumptions). String concatenation is far less efficient performance-wise than using a StringBuilder. Hopefully I've been able to help somewhat with my reply, and if not I at least hope I can keep your post up in vision for other people to give it a shot; hopefully people with a better understanding than me.

I'll do my best to work this out with you though :] in the meantime I'll be working on my RL on and off today so I'll be at the computer.

Best of luck!

P.S To mods or whoever comes by, if I flubbed on anything please correct me, I don't like giving misinformation, be it unintentional or not.

#4968326 "Must-Learn" Languages

Posted by on 10 August 2012 - 10:58 PM

@DZee I see your point there but I like to think of it as my Dad puts it,

"You can have large sea of knowledge, but have it only be puddle deep. Likewise you can have a puddle that is miles deep. But in the end, the most interesting sea is the one that is expansive and populated with shallows and deep ends."

I realize that I shouldn't try and be good at everything but I feel there is always something to gain from learning something new. Sometimes even just that joy of learning something new is enough to keep you going when you feel tired. I will probably specialize in a very limited field as you say, but I doubt I can keep my thirst for knowledge quenched. I wouldn't be surprised if at the end of my life I'm sitting in bed reading on the newest quantum computer or virtual reality gaming consoles(hopefully they get there by then!) :D

@ApochiPQ I agree completely with you on that, that's why I made this post :)

#4967972 "Must-Learn" Languages

Posted by on 09 August 2012 - 09:58 PM

Hello everyone!

I've been programming with Java for a while now and become quite comfortable at it. I just recently I started to pick up C++ to expand my knowledge a bit. One of the main reasons I chose C++(and I realize C would've qualified too) was because it dealt with pointers, and coming from Java it was a topic I felt I should learn considering the fact that I have hardly any control over memory in Java. Then I got to thinking, "Hey, there are some languages that benefit programmers not only with the possibilities of new libraries, capabilities, etc, but also with new programming insights"

So here I wanted to ask you guys for your opinions on this:

*Which languages offer these programming insights to those that learn them?*

*What are the insights that those languages offer?*

*What is the "must-learn" set of languages any programmer should learn if you had to limit them to around five or seven?*

I'm really interested to see which languages people choose and with which arguments they back them up(hopefully without an ensuing language war).

Thank you for your feedback! I'll snag some of the suggestions and pick up books on those languages to learn after I finish reading up on C++ :)

#4937551 Game Engine from Scratch...Why?

Posted by on 04 May 2012 - 11:13 PM

Haha, thanks Slynk! You're right, and even if I did build my own computer, I'm still using pre-built parts at some level. Guess there really is no point in re-building the wheel aside from learning. I will definitely take that advice and separate the research aspect from the actual project aspect of programming :] In fact I actually feel more motivated to go back and finish my project now. Thanks ApochPiQ, Adams, Spiro, and Slynk. You guys gave me some helpful feedback!

#4937523 Game Engine from Scratch...Why?

Posted by on 04 May 2012 - 08:04 PM

Hey I haven't posted in a while, but a question just popped up in my mind:

Why do people want to make game engines from scratch?

I ask this mainly because when I started out programming(I still remember my first post in these forums lol) I wanted to make everything by myself; I didn't want to use any libraries(although to be completely honest, at the time I doubt I really understood what a library was). I eventually got over that, as I've been programming for a bit longer now. I've been working under the tutelage of a mentor for a school project to make a video game in Java, and so far I've been able to make my own game engine and I am in the process of finishing up the last bits of the demo, but of course through using the Java API(mostly just using AWT and Swing).

However, recently I was reading some articles and although I'm generally not one susceptible to being influenced by heavily biased works/articles, I did read one that made me think a bit. It was talking about using different languages to program. I started out with C++ (which I'll admit, I did against the advice of others, and somewhat regret) but after about a week or two, I switched over to Java. I started out learning using The New Boston's tutorials on YouTube, and once I finished Bucky's video series, I bought a book on Java, and then another, and then another...... basically I amassed a giant stack of books on programming languages. Recently, I got a mentor for my school project, and I now feel very confident in the language, but what the article said struck me:

Programming in Java is largely looking for the right API, learning how to use it, implementing it, and forgetting about it until it is necessary again.

I'll admit that for a second I cringed, because I felt that the time I had spent learning the language had been reduced to something akin to learning how to use GameMaker or RPG Maker. For the past week or so I stopped programming in Java and fell into a sort of "programming depression" in which I was desperately searching through my C++ books to try and learn it again and see if I could make a game engine from scratch, without relying on any APIs. I essentially wanted to set out and make the wheel again. At first it was just simple stuff as with how to do active rendering, but then it got really ridiculous when I felt "ashamed" of using even the BufferedReaders in Java to handle file input. It felt really greedy to want to know how to do everything, and I'm sure given another couple of weeks I probably would not be satisfied with anything less than making my own computer from scratch so I could make my own game from scratch.

I'm trying really hard to force away this urge to do everything from scratch so I can go back and work on my project again without feeling like I'm doing something morally wrong. Has anyone else been in this situation? Is there anything inherently wrong with being high-level vs. low-level with respect to games?