Can Anybody Help Me Code?
TheRedburn
Spaceman KDetroit, MI Icrontian
in Lifestyle
I went to a week-camp last August, called IDTech, that taught coding. I chose a course in Visual Studio (C++) because why not? We coded in v.2010, and I learned the bare minimum of game-making. Forward to this year, and I've only retained a few coding techniques (Not that I learned that many in the first place). I want to make a basic RPG, sort of like the old Zelda games, but I don't know anything about UI. Can anybody help me out?
0
Comments
I can't help with the code but if you want to make an RPG, RPG Maker VX Ace is pretty awesome.
I think Digi's suggestion is spot on. Game making in general is pretty complex, so having some sort of framework to start with is going to be a huge boon.
The most important thing about learning to code (or anything, really) is to pick a goal you can attain soon. Do something you're not sure how to do, but something you have a reasonable idea of where to begin and a reasonable idea of how to figure out the bits you don't know.
Anyone will burn out on any goal if they don't get positive feedback and feel accomplishment. In businesses based on coding, there is a concept called "agile development" which, for some, means to set your goals in 2 week increments. Even adults get discouraged if they go long between goals.
A Zelda-like game is a great goal. Now, figure out what 2-week goal you can set yourself to move in that direction. A text-based 4-room dungeon, maybe? Or, if you're learning UI, can you get a box to follow your arrow key commands around the screen? Then on to the next thing.
What Lincoln said. I tackled a UI based application after about two 'practice' programs when I was learning C++... with no intention of finishing it; just to see how hard it'd be. It was my first attempt building with an API, too... and it was a mess. If I'd tried to do it with anything but an empty schedule, I never would have finished it. I bit off WAY more than I could chew.
The things that got me really revved up (and kept my interest) were small projects. A binary tree project is a really good place to start with C++ (it pretty much puts everything from the cplusplus.com tutorials to work), but it isn't really good for building a game. A simple TCP chat program is also a fun one that forces you to learn a ton.
If you must dive into a UI right off the bat and you don't want to use a translating program (GameMaker is free for 2D applications, and it's the one I used back when I wrote lesson plans), try the SFML API (http://www.sfml-dev.org/). It takes a little doing to get it up and running (especially if you've never used an API in your development environment before), but it provides lots of easy-to-understand calls for accessing graphics, sounds, etc in whatever language you're fluent in... perfect if you want to build a game from source code without standing on the shoulders of (too many) giants.
It's hideous code, but my first SFML project involved recreating a wimpy version of the old flash game 'CurveBall.' You can find it at https://github.com/dampersand/3DPong . It compiles with the API and requires that you have the vc++ 32-bit runtime libraries installed. I do try to comment the CRAP out of my code, too, so maybe it will help you get started.
Alternatively, if you're feeling really masochistic, you can start plugging away through the MSDN and the Win32 API - this will allow you to get the building blocks you need to start working with DirectX, but... learning the Win32 API from scratch is one of the most enormously painful things to do. I'm in the middle of a character builder for a tabletop roleplaying game right now using the Win32 API... and it SUCKS.
Alright, thanks guys! I'll try everything out, and keep this post informed on progress (If any happens).
I would also recommend taking a few programming courses if your school offers them. It's a good way to get some of the basics.
Of course, there are also a number of code monkeys here too (myself included). I'll look around to see if I have any VC++ books. If so, I'll try to remember to bring them to Expo for you.
If you ever need any help in GW Basic I'm your man!! That was the shit back in the day. I actually wrote a program in HS that was a history quiz program and I hit the limit to the number of lines you were allowed to have in a program. It was new to my teacher so he said, "You get an A for showing me a new error I've never seen."
you could also consider a coursera course.
After a quick search of their catalog, this stuck out to me:
https://www.coursera.org/course/pythonlearn
maybe also this one for a gaming-focused course:
https://www.coursera.org/course/gameprogramming
Agreed with all the above. Also if you're a visual learner, be sure to check out YouTube for tutorials for various things.
Actually, come to think of it, one of the best first games to try making is a shoot-em-up game like the classic Galaga.
Here's why:
You don't need to worry about a background (black)
Your dude could be as simple as a square
Enemies could also be squares (aka Geometry wars)
Bullets are squares or circles
Enemy "AI" could be as simple as "move forward at this speed, shoot bullets with a direction towards player or even just straight ahead every 5 seconds".
When your bullets hit an enemy, delete it or spawn another in a random x-position at the top of the screen.
Count up your score, maybe every kill is 100 points.
Lose a life if their bullets touch you.
See? You could learn to do that in 2-4 weeks focusing on each section separately! Then, take what you learned, and start working towards a Zelda-esque game!
Actually @Bandrik , that does sound like good advice. Thanks!
http://www.codecademy.com/
I use that with my students. It's a pretty nice free, interactive website for learning coding.
Sweet, I've been trying to find lessons all over the web. By the way, dies anybody know the differences between each version of c++? Like 2010 or 2013.
You dared defy Lord Brackos and now you see what comes of it.
YOU SERVE A FALSE GOD! As punishment, your name changes will go partially unnoticed for long periods of time.
YEAH!
Pretty much which version of .NET it uses.
.NET is an API the language can include. The language itself supports more of the C++11 and C99 standards. This might help clarify the difference between versions.
@TheRedburn I would recommend downloading the Express version of Visual Studio 2013. That'll get you the most recent version of Visual Studio with probably 100% of what you'd need for now.
Oh, I thought Visual Studio used it regardless. TIL stuff.
Kind of. .NET is a (more or less) core component of Windows development, and their versions of the C++ language are being built around its support. It's not a required component though - you can write programs that never touch .NET under Windows.
It was GW Basic. You had to do everything on lines and number them. What was I supposed to do? Braces weren't even a thing back then.
My first game was a DOS tower defense game in which I stole all the graphics from the Mac multiplayer tank game "Bolo!". Little green men (infantry) would attempt to swarm your pillbox and occasionally a tank would also attack. LGM were worth 10 points and died with a single hit while tanks were worth 100 points and required ten shots to kill. It was written in Borland C++ and used the Borland DOS graphics library API. Developing a hit box algorithm was the most challenging part of the program.
If we're talking versions of Visual Studio, it's flavor of the year. As far as the language is concerned, C99 is what nearly everything is written in though I've started developing in C++11 lately to abuse some of the new features in std::vector. Visual Studio ostensibly supports both beginning in version 2012. I pretty much only write scientific code though and my platform of choice is GNU/Linux with the GNU Compiler Collection in lieu of Windows/Visual Studio.
Joe and I took different classes in high school, so while his class was coding in GWBASIC, our class was coding in Borland Turbo C++. I remember one kid just could not handle the limitations of the Borland graphics API (BGI). He was constantly complaining about it. I don't even remember his name, we just call him "BGI kid" to this day.
In his defense, BGI was a terrible memory hog if you tried to animate anything.
In one of the games I coded with the guys, I remember having trouble coding a hit box as well. I cheated. I just coded each enemy and/or item to be a different color and used color detection for hit boxes.
That game had the most advanced math I've ever used in programming, and I have concluded that my Calculus IV teacher in college lied. You don't need Calc IV to be an effective programmer. All I needed was trig to describe the arc of the sword in the game!
I bet your Calc IV teacher had no programming experience.
I had a C++ teacher who was convinced that her (community college level) recommendation would get anyone an engineering job with my current employer, regardless of the actual degree requirements of said job (Engineering/CompSci BS minimum). Of course she also thought that actually memorizing eight different sorting algorithms was a sign of an effective programmer. We didn't get along for some reason.
The need for calculus depends heavily on what programming you do, and where you fall on the computer engineering / software engineering / computer science spectrum.
I was actually in that class. I remember that kid.
Oh, right, you got the special computer in the corner and you coded the school mascot in BGI. I got confused since I didn't take a class in GWBASIC.
Did that special computer come with a big conical hat?
Naw, man, Joe got to use a 386 while the rest of the class were using 286s!
//edit: Sorry to derail your thread, Kyle.
At least apologize to the right kid. .