Author Topic: Unorthodox idea to learn C/C++  (Read 1835 times)

0 Members and 1 Guest are viewing this topic.

Offline Sparky712

  • Peasant
  • *
  • Posts: 117
  • Cookies: 14
    • View Profile
Unorthodox idea to learn C/C++
« on: February 03, 2013, 03:35:41 pm »
considering giving myself a huge project to do, which i could learn and practice programming whilst doing. I am considering making myself a 3d game, from scratch, including making my own game engine. of course, partway through this, I will have to divulge into character design and such, but im wondering if this would be a good project/challenge? I am aware that the timeframe could well be up to or past a year's work.

Offline Zesh

  • Royal Highness
  • ****
  • Posts: 699
  • Cookies: 42
    • View Profile
Re: Unorthodox idea to learn C/C++
« Reply #1 on: February 03, 2013, 10:52:20 pm »
I would suggest a 2D game engine instead of a 3D game engine. Trying to create an all-purpose game engine can be quite tricky and if you've never built a game or engine before then it would be best if you started of with 2D and then moved on to 3D :D

Offline Uriah

  • Sir
  • ***
  • Posts: 454
  • Cookies: 42
  • άξονας
    • View Profile
Re: Unorthodox idea to learn C/C++
« Reply #2 on: February 03, 2013, 11:58:32 pm »
I would say it's a good idea to get into fairly large projects, if your up to the challenge and taking the time it requires to learn. However, I'm not sure if making a game is really the best choice. I think its awesome to be courageous, but from toying with too complicated things so suddenly can be less of a learning experience than you might expect. If you are an absolute or near beginner in c/c++, i would suggest a smaller project, thats still a challenge. But, if you already know the general syntax and can already write a few cool programs, then i guess you could go for it. I dont mean to discourage you or anything, but it is often times that beginners want to go straight into game dev, and then get so awed by the code that they spend less time writing it and more time scrolling throught it with their mouths open. Myself included :P

Offline Sparky712

  • Peasant
  • *
  • Posts: 117
  • Cookies: 14
    • View Profile
Re: Unorthodox idea to learn C/C++
« Reply #3 on: February 04, 2013, 12:08:34 am »
thanks, though I was hoping to get to grips with not just the coding part, but 3d modelling and such. however.. you may be right, surely it can't be that big of a jump between the thinking for 2d games and the thinking for 3d games? although im sure the physics engine would be completely different XD

@ Uriah ueah... I'm essentially beginner. other than game dev, what kind of project would you suggest? and as for being awed by code... I'm a very curious person, and will probably (if it's not my code) start tweaking it, wondering what it does. XD but yeah, I suppose too large a project could be a bad idea XD

Offline Uriah

  • Sir
  • ***
  • Posts: 454
  • Cookies: 42
  • άξονας
    • View Profile
Re: Unorthodox idea to learn C/C++
« Reply #4 on: February 04, 2013, 12:31:51 am »
thanks, though I was hoping to get to grips with not just the coding part, but 3d modelling and such. however.. you may be right, surely it can't be that big of a jump between the thinking for 2d games and the thinking for 3d games? although im sure the physics engine would be completely different XD

@ Uriah ueah... I'm essentially beginner. other than game dev, what kind of project would you suggest? and as for being awed by code... I'm a very curious person, and will probably (if it's not my code) start tweaking it, wondering what it does. XD but yeah, I suppose too large a project could be a bad idea XD
Well, it's definitely good that your ambitious, but you definitely dont want your first program ever to be a game lol. Maybe just write a few other programs first. They can still be difficult, but games can often get very complicated.
I'm not exactly sure what i would suggest...perhaps a program that incorporated a lot of different syntax areas? Maybe writing it in visual c++ or qt so you get used to graphics? Sometimes it can be helpful to write code that automates things for you, because if its useful for you to write, youll have more fun writing it. Perhaps something to automatically do all your homework? ;)
Anyways, once you do get into game dev, you may appreciate these tutorials :)
http://www.gamefromscratch.com/page/Game-From-Scratch-CPP-Edition-The-Introduction.aspx
(dont miss the forward to part one link at the bottom)

Offline Daemon

  • VIP
  • Baron
  • *
  • Posts: 845
  • Cookies: 153
  • A wise man fears a gentle mans anger
    • View Profile
Re: Unorthodox idea to learn C/C++
« Reply #5 on: February 04, 2013, 12:35:00 am »
thanks, though I was hoping to get to grips with not just the coding part, but 3d modelling and such. however.. you may be right, surely it can't be that big of a jump between the thinking for 2d games and the thinking for 3d games? although im sure the physics engine would be completely different XD

@ Uriah ueah... I'm essentially beginner. other than game dev, what kind of project would you suggest? and as for being awed by code... I'm a very curious person, and will probably (if it's not my code) start tweaking it, wondering what it does. XD but yeah, I suppose too large a project could be a bad idea XD

I think the hardest part about a 3d game engine would be having to write rules for the Z plane. X and y are straight right and left (i think) but having to write rules for Z? That just adds a wholw new aspect to it...pain in zee ass.

As for 3d modeling and stuff, they have nothing to do woth C or C++ from what i can tell. So if your interested in learning that id suggest downloading Blender then watching the video tutorials. Its a program that can make some high quality models, and its very well documented including a video tutorial series to help you out.

As for making a game, period. Its a project best undertaken by more than one person, ao you can use people to their strengths. If i were to build a full on 3d game with the goal of as few people as possible while still making it awesome and produced in sooner than a decade later, id do it like this:
Me- programmer/story writer (im good at writing fiction)
A design artist- he would draw characters and such by hand before it gets modeled
A 3d modeler person
Someone to MAKE the soundtrack, so we dont rip off other peoples music and get sued
And another programmer.

This is bare minimum, and we would all be putting in way too many hours tbh lol. Look at any gamez credits and you see a list of at least 20 people. Its a lot of work, and even more if your developing your own engine instead of using someone elses.
Assuming if course, that your trying to make a game that blows minds, not just another angry birds rip off.

Anyways, hopefully this helps you out somewhat in your decision making progress. Cheers and good luck man!
This lifestyle is strictly DIY or GTFO - lucid

Because sexploits are for h0edays - noncetonic


Xires burns the souls of HF skids as a power supply

Offline Uriah

  • Sir
  • ***
  • Posts: 454
  • Cookies: 42
  • άξονας
    • View Profile
Re: Unorthodox idea to learn C/C++
« Reply #6 on: February 04, 2013, 12:43:57 am »
Yeah, Daemons advice is correct. But about 3d programming having little to do with c++ is not necessarily true. While you CAN make it without c++, and just using blender, if you want your game to run faster while learning programming, you''l want to only use blender for modelling, and then manipulating that with c++, if that makes sense. But, you can still go a pretty long way with games without c++. If you want to work in a big game industry, though, you'll be using c++, because those games must be as fast as possible.
The reason for that is that c++ is "closer to the metal", whereas blender is doing more for you, and thus slowing things down. Kind of like why c++ is faster than python.


EDIT: BTW, OP, check out the programming challenges for c/c++ for some project ideas, or look them up online. I forgot to add that.
« Last Edit: February 04, 2013, 12:53:41 am by Uriah »

Offline techb

  • Soy Sauce Feeler
  • Global Moderator
  • King
  • *
  • Posts: 2350
  • Cookies: 345
  • Aliens do in fact wear hats.
    • View Profile
    • github
Re: Unorthodox idea to learn C/C++
« Reply #7 on: February 04, 2013, 12:55:38 am »
I really, REALLY don't think your going to get far with this. There is a reason things like this is in a framework. If you wanna know the scope of it, take a look at the source of other game engines. Just the engine itself, go and take a look.


Why not try and make a game with what is available? Even doing things with provided frameworks, you still have a lot ahead of you. I would say, do it with what is available, then if you feel the gumption, make an engine yourself.


Stuff like this is a huge misconception  People really have no idea of the scope of things. And get into matrix math dealing with 3D rendering and all, not to mention shading and bitmapping. I would LOVE to see how far you actually get.


Start with really simple 2D stuff, then move on gradually.
>>>import this
-----------------------------

Offline Zesh

  • Royal Highness
  • ****
  • Posts: 699
  • Cookies: 42
    • View Profile
Re: Unorthodox idea to learn C/C++
« Reply #8 on: February 04, 2013, 01:54:06 am »
I really, REALLY don't think your going to get far with this. There is a reason things like this is in a framework. If you wanna know the scope of it, take a look at the source of other game engines. Just the engine itself, go and take a look.


Why not try and make a game with what is available? Even doing things with provided frameworks, you still have a lot ahead of you. I would say, do it with what is available, then if you feel the gumption, make an engine yourself.


Stuff like this is a huge misconception  People really have no idea of the scope of things. And get into matrix math dealing with 3D rendering and all, not to mention shading and bitmapping. I would LOVE to see how far you actually get.


Start with really simple 2D stuff, then move on gradually.

Exactly why I said you should start with 2D. Why don't you try and write a simple bitmap class that can handle loading and displaying bitmaps. Then you can take that a bit further and add in double buffering and dirty rectangles. Then you could try and create a sprite class that uses the bitmap class and can handle animations. Then could come a input class for mouse/keyboard and maybe joystick input.

After that you can string the 3 classes together to form a simple game :D