• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
awesomeAMP

Almost NO experience at all. How to start?

2 posts in this topic

I've always wanted to learn how to write on different platforms for various purposes, but I'm very lazy; but since summer it's starting I decided to finally put myself together and dedicate myself to actually learn. I have almost no experience or knowledge whatsoever, I think I did the "Hello, World!" code on Java Eclipse and programmed a robotic arm with Arduino, but nothing more.
I would like to know what is a good way to start, like what platform to use, what language to learn, good websites with resources and examples, etc.
I would like to start with a simple word-adventure game or whatever that type of games are called. But you tell me, I am the one who don't know anything of this. =D
0

Share this post


Link to post
Share on other sites
Serapth wrote a nice little guide for choosing what to do for game development on his site over [url="http://www.gamefromscratch.com/post/2011/08/04/I-want-to-be-a-game-developer.aspx"]here[/url]. I would also highly recommend buying a book for the language you decide to learn and stick with it for a while. You'll learn to love it and use it as a go to resource when you need some help.

Personally, I learned C++ first and then Java, Python, Visual Basic, etc. I don't really recommend going to C++ first route unless you are very confident in your learning skills. I started C++ 5 years ago in 5th grade and kind of regret not choosing something like Java first. I got into DirectX/OpenGL after becoming quite immersed in the gaming industry during 6th grade. The best resources will always be books/tutorials written by professionals, and games. Just playing games will slowly implant how game mechanics are supposed to work inside your head, and it makes actually writing games a lot easier. Edited by incertia
2

Share this post


Link to post
Share on other sites
In my experience, the best way is by far to jump into it. Just download some IDE for the language you picked ([url="http://www.gamefromscratch.com/post/2011/08/04/I-want-to-be-a-game-developer.aspx"]see this[/url] as recommended above), look up some tutorials, grab a soda, and get coding!

As for games, don't think about "doing games" just yet. You want to learn to walk before you learn to run, so you need to learn how to write a program before knowing how to write a game. Because that's all a video game is - it's just a computer program designed for the user to have fun. Text adventure games aren't actually the easiest thing to start with. I personally recommend this path (but then again, I followed it so I am probably biased):

- choose a language (this isn't the be-all-end-all choice, you will have to learn more than one later on anyway)
- get comfortable with whatever developing tools are available (e.g. visual studio, codeblocks, eclipse, ...), do not worry about cross-platform compatibility yet. learn to love the debugging tools and the F1 key, they will be your best friends
- learn how to do simple things such as implementing pure logic in text mode, such as minigames like "guess a number between 1 and 100", that kind of stuff
- try and implement some more complicated algorithms, to get better at writing them (you'll need them), my favorite is implementing three types of sorting methods, bubble sort, heap sort, and quicksort but there are other choices
- this is your next milestone: try to design a very simple text adventure game (do not make it too complicated), like a simple "find the artifact" type game which gives you an inventory, different rooms to explore, with hints, etc... and a basic input parser so that you can tell the game "go left", "take item", etc... if this is too hard, make a console-based hangman instead
- the previous step will probably take you a long time, but if you make it, then you should try and move on to graphical interfaces, so try and figure out how to make it work with the language you picked
- at this point, make a tetris/bomberman/other clone to put all your knowledge into a concrete, finished product you can show to people
- this is where you should look into artificial intelligence which is very important: implement a connect-four AI (if this is too hard, do a tic-tac-toe AI instead)

After that you should be sufficiently advanced to be able to decide what you want to do next: perhaps you will want to remake your first text-based game, improving the story and the interface? Or you might want to start from scratch, or just learn another language for a break. I don't know [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]

Personally, I learned Pascal when I was 10, and taught myself mostly from the internet (my father got me interested in programming in the first place, but he didn't really help me much beyond that), and I just stuck with that for a few years, because I loved it (learning some other languages along the way, for fun and out of curiosity, like Python, C/C++, some Java and basic ASM). I made a few games, but then I kind of suck when it comes to gameplay so they weren't fun unless they were clones like tetris. Then two years ago, when I was 17, I had to take a programming course in high school, which used XNA and C# (for 3D games). I obviously had a huge headstart, as many concepts carry over from one language to the other, but there were many new concepts I had to learn as well as the C# syntax itself. I liked it, and eventually purchased a real graphics card and got interested in 3D game development - I never really went very far with it, as I eventually came to realize I didn't like it that much, but it had me looking into GPGPU stuff, which better suited my taste.

I obviously wouldn't recommend following the path I chose, [i]especially[/i] if you want to go into game development - it is very personal to me and most people on this board would find it a terribly bad approach, but it worked for me. I mostly added it to illustrate an important point: once you get into programming, you start to learn really fast because you love it (as in most disciplines, but especially true in programming because most of what you need is free and readily accessible from the internet). And that the path you take doesn't weigh much in how well or how fast you will learn to make good games. Almost all roads lead to Rome, right? So don't spend weeks trying out different things, just pick one that isn't an utterly bad choice and go with it!

As for "best" language, this is easily one of the most discussed questions here. The concensus is that there is no "best" language to start out with, although some are certainly better than others (because of extra documentation and online presence, overall user-friendliness and simplicity). I like to recommend Python as a starting language as it's really easy to get up and running and start having fun with, and it's also in general easy to accomplish things without the language getting in your way. But it is largely a matter of personal taste.

And Incertia has a good point - playing lots of games will also open your mind on what makes a game fun and engaging (but of course, you will still need to learn how to make games to integrate this knowledge in your own games).

Remember - you can always change your choices later. Programming languages and frameworks come and go, but your knowledge will always stay with you. So don't spend forever agonizing over a decision, just choose. and learn, and if it doesn't work out, go back and try the other [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] Edited by Bacterius
2

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0