Hello everyone,
I'm new and I have next to no experience with c++ and I wish to learn.
So, these questions may seem ridiculous, and they probably are but, please answer.
What is a game engine and how to make one (in a nutshell)?
How long, if I have no experience, until I am making 3D FPS'?


Thank you

Member Avatar for iamthwee

It's best to learn using an existing game engine first. . .

*edit

Actually, scrap that. It's best to learn basic C++ first.

Thanks for replying,
but I don't even know what a game engine is...

Regards

Thanks for replying,
but I don't even know what a game engine is...

Regards

In that case it'll take you a few years to aquire the knowledge needed for such a plan. Also: You can't do it by yourself. At this time you may think you can, but you can't, trust me.

Please, just tell me what a game engine is!

Sorry for my rudeness,

GameGuy

Try this amazing site.

A game engine is what runs the game. This can be any combination of rendering engine, input, sound, messaging, saving/loading, and more. The game is then built on top of this underlying framework.

hello, I'm learning Python to use it in game development, I know a lot of things about game engines in general, we can find two types, a game engine that just contain libraires, like Panda3d, Soya3d, ... and others that allow to see and edit the hole environment of your game like Blender, Unity 3D, Gamebryo ... (for more information: http://en.wikipedia.org/wiki/Game_engine ) ( and a list of game engines: http://en.wikipedia.org/wiki/List_of_game_engines)
I recommend you to use panda3d, like me since you want to be a C++ game developer. Panda3d is for both python and C++ developers, you can make your game with any of these two languages using its libraries. As I said I'm learning python to make games with Panda3d, you can go to http://panda3d.org to download panda3d and for the documentation. Panda3d is used by Disney and other companies, and also it's opensource.

step1: pick up a book called beginner programming for dummies
step2: pick up a book called game programming
step3: practice making small programs and build up
step4: make a masterpiece

alternatively:
watch how to videos on the internet

Hello everyone,
I'm new and I have next to no experience with c++ and I wish to learn.
So, these questions may seem ridiculous, and they probably are but, please answer.
What is a game engine and how to make one (in a nutshell)?
How long, if I have no experience, until I am making 3D FPS'?


Thank you

step1: pick up a book called beginner programming for dummies
step2: pick up a book called game programming
step3: practice making small programs and build up
step4: make a masterpiece

alternatively:
watch how to videos on the internet

1) very bad
2) bad
3) good
4) not for a LONG time
alternative: worst you can ever do

1) those books are utter rubbish
2) there's no such book, tons of similar titles though and most are way beyond people with no skill (with those that aren't being utter rubbish)
3) that's the way
4) takes years, decades even, and a large dedicated team to make a masterpiece
alternative: you can't learn by watching some youtube video.

commented: very good points +1

I've done the following:
I learnt C++ from tutorials on the internet and a book C++ by Steven Holzner.
Then I bought the book Programming Windows -Fifth edition by Charles Petzold
(although I didn't finish it, i came half, but found out that it was enough for game programming)
Then I got the book Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach by Frank D Luna
And I'm still reading it, and have almost finished it.
However, I did some game programming in 2d before i learnt directx (just to learn the concepts) And I programmed quite alot console programs to get familiar with C++.

Oh, btw make sure you're good at math, because programming in 3D will certainly require that.
But there is a small math primer at the first 3 chapters of Luna's book.

Ow yeah, I haven't made a (fully functional/finished) 3d game yet.

How long it will take depends on how much time you want to spend reading the books/practicing.
If you spend 8 hours a day learning/practicing, it shouldn't take you that long.
Though note that the books are 800 pages, 1400 pages and 600 pages (C++, win32, directx)

Hope this helps!

1) very bad
2) bad
3) good
4) not for a LONG time
alternative: worst you can ever do

1) those books are utter rubbish
2) there's no such book, tons of similar titles though and most are way beyond people with no skill (with those that aren't being utter rubbish)
3) that's the way
4) takes years, decades even, and a large dedicated team to make a masterpiece
alternative: you can't learn by watching some youtube video.

Actually, I found the "begginers programming for dummies" quite useful. It explains the basics very well, and in a simple way, so you can get started easily. I have one, and I am content with it.

All those "for dummies" books teach you a LOT of BAD things as shortcuts to actual correct procedures and practices.
That's how they get to be short and seem to provide rapid progress.

All those "for dummies" books teach you a LOT of BAD things as shortcuts to actual correct procedures and practices.
That's how they get to be short and seem to provide rapid progress.

Yeah, those aren't good books. They teach you what to do, but they won't explain it, or tell you why it is, they just say, "for this scenario, write this..." I tried learning C++ from their C++ For Dummies book, I gave up because it confused me. I then went on to Sam's Teach Yourself C++ In 21 Days. That book worked way better.

I think you have to be more optimistic, while I'm also new in programming and started to program a snake game. When I started I didn't know more about c++ than loops, arrays and functions. While programing you have to ask more people and read and search that will be so fine. Just have fun :)
Good luck

Please, just tell me what a game engine is!

Sorry for my rudeness,

GameGuy

Take a game and strip out everything that makes it a particular game. What's left is that game's engine.

i agree with jwenting i've been trying to learn c++ game programming on youtube and it does not help at ALL. It's just a major waste of time. I suggest learning c++ first, then picking up a game programming book in the library or internet, and then get more and more advanced books until u have all the skills u need.

How long, if I have no experience, until I am making 3D FPS'?

My advice - don't start with FPS project. It's the problem which faces beginners of game programming. If you want to learn 3D game programming - at first choose very basic 3D project - such as 3D card game. For example take a look at my 3D card game which i've developed in about 3-4 months:
http://coding-experiments.blogspot.com/2010/02/carousel-fishing-card-game.html
And these 3-4 months I've also spent for learning C++/DirectX. But given the fact that i have general development experience about 8-9 years, it is not hard for me to learn basics of any language. So im predicting, that for novice programmer such 3D card project may take even longer => 6-8 months. So FPS project is certainly not for beginners (except maybe if you wont develop 3D game engine, but use already existing. Still in that case i think FPS is not the way to go). So choose lighter 3D project and go on.

P.S.
If you want you can use my card game as starting point. You can modify/use it's source as you wish.

P.P.S.
Books that i've used in process of development -
1. "C++ Primer, Fourth Edition
By Stanley B. Lippman, Josée Lajoie, Barbara E. Moo"

2. "Introduction to 3D Game Programming with DirectX® 9.0
Frank D. Luna"

3. "3D Math Primer for Graphics and Game Development
By Fletcher Dunn and Ian Parberry"

1,2 was heavily used while 3 can be considered as optional, because of type of this light 3D project. But if you will consider later
to develop FPS -> 3-rd book will be MANDATORY.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.