• 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
loxagossnake

Some basic questions from a beginner

4 posts in this topic

First of all, hello people! I'm new to the GD.net forums but I've read many of the articles here in the past and they've been really helpful. In this first post, I'd like to ask some questions so as to clear the fog that surrounds game development for me.

I was interested in developing my own game since I first came in contact with the concept of programming in High School, when I was around 16 years old. Of course, back then, I was thinking complex 3D games like Crysis (which had just come out) and I thought that if I could gather a few of my friends, we could easily top that. I've always been a fanatic gamer and was lucky enough to grow up in what I believe was a 'golden age' for gaming; the era when games like Metal Gear Solid and Resident Evil came out, so the idea simply fascinated me. After many starts and bitter ends of me trying to get down and serious with gaming (thank you, procrastination), I think that only now that I'm in my 20s am I mature enough to pull it off, because I kind of understand the limitations of what a person can achieve. While I know I'm very far from that, my ultimate goal would be to work on games similar to the ones I grew up with, or even older style games with some contemporary additions. 

Now, back to reality. My experience with programming is mixed. In school, we started out with Turbo Pascal, where we got to write fairly simple code, like 'Calculate the area of the rectangle given X and Y'.Then, we moved on to algorithms like the bubblesort and the quicksort algorithm. After the first year (I forgot to mention that all of these classes were extracurricular and offered by a really great IT teacher) I got interested in C++ and this teacher mentored me on that; we even got to the point where we worked seperately from others and developed some simple shape animations with a graphics library (moving a circle around, moving waveform etc.). In pure theory, I have a good grasp of principles like variables, basics of functions, loops, math operations, and I've only barely touched OOP. Nothing more, nothing less.

On to the questions:

1) Now that I plan on starting again, I don't know if I should either expand on my base or start all over again. Meaning, should I stick with C++ as hard as it is, or give in to the people who suggest Java? I'm asking this mostly because I have to buy a book, but my budget is limited so I can buy only one book at a time.

 

2) Talking about books, some suggestions about either language (or any other language you suggest) would be great.

 

3) As I see things now, my first step in creating a game would be a text adventure where I would apply all of the principles I'm going to learn. Then, I could maybe move into 2D. Another area of game development that interests me, though, is modding an existing game. I've tried that many times, but the most I could do was create a simple map; nothing to do with programming. For example, I was reading code from the Half-Life 2 modding source, and I simply got lost. I don't understand how people think to write such complex code, let alone how I could edit that code to make something on my own. So, what knowledge is needed to mod a game? Will this knowledge be included in the regular path (learning how to program in general, making simple games, then moving into modding) or is it a separate route to follow?

4) Any other suggestions for a beginner are more than welcome!

Bear with me for such a long text! I know that many of the things here are asked everyday, I just had many different questions. I would like to start correctly this time, and not ditch any projects that I start - I have a whole folder from the past, full of unfinished .cpp files. I like games so much, that I think I should pass the bridge from playing them to making them, but I feel so overwhelmed, and I'll admit I'm a bit scared of losing something along the road and not being able to move on.

Thanks for taking the time to read this!

1

Share this post


Link to post
Share on other sites

1) Now that I plan on starting again, I don't know if I should either expand on my base or start all over again. Meaning, should I stick with C++ as hard as it is, or give in to the people who suggest Java? I'm asking this mostly because I have to buy a book, but my budget is limited so I can buy only one book at a time.

Both languages are valid for game development, though C/C++ seems to be still the main AAA game industry language around. If you want to develop for PC and are familiar with C++, then stick to it. If you consider to make a web-based game or android etc., Java is a good idea.

 

So, what knowledge is needed to mod a game? Will this knowledge be included in the regular path (learning how to program in general, making simple games, then moving into modding) or is it a separate route to follow?

Modding is a good way to learn game development. You have an already working game, including art, and you will get into contact with game tools and programming languages, though often only scripting languages. If your primary goal is to learn a programming language, the other way around (e.g. start small with a text adventure ) might be more suitable.

 

4) Any other suggestions for a beginner are more than welcome!

Start small and simple, complexity will come without invitation :)

1

Share this post


Link to post
Share on other sites

Hi, given that in your post it says that you are starting small from text adventure to 2D and so on, you are (in my opinion) in the right direction.

 

1)  Do what feels right for you. You can try Java for a day or two to see if its suitable. If its not, at least you gave it a try. Regarding books, buy one when you really need it. There are alot of good resources online to start you off.

 

2) Design Patterns by Gang of Four, Game Coding Complete  by Mike McShaffry , Game Engine Architecture by  Jason Gregory

 

3) I am not  really sure. I wouldnt say its a seperate path. Eg Some games use Lua for scripting. In a sense they are just the same thing. I think the difference is that in modding the modder needs time to understand the systems already developed by the programmers and their thought process why things are like this.

 

4) Like Ashaman73 says, start small and go up from there.

Edited by ZeroBeat
0

Share this post


Link to post
Share on other sites

2) The book I started out with is called C++ Primer Plus (5th Edition). I really like this book because it can be used as a page by page book but it's also great for referencing. It has great code examples with a little test after each chapter.

 

Sorry I don't have any answers for your other questions but although my C++ is decent i'm quite new to game programming. If there is one thing I can suggest though is look at game architecture quite early on. When I started my first few games I had no idea of how all the systems should work so the result was quite messy and completely non-modular.

I think if you learn some good architecture your first few games would end up a lot more structured. 

0

Share this post


Link to post
Share on other sites

My DirectX graphics engine include an example for C# and is designed for people who prefer functional and table driven programming before object orientation. Some people just think in tables instead of objects.

0

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