Learning ideas

Pages: 12
closed account (ozUkoG1T)
Hey c++ forums,
I was wondering what is an good subject for an intermediate programmers to do like say learn Winsock or something like those not like make an game as you really do not learn something like that.
Thanks,
Cyberwarfare
not like make an game as you really do not learn something like that
Says who? Somebody quite ignorant of the inherent complexities of game engine design and development, I gather.
Game development is by far the best way to learn programming. Anyone that thinks otherwise obviously has never tried to make a game. Software and games are both complex, but games add a little more complexity than software.
Game development is by far the best way to learn programming.


Says who? How many ways have you learned programming? Do you teach it? Is there some study that shows this is true?


Anyone that thinks otherwise obviously has never tried to make a game.


Oh, I see. Logically it can't be anything but true, because it's sooooo obvious!


Software and games are both complex, but games add a little more complexity than software.


Really? Which game adds a little more complexity than an operating system?
@cire
For the record I consider OS, software, and game dev to be three separate branches in programming. I consider the complexity to be OS, game, then software.

I've tried every way you can to learn: tutorials, books, and even college. Just because a person teaches something doesn't mean they teach it good.

As for studies, I've learned that with programmers, you can supply a thousand studies proving it and they will find a way to say the are completely wrong. You want to nitpick over what has been proven true here and on other forums then I'll change it to be more factual for you.

"Game development is by far the most fun way to learn programming. Anyone that thinks otherwise obviously has never tried to make a game. Software and games are both complex, but games add a little more complexity than software. "

i agree with fire i have done c++ for a little over a year now and made a simple little game but it used more imagination than anything i had ever done and really ground in the basics and what is the correct way to loop in a given situation, which is harder to figure out than I would have thought
OS, software, and game dev
The first time I've seen OSs and video games classified as non-software. I understand what you mean, but it's just worded retardedly.

I consider the complexity to be OS, game, then software.
Well, not really. All Xs are not created equal. Particularly in the last category, which is so broad, it's meaningless. It covers everything from cellphone programs, to car control software, to database management systems, to scientific computing software.

As for studies, I've learned that with programmers, you can supply a thousand studies proving it and they will find a way to say the are completely wrong.
I don't understand this counterargument. It seems to imply that just saying "it's wrong" makes something wrong.
Perhaps it's in need of one or two examples.

Game development is by far the most fun way to learn programming. Anyone that thinks otherwise obviously has never tried to make a game.
Or maybe the just don't enjoy that particular activity? Personally, I find game development slightly less fun than riding a bike without wheels.
closed account (S6k9GNh0)
Make a random application that interacts with a remote database.

Make a media player.

Make a GUI that has a long list of configurations and functions that concern your OS and hardware (such as general configuration concerning your desktop or shutting down the computer at a specified time).

Make a very basic language to do basic things and create a lexer/parser (not as productive but a good learning experience).

BHXSpecter wrote:
Game development is by far the best way to learn programming.
Hmm, no. The best way to learn programming is to do it inline with something you enjoy. If you are not interested in writing games you will not get much out of forcing yourself to write them. I learnt a lot more from messing around with micro-controller dev-boards and doing physical computing than I ever did writing games that I was not interested in.

~~ ~~~ ~~~~~ ~~~~~~~ ~~~~~~~~~~~ ~~~~~~~~~~~~~
Edit:

Cyberwarfare wrote:
I was wondering what is an good subject for an intermediate programmers to do


One way to determine this is to set yourself a reasonably large goal. For example, my current large goal it to build a 3D printer. This gives me a whole raft of projects to build to this goal.
So, not wanting to go too mad to start with, I’ll get an Etch-a-sketch, two stepper motors and controllers and hook them up to a Raspberry Pi. This leads to the first software project, write some code that uses the GPIO to control the motors and draw on the etch-a-sketch. From there it starts snowballing; I will need a G-code interpreter, I’ll need some image processing routines to turn a picture into a single line path, take the path and turn it into G-code, send the G-code over the network to a Raspberry Pi …
But anyway; the idea is to have a large driving goal that you have an interest in and think about what you need to know to achieve this goal. This will lead to what subjects you need to look at and ideas for projects to learn the subjects.
Last edited on
Grey Wolf wrote:
The best way to learn programming is to do it inline with something you enjoy.

You saying that made me realize how wrong my remark is. Though your remark also has faults. I've honestly lost track of how many people I've seen get into programming wanting to make games and because they love them, but quickly get discouraged and depressed over not learning fast enough to do the dream game they had in mind. I suppose there is no best way to learn programming, just start learning and constantly find things that make a subject understandable to you (as I've read a lot of books that are just terrible at explaining anything).

helios wrote:
The first time I've seen OSs and video games classified as non-software. I understand what you mean, but it's just worded retardedly.

Yeah, I originally had OS, software(applications), and game, but figured everyone here was smart enough to figure out what I meant by just software. Unless you are saying I'm giving people here too much credit :-/?
Last edited on by closed account z6A9GNh0
From my experience, signal processing seams more difficult than game development.

Last edited on
@Cyberwarfare

Out of interest, what is an "intermediate programmer" in your opinion?

Andy

PS I do find the distinction between software and OS and games a little odd... And it really does depend on the "software" as to whether it's more or less complicated that the typical game (strategy? action? adventure? puzzle?).
Last edited on
closed account (ozUkoG1T)
andywestken
for me the intemediate programming means more closer to like createing simple sockets or simple 2d games.
Cyberwarfare wrote:
for me the intemediate programming means more closer to like createing simple sockets or simple 2d games.

I consider simple sockets and simple 2D games to be still beginner level. Intermediate to me is a simple 3D game. Expert would be making everything yourself.
How about making a simple multi-player on line game.
closed account (ozUkoG1T)
okay thanks about that i will be working on it
Download linux, make your own process scheduler :D
The "do this" suggestions on this forum scare me sometimes.
closed account (o1vk4iN6)
BHXSpecter wrote:
I consider simple sockets and simple 2D games to be still beginner level. Intermediate to me is a simple 3D game.


I think that's a bad way to look at it, you can easily make a 2D game a 3D game, visually. A lot of the concepts are the same for what makes it 2D and 3D.

Not to mention other concepts, you can create your own scripting language, a parser/compiler for that language, create a method for loading/storing game data (keeping track of changes to structures and such), create your own networking library with prediction and such, I mean the list goes on and on.

You talk about how games are so complex yet you classify a game as novice simply because it is 2D, for shame. If you still don't get it, you are classifying things too broadly.
Last edited on
xerzi wrote:
You talk about how games are so complex yet you classify a game as novice simply because it is 2D, for shame. If you still don't get it, you are classifying things too broadly.

No you are misreading things too broadly. He and I both said simple 2D (Pong, Mario, Pacman) which are all classified as beginner game projects. Most libraries that cover 2D are very simple to learn and make them quickly. While 3D (OpenGL) is more complex due to matrix, transforms, and having to think in x/y/z dimensions compared to the 2D x/y, so therefore I consider a simple 3D game intermediate. There is no major mystery to my logic behind it. You apparently are thinking of more AAA quality games when you think of 2D v 3D, or don't frequent game dev sites. Either way I've seen the same point of view expressed on them, 2D (Pong, Breakout, Tetris, PacMan, Mario) is considered beginner, 3D (simple FPS usually) is considered intermediate, building your own 2D/3D engine and tools from the ground up with your own libraries too I consider expert, but I'm not sure on that extent.
Pages: 12