|
So I finally ended my first semester with Java and I could use some tips from the pros out here to guide my way. I have a second semester with java and starting with .NET coming up but I would like to learn more on my own. I have searched and searched for information (theres plenty) but all I know is every language has its pros and cons so choosing a path isn't easy.
I would like to get into software development or the gaming industry someday in the near future and be a profesional that really knows his stuff! I think the toughest part is "I WANT TO KNOW IT ALL," I just have to take it one step at a time.
Thanks in advance
|
Pick a project you want to do (maybe a small game) and then plan out what you need to accomplish this (graphics, sound, input handling, collisions). As you meet each small task, look up the library or code you need to accomplish this (probably start with Java as you know some). You'll soon have found and learnt the most-used libraries for any project.
|
I create games using C# with the OpenGL library.
The pros with C# is that it is very similar to Java but with a more complete library (the lists and dictionnaries are great, it's like arrays but way more complete). Java was my first programming language and C# was just a logical followup to create games since it's better than Java for this option. C++ is probably the most used language to create games but it's old and complicated. Maybe you could earn it later but it's not necessary imo (I may be wrong on this part about C++).
To learn how to create games, I've bought this fabulous book: http://www.amazon.com/Game-Programming-Serious-Creation/dp/1435455568
You should check it out, I'm sure you'll love it.
|
Is there something you are especially interested in? UI programming? Finding and developing algorithms? Web development (Not necessarily HTML/JS)?
Think about what would be fun for you and try to go with that. With modern languages such as Java/C# you have a lot of tools at your disposal to easily write a webservice / cool desktop application.
|
So far all I have done is learn basic basic java. Think of it like an introduction to programming course.
Im interested in game development and I would like to make software for business's.
I found fun to figure out and develop algorits even though they were probably simple.
Im going to take a look at the book linked above, thanks for that. The idea of picking up a project seems great. Any recomendations on which IDE to use?
Thanks
|
Java: Eclipse C#: Visual Studio 2010 (in the book there is an introduction on how to install and configure it)
As I can see, you're quite new to programming, you can start with simple text-based games in Java and maybe next year you could start checking out the book I linked you. I say this because the book take in consideration you are decent in programming so it may be hard if you only have 1 year of experience but who knows, maybe you're better than what I was .
Cheers!
|
Hey im studying games programming at uni and i would recommend starting with C# and the XNA framework (by microsoft). How is your maths with vectors and such? If you already understand that it will help you a bit.
If you don't have visual studio, you can use "Microsoft Visual C# 2010 Express Edition" which should be fine. C++ is most commonly used in games programming but i recommend you learn that a bit later on. I also recommend looking up VIDEO tutorials on the net. This is so great as they explain the code while typing it
There was a good tutorial for creating a first xna game. I will try to find it if i can......
edit: forgot to mention that c# is rly similar to java which is also the language that i started with
|
Use Eclipse for java development. And yeah, just pick a project and start working on it. 90% of programming is strong google-fu anyways so you should be able to figure things out with enough patience. The most important thing to remember is that if something seems ugly or inefficient find a way to make it cleaner right away, because if you continue to build on an ugly base your code can get unmanageable very quickly. This is less of a problem for solo coding but it's good practice regardless to refactor early and often.
|
Oh I have a question too: What do you know in programming for now?
I suppose you have seen the basics like variables, functions, classes, arrays, etc... but have you worked with files, different data mappings, class implementation, interfaces, and so on?
|
On July 05 2011 02:59 MrShankly wrote: Hey im studying games programming at uni and i would recommend starting with C# and the XNA framework (by microsoft). How is your maths with vectors and such? If you already understand that it will help you a bit.
If you don't have visual studio, you can use "Microsoft Visual C# 2010 Express Edition" which should be fine. C++ is most commonly used in games programming but i recommend you learn that a bit later on. I also recommend looking up VIDEO tutorials on the net. This is so great as they explain the code while typing it
There was a good tutorial for creating a first xna game. I will try to find it if i can......
edit: forgot to mention that c# is rly similar to java which is also the language that i started with
I would like to add something to that.
XNA is an already made engine that you can use for free. The thing with the book I linked is that you make your own engine before making an example of a 2d shooter (in the book). The engine you make is very similar to the XNA (as far as I know) because I've used both and they have very similar classes.
If you decide to start with XNA, like MrShankly, be sure to have some video tutorials or books on it or you may have a hard time understanding whatyou are doing. With the book you see step by step how every part of the engine is made which is great and you program a lot of fun examples with it to test your engine with OpenGL to test rendering on your screen.
Edit: I also greatly recommend this website for new game programmers: gamedev.net
|
Isn't openGL more complex to get started with though? Having to create the context and openGL being a state machine and stuff?
http://create.msdn.com/en-US/education/tutorial/2dgame/getting_started
Anyway i can no longer find the tutorial i was originaly going to llink you to, but this one seems similar, an updated version of the old one or something.
|
On July 05 2011 03:14 MrShankly wrote:Isn't openGL more complex to get started with though? Having to create the context and openGL being a state machine and stuff? http://create.msdn.com/en-US/education/tutorial/2dgame/getting_startedAnyway i can no longer find the tutorial i was originaly going to llink you to, but this one seems similar, an updated version of the old one or something.
Yeah maybe but with the book I assure you it's very easy to understand. It's like, it takes in consideration you know C# (which is like Java) but start at the basics with OpenGL which is great imo.
Edit: But it's alright if you think he'll be cool with XNA, my point is just that I really like what I learned with the book (how engines works). It also give some very good startup for many game types.
|
Thanks for the replies so far. What I have learned so far is classes, methods, arrays, variables, stuff like that. I think I might try to make a tic tac toe game with text first and then see how I could have a Graphical interface for it.
I still have long ways to go with Java bit I just like setting up my plan for the future.
My math isn't terrible. If there is something I dont know I'll find out how to do it.
So far I believe my best choice is to keep going with java and start looking at C#.
|
On July 05 2011 03:21 Kfish wrote: Thanks for the replies so far. What I have learned so far is classes, methods, arrays, variables, stuff like that. I think I might try to make a tic tac toe game with text first and then see how I could have a Graphical interface for it.
I still have long ways to go with Java bit I just like setting up my plan for the future.
My math isn't terrible. If there is something I dont know I'll find out how to do it.
So far I believe my best choice is to keep going with java and start looking at C#.
Yeah game programming is a lot of maths (depending on what you do).
I think it's a great idea that you want to start with a tic tac toe game, you'll learn a lot if you finish it. And to make it graphical, this is where you could try to implement your game in C# (very easy to implement since the two languages are kinda the same) because if you have ever used Visual Studio, there is an in-built interface creator which is again really easy to use.
In Java, it's very possible, it's just harder since it's just coding and placing your things at the right places but it's still easy if you google some tutorials, you should have no difficulty when you'll be there (you may even start doing some interfaces in your second semester).
Keep it simple with small games and this is how you'll get better. Also, don't give up if you have an error you don't find, eventually you'll get it as you get better at using the debugger (a very useful tool in any IDE).
|
On July 05 2011 03:21 Kfish wrote: Thanks for the replies so far. What I have learned so far is classes, methods, arrays, variables, stuff like that. I think I might try to make a tic tac toe game with text first and then see how I could have a Graphical interface for it.
I still have long ways to go with Java bit I just like setting up my plan for the future.
My math isn't terrible. If there is something I dont know I'll find out how to do it.
So far I believe my best choice is to keep going with java and start looking at C#.
Programming is pretty nice. I did not like developing games(c++, objective c [for iphone] etc), but I really fell in love with java enterprise, making web applications. I myself do not like eclipse, I would rather use Netbeans, but I fell totally in love with IntelliJ (which costs money, but maybe you can get it for free on the course your going on, ask your teacher).
There is nothing wrong with eclipse, you can do all the good stuff, but I like my environment very sexy, that is all. Also, having a mac to program on, is a blast (or linux). Windows is like still cheering for fruitdealer, you always get disappointed. Still, this is just sexyness, you can do perfectly fine whit whatever you use really.
Much will happen in the comming year for you, and I myself also want to do everything, even graphics/drawing. Its a nice profession, and as times goes by, you realize you use much more then just java. Scala is really showing itself as well, and there are many nice frameworks that is a blessing to use for certain projects (playframework comes to mind).
|
Every one of you helped me a great deal, thanks for every reply. I'm gonna hop right into eclipse and make tic tac toe! I have taken all of these suggestions into consideration. I will update this thread with my progress! <3
|
On July 05 2011 03:38 Kfish wrote: Every one of you helped me a great deal, thanks for every reply. I'm gonna hop right into eclipse and make tic tac toe! I have taken all of these suggestions into consideration. I will update this thread with my progress! <3
Great news! Don't hesitate to ask for help.
As crappen said, there is a lot of things related to computer sciences (and programming for that matter) that maybe you can check about programming in web, games, data storage, etc... a lot of interesting fields. But myself I prefer game programming but I try to implement many fields like I make a game where I can save my character to a database so I can load it anywhere. I can also have a website which write the information of my character on a web page, etc... all very interesting possibilities.
It's just a matter of exploring the possibilities and the technologies to see what you prefer and what you want to do
I say, start with your tic tac toe and see if you like doing that.
|
|
|
|