It looks like you're new here. If you want to get involved, click one of these buttons!
Hello fellow MMORPG/PC gamers out there! So I've become ambitiously attached to Minecraft and have some major ultimate goals that i plan on seeing to the end. Considering my career ambition is to make an mmorpg myself some time later in my life, i have yet to go through my junior year in high school and i figure, why not begin my quest of learning to code and write in c++/java etc. SO I figure the perfect place to begin is opening an mmorpg server in minecraft with a glorious amount of mods and the sorts!
Now you're thinking, just open a thread in the minecraft forums, but considering there is a painful amount of childish kids and trolls that often associate themselves with minecraft, I'm avoiding the nonsense and false information fand im looking to a typically adult, mature audience here on the MMORPG.com forums. That being said, I ultimately want to learn Java which is the point of this thread, so if anyone who reads this has experience in the field of coding, please give me pointers as to where to start, best programs to start with, any information like that would be great! My prior experience all this week has been a mindnumbing amount of hours spent wondering the internet in its glorious selection of false/true and uncertain answers as where to start/ how to start/ and how to code.
Also, this is a perfect thread for you awesome gamers to discuss coding in itself and/or program/hame development itself.
So please, discuss, and give me as well as the forums itself some pointers!
Comments
If you want to get your feet wet with programming, I recommend trying out some of the scripting languages first. Head over to Codeacademy and start banging away on some Javascript or some python. They have a really cool tutorial system that has you coding right away.
I understand you want to learn Java or C++, but starting with an interpreted language (javascript, python, ruby) will give you a very good start on the fundamentals. These languages are also a lot simpler and the syntax is more forgiving. Once you have a little familiarity and success with a high level language (high level as in further away from the machine language) , then Id give something like C++ a try.
I am a computer science student and have messed around with many languages, but I find that the more you practice in ANY language, the easier it is. Moving between languages isn't that big of a deal once you understand the underlying concepts.
Good luck
Good to hear that you are interested in learning programming! I hope that you like it and stick with it.
Here is a very good video series for just beginning Java programming:
The New Boston videos are very good for beginners to Java programming, and they even have a series specifically on Java game programming. I would recommend you watch and complete every video in the beginner Java series before you do anything else.
Derek Banas has a very good Java programming video channel on YouTube. His pace is much faster than The New Boston however, and I can not speak for the quality of his beginner videos (I have only watched his videos on Design Patterns).
I would also recommend you check your local library for any Java textbooks that you can use. As a beginner, it is easy to come up with program ideas that are beyond the current scope of your programming abilities. I would recommend trying to find a textbook so that you can do the exercises at the end of each chapter. This may sound really boring, but I would recommend it simply because you will spend your time implementing features rather than having to think of what features you need.
Another good book to check your library for would be any book on the Unified Modelling Language (UML). Once you start working on larger projects that have more complex systems, it is helpful to know how to properly plan ahead by designing certain systems of your project before you ever touch the code.
After you have a basic understanding of Object Oriented programming and UML, you should check out OODesign.
A good program to make for beginners (and one I used to help me learn) is a simple Rock, Paper, Scissors game. As you go through chapters in your book or videos online, try to incorporate different structures that you learn into your Rock, Paper, Scissors game. Once you have a working version of the game, try changing and adding mechanics (you can even do something like Fire/Ice/Lightning instead of the usual set up).
Anyways, I hope you like programming. It is not for everyone, but if you have enough patience and you like to problem solve you may love it.
P.S.
GOOGLE is your friend! Stuck with something? GOOGLE, GOOGLE, GOOGLE!
Little forum boys with their polished cyber toys: whine whine, boo-hoo, talk talk.
I don't agree that Javascript is a good first interpreted language. Don't let the name fool you. Javascript is not Java. It's not even derived from Java.
If you would like to learn Java, I suggest you start with Java. Java is are very different language than anything you might learn to prime you for learning Java.
Java is a very structured language that isn't nearly as forgiving as Python or Javascript. It is, however, fairly easy to learn the basics. A determined person could write his first Java class in a matter of minutes and actually know wtf a class is in a matter of hours.
This may sound old school but, the best place to start is a dead-tree book: http://www.amazon.com/Core-Volume-I--Fundamentals-Edition-Series/dp/0137081898/ref=sr_1_11?ie=UTF8&qid=1376198549&sr=8-11&keywords=java+programming
That's what I read to study for the Sun Certified Java Programmer certificate. Cay Horstmann is really good at teaching the subject.
I studied that book for at least 15 minutes a day for about a month. If you're really motivated you could blast through it in a fraction of the time.
By the time you're done, not only will you understand the language of Minecraft, you'll understand the language that they used to write large parts of the Darkfall server and you'll be well on your way to developing Android games/apps.
My qualifications: I've been a professional C-like-language (C#/Java/C++/C/Perl) developer on Windows and Linux since 1998.
Life of an MMORPG "addict"
For 7 years, proving that if you quote "fuck" you won't get banned.
Also, another small secret I've learned: Don't feel bad about dropping a textbook after reading 100 pages if you find yourself impatient to start in on your project. Take it from me, do it. Drop the book, start writing your project. When you reach some place you don't understand, head back to the book or Google. In all my years I've only ever read 2 or 3 technical books cover to cover and I'm an autodidact; it's the only way I learn.
Life of an MMORPG "addict"
For 7 years, proving that if you quote "fuck" you won't get banned.
Never fear, your dream MMO will be here....
just give me a decade or two to finely hone my Game development
and design abilities as well as start a Game Design Studio.
Thank you for your patience.
http://www.google.co.uk/search?q=clean+coder+book&ie=UTF-8&oe=UTF-8&hl=en-gb&client=safari
rpg/mmorg history: Dun Darach>Bloodwych>Bards Tale 1-3>Eye of the beholder > Might and Magic 2,3,5 > FFVII> Baldur's Gate 1, 2 > Planescape Torment >Morrowind > WOW > oblivion > LOTR > Guild Wars (1900hrs elementalist) Vanguard. > GW2(1000 elementalist), Wildstar
Now playing GW2, AOW 3, ESO, LOTR, Elite D
I suggest that if you want to learn something you need hands on experience and doing something fun while learning helps a lot(you're more motivated to learn new things). If you are interested in game programming then jump in and start playing around with it and see if it's really something you like.
You can download a free game engine at unity3d.com. There is a ton of info and tutorials out there for it.
If you have no prior experience whatsoever in programming, you should probably just google some tutorials on a language of your choice to get the basics.
I wouldn't worry about the language you choose right now. Once you learn the fundamentals you'll be able to change over to a new language without too much trouble. I do recommend not starting with c++ ... it's just going to increase your learning time. it's just tedious. You can always go back to it.
After that try to just "play around" with a few things you can learn from some of the unity tutorials.
Look up tornado twins in youtube.
Here is another guy that has some Unity tutorials on how to create a multiplayer game .. he doesn't leave out any details in his explanations: http://forum.unity3d.com/threads/122386-Gamer-To-Game-Developer-Multiplayer-Video-Tutorial-Series-on-YouTube
He does use client side hit detection, but still, the videos can teach you a lot.
After that, you'll probably want to try out a server software .. the 2 big ones for Unity are Smartfox server and Photon.
Also ... 3dbuzz.com has a paid tutorial on mmo development in unity here:
http://www.3dbuzz.com/training/view/mmo-developement
I haven't looked at it though.
EDIT
Also... you can get a free version of visual studio from microsoft .. you'll definitely want something like that to start. (assuming you use windows?)
look up visual studio express
Well, first thing first: programming is actually quite boring work; you sit day after day, week after week, writing code, not something exciting and great, but a mindnumbing amount of completely trivial code describing in minute detail even simplest details of a projects.
As a game programmer, you will spend 2% of time programming exciting things like AI and game mechanics and 90% of time programming things like what button does what and what error message a user should see if he, the idiot that he is, instead of clicking the button, will decide to lick it.
The rest of time you'll be reading on third-party libraries and thinking how you can use them, then learning their APIs and finally, after months of efforts, you'll discover that those third-party libraries are inherently incapable of doing what you need. And then you'll have to throw everything to the bin and start from scratch. See SWTOR and FFIV.
If that doesn't scare you - start away!
A simple scripting language is truly the best in order to learn things; but also you need to have some theoretical basis. Python is a good way to start; so is PHP; both can be used widely in many applications in real life, so at least you'll never feel that you've wasted your time.
VERY important is also to have a basic understanding of Object Oriented Programming. Both Python and PHP are capable of OOP, but don't jump into it right away, you'll just break your legs - first read about it, learn what it is and why it is that way; understand, that it's the very foundation of modern programming; and then build your farther education based on Object Oriented Programming.
Once you'll learn to think like programmer, learning languages will be quite simple. But learning to think may take years.
Over the course of my professional career, I have developed code in 18 languages and variants. I collected 'languages' and compilers.
For a pure beginner, I would suggest starting with Pascal to learn the basic principles of block-structured coding. Once you are comfortable with syntax, invest in a good C++ or Java environment -- a good portion of the difficulty with learning these languages is knowing the various support libraries. Once you are comfortable with the language of choice, step into object-oriented design and programming. Learn UML and use it. Then start worrying about the object oriented aspects of your language. Finally, learn what your compiler does.
Sure, you could jump into Visual Basic or Visual C++ and start that way. I feel the more grounded approach gives a better understanding of the overall process of developing complex code.
As someone suggested above, learn to document your code no matter how you choose to approach computer languages. It is important, unless you enjoy trying to figure out a clever trick you incorporated into some code four years ago. Fires happen. Documenting each and every line of code is never a wasted effort in my experience.
Logic, my dear, merely enables one to be wrong with great authority.
Thanks for making me laugh. I needed it.
http://www.code.org/learn/scratch
Do not go messing around with all these randomly languages. Just go straight to Java. The beginning of learning a language is basically who puts the most work in. After that, it is basically who puts in the most work and is the smartest.
Try codecademy.com
They don't have java, but you're better off learning Python or PHP anyways. Personally, I would start with Python
http://f.cl.ly/items/3n15423i0G2i111y3c2b/computer.gif
I suggest that instead of starting with Java, you start with python and there are several reasons why I suggest this. First off, you don't have to deal with an interpreter, in python you can run your code immediately and receive feedback on that code. It will make bug fixing so much easier, and considerably less daunting of a task. It will actually tell you what line your error is on, and usually give you a statement that roughly explains why. That is one of the reasons why many people get turned off of programming, they can't get passed the bug fixing.
My next reason is a very important one. Python is a very clean and simple language, in that there isn't tons and tons of extra syntax required like in C++ and Java. That extra syntax will likely be confusing, which will make it harder for you to effectively learn how to program. Notice that instead of saying learn the language, I said learn how to program. This it what makes python stand out from most other languages, in that you will be able to learn the do's and don't and ins and outs of programming so much easier. Typically novices confuse people that know how to program in lots of languages with someone that is a good programmer. A lot of times, that isn't the case. Once you learn how to program correctly and you become good at it, you can apply the knowledge you've learned to almost any language out there. The use of syntax is typically the biggest difference between languages, but if you already are good at programming learning the syntax will be much easier for you.
The final reason why I suggest learning python is because there are extremely good websites and videos that will teach you how to use it. Coursera.org for example, has an introduction to python programming class, it is taught by Rice University professors. It is a FREE 9 week long course, that will slowly edge you into programming. You can sign-up for the class at any time and participate as much or as little as you want. You can get help on the community forums for that course, where fellow peers, TAs, and professors will respond to your problems. Each week, they post video lectures and helpful notes for that week's programming project. In every programming project you will be programming a game, which seems to be what you are interested in doing, so I think you will like it a lot. There are also plenty of tutorials and youtube videos on the web that you can use, but I highly suggest coursera.org. Sign up and join a class. By the way, the site provides 100s of classes, on many different subjects, all taught by Universities. It is an all around interesting website that everyone should check out.
I see this question all the time. There is no right or wrong language to start with. With the right learning material it is very much possible to start with a high-level language. I'd suggest you start with what you are interested in learning. Staying interested with the language you want to learn is much more important than forcing yourself to learn a language you feel that you're not going to benefit anything from. When you are interested, you move forward. This is key. When you learn a language, and the general concept of programming, getting to learn another language is going to be much easier than the previous one.
Personally I started with mIRC-script and moved on from there. While its area of usage is pretty limited, I learned a lot about programming simply because it kept me interested. You say you too want to learn c++ or java, which I think is great. Just make sure you stick to one language as a beginner to avoid getting confused.
Somebody in this thread recommended Derek Banas' video tutorials on java programming and I can vouch for them as well. He is explaining things quite fast sometimes, but just go back and watch them again. There is lots of value in there.
For learning C++ I recommend the book called Accelerated C++. It will not just list the features and syntax, but actually show you examples of real-life problems and solve them. The book also demonstrates common pitfalls and how you, as a coder, can avoid them.
Happy coding!
Edit: Accidental dual-post
Then they were in the wrong business for the wrong reasons. @ OP just do it you don't need to ask permission or seek affirmation from a course or book.
https://biturl.top/rU7bY3
Beyond the shadows there's always light
https://biturl.top/rU7bY3
Beyond the shadows there's always light
------------
2024: 47 years on the Net.