Share your coding story.

Started by
28 comments, last by latch 10 years, 8 months ago

Well, playing through Chrono Trigger 18 full times in one summer kind of cemented that I wanted to make video games for a living.

After that I was always interested in programming taking high school programming classes (Pascal and something called RealBasic, which was a Mac WYSIWYG sort of editor that used Basic as a scripting language. It was pretty cool and essentially handled the gameloop (or update loop) for you). The engineering classes I took in high school had us interfacing Basic code with circuits we built. My final project was a wooden arm that you wore and moving it moved a 2D articulated arm on the screen. I never really spent too much time out of class working on programming even though I always intended to.

After high school I took a CS degree, met a bunch of friends, learned to program together, built a few crappy games together (on our own time), we all graduated and now have worked together at the same studio for the last 8 years or so (through referals we pretty much got each other hired). Lesson: make friends and keep in touch because referals are the best way to get past HR and have an interview.

As for the question of being frustrated not having the time to learn everything I want? Of course! But a bigger problem is I don't have the time to get the things I already know how to do done! Not enough hours in the day now that I have a kid.

Advertisement

Wow, all your stories are very interesting.

My story as a programmer started in 6th grade of elementary school (our elementaries are 8 year), year 2003. We were on Computer science class (where we were basically just playing games rather than learning something useful), when I heard professor explaining something with a blue screen - a mysterious application called QBasic. When I heard bits of what can be done with it, I immediately stopped doing... whatever I was doing then and focused on listening (I also had bad hearing back then so that was a feat considering prof was 3 meters away in cramped class full of teeenagers).

When I got home, I took out computer magazines called "Enter" and wrote my first "Hello World" program. That friend gave up on programming after 3 days.

Half year later, I got basics down: input, output, drawing, branching, looping, procedures, functions. Best program I wrote was a simple number guessing game.

Also, I started messing with WarCraft 3 World Editor's Object Editor and creating my own heroes.

Next summer I managed to grab a copy of Visual Studio.NET and immediately switched to Visual Basic. Transition was simple and painless; I also got a book about Visual Basic which helped me understand .NET and some VB quirks.

Few months later, I stumbled upon XNA Framework and some tutorials on how to use it with Visual Basic. First game: duck shooting with mouse. Code was terrible (too bad I lost it), but it worked and I was happy.

1st grade of high school. For various programming competitions I learned Pascal on my own. I also started to mess with Trigger Editor in WC3's editor, effectively learning Event-Condition-Action scripting. In 2nd grade I made transition to C# without any book whatsoever; only resource being MSDN Library. I also got to a point where I made 2-line calculator with basic operators in two hours, most of it being form designing and string parsing which I had to figure out on my own. I also wrote text-based Snake in QBasic in 30 minutes.

1st year of college. I was still messing up with XNA and C# and writing only click based games. I had several unfinished projects at that time, with one of them being moving square with a gun over the screen with keyboard.

I'm now at 3rd year of college (with repeating of some courses), and my first complex project is on the way. Battle City is completely different from anything I wrote before. What started as simple messing up with XNA is slowly evolving into full and playable game.

I had a website in the late 90's about emulation, it was then I found about romhacking and the translation scenes. I loved some games so much that I wanted everyone to be able to play them, so I dediced to help the translation scene of my country.

I started small, doing some basic hacks, finding scripts and changing the graphics to have the special characters my language demanded. After some time I got into more advanced topics, until I got to what they used to call pointers.

Pointers in a rom are pretty much the same concept they are in C, but they point to addresses inside the rom and, in this case, to the text strings. Using pointers allowed you to use the rom space better and it was a must if you wanted a high quality translation. The problem was that a rom had thousands of pointers and changing them one by one, by hand wasn't really feasible. My brother told me to learn how to code so I did.

It was 2001 by the time, so I got the only source I had at the time, the C for dummies book. I learned how to code and made some really terrible codes*. I wrote programs to fix pointer, extract and insert text for games such as Treasure Hunter G, Chrono Trigger, Breath of Fire (GBA version), Dual Orb 2 and Secret of Mana. After that I decided that I should learn some assembly (65816 IIRC), so I decided I would put a full alphabet into the SoM game. After a few weeks of work I finally got it done, this is the result:

fonte01.png

After that I felt in love for data structures, and this was when I really learned how to code. Many years later I entered CS (which I have a BS as of today) and started making my own games as a hobbist.

* My very first working code that was not based on anyone's else work had the following variables:

int i, x, y, w, z, r, e;

All of them globals, obviously. It had no return (I had a very vague idea of how return worked by that time), I would just keep calling functions over and over.

Currently working on a scene editor for ORX (http://orx-project.org), using kivy (http://kivy.org).

After high school I took a CS degree, met a bunch of friends, learned to program together, built a few crappy games together (on our own time), we all graduated and now have worked together at the same studio for the last 8 years or so (through referals we pretty much got each other hired). Lesson: make friends and keep in touch because referals are the best way to get past HR and have an interview.

What made the games crappy? You didn't like them or others didn't like them?

I started in middle school around 1995 when I saw a neighbor display a message on his computer with a batch file. After that I started writing my own batch files, and eventually bought a copy of Visual C++ 1.0 (they used to sell that sort of stuff in stores) and learned C++. High school was all about learning C++ and writing various incomplete games. Then in college I majored in CS, and along the way branched into other languages like C# and Python. I also interned at a major software company, and after graduating, I went to work for them full time. Nearly 8 years later I'm still there, and am now a Senior Software Developer working on a secret project that will have an enormous impact in certain industries.

It's kind of sad, but throughout all this time I've completed a single game: a Tetris clone that I wrote in a few days back in college, just to be able to say that I've finished a game. I've worked on a variety of other things in my spare time, however, most recently a backup program that I now use to back up all my data with deduplication and redundancy.

Would you say that it's common to feel frustrated with the fact there is not time to learn everything you want to or does that not plague you?

It doesn't bother me. I think it's because I never really understood just how big the software development world was until I was fairly established as a developer.

Don't get frustrated. Just take things slowly and one day you'll wake up realizing that you know a ton of stuff. The key is to enjoy learning, and to constantly learn.


It all started when i was 13-14 years old. Back then my dad came to me and gave me some books about HTML and CSS and said to me if i learned to do all of the stuff taught in the books he'd buy me more books for more advanced stuff like PHP. So i started and eventually created a few easy websites (with frames at that time. I shudder at the thought that i used frames back then) and as a result got a few more books of my dad. I started writing small dynamic websites with PHP and was very active in a forum related to web development. The biggest thing i ever created for Web stuff was a whole content management system like Joomla (not as good but it had most of the important features). At that time i was 15.

Then i stopped for 1-2 years and was only playing games. I tried to do stuff with c++ a few times in that time but always got frustrated because i didn't get any major results and stopped shortly after.

Then after those roughly 1 and a half years i started learning c++ again with a few books my dad bought for me. Now i'm 18 and am still learning but i'm now much better than before. I recently started a new project and am trying to finish it this time. (All previous projects where abandoned because i either didn't have time for it or i was so frustrated of something that i just gave up) But now i'm past some big hurdles and its starting to all make sense.

My current project is a 2d Game written in c++ from ground up (only libraries used are D3D sqlite and boost) which i mainly see as a big learning experience. Next year i'm going to finish my Abitur(secondary education final exam) and then go to university and take computer science courses.

"Errare humanum est, sed in errare perseverare diabolicum."

Do you have any screenshots from your 2d game?

Pretty cool stories. Can't really remember many specifics ... but the first contact was on a Commodore 64 ... basic stuff. I think when Monkey Island 1 or 2 was new my brother and me tried writing something similar with ASCII art, but we soon realized that it wasn't satisfying at all.

Later (no idea when ... at something between age 12 and 17 I guess) I used some Basic (QBasic? GW-Basic? no idea) to write a hotel manager ... where you saw one room and as you bought things you could see them (a bed, a closet ... a pool through the window).

Then I took a course in high school where we learned Pascal and I did pretty well.

I tried to get into game programming with the help of Gamedev, NeHe and similar stuff. I am horrible at self-educating ... I found one cool tutorial though, which explained the thought process as well as the actual code. That helped me finish a breakout / tetris combination using SDL.

I kept rewriting engines without really knowing enough about software architecture. Not sure why I stopped exactly.

I didn't want to become a programmer because sitting in front of a screen the whole time was never my idea of fun.

When I tried to study something else (mechatronics) I realized that I suck at everything else in this world.

After failing at university I found an academy for people who failed elsewhere ... and again I did pretty well there. It was all about Java and serious (or seriously boring?) business.

After that I got a job that I did for 4.5 years. Right now I am looking for a job again AND thinking about getting into game development again as well.

The problem is: I don't want to dive in too deep. I want to be an all-rounder and I like design, abstraction and automation more than actually fiddling with algorithms and data structures.

I'd really love to work on my own projects and make money that way, but I have neither the money nor the business knowledge.

So now I hate my life. Fuck me, right?

Given enough eyeballs, all mysteries are shallow.

MeAndVR

Mine is really simple.

In late 2006 (I was about 15), I became interested in learning how games were made. Naturally, I did a Google search for "game making software" and up popped a link for The Game Creators and DarkBASIC, a still at-the-time decent programming tool. I downloaded the trial version and followed some tutorials, and pretty soon caught the programming bug!

Then, after my family moved in late 2007, I started learning other languages. A little bit of Python but mostly C#, and I dabbled a bit in C++ and Java but eventually went back to DarkBASIC for a while to finish a couple of projects. That didn't work out, although I did learn a lot about programming in the process! I made myself a decent little level editor for a specific project, but never completed it.

I stopped for a couple of years and only worked occasionally on small things; taking lessons for C# and XNA was what I mostly did, until Microsoft killed XNA for good.

Stopped for another year or so, and then I found Unity3D and have been learning it ever since! Coding/scripting is so much easier in it, and it's nice to get instant results. But sometimes, I do think it would be fun to actually code my games from scratch, and actually develop the engine myself. :P

Anyway, that's my story!

My website! yodamanjer.com
My development blog!

Follow me on Twitter! [twitter]jwg1991[/twitter]

Aye, the closer to the machine you can get the more powerful you are, but that kind of power takes time.

This topic is closed to new replies.

Advertisement