• 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
Carlos Martinez

Where should I start?

17 posts in this topic

Well, I'm a little bit frustrated with this, I don't know where to start at!

 

I was looking a few tutorials about DirectX, like DirectXTutorials (I think this is far the best, but it isn't free.), rastertek (I don't know, It's code seems a bit harder for me, I think the first tutorials doesn't explain too much about DX...). I was looking for some OpenGL tutorials too, but, I found it like a pine in the a** to setup OpenGL, even I tried to run some tutorials and i get hundreds of compiling errors, so...

 

What do you recommend to me to start with? I found programming really exciting and usually I have no trouble understanding new topics, but wow, I really don't know where to start...

 

Btw, apologies for my English, i'm from Venezuela (yeah, Chavez!) and English is not my fort.

0

Share this post


Link to post
Share on other sites

How long have you been working in C++? I don't do much C++ but some people really like the SFML and Allegro libraries. They are a little more "user friendly" than openGL.

(Your English is very good, just pine is a tree, I think you meant pain. But pine in the a** makes sense too, it would be pricklyph34r.png).

0

Share this post


Link to post
Share on other sites

Since OpenGL and DirectX are just graphics APIs, you might want to start with a 3D engine instead if you are just starting out.

 

I quite like Irrlicht since it provides a lot of functionality to get started quickly with C++ and 3D.

As minibutmany suggested Allegro is a good one too but I find SFML still a little bit too low level if you are starting out since it doesn't provide much more than resource loading and a rendering context.

 

 

0

Share this post


Link to post
Share on other sites

 


How long have you been working in C++?

 

Haha, yeah, pain, sorry for that. Well, I'm most experienced with C#, since I started studying at the university, that's the most used language here (along with Java), but, when I was looking for some options to start in game development, I notice that many people says C# is to slow for making games, and they highly recommend C++, since then I have been learning C++ (I think 3 or 4 months ago..). So, new question, Is it a bad choice changing to C++? Is C# a bad choice for game development? What do you think?

0

Share this post


Link to post
Share on other sites

I used c# for a little while. I didn't like the .NET framework very much(partially because of some performance problems, but it should be fine for making games) so I moved to Java which I really love. Java with LWJGL or  Slick2D is very good. What ever you feel is best for you I suppose. Try making some games in C# and Java, and if your not liking it than try a move to C++.

Edited by minibutmany
0

Share this post


Link to post
Share on other sites

I quite like Irrlicht since it provides a lot of functionality to get started quickly with C++ and 3D.

 

I've been looking the Irrlicht engine, it seems pretty nice, do you have any tutorials or anything else about this engine? 

 

 

 


Try making some games in C# and Java, and if your not liking it than try a move to C++.

 

Well, It seems to be a big decision, I mean, picking a language... C# and XNA only supports Windows and Xbox, I really think C# is a very nice language, straightforward, but I'm not that conviced on It for making games... And Java, well, pretty much the same thing, excepting It's portability. Anyway, I'm looking for opinions!

 

I'm thinking to start learning C++ more deeper (IDK if deeper is the word I'm looking for, lol), so, can anyone recommend some libraries, or engines to start? I've been looking "SDL", "Irrlicth", and "Allegro"...

 

Btw, just for curiosity, how old were you when you start programming? I'm 18 years old and I've been programming in C# since I was 16, is it a good age to start C++? rolleyes.gif

Edited by Carlows
0

Share this post


Link to post
Share on other sites

Well,I am trying to learn Directx as well,and yeh Rastartek's tutorials are : |   ...In my opinion book is the fastest way to learn it...

 

Opengl?There's book,I checked it and it seems quite informative : http://www.arcsynthesis.org/gltut/   released one year ago

0

Share this post


Link to post
Share on other sites

I'm 15 and I've been coding since I was 10, but I didn't get really serious about it until about 2 years ago.

0

Share this post


Link to post
Share on other sites


I'm 15 and I've been coding since I was 10, but I didn't get really serious about it until about 2 years ago.

 

Lol, thats really nice. Don't you have any nice project you can show us?

 


Well,I am trying to learn Directx as well,and yeh Rastartek's tutorials are : |   ...In my opinion book is the fastest way to learn it...

 

Don't you have experience with an engine, anything to recommend?

0

Share this post


Link to post
Share on other sites

If you're going for 2D graphics in C++, I would recommend SFML. It is object-oriented so the interface is much easier to use and it lets you use OpenGL with it if you would like.

0

Share this post


Link to post
Share on other sites

I'm most experienced with C#, since I started studying at the university, that's the most used language here (along with Java), but, when I was looking for some options to start in game development, I notice that many people says C# is to slow for making games, and they highly recommend C++, since then I have been learning C++ (I think 3 or 4 months ago..). So, new question, Is it a bad choice changing to C++? Is C# a bad choice for game development? What do you think?

Well, It seems to be a big decision, I mean, picking a language... C# and XNA only supports Windows and Xbox, I really think C# is a very nice language, straightforward, but I'm not that conviced on It for making games... And Java, well, pretty much the same thing, excepting It's portability. Anyway, I'm looking for opinions!
...
I'm 18 years old and I've been programming in C# since I was 16, is it a good age to start C++? rolleyes.gif


Let's pause and do a reality check.

One the one hand, random people told you that C# and Java are "too slow for making games".

On the other hand, actual evidence shows you that C# and XNA are used for many thousands of games on XBLIG. Many games like Minecraft and also many thousands of web games and platform-agnostic games are written in Java. And there is the fact that Android apps are Java, and they seem to be doing pretty well.

Who are you going to believe? Random people who said it isn't good enough? Or the many thousands of actual successes that use the languages?


If you want to learn C++ then learn it. There is much that can be gained from the language, especially if you want to work on living room game consoles.  Now that you have a few languages under your belt adding C++ will be fairly easy.  Learn it if that is what you want.

But don't ignore your present languages just because some random people told that they are too slow.

2

Share this post


Link to post
Share on other sites


If you want to learn C++ then learn it. There is much that can be gained from the language, especially if you want to work on living room game consoles.  Now that you have a few languages under your belt adding C++ will be fairly easy.  Learn it if that is what you want.

 

You're right about everything you said, and I'm definitely going to learn C++, otherwise, will be helpful start on 2D graphics instead jumping to 3D directly?

0

Share this post


Link to post
Share on other sites

For Irrlicht, the official tutorials are pretty good. (http://irrlicht.sourceforge.net/tutorials/).

 

Since you will probably be using a 3D engine (like Irrlicht) rather than a low level 3D graphics API (OpenGL / DirectX) directly, you can also avoid linear algebra for a while until you have gained some familiarity with C++ (and programming in general) and are ready for some slightly more advanced graphics.

 

As an aside, not many developers use C# with low level OpenGL directly (via OpenTK), so why do people think that C++ developers do? The only reason I can think is that C++ developers are generally more technical so are more likely to get their hands dirty with engine programming?

Edited by Karsten_
1

Share this post


Link to post
Share on other sites


until you have gained some familiarity with C++ (and programming in general) and are ready for some slightly more advanced graphics.

 

What do you think are the most important topics about C++? I'm very familiarized with the basics, I mean, variables, functions, classes, objects, inheritance, etc.. Where should I go further in C++?

 

Thank you very much for all your answers. smile.png

0

Share this post


Link to post
Share on other sites

C++11 has a nice set new features, you should have a look at it. unfortunately, VC++2012 still lacks in the new standard support, yes 2013 version is coming but I don't think that i will brings full c++11 support sad.png

Edited by Alessio1989
0

Share this post


Link to post
Share on other sites

The point made by frob about languages that are considered 'slow' is definitely a valid one.  There is nothing forcing a C# programmer to use every available component from every possible feature set.  This is where the performance issues come about.  Not every available function was designed for a games and, no doubt, some should be avoided where speed is an issue.  On the flip side of this, a sloppy coder could easily make a huge mess using a language that is considered 'fast' such as assembly, if you write inefficient code your program will be slow regardless of your choice of language.  If this is a concern for you then make sure that code optimization is a focus in your research as much as anything else.  Personally, I like plain old boring C for the runtime software,  but this is arguing semantics,  I try to only use what is common to every C-based language.  Because of this, last year when I decided to rebuild my engine to work on iOS it was almost perfectly seamless, I never even bothered learning the Objective C standard and everything went fine because, as I said, I try to only use what is common to almost every language. 

 

If you are really concerned about performance than you might consider studying as many languages as you can stand to, at least to start off with, and this way you'll start to see the pattern that is common to all, then you will naturally fall into the environment that you are best suited to.  This will help you to avoid dead-ends down the road like the one that's worrying people who have been using XNA although this XNA issue doesn't sound as bad as people have been saying but this scenario is still very possible.  All it takes is for one CEO and his board to bankrupt a corporation and you may find the development environment of your choice is gone the way of the dinosaur. You can future proof yourself by avoiding what is not common to all.

 

If you must use inefficient libraries, try to keep it out of the main game executable and only use them for pre-processing stuff like code generation, model formatting, level building and other such things.  I love fstream.h and I use it constantly for code generation and diagnostics, but I'd never use it in the game itself, accessing the hard drive is at least a couple hundred times slower than the rest of the computers components. 

 

Until you start writing in-depth physics simulations, the graphics pipeline is likely going to be the only bottleneck you face for now. Here are some optimization guides for OpenGL and DirectX.  Most of these tips are common to both since the GPU is ultimately where graphics calls go.  If you get this stuff right then you'll be ahead of the game.

 

http://www.mesa3d.org/brianp/sig97/perfopt.htm

 

https://www.google.ca/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&sqi=2&ved=0CEYQFjAD&url=https%3A%2F%2Fdeveloper.qualcomm.com%2Fdownload%2Fadreno200performanceoptimizationopenglestipsandtricksmarch10.pdf&ei=JATBUZ3WJeL0iQKdnYH4Cg&usg=AFQjCNFbU3Vf2mT2sf7LTAJQ3xqijdyUAA&sig2=RbjFUxJdBYsDRcSxTnWbXA&bvm=bv.47883778,d.cGE&cad=rja

 

http://developer.apple.com/library/ios/#documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/BestPracticesforShaders/BestPracticesforShaders.html#//apple_ref/doc/uid/TP40008793-CH7-SW3

 

http://developer.download.nvidia.com/GPU_Programming_Guide/GPU_Programming_Guide.pdf

 

http://msdn.microsoft.com/en-ca/library/windows/desktop/ee415571%28v=vs.85%29.aspx

 

http://www.ati.com/developer/dx9/ATI-DX9_Optimization.pdf

 

Here's one for AMD CPU's http://support.amd.com/us/Processor_TechDocs/47414_15h_sw_opt_guide.pdf

 

And one from Intel   http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf

0

Share this post


Link to post
Share on other sites

Also, you mentioned issues with OpenGL compiler errors.  Here is some super basic OpenGL stuff, most of it's pretty old but it still works.  Each lesson has downloads for many, many compilers.  The earlier ones have projects for 3 dozen different compilers.

 

http://nehe.gamedev.net/tutorial/lessons_01__05/22004/

 

The following has tons of projects for both DirectX and OpenGL

 

http://www.ozone3d.net/opengl_direct3d_tutorials.php

 

Also, if you are having hundreds of compiler errors, post them in a thread and ask for help on how to resolve them.  There must be at least a few hundred people around who can easily walk you through that part. Most of the time, those huge piles of errors are really just a few errors.  One missing .lib file can be responsible for dozens of those reported errors.

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