Can Anybody Help Me Code?

TheRedburnTheRedburn Spaceman KDetroit, MI Icrontian

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?

«1

Comments

  • BobbyDigiBobbyDigi ? R U #Hats ! TX Icrontian

    I can't help with the code but if you want to make an RPG, RPG Maker VX Ace is pretty awesome.

    -Digi

    midgaIlriyasGuppycola
  • pragtasticpragtastic Alexandria, VA Icrontian

    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.

  • LincLinc Owner Detroit Icrontian
    edited May 2014

    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. :)

    midgaRahnalH102TheRedburn
  • MyrmidonMyrmidon Baron von Puttenham California Icrontian
    edited May 2014

    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.

    midgaRahnalH102TheRedburn
  • TheRedburnTheRedburn Spaceman K Detroit, MI Icrontian

    Alright, thanks guys! I'll try everything out, and keep this post informed on progress (If any happens).

  • mertesnmertesn I am Bobby Miller Yukon, OK Icrontian

    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.

  • CrazyJoeCrazyJoe Winter Springs, FL Icrontian

    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."

    mertesnmidga
  • shwaipshwaip bluffin' with my muffin Icrontian

    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

  • BandrikBandrik Elkhart, IN Icrontian
    edited May 2014

    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!

    TheRedburnmidgaErrorNullTurnipJBoogaloo
  • TheRedburnTheRedburn Spaceman K Detroit, MI Icrontian

    Actually @Bandrik‌ , that does sound like good advice. Thanks!

  • CrazyJoeCrazyJoe Winter Springs, FL Icrontian

    http://www.codecademy.com/

    I use that with my students. It's a pretty nice free, interactive website for learning coding.

    TheRedburnJBoogaloo
  • TheRedburnTheRedburn Spaceman K Detroit, MI Icrontian

    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.

  • LincLinc Owner Detroit Icrontian
    edited May 2014

    @CrazyJoe said:
    I hit the limit to the number of lines you were allowed to have in a program.

    You dared defy Lord Brackos and now you see what comes of it.

  • mertesnmertesn I am Bobby Miller Yukon, OK Icrontian
    edited May 2014

    @Linc said:
    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.

    It's super effective
    trooster89
  • trooster89trooster89 Are you from London? Icrontian
  • midgamidga "There's so much hot dog in Rome" ~digi (> ^.(> O_o)> Icrontian

    @TheRedburn said:
    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.

    Pretty much which version of .NET it uses.

    TheRedburn
  • mertesnmertesn I am Bobby Miller Yukon, OK Icrontian
    edited May 2014

    @midga said:
    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.

  • midgamidga "There's so much hot dog in Rome" ~digi (> ^.(> O_o)> Icrontian

    Oh, I thought Visual Studio used it regardless. TIL stuff.

  • mertesnmertesn I am Bobby Miller Yukon, OK Icrontian

    @midga said:
    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.

    midga
  • CrazyJoeCrazyJoe Winter Springs, FL Icrontian
    edited May 2014

    @Linc said:

    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.

  • drasnordrasnor Starship Operator Hawthorne, CA Icrontian
    edited May 2014

    @CrazyJoe said:
    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."

    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.

    midga
  • drasnordrasnor Starship Operator Hawthorne, CA Icrontian
    edited May 2014

    @TheRedburn said:
    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.

    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.

  • GHoosdumGHoosdum Icrontian
    edited May 2014

    @drasnor said:
    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.

    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!

    drasnor
  • mertesnmertesn I am Bobby Miller Yukon, OK Icrontian

    @GHoosdum said:
    my Calculus IV teacher in college lied.You don't need Calc IV to be an effective programmer.

    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.

    GHoosdummidgaErrorNullTurnipJBoogaloo
  • shwaipshwaip bluffin' with my muffin Icrontian
    edited May 2014

    The need for calculus depends heavily on what programming you do, and where you fall on the computer engineering / software engineering / computer science spectrum.

  • CrazyJoeCrazyJoe Winter Springs, FL Icrontian

    @GHoosdum said:
    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.

    I was actually in that class. I remember that kid.

  • GHoosdumGHoosdum Icrontian
    edited May 2014

    @CrazyJoe said:
    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.

  • midgamidga "There's so much hot dog in Rome" ~digi (> ^.(> O_o)> Icrontian

    Did that special computer come with a big conical hat?

  • GHoosdumGHoosdum Icrontian
    edited May 2014

    @midga said:
    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. :(

    RyderTheRedburn
Sign In or Register to comment.