How many devs here?

I somehow created a double post.


I'm typing everything from scratch with Casey. I'm only on video 11 and frequently have to pause the youtube video to think, write, or fix a bug I make. I'll keep on typing with him, but I think once I catch up to the main stream I'll take notes about what he does and then type along with once it hits youtube.

I find that if I make myself type it, I'll always mess up a little and create a bug I need to fix, which makes me understand the concepts a little deeper.

Edited by Jason on
Dev for profit (JS and .Net) as well as for fun (JS, Nim, C).

Did hobby game dev as a kid (20 some years ago), starting in AMOS!!!! :)
Coded som C in University for router engines.
//J
Hi I'm a profesional programmaer in the day(bussiness programming), and I'm trying to following Caesy's videos, I've never made a game but I tried just I couldn't, I'm only on video 3 and I hope to catch up soon the last one. This proyect is fantastic to learn programming in C language, I'm working in C# now and it's rubbish.
Sorry about my english Im from Argentina.
I've been programming for about 20 years, including 12 years as a professional game programmer (2 years at Maxis, 10 at Naughty Dog). I've worked almost exclusively in the sub-sub-niche of low-level platform-specific graphics code. I'm tuning in to get a feel for what the other 99% of a game's codebase looks like. I'm porting everything to the PS4 along the way; I'd love to share the code, but the lawyers say no :(
~(
I've been doing programming in various areas among other things for a couple decades. I've done embedded programming, some game dev for marketing companies, business apps, web stuff, network stuff, systems stuff. I've been a sysadmin and a web admin and a network admin (cisco certs are still the only things I have any respect for, as a fun aside). I've started companies, run companies for other people, and been in various "leadership" roles inbetween. Currently I'm just a web dev architect (designing how all the pieces are supposed to talk, and implementing where I can). I'd probably be more in systems or game dev if there was money to be had without a degree and all the competition, but alas, I do what I do and fiddle in a lot of areas. Probably have to grow out of that soon.

As a jack of all trades, master of none, I have a lot of exposure and a lot of friends, but not a lot of expertise at the level of someone like Casey. It's good to be going through Handmade Hero with my son, it exposes us both to some depth that is unmatched with my breadth and I hope it inspires a lot of people to dive in to places they are passionate about.
postgoodism
I'd love to share the code, but the lawyers say no :(
~(

Darn those pesky lawyers!

I've got a year left in college so I'm not in the field yet, but I never realized how well documented the Dreamcast was before two weeks ago. Might have to get my low-level feet wet with it.
Hey all! I'm working as a coder at Arrowhead Game Studios (http://www.arrowheadgs.com), currently working on Helldivers. I've previously worked with multitouch software development, making large interactive displays for Disney (if you've tried the Sum of all Thrills at Epcot then you've touched our screens).

It's been great so far to follow the development and it's fantastic to see other people who share similar development philosophies in regards to overly complex systems and methodologies.
Hey everyone!

I have considered myself an amateur developer for about eight years. I first started when I picked game maker. A couple years later I was making games in C++. A little over a year ago I started work on a game called PUSH, details here. I am hoping to sell PUSH this year and make the leap to being professional.

My face avatar comes from a group I am a part of called Team Overreact. An artist named Connor Hart and myself are the leaders of this group. We have been leading the team for about five years, as it has gone through several personnel changes. Connor and the other members contributed to PUSH in the second six months of development.

As of about six months ago I began considering myself a "recovering C++ user". PUSH was made entirely in C++. As the project started to become overwhelming I discovered Casey's compression oriented design blog post, I tried it out in a small project and came to the conclusion that I would abandon most of C++ from then on.

I am currently finishing PUSH (although it is painful) and working on a code editor.
I suspect we have a broad range of backgrounds and experience levels in the community. I'm a professional developer with an educational background in engineering, applied math and scientific computing (my "misspent youth" was at various "institutes" :)).

I've always worked in domains that required careful attention to resource use to get the most out of the hardware that was available. Mainly in the areas of scientific computing & visualization, large scale simulation and (most recently) embedded devices.

The great thing about being a developer is that there always seems like there is so much more to learn and so much room for personal improvement. I really enjoy Casey's approach of showing how most people do something and then explaining why he prefers a different approach. I expect I'll learn a lot from watching this series. Thanks Casey!

Edited by Patrick Lahey on
Just starting out working. However, I won't be working a programming related area.

I do know a few languages, C, asm, Verilog, and have made some poorly-written and unoptimized programs that do silly things.

I am currently working on a "robot" (furiously air quoting) that presses buttons on a numpad depending on the task it has to do (mostly playing pong or some other easy games).

That's about it really.
I was a designer/producer in a Finnish demo group Halcyon in the 90s. We started with Pascal, then started inlining some assembly in some inner loops to use memory aligment, registers, cache lines, unrolling, pipelining, then went full assembly (Saint demo for '97 example, it's me touching the star and standing at the end, sprites digitized from VHS frames on Amiga I recall) and then to C with some handcoded asm inlining still (see hplus 64k intro for '98 example). It was lots of fun when you were 16-19 year old with meetings year around and allnighters before a demo party deadline. Back then about only libs "allowed" were a module player and perhaps some packer, so everybody wrote their own renderers (this was before GPUs) etc multiple times as they learned/discovered more. Profiling was simple -- we started on refresh vsync and changed the background color for important tasks during the frame, which resulted in colourful horizontal bands each indicating time spent on a task such as rotation, sorting, rendering etc, with black idle at the bottom (or difficult interpretation if things spanned multiple frames). Then we marked them with a pencil on the monitor frame, and celebrated whenever we could get them faster. Many of the lessons of memory alignment, pipelining etc could be discovered with this, as the inner loops were usually quite concentrated so you could experiment with changes easily. Then GPUs started becoming more mainstream and asset pipelines got more complex, so people who went to game industry could use their time and skills to keep up (Farbrausch for example), but from our group only one went to game development (Croaker designed Angry Birds later), rest studied engineering, business, arts etc without further involvement in this kind of creative performance critical coding.

Lately I stumbled upon Casey's posts on semantic compression and the rants and solutions reminded me how I liked that kind of pragmatic steps in coding back then. I know how effective some coders can be, and those pair-coding sessions were a delight. But when people got to industry one couldn't see them actually coding anymore, and I miss it. So now I have been keeping up with Handmade Hero streams, perhaps to find some structures and good practices to apply to my own work (I do research and prototypes on collaborative and performative web tools nowadays) and it is an added bonus that Casey has been in the game industry during this whole time, so he has a more experienced programming stance on things, but still keeping the creative spirit alive.

I find the streams very entertaining and educational, a bit similar to how the best physics lecturers explain and show their thought processes on the blackboard. This kind of visibility to actual development, not just some descriptions of it, is important generally, I think.

Edited by Petri on
Fascinating to see how many people with different backgrounds are following the project!

Although I have been interested in games since I had an Amiga 500 (best machine ever), I never went beyond animating a sprite over a background. My biggest accomplishment remains a Neverwinter Nights fan module :(.

Later I took a degree in electronics and I have been working as an embedded SW engineer since then (~8 years), in the industrial sector (medical, automotive, rail transport).

I have been trying to keep my parallel version of the game programming along the stream (or better, youtube videos), but even if I'm used to program in low level C and I have had no problem until now understanding what's going on, it really requires a huge amount of time...

Edited by Vincenzo Auteri on
Professionally, I am a Technical Artist at EA (as of a few months), using the monolithic Frostbite engine. I started as a 3D artist but have been programming games at university and as a hobby for around 2 years now, using Unity's C#, OpenGL C++ and a bit of python. Never done much C.

I've learned tons from Casey over the years having pretty much consumed everything on his site. I was super excited to see Handmade Hero (discovered it around day 14 due to not having twitter, I suppose) especially after reading Witness Wednesdays and wishing they'd come back. After a few unwise youtube binges, I've finally caught up, but my inner monologue has turned full Casey (1.5x speed) when reading code. This situation will presumably resolve itself once I am watching only once a day, and British English becomes the primarily heard dialect again.

I am sorely tempted to rewatch while writing my own version; I'm pretty sure I couldn't do all that platform specific stuff from memory. I especially love the awesome looping and hot reloading features - I thought Unity was awesome for hot reloading scripts but I see Handmade Hero is far superior. I'm astonished by how reliably VS debugs the code compared to MonoDevelop. Unfortunately, at work, EA's Frostbite engine (at least the version I've been using) has to do a 5 minute rebuild of the game data (I believe a code build takes 30 minutes) to change a single shader value for instance. What I wouldn't give to have the speed you have!

I'm currently slowly writing an AI-heavy game in Unity that I'm tempted to restart in C, but it would probably not be worthwhile. It's using lots of object-oriented data structures (dictionaries of lists and such), introspection and a ton of string manipulation. Maybe if I had the design nailed I would try and code it in C, but I think for quickly trying features, Unity and the .Net libraries give me a massive leg up.

Sorry for the ramble but thanks for the videos Casey! I'm super excited to see how the game develops.
reecpj
(I believe a code build takes 30 minutes) to change a single shader value for instance. What I wouldn't give to have the speed you have!


Holy mother of God! 30 minutes? OMG. It's even worse than I thought then.

My pet solution compile in a fraction of a second. It contains around 40000 functions. Now the question is: - What WOULD you be willing to give?

Did you know that hardware these days are able to compile something like 16 megabytes worth of binarycode in something like 200 milliseconds? That's the physical boundery.

I was thinking about starting to use C++ more now, after watching Casey doing it. Previously I just used it occationally. I have prepared for upgrading my OS and everything to work with the community build. But this post got me thinking that would be a really bad idea. Because I am not planning on porting code. Casey was speaking of something like 10 seconds for his builds once they approach the end? Well, to me thats unacceptable slow.

On the other hand, C++ has one truely awesome debugger. I think I never saw anything as sweet as that debugger.

I think I may stick to what I got. I had the feeling you guys was hurting. But that you suffered this much is truely mindblowing. How can you live with your selfes, hahah? Writing performance code and wait 30 minutes for a build?

God I hope Jonathan Blows new compiler will fix these things. Once and for all.
Started programming in 1981, when I was 11. Got my first job in the game industry in 1993 and never looked back.

Done a bit of everything, but for the last 10 years or so I have mostly worked on graphics (engines, shaders, whatever). Been using C and C++ the entire time in the game industry. Every place I have worked. The amount of C++ features used has varied from place to place, but it's usually closer to the minimal side than not.

I currently work for SOE. Started there in 2000, left in 2012 to work at Valve for 2 years on CS:GO, and then went back just recently. At SOE, I worked on Everquest through a dozen expansions and 2 engine revamps, was part of the small team that designed and built the Forgelight engine used on FreeRealms/Clone Wars, EQ Next/Landmark, Planetside 2, and H1Z1.

On the side, I enjoy coding on the Parallax Propeller MCU, mostly in assembly. Use it for my robotics and other hobby electronics project. Also, I'm helping some friends, who are building pinball controller boards, with firmware for the arm based MCUs and driver software to talk to them from windows/linux/osx.

I'm following along because I think Casey is a pretty smart and nice dude that I can probably learn some things from. Plus, I just think it's a good thing what he's doing and want to support him/it. More people need to know how things work underneath instead of just using some pre-existing engine/library blindly and not really understanding it.

Edited by Roy Eltham on Reason: typos