Advertisement

Share your coding story.

Started by June 10, 2013 04:20 AM
28 comments, last by latch 11 years, 5 months ago

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!

"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

My journals: dustArtemis ECS framework and Making a Terrain Generator

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

Advertisement


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

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

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!

[size=2][ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]

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

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.

Advertisement

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.


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 ;)

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.

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.

This topic is closed to new replies.

Advertisement