• ### Announcements

GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Followers 0

## 29 posts in this topic

Here's mine:

I started coding when I was 11 an a wire wrap computer my dad built that only had a calculator screen. We just had a keypad an had to code in machine language(there wasn't even assembly language on this z80 computer- all hex) Later I received a Timex Sinclair 1000 to program on and it had a membrane keyboard that hurt my fingers after hours of programming so I bought a keyboard from Radio Shack, modified its circuitry to make it compatible and screwed it and the motherboard to some plywood and soldered them together. At school, we used Apple IIs and I always wowed my teachers. A friend in my electronics class loaned me his Apple IIc and I coded on that quit a bit all BASIC. One Christmas, I received an Atari 800lx which I coded like a fiend on mostly BASIC and some Assembly because I had a cartridge for that!

I then got away from computers for a long time- like 10 years. I got back in to them in 1999 when I first got on the internet. I promptly earned an Associate's Degree in computer science(the college paid me to tutor Visual Basic) and became an A+ Certified computer repair technician. I struck out on my own and have been self employed for 8 years now. Most of my coding has been geared toward robotics and interfacing the real world though I have accomplished mostly nothing in that endeavour other than exposure to several languages. I have dabbled in the following languages in order of time used each: Basic, Visual Basic, Python, B4A, C, WXEuphoria, PHP, java, C++.

2010 I was heavy into Python and thereafter made the transition over to Linux where I ported several of my VB and Python programs over to C. Most of that was just playing but some things have the potential to be pretty useful. I wrote a program that read the webcam, picks out the edges on the image and differentiates the vertical lines from everything else(robot eyes that can see doorways and wall edges) in both VB and C(actually this was a mixture of Linux command line programming and my C code and a few utilities- I like to tech chain stuff together).

Last year I wrote FlaTank(based on a game I wrote in college in VB and Atari's Combat and Bally's Tron tank game) for Android and released it on BlackBerry PlayBook also. Now I have 30 apps on BB(I wrote or ported these for the port a thons for a paltry $3000)- some useless and some excellent and I have ~20 published on Google Play. It's finally starting to pay a little. I'm currently learning HTML5 and SEO and am working on a nongame app which I will keep to myself for the time being. Whats your story? 0 #### Share this post ##### Link to post ##### Share on other sites ... Now that is old school. First lines of code I wrote were back in 1992 using Qbasic ( in Jr High School ). Really didn't do much coding after that until I picked up ZZT, ( 1993 ish ) than I became obsessed with writing my own game scripts in ZZT-oop . That was fun for a while, but eventually coding my own ZZT games became boring ( no internet to share files ), so I stopped. Fast forward to 1998, when I found the INTERNET and many interesting things to do. Not long after I found Active Worlds, and with that AW-SDK . That really didn't interest me too muck, however the object scripting language AW Code did. Even to this day I play with it ( Link Here ). Around the same time, I was also building my own web pages with HTML . Some time in mid 2004 I found "Second Life", and with it LSL . From there I started dabbling in other languages. It's hard to remember the exact dates, but the ones I used the most often were Python, Java, C++, Visual Basic, PHP-Javascript-HTML . Last couple years I have been getting certifications in specialized programming and calibration for instrumentation and sensors for wide range of uses. The languages are specific to the manufacturer (most of the time), with some of them in pure machine code. Now all I need to do is FIND a job doing what I am certified in. 0 #### Share this post ##### Link to post ##### Share on other sites Very impressive. I always wondered what could have been of me if I started to code when I was 14 or so. Anyway, my story is pretty simple: The first "coding-like" experience I had was back in 2007, I was 15, and had TES 4 Oblivion. The game literally blew my mind and I still love to look at that pre-rendered video with Uriel talking in the background. Back then my english wasn't that good but I still got around mostly. I discovered that the game could be edited with an official editor, the Construction Set, where I could write in a pretty simple scripting language. While I messed with the CS a lot, I didn't scripted that much, just made your typical "Press activator. Ask what you want. Deduct 10 coins and add the item to your inventory". With Fallout 3 GECK was pretty much the same. I couldn't get around scripting since it sounded VERY obscure at the time. I saw a 100 hundred line long script and thought "OMG SO COMPLEX". I barely had a notion of what a control structure is for example. That was all my experience in coding before I got into university when I was 18 :D There I coded on paper with a pseudolanguage for over a year. In my second year started to code with Ada, (specifically, Ada 95, this was year 2011 mind you), using cool stuff like generics but avoiding everything OOP related. For a few reasons while I did pass the Algorithms and Data Structures course (Ada), I couldn't get in the Object Oriented Programming course in the second half of the year. So I was left without programming courses to do. I read about C++ for a while, not coding much at all (making small 50 line test stuff) but still reading about the syntax, STL, etc. With that I got a grasp on the basics of OOP, which was crazy compared to what I've seen with Ada. I learnt about classes, visibility, inheritance, multiple inheritance, virtual methods, friend classes, etc. At the same time, while I was reading about C++, I also got into OpenGL 3.3 (yes, I probably hadn't even 2k lines of code under my belt by that time). It was hard, read a lot, again and again, until some things sunk in and I could start actually learning. So when I started OOP course the next year (2012), which works with Java, I was aware of many things already so I learned fast many of the concepts. It was some very good luck since I had seen other people who came directly from Ada 95 and got their minds literally broken :D In that course I learned about Java, managed languages, more concepts like design patterns, accessors and mutators, making GUIs with Swing, exceptions, did a 2.5k line long final assignment (a totally badly implemented 4 in line game with a MVC pattern) which was by that time like the triple of my previous biggest program, then found out that there are OpenGL bindings for Java (LWJGL) and started to work with that. Made a simple renderer where you could walk around in a heightmap in the summer with shaders and all that, though it was a good learning experience since I had to implement all the math functions myself, learnt to get used to the FloatBuffers and such. Made a perlin noise heightmap generator (80% of the work made by Perlin himself thanks to his Java reference implementation). And my last project is on my journal. A terrain generator which derived from my search for LOD algorithms for big terrains (read quite a few papers about it, stumbled on terrain generation papers every now and then so I got interested in that). So I've touched so far a grand amount of 3 languages so far: Ada95, very little C++ and Java... And whatever Beth called that scripting language that existed before Papyrus came with Skyrim. I like the progress I'm making, considering that 3 years ago I didn't knew how to code, that's why I wonder what would I know now if I started at a young(er) age :D 0 #### Share this post ##### Link to post ##### Share on other sites I started on my first year on CS college (2003/2004) with C in the Turbo C editor (or IDE if we can call that way). I've learned the paradigms and control structures, data structures... the regular stuff. Later on the course went into software engineering, C++, Java. I've worked for almost two years as a game developer using Unity3D but I had to leave the studio for a better opportunity (short story: had a son, needed the extra money). Today I work as a mobile software developer (regular stuff, not games) with Objective C and hobbyist game developer on my spare time (which isn't much nowadays). 0 #### Share this post ##### Link to post ##### Share on other sites Started out around 2004 when I was 11 or 12 (don't remember) with Delphi - or generally Object Pascal - and learnt most of what I know about programming in that language over the next 2-3 years or so (I don't know what I would be today if it didn't have pointers, I shiver at just contemplating the idea). Then after a while I naturally fanned out to Python, then C, followed by C#, Java and C++ (and a couple others I can't remember the name of). I don't consider myself a guru in any of these languages, but I range from "I know the syntax and the standard library" to "I can do pretty cool stuff". I've always been a rather "low level" type of person, trying to get to the bottom of things first before using pre-existing libraries (or reinventing the wheel if it's fun enough) I am almost completely self-taught, though I honestly believe the trick is to learn how to search for information (and how to teach yourself) which is an incredibly valuable skill that a lot of people seem to somehow not have developed. That said the problem with being self-taught is you end up glossing over the boring yet important aspects of development, so your knowledge, while overall solid, has quite a few holes that need to be patched, so I'm definitely finding use in the comp sci courses I'm enrolled in (even though I don't really like Java much, I have to say there are some issues I never thought of before that I find quite interesting) I'm currently working towards a computer science + math major, and while I haven't actually earned a single dollar yet, I've been looking more closely at casual freelancing in my free time, though I have hobby projects of my own to pursue. My portfolio ranges from small but actually useful tools to medium-sized proofs of concept (probably unfinished, because I'm just lazy, after all, my "projects" folder is a graveyard) and other stuff I wrote as a compilation of everything I learnt on a given topic. As a wise person once said, "you don't really understand it till you implement it". I also place very high value in accessible documentation and presentation, because your code is useless if nobody can learn from it or even just decipher it. I definitely would do it all over again if I had to, and I'm looking forward to the next few years. I also want to find time to really learn functional programming, damn it! And perhaps some web development as well. 0 #### Share this post ##### Link to post ##### Share on other sites Once upon a time (mid 80s), there was this girl I had a crush on in grade 5. She seemed to like this other guy that was doing some extra credit programming for science class (ask a bunch of 'yes' or 'no' questions, get input from user, display result ). Clearly this meant that I had to learn to program so that the girl would like me too "(hey, I was like 10, what do you expect). So, I went to the school library and found the only programming book it had which was this pocket-sized thing that was only really a list of syntax for the Apple IIe. I practiced programming after school on a computer that was sitting out in the hallway. I had no floppy disks to save my work on, and there was no hard drive either, so I typed in whatever I was working on from scratch each night. But alas, a hallway is no place for a hi-tech piece of equipment like an Apple IIe and after a few weeks it was locked in a classroom I didn't have access to. The coolest thing I wrote I think was a thing where you could move around a "high-rez" pixel with the keyboard and basically set the pen down or up to draw in whatever colours were available (didn't know how to save the result and without a disk couldn't have anyways if I even figured it out). I ended up continuing to write programs in pen in a notebook I kept until my next opportunity arose. Simple little text adventure and board games if I'm not mistaken (it was a good while before I ever heard of D&D or played Bard's Tale). Wish I still had the book. I was too shy to ever approach the girl. Edited by kseh 0 #### Share this post ##### Link to post ##### Share on other sites I didn't consider myself a programmer or programming until I started with C# in 2010. Seeing how that was really only when I started enjoying doing things. Most of my ermm 'problem solving' came from Excel, since 1997 to like 2010 I was heavily using Excel and making macros too, I suppose Visual Basic in Excel could be considered programming but I don't treat it that way. Needless to say I dedicated an enormous amount of time to Excel / Macro scripting etc. I don't consider my PHP years (or year rather, since I spent very little time working) programming either, but this was simply because I hated the language. I did some work with ActionScript before C#, it was ok but Flex would bug out a lot if Eclipse was installed, it was really strange hahaha and sadly due to issues with MySQL I moved onto SQL Server and eventually C# From a learning point of view, programming wise I learnt all my stuff from C# / C++, Excel / VisualBasic may have helped me with organising and managing data with a generous amount of scripting but I don't consider myself programming then. Anyway C++ (though much hated most of my programming life) from May last year entered my comfort zone, I have a lot of respect for the language but I use C# principles and conventions in C++ too with respect of necessary security considerations in C++ Right now I am focusing on many areas, from DB work (<3 SQL Server) to Web Work to Graphics and maths. One thing I will say is, from 1997 all non-physical tasks of mine were done or simplified on a computer for me, ofc it was excel then, now it is C# (WPF to be precise) I even made a self hypnosis app in WPF a few weeks ago ;) it was pretty cool and even though it used DirectX for graphics (and sound) it was not what you would consider ermm something I could publish on a gaming site XD sadly this seems to be the case for a lot of my work, though I heavily use DirectX, nothing I am making atm is even remotely considered a game despite focusing on core areas you would while making a game, AI is probably the only area I haven't really done anything in (as it isn't needed) although I make use of expression / binary trees often so I guess that counts. 0 #### Share this post ##### Link to post ##### Share on other sites It goes back to 1990 when I first played my PC game. I thought it was cool, and the game sparked the desire within me to create my own games. It was then when I purchased my first programming book, which obviously titled "Make your own video games!". The book used BASIC, and I owned the PC that boots to BASIC if you didn't put the OS disk (that was cool!). I didn't understand much what the book was trying to teach, simply because making your own games require more fundamentals and knowledge that a 9-year-old child would have. I copied the source code without knowing what it's doing. I could only make useless programs (such as a program that draws a tank out of rectangles). Regardless, I still thought making the computers to do things as you instructed was a cool thing. Four to five years later, my school introduced programming classes in which I learned Pascal (which I didn't like). The classes didn't serve me much other than showing off my skills to my peers. Then, in high school, VB was getting popular, and naturally, I picked that language as my second. This was the beginning of my career as a game programmer. It was the first time I was actually able to code a video game from scratch, on my own, using my own logic. Much fun I had with Visual Basic. I made games and small utility apps here and there. One thing still bothered me was that I still had no idea how to code in C/C++, and many game developers job postings require that skill. Many attempts to learn C++ from the then-much-younger Internet tutorials, including from the old GameDev.net, were met with failures. After I started college, I found a book that teaches you C from the school library. At that time, I thought C++ was the superior language. After all, GameDev.net forum posters were saying things like "C++ is a superset of C", and that "you can code in C if you can code in C++." Finding a book that teaches you C, rather than C++, I thought was like driving a car stuck in second gear. However, it was better than nothing, and I picked that up. The book turned out to be much of a tremendous help to me in understanding the C language constructs and grammars. Unbeknownst to me, understanding C helped me a lot in understanding C++. The tutorials that were once so difficult to grasp, became so easy to learn, and also, I started to see why those tutorials were hard to understand in the first place. They were poorly written and lacked of the explanations that I needed. It only took me two weeks to learn C, wrote my own app, and sold it for$12.

C++ became my primary language in college.  From C to C++, from text-based apps to Win32 (gasp!), OpenGL, and DirectX.  I had much fun with pointers, twiddling bits, and all those access violations errors.  I wrote a couple more games on my own and as part of school assignments.  I was glad my university was using C++ as the primary programming language, rather than Java.

So now, roughly 7-8 years since graduation.  I have learned many more languages, Java, Ruby, Python, to name a few, because it's a job requirement.  It's been fun and it will continue to be so.

0

##### Share on other sites
In 1998/99 I bought a mech sim game called StarSiege (from the guys who later made the Torque Engine/garagegames.com I think) along with Civilization: Call to Power. I enjoyed StarSiege but scratched the Civilization disk and couldn't play it much. I had some question about the game and found the game forum. That was my first forum and I stayed in the community. Back then the StarSiege franchise was owned by Dynamix. StarSiege was originally EarthSiege 3 and the people on the forum wanted a sequel for the game but the company wouldn't make it. They petitioned players to sign on to ask the company to develop a sequel. I played around with the game scripting language, trying to make my own scripted maps and stuff. My mom was learning to be a programmer or analyst or something and had books on C/C++ that I learned from. There was a really easy book she had for C/C++. There were efforts by the community around 2000 to try to make a sequel themselves and that is when I went out to Chapters and bought my first books on game programming by Andre LaMothe (Tricks of the Game Programming Gurus) and later the Prima game programming series written by gamedev.net staff. I learned HTML for making a website for my clan.

In 2001 we moved to Vancouver and that is the time I was posting on the forum from a public computer at an internet cafe/laundromat (because I didn't have internet at the new place for a while) asking for people to compile my source code (I was writing it on paper) for the sequel. Needless to say this was futile and I was just a noob. Some time after I started wrangling with Visual Studio 6 and slowly, painfully learning. In secondary school I made programmer buddies, one who programmed in Delphi and another who knew assembler. I wanted to make a game with the Delphi programmer by writing DLL's in our own languages but he said it would be too buggy. We argued a lot about languages. He argued that Delphi wasn't inferior to C/C++ because it was higher level and that it was a layer on top of C/C++ and that C/C++ was more popular didn't mean it was better. I was in a web development mini class where I worked with a grade 12 student using PERL on the school website/forum. By this time I had already learned from NeHe to make a simple OpenGL app that rendered a mesh of a building I hard coded in OpenGL commands.

At some point Dynamix had gone bankrupt and the franchise became the property of the parent company, Sierra. Then something happened to Sierra too and the franchise became the property of Vivendi Universal. At some point the ClanCore group got official permission from the company to make a sequel using its intellectual property (StarSiege 2845). They started using the Unreal Engine and then I don't remember if they switched to Torque. It went on for a few years but eventually they failed.

I learned Java from a book somewhere at this point in a few days while on a trip to an semi-isolated cabin in the woods. Later I got an XPS laptop.

Around or after grade 9 I started going to a computer arcade/internet cafe that people were going to and discovered Counter-Strike 1.6 and Half-Life. A long time later I only got a copy of CS after somebody told about Steam in its early days. While visiting my cousin in Calgary we saw Land of the Dead and I got ideas for a zombie shooter. I don't remember if it was before or after the zombie mod in CS 1.6 appeared. I played it all the time during grade 11-12 (my homeschool/distance ed years when I became socially withdrawn). Later I got CS: Source though the zombie mod experience wasn't as good. It had realistic physics and barricades though. I had gone through several computers at this point.

At this point I bought the tutorials from gametutorials.com.

Next, university (2007). I went into general science and used my XPS laptop for reading course material before philosophy class. During summer 2008 visiting my brother in Regina I had a 2-month job as a web developer at the university Student Connections organization for one client. My work could've continued but I had university.

I learned about Quake 3 BSP from the tutorials I had bought and was working on my zombie shooter engine.

I had problems with 2nd/3rd year chemistry and after retrying 2 times I had to quit in 2010. At this point I had gotten my XPS laptop's motherboard replaced because the power port got loose from constantly propping the connector against something. Eventually my video card or something broke and I couldn't use it anymore and had to rely on my older desktop (a newer Dell one I got sometime in the 2000's). I was able to use it again for a brief period after I discovered I could use the desktop's as an external monitor but I spilled coffee over it and at that point they said it would've been too expensive to replace instead of getting a new one and I got the harddrive converted into an external harddrive to save all my files and got a Lenovo workstation-class W520.

Later I also got a MacBook Pro for developing for my iPhone. Sometime in 2012/2013 our house got robbed while we were out and my 2 laptops were stolen. We later replaced them with a newer Lenovo W530 and MacBook Pro. Since getting them I've finally published 3 apps to the iTunes App Store and gotten an android phone and published 2 apps to Google Play. First is a math game that made some money and surprisingly continues to be bought every few days on iTunes. Next is a zombie shooter that sold a lot on its first few days and made some money but stopped selling some time after. I am waiting for Apple to approve my last app, an economic RTS, the first in a series that I later hope to expand on in the coming years for PC and then maybe mobile again when I want to turn it persistent multiplayer. Edited by polyfrag
0

##### Share on other sites

Wow! You guys are nerds! Oh wait, that includes me. Ok lemmie ask this question:

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?

0

##### Share on other sites

Totally. I've been learning nonstop in the last 4 years and still think it isn't enough. There are so many things to do and so much you have to know to do them!

0

##### Share on other sites

I started messing with computers in the 90s, when I was in elementary school (~ 3rd grade or so).

at first my dad had a 486 (IIRC, originally using Win3.11 but he soon put Win95 on it), then later I got an old used 8088, and a little later a 386 (mostly just ran DOS on it, *1).

for these early years I had mostly just messed around in QBasic, mostly making simple tools, with a little bit of messing around in hex editors (noticing that I could alter the behavior of programs by tweaking the bytes, ... had a program known as XTree which was pretty nifty at the time...).

most other memories from these years are a bit fragmentary though.

a few years a little later on (from my initial messing with computers), I was messing around with the Wolfenstein 3D source, which was partly what moved me in the direction of C, but at the time I had little idea how a lot of it actually worked, so never really accomplished much with the Wolf3D codebase (or for that matter, the Doom source, but could at least recompile playable versions of Doom from it...).

*1: I mostly just used DOS, not bothering much with Win3.11 or Win95, except in the off chance I needed something graphical (I had Win3.11 + Win32S installed and a lot of Win95 apps would still work), but this era ended with an HDD crash.

I then went over mostly to Linux for a few years, but got frustrated by its perpetual general-brokenness, and by that time on the Windows side was mostly using Win2K, which was at least much more stable than Win98. the path since then has been 2K->XP->Win7.

by the late 90s (lasting until the early 2000s), I was mostly off trying to make an OS. got about as far as getting it to boot up with a basic GUI and networking support (Ethernet+TCP/IP), but performance was pretty bad and it was kind of buggy/crashy, and didn't really do that much interesting. this project died due to me figuring I had little hope of there being much use for an OS (the world already had Windows and Linux, FWIW, and this was architecturally sort of a bizarre hybrid, using some Unix-like architecture but with PE/COFF and EXEs/DLLs and Windows-inspired elements as well).

(it also had other funkiness, like HTTP support was integrated into the OS VFS, partly as I was pulling the program binaries off another computer over the network, ...).

I had started messing with the Quake source, and from that had learned about things like OpenGL and similar, and fiddled a bit with the Quake engine but eventually this caused it to bit-rot into an effectively unusable state (as messing with one thing would often break several other things, ...).

then, in these years, I figured I would mostly try making development tools and DCC tools, but it was a world of "no one gives a crap", and the tools had a fairly minimalist UI and I was probably pretty much the only person who ever used them (and the years 2006-2009 were mostly used up by me messing around with compiler and VM technology, featuring an ill-fated C compiler effort, and taking an initially awful-slow script-language thrown together in 2004 and turning it into something a little more formidable...).

the original version of the script language was a poor-quality JavaScript knock-off using an AST-driven interpreter, with performance bad enough that using it even for simple things was dragging down the rest of the project. it then later moved to bytecode, and then more recently to a JIT. (it briefly had a JIT before at one point, but this went off and became said C compiler effort...).

in these years, I had also been messing around some with the Quake 2 engine, mostly gluing on some fancier rendering and gameplay features (stencil shadowing, A* pathfinding and AI improvements, using a few hacks to expand the max world size to around 128k units, ...), ...

I also started recreating most of the game contents, mostly so I could have art assets which weren't owned by id Software (this included modeling and animating character models, but initially their animations were kept lockstep with those of the original Quake2 models).

in 2010, I had an idea of basically trying to take some of the stuff I had made previously, and throw it together into my own game engine (mostly so I could have my own license terms and not be stuck with GPL or similar). initially, I was working towards making a Quake 1/2 knock-off, and my render was horridly slow (*2), but around 2012 shifted focus to ripping off ideas from Minecraft, and it still kind of sucks...

*2: basically, the renderer comes from my 3D DCC tools (originally written mostly for rendering 3D models and being a map-editor). initially, it was all glBegin/glVertex as well, but most of this has since been replaced by vertex arrays and VBOs.

so, yeah, not really a terribly productive life...

Edited by cr88192
0

##### Share on other sites

so, yeah, not really a terribly productive life...

You're supposed to brag! You're not doing it right!

0

##### Share on other sites

Grew up playing Sonic the Hedgehog and Dune II. Eventually progressed onto Starcraft and Warcraft III. Got into map making. I used every hacked editor I could get my hands on to create the kind of maps I wanted to, as the default map editor placed so many rules and restrictions in place that it was seriously limiting my imagination.

Then about 10 years ago, when I was 12 or 13, I decided I wanted to make my own game. I had no idea how to do it. Got into 3D modeling (thinking that game development was just done by writing little scripts/connected 3D objects together in a 3D modeler) and then into programming.

Started programming with DarkBASIC, but then moved onto C++ as I was still feeling limited by the language. At 14 I had completely moved off of DarkBASIC and was focusing entirely on C++. At 14 or 15 I was programming way more than I was playing video games.

I spent all my time programming, at that point. Heck, in 10th grade I broke up with my girlfriend over the phone because I didn't like her a ton and wanted to program instead of hang out with her. Of course, I had a social life. I wasn't a geek only. In fact, most of my friends had no idea I was into programming for years. When I meet people now, a lot of them are surprised I'm a programmer. I'm not sure why it's surprising, but I guess it is.

Then I took a break from it all, did a 2 year full-time mission with my church, but since I was good with computers and everything I was asked to serve in the mission office for 6 months, where I wrote a game of ASCII snake in my downtime using the command line and Notepad(++?), which only took a week-ish of spare extra time. Other than that, I didn't do any programming. I was a bit afraid I'd forget a lot of things when I got home.

Anyway, I got home and the company I had been working for my freshman year immediately hired me back, and I actually slipped right back into programming naturally. There were a few small things I had to freshen up on, but I was surprised that I didn't struggle more.

I'm now studying Computer Science and working at a company developing mobile software and embedded software. I'll be entering graduate school this fall. I still primarily program in C++, though I also program a lot in C, Java, and C#, and a bit of Racket. I'll get my masters in CS just after I turn 25, and hopefully I'll be able to get a nice contract with an awesome company.

Game development is still a hobby of mine, but it's something I won't do professionally. Some things are best left as hobbies.

I hear all your stories and can't imagine what it would be like growing up 10 or 20 years before I did, when the Internet wasn't there to help. I've never read a programming book (though I keep planning to), and I've learned 95% of what I know from online resource (GameDev.net has been my biggest!). I think it's awesome hearing about what you all did to learn things back in the day when Google wasn't there to make it so easy to find information. Kudos to you guys for exploring things like you did!

0

##### Share on other sites

Yeah, in the 70's and 80's, we had a block of wood. Now THAT was a toy!

0

##### Share on other sites

I just for a moment remembered back to when I was much younger...

the internet wasn't so readily accessible, as there would only be like one computer in the house with internet access, and it was generally my dad's.

so, the internet was a lot further away when one has to walk over and use a different computer, which typically involved dialing in to an ISP.

and, if you wanted to move data around, it was typically either on paper or on floppies.

then later on things like Ethernet and Cable and DSL modems came into common use, and having the internet readily available is something one can almost take for granted.

side note: back in highschool, I had a girlfriend. but, things ended, and I have been pretty much alone since then. for me that has been around a decade now.

0

##### Share on other sites

I was 10 years behind everyone else first getting on the internet in 1999. I haven't been without an internet connection since. Even when I my computer or modem becomes kacked or the power goes out or whatever, I still have ways back on net. Be it 'borrowing' the neighbor's wifi, my solar panels, or one of my scores of spare computers, I always can feed my addiction.

0

##### Share on other sites

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?

Sacrifices need to be made if you don't have enough time to learn everything ;)

0

##### Share on other sites

More often than not the sacrifice is one learned thing over another as I'm a lifetime learner and have to pick and choose where my attention goes. Most of what eats up my time from learning everything is work and sleep and being married. Can't sacrifice any of those things. I usually read six books at a time so it's not like I'm slacking.

0

##### Share on other sites

My story is simple.

I always had lone, creative hobbies (beside astronomy). As a young kid, I built Lego stuff. From the age of 11 to 16/17, I did paper modelling Reinvented everything, I didn't have a clue then (no internet) that this is actually a quite popular hobby. Then I did programming, now I design Lego stuff again (Technic).

EDIT: I forgot music. I played the drums in a progressive metal band, that wasn't really a lone hobby. We wrote our own music.

I first met programming in elementary school, at the age of 13 or 14. It was only a small part of the computer science class, extremely basic stuff (maybe it was some Basic). I immediately had the sense of programming (the sense of the ability to create anything from zero, breaking down stuff to manageable pieces), but I only had a 386 then as I can recall, and didn't know how to do (compilers, editors etc) programming and I didn't bother too much with it.

The next time I met programming (C language) was in the University (19 y.o), programming class. It was only an introductory class, since it was a Mechanical engineer university. I immediately fell in love with programming and it became a "full-time" hobby. I learned on my own, I didn't have internet till 2009 when I immediately joined Gamedev.net. I learned things by downloading random tutorials to floppy disks, and learned by hacking a LOT.

I reached some level in programming but I didn't want to be a real programmer, so I didn't worry about gaining much knowledge. I was excited from coding, so didn't read any books besides documentation. I learned whatever I needed to work on specific projects which were always fun/dream projects, never did "big" projects for only learning.

Actually somehow I ended up rejecting programming jobs (again, I don't have a certificate). One of them from another country just found my portfolio on the web, another found me through a common friend, I also applied for 2 jobs just for the heck of it on a job fair, one of them would have hired me (passed their written exam and the interview), the other one was much about C++ knowledge which I don't have.

Somehow I'm lucky, or smart (...), but I never stressed myself about always learning, always doing useful things in every minute of my life. I live a quite relaxed life (you may say lazy), but I feel successful. I always had a relaxed learning/work tempo in large which was always enough. I don't have big life goals and schedule so I'm not worried if I'm just relaxing even for weeks, and I usually don't feel I'm wasting time with anything and I don't really know the feeling of regret. When I do feel it, I just change my life.

For this reason I care much about always having free time which I can spend with doing nothing, that was the reason I rejected two job offers. I could have done both of them, I had just enough time, but I know I would have burnt out quickly.

Besides this relaxing thing I can go frenzy about the things I do, sometimes I do coding/building/whatever for weeks without stopping or slowing down.

You can check some samples of stuff I did through the links in my signature.

Edited by szecs
0

##### Share on other sites

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.

0

##### Share on other sites

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.

0

##### Share on other sites

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:

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.

0

##### Share on other sites
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?

0

##### Share on other sites

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.

0

## Create an account

Register a new account