Jump to content

  • Log In with Google      Sign In   
  • Create Account

Anyone here a self-taught graphics programmer?

  • You cannot reply to this topic
68 replies to this topic

#61 obhi   Members   -  Reputation: 164


Posted 26 November 2013 - 08:12 AM

I am a self taught programmer.. i used to go to internet cafe's to learn about D3D (DX7-8) cause i had no internet at home. I got my first computer when I was 16 and coded up a car racing game using the Turb C++ and VGA drivers. My interest on computer games has been on and off, until I started working full time on CAD and a 3D rendering engine for a reputed french company.


Having said that, and trying my own bit to build my own graphics engine, I still find the total amount of work for a single developer extremely overwhelming. Although not impossible.

What if everyone had a restart button behind their head ;P


#62 CatmanFS   Members   -  Reputation: 187


Posted 26 November 2013 - 01:23 PM

I started working with graphics back in 07 working on the Nvidia SDKs and Maya 5. Moved up to programming a decent graphics engine that i'm pround of. No formal training, outside of highschool programming classes.

#63 jmoak3   Members   -  Reputation: 126


Posted 07 January 2014 - 09:12 PM

I started teaching myself C++ when I was 14 (poorly!), and then learned QBASIC, where I made my first game. 

I went back to C++ with a vengeance, and "got" it.

Then I moved on to modding HL2 and experimenting with DirectX 9.0c. I bought a book by Frank D. Luna called "Introduction to 3D Game Programming With DirectX 9.0c A Shader Approach", and I convinced my high school to let me do my own thing for two hours a day ^_^

So, I spent the next year going through graphics books and doing small projects. I came to college, and found myself burnt to a crisp. I took a year off of graphics because I simply couldn't focus on any of it anymore.
As soon as I was able to stare at graphics code and not get a foggy head I dove back into it, and now I'm a second year majoring in CS (learning about things that aren't graphics grrrr) doing my own personal projects.

Overall the experience feels so rewarding. I can't imagine not having the nights of staring at a book trying to understand how to make things appear on my monitor.

#64 newtechnology   Members   -  Reputation: 353


Posted 12 January 2014 - 08:53 AM

I'm self-taught VB.NET, C# (I might have forgot C# & VB.NET because I haven't used them from more than 9 months), C++ and DirectX. I've been using computers since age of 8 and I started learning programming/making programs at the age of 13. At the moment, I'm 15 and I'm very much comfortable with c++ classes (derived class, base class), variables, pointers, reference etc and Direct3D.


Edited by newtechnology, 12 January 2014 - 08:55 AM.

#65 cdoty   Members   -  Reputation: 380


Posted 16 January 2014 - 09:41 PM

I wrote my first game on the ZX Spectrum some 29 years ago. My friends were busy swapping cassette games to try and beat each others' scores and I would borrow them to amaze myself at how they programmed it.

I then wrote several games on the Amiga, even publishing one on licenseware which had great magazine write ups (still got the Amiga Format mag somewhere).

Then onto PCs with a very early version of DirectX, which was mind-blowing compared to what I'd used before. Always self-taught in the early days, but now I just seek the assistance of the friendly experts on here. I work in an investment bank for my day job and it's nowhere near as much fun.

41 now and still tinkering with my engine and enjoying it as much, if not more, than when I was burying my head in the Amiga Hardware Reference manual trying to get a sideways scroller working in DevPac assembly in the early nineties.

For those younguns among you who think it's just a phase you'll grow out of.... It ain't!


I've followed about the same path, except for using a C-64 instead of the Spectrum. I used to copy pirated games to check out the demos I don't think I played most of them.

I also developed a few demos of my own, I loved raster (and later copper) effects. I also created a nearly complete BBS program that was similar to C-Net.


Later I moved onto the Amiga and developed a few demos, but was never able to put everything together into a game. The jump from the C-64 to the Amiga was a huge jump in understanding software and hardware.


I moved onto dos and 16 bit consoles, and created more elaborate demos. After reading a few books (Gardens of Imagination and some of the Andre Lamothe stuff) I started to grasp the big picture items needed to put a game together. 


After getting a game development job, and moving to C++ as my primary language (everything before was assembly, and some initial basic stuff), I started focusing more on the form and function.


I also finally put together my own engine, and now I'm enjoying the experience of getting it to run on different platforms. Surprisingly enough, I don't hate the layout of the code. But, I've taken the time to refactor, when needed, or scrap something if it didn't work.

Edited by cdoty, 16 January 2014 - 09:52 PM.

Check out Super Play, the SNES inspired Game Engine: http://www.superplay.info

#66 SimmerD   Crossbones+   -  Reputation: 1088


Posted 03 March 2014 - 06:17 PM

My dad brought home an Apple ][+ ( 48k of ram! ) christmas 1982.  He knew COBOL, and taught himself BASIC, and taught my sister and I when I we were 13 & 12.  He made a program with 'for loops' that cleared the screen horizontally.  Then I changed it to make it vertical, then diagonal.  Then I made a sort of tron-light-cycle game.  The next year I met another kid at my school who knew basic.  I had started learning assembly, so we hooked up and made some very innovative half-finished games. We even did digital audio recording through the cassette port & playback through the speaker.

We each made flood-fill routines, and also fast 14x14 sprite renderers, and a complete Ultima 3/4 type RPG engine.


I got an austin computers 286 16mhz pc in 1988, and taught myself x86 assembly & EGA/VGA low level rendering.  I made a 3d voxel engine in 1992 all in assembly.  All assembly was really hurting my productivity but MS Quick C was confusing as hell to me.  When a friend taught me Turbo Pascal, I was in heaven, and I shipped my first complete game, Hubie in 1996 using Borland pascal & inline assembly.  That same year I saw a 3dfx voodoo prototype, and started to learn more 3d.  Soon after, I learned Direct Draw, Direct 3D 1 & 3, then started at nvidia, learning direct3d 5/6 and gpu programming in general.  Over the next few years I was in the right place, time & role to innovate in a number of graphics areas, such as per-pixel lighting, attenuation maps, shadows anti-aliasing, etc.


One thing that I did a lot was to lurk in game & graphics programming forums.  I've found need a long gestation period to really grok something, so that helps me by seeing something repeatedly over a long time period.  Then I can connect new ideas with old things I've read about or done.  Another thing I'm learning about myself is that my most innovative periods are tied to meeting and working with new people, so I recommend meeting with like-minded folks. 

#67 Saad Manzur   Members   -  Reputation: 183


Posted 07 March 2014 - 09:37 AM

I am also trying to learn directx myself . The path is not smooth. I am doing it as a passion and would love to do it for a living. I have been at it for three months. With no mentor it is really tough. I am a cse student. But don't get the wrong idea. In our country graphics programming is discouraged. And I am really starting to think that I am the only directx coder in my country. I am bothering a lot of people in gamedev.net . But I can't help it . To learn it fast I took up a term project that needs to be completed within 3 months. It involves creating a moving character . None of my teacher can help me and have no idea about it . But I am not ready to give up. In spite of all the discouragements and rude behaviours I am carrying on. Everyone is so fixated on opengl. I would love to get some help on DirectX and other theories of graphics. Currently I am trying to import a skeleton rigged in maya . I imported it but when I apply it in an hlsl file the model just disappears. Anyway trying to debug it with visual studio 2013. If any one is willing to give me some pointers on this , I will be forever in debt.   

#68 anttoo   Members   -  Reputation: 174


Posted 27 March 2014 - 03:55 AM



I'm self taught!


Started when I was 13, went to College, and then University, got bored (AKA dropped out), then worked as an accountant..


Then decided to start my own software business, which has been fairly successful over the last two years. 


I think the best moment of the last two years was when I managed to poach a client from a company who I had interviewed for about 2 and a bit years ago. It was only a small support contract, I think about £150 a month, but if felt pretty good smile.png


After leaving university, it was insane how hard it is to get any kind of software work without the degree. I would literally have worked for nothing, and yet larger companies are taking on Univeristy leavers at £15,000 - £22,000 per year.  


At any rate, I've decided to use a mix of people. We have one experienced developer,  my self (half sales, half server programming), and a 17 year old apprentice.


I tell you what though, the apprentice works twice as hard. I don't think any medium to large companies in the UK are taking on younger kids to program, and I think it's the best way. Their cheaper, they work harder and they respond positively the more responsibility they get.


If you can harness that drive at 16/17/18, I think my company can make some amazing software engineers. 


They say it take 10 years to master something, and fairly often you see amazing 17 year old dancers/pianists etc. but programming isn't seen in the same light. Most of the people who applied for the apprenticeship had no experience on the CV, but were 5/6 years into programming.


I'd encourage any other software houses on here to have a think about it!


To get back to the question:

I think when you first start learning computer programming, it's very difficult to extrapolate into other languages. It takes a while before you can spend half a day with a new framework/language and just start writing code. That's one challenge.


The second, and most important is the Business side. It's so much more important. You can be the greatest programmer alive, but without any business sense, or knowledge your doomed to stay on the lowest levels. If you can't speak to a client and know business jargon, make business suggestions etc. you really can't progress beyond being intelligent labor.


I know many computer programmers, those that are successful, are good communicators. As much as we spend a lot of time translating our thoughts into programming language, that code has to be translated again to English/French/German to explain the concept to customers/players/users or else it's pointless. 


It's like anything, if you can't communicate your ideas, there's little point having them.

Edited by anttoo, 27 March 2014 - 04:07 AM.

#69 realh   Members   -  Reputation: 105


Posted 04 April 2014 - 04:37 PM

Hopefully my story is strange enough to be interesting.


My first computer was a ZX81, but I didn't really get into programming until I got an Acorn Electron in my teens, which had a better version of BASIC than any of its rivals and an inline assembler, which was a huge help. I wrote a few games in a mixture of BASIC and assembly that were published in Electron User magazine and helped reduce my student overdraft. What I liked about those days was that you could learn everything you needed to know about the computer in just 3 books, and one of those came with it.  And I miss looking forward to the magazine through the door every month instead of reading all the computer news online.


I made the mistake of studying Electronic Engineering at university, instead of Computer Science or Mathematics. It did give me my first experience of C though. I remember reading C For Programmers by Leendert Ammeraal  in one evening, and being one of the only people to come up with something approaching working code for that course project. At the end of my course I fell ill with ME/CFS, anxiety and depression, and I've never recovered enough to get a proper job.


I managed to scrape enough money together for a used Acorn Archimedes a year later and eagerly learnt ARM code, but I knew C was the way to go and eventually managed to afford a hard drive and the official C compiler - the RISC OS port of gcc was considered inferior in those days.  The first complete C program I wrote was Bombz, a free Sokoban-style puzzle game.  I also wrote some PD non-game software and tried to earn money by writing some educational software etc, but the platform was dying and that avenue was a big failure commercially.


I had to upgrade to a PC in 1998, but I hated Windows, and still personally use it as nothing more than a glorified games console, so I became a die-hard Linux user.  I didn't do much game programming for a long time, except to rewrite my Bombz game in python with a graphics makeover.  Then mobile gaming sprang up and now great things are happening in Linux gaming (Steam) so there might be an opportunity for me after all. I did yet another rewrite of Bombz for Android (Java with OpenGL ES 1.0 for rendering).


Now I'm writing a game loosely based on a very addictive old Archimedes game, but with 3D rendering.  I've chosen to use OpenGL (ES) directly instead of a ready-made engine so that I can do all my development on Linux with familiar tools and also support Raspberry Pi as well as PC Linux, Windows and Android.  Hopefully iOS and Mac too one day, and if Mac OS X isn't too awful I might consider using Unity3D :-).  I've had a quick look at jMonkeyEngine and three.js, and although I discounted them on portability grounds, they helped give me an idea of the typical architecture of a 3D engine.