| Cyberwarfare (112) | |
|
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 | |
|
|
|
| helios (10126) | ||
| ||
|
|
||
| BHXSpecter (834) | |
| 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. | |
|
|
|
| cire (1850) | ||||
Says who? How many ways have you learned programming? Do you teach it? Is there some study that shows this is true?
Oh, I see. Logically it can't be anything but true, because it's sooooo obvious!
Really? Which game adds a little more complexity than an operating system? | ||||
|
|
||||
| BHXSpecter (834) | |
|
@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. " | |
|
|
|
| Aramil of Elixia (772) | |
| 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 | |
|
|
|
| helios (10126) | |||||
Perhaps it's in need of one or two examples.
| |||||
|
|
|||||
| computerquip (1892) | |
|
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). | |
|
|
|
| Grey Wolf (3172) | |||||
~~ ~~~ ~~~~~ ~~~~~~~ ~~~~~~~~~~~ ~~~~~~~~~~~~~ Edit:
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
|
|||||
| BHXSpecter (834) | |||||
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).
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
|
|||||
| iseeplusplus (297) | |
|
From my experience, signal processing seams more difficult than game development. | |
|
Last edited on
|
|
| andywestken (1950) | |
|
@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
|
|
| Cyberwarfare (112) | |
|
andywestken for me the intemediate programming means more closer to like createing simple sockets or simple 2d games. | |
|
|
|
| BHXSpecter (834) | |||
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. | |||
|
|
|||
| iseeplusplus (297) | |
| How about making a simple multi-player on line game. | |
|
|
|
| Cyberwarfare (112) | |
| okay thanks about that i will be working on it | |
|
|
|
| ResidentBiscuit (2215) | |
| Download linux, make your own process scheduler :D | |
|
|
|
| Catfish2 (666) | |
|
The "do this" suggestions on this forum scare me sometimes. | |
|
|
|
| xerzi (570) | |||
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
|
|||
| BHXSpecter (834) | |||
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. | |||
|
|
|||