GOPHERSPACE.DE - P H O X Y
gophering on hngopher.com
HN Gopher Feed (2017-10-13) - page 1 of 10
 
___________________________________________________________________
Handmade Hero - A complete game live-coded from scratch
159 points by tejohnso
https://handmadehero.org/
___________________________________________________________________
 
iaw - 3 hours ago
This is a brilliant gimmick for promotion, catch the intersection
of gamers interested in game design.
 
  louithethrid - 2 hours ago
  You cant fake this- this is heart, soul and spouse sacrificed to
  teach the world how to make games. I guess if you cant feel that
  passion for something -it must be kind of scary.I can not throw a
  basketball into the hoop - and if it would save my life. Now i
  could downplay all the NBA players, calling it a "nice hobby", a
  gimick to sell shoes. Or just admit with a nod of acknowledgment-
  that i will never be this good. Literally cant be. And its okay.
 
    meheleventyone - 1 hours ago
    I?m sorry but this is nuts. The series is excellent but it?s
    obviously specifically setup to support both working full time
    and dealing with life as well as recording everyday.If you want
    to put a bit of time in everything shown is easily attainable
    and that?s the point. None of this is cutting edge, it?s basic
    making games stuff without libraries and a fairly modest goal
    in terms of the actual game.
 
    slazaro - 1 hours ago
    > heart, soul and spouse sacrificedSpouse? What happened?
 
  Hupriene - 2 hours ago
  I think the amount effort put into this goes way beyond gimmick.
  I only followed the first few episodes, but it was clear that he
  was very engaged with his audience, and that he put a great deal
  of emphasis on the educational value of the project.
 
    tejohnso - 2 hours ago
    Yeah I don't think that's a fair categorization at all. It's
    all free. And his dedication and commitment is to be commended.
    This is a free, multi-year, live training program that has been
    ongoing since 2014.
 
    vvanders - 2 hours ago
    Yup, most game developers love sharing/talking about the craft.
    It's not an industry you join if you aren't passionate about
    the process of developing interactive content.
 
    slindsey - 2 hours ago
    You're right. I've watched many hours from the very beginning
    and this is about learning from the basics. It starts even
    before episode 1 with intro to C stuff. And he constantly
    reinforces the fact that this is for teaching "from scratch"
    and therefore isn't using libraries, but if you were to build a
    real game for sale there are places where you wouldn't be doing
    things the same way. Overall a very educational project.
 
  scallywag802 - 54 minutes ago
  I'm not sure what your definition of gimmick is, but 600+ hours
  and several years (so far!) of content sounds more like a labour
  of love.  If you'd watched the series you'd realize this man
  loves, and is highly proficient at, programming.
 
  skadamat - 1 hours ago
  This is not a gimmick haha. Read my comment from earlier in this
  thread:Casey is really well known in the gaming community -
  https://mollyrocket.com/casey/about.html Through Handmade Con,
  he's also interviewed many other creators like Jonathan Blow and
  Edmund Mcmillen. He also contributed to Blow's recent game, The
  Witness (specifically the movement system and the world
  editor).This is a really good series by an experienced game
  developer that's basically free (or at least the Zed Shaw model
  of pay to download but free to view).
 
dchuk - 2 hours ago
I have no delusions of having enough time to ever follow through
all of these videos, but it's still an idea that appeals to me.
Something I'm curious about though:If I wanted to follow along on a
Mac instead of Windows, how different of a process am I looking at?
 
  jackmott - 1 hours ago
  You can start with handmade penguin, which uses SDL2 instead of
  the windows API, this should be relatively easy to get working on
  a mac https://davidgow.net/handmadepenguin/
 
  sourthyme - 2 hours ago
  Not too bad, Casey does a good job of separating the platform
  code from his game code.  Also he's using emacs.
 
    gnuvince - 2 hours ago
    > Also he's using emacs.Not anymore.
 
      edanm - 6 minutes ago
      What is he using now?
 
  memco - 25 minutes ago
  There are a few ports to other systems, but there's a small part
  of the process that will be opaque because someone other than
  Casey has done the legwork. By which I mean that you won't get
  any insight into how windows are built on OSX, how input is
  handled etc. because it's not part of the stream. As I understand
  it most of the code is platform agnostic, but the development
  process is windows biased and won't get to be cross platform
  until the engine is finished. I would love for someone to go over
  the unique pieces for mac in a supplemental video series the same
  way Casey does.
 
  skadamat - 1 hours ago
  Seems like it was ported over (the code anyway):
  https://github.com/itfrombit/osx_handmade
 
gnuvince - 2 hours ago
A comment thread from a couple years ago that resonated with me:
https://news.ycombinator.com/item?id=11087399I watched about a
dozen Handmade Hero episodes, and I was a bit annoyed that every
session resulted in a random hunt to fix a bunch of bugs because
there was not sufficient abstraction.  It wouldn't be so bad if the
abstractions were upcoming, but Casey seems to have an aversion to
abstraction and I stopped watching because I grew bored of watching
him jumping around in a bunch of files trying to figure out what
memory write caused an issue at run-time.
 
  jackmott - 1 hours ago
  I've gone through the first 20 and don't think you are accurately
  characterizing them.  Maybe 2 or 3 of them involved significant
  time hunting down a bug.You would likely still encounter bugs
  while building the abstractions to not have bugs.  It might be
  neat if you could pick out a particular example and show how your
  approach would have avoided the problem or be quicker though.
 
  [deleted]
 
  kristoff_it - 1 hours ago
  That's the exact point of HM. Abstractions come from the
  knowledge gained after wrestling with problems, not as a form of
  premature optimization.And this is especially true in games
  because you need to get all abstractions right otherwise the game
  will be limited  and/or not performant enough.In many other
  programming fields you don't get punished for adding a few
  abstractions that are not strictly necessary, so usually other
  programmers are used to abstracting things away fairly early (eg
  in OOP: properties vs public variables, ...) because they're free
  as long as you don't overuse them.Also you should keep in mind
  that the stream is educational so Casey sometimes takes the
  scenic route before getting to the point, and he's both
  implementing the engine and designing it, so sometimes he doesn't
  know yet what he wants exactly.
 
  scallywag802 - 1 hours ago
  I've watched roughly 90% of the series to date and I'm happy to
  report that this "jumping around in a bunch of files trying to
  figure out what memory write caused an issue at run-time" is
  infrequent, at best.  Occasionally there's a gnarly wild-ponter-
  esque bug that takes an hour, and very occasionally two, to
  debug, but the vast majority of the time on the series is spent
  writing new code and refactoring old systems that need to use
  some new feature.I actually find it amazing that sometimes 400
  hours of programming and 2 years later he goes back to code
  written in the first few weeks and is fairly easily able to
  modify it to work with a new system that's just been
  implemented.EDIT: Formatting
 
  segmondy - 1 hours ago
  So? Watching most folks code is the most boring thing ever. Very
  few people are entertaining to watch. Abstractions get in the way
  when one is hacking.
 
  ksk - 54 minutes ago
  The entire point is to show him code an entire game in C from
  scratch without using libraries, for educational reasons. Given
  that, what would you like to change and why?
 
  skadamat - 1 hours ago
  This is not uncommon in game development. Jonathan Blow and
  others have spoken at length about why game development is
  different than web development or other types of software
  engineering (not in a condescending way but in a "it's different,
  here's why" way):- https://www.youtube.com/watch?v=JjDsP5n2kSM
 
  nbm - 1 hours ago
  In order to really start talking about it, we'd need to see
  someone writing something of similar complexity and longevity
  live in the same amount of time, and see whether they've spent
  less time to get to the same place.With the same restrictions of
  course - relatively little dynamic memory allocation, and hitting
  frame rate consistently on the lowest supported platform.
 
salqadri - 2 hours ago
Wow this is crazy; I'm surprised its still going on after all this
time. Doesn't seem healthy imo to stick just one project for so
long without significant ROI. But yes, commendable indeed, and I
hope people got significant value out of it, for his sake.
 
  567arlo - 1 hours ago
  I think it has healthy funding from his Patreon account, plus the
  $15 to buy the game, as well as serving as sort of inadvertent PR
  for his upcoming commercial game (1935.)
 
  lj3 - 31 minutes ago
  2 years is nothing for a video game project. Also, keep in mind
  he's only working on it while he's streaming, which is 5 hours a
  week (max. sometimes, it's less). He's also been making a game he
  intends to sell for money for the past 2 years (1935[0]).[0]:
  https://mollyrocket.com/news_0023.html
 
  cr0sh - 1 hours ago
  > Doesn't seem healthy imo to stick just one project for so long
  without significant ROI.Maybe the ROI is the feedback and such
  from the community that has popped up around the game? That, and
  the $15.00 per copy to get access to the source code as the
  series goes on. But I'd be willing to bet that the feedback and
  community is the driving thing for this guy.
 
    skadamat - 1 hours ago
    My understanding is that Casey was specifically bothered by
    newer game programmers not understanding the underlying
    internals and writing slow software. Seems like he wanted to do
    something about it and this was his expression and attempt of
    doing so!
 
  scallywag802 - 1 hours ago
  > Doesn't seem healthy imo to stick just one project for so long
  without significant ROI.I don't think he's in it for the money.
  I think that he, and many game developers of a similar vintage,
  are frustrated with the direction that modern software has taken.
  It's slow, getting slower, and often doesn't work correctly.  I
  think this is his way of expressing that frustration, by teaching
  how the machine you're programming ACTUALLY WORKS.  I for one
  have gotten more out of Handmade Hero than any other single
  source of learning in my life.
 
  ksk - 53 minutes ago
  The purpose of the project is education. It does have significant
  ROI, just not significant commercial profit.
 
bo1024 - 2 minutes ago
Very cool. One suggestion (in case it will be heard) -- add some
dates to the homepage and each post, such as on the episodes page.
Besides being generally useful, it helps reassure visitors today
that the project is still active.
 
skadamat - 1 hours ago
Casey is really well known in the gaming community -
https://mollyrocket.com/casey/about.html Through Handmade Con, he's
also interviewed many other creators like Jonathan Blow and Edmund
Mcmillen. He also contributed to Blow's recent game, The Witness
(specifically the movement system and the world editor).This is a
really good series by an experienced game developer that's
basically free (or at least the Zed Shaw model of pay to download
but free to view).
 
  abatilo - 47 minutes ago
  I think you mean Tommy Refenes over Edmund McMillen.
 
krapp - 54 minutes ago
I only came in to Handmade Hero after it had been going on for a
while, and I followed it from the beginning episodically and made
it about to the point where he starts talking about tiles and
scrolling, then gave up.Every now and then I pick up the current
version of the code to see what it looks like, but there's no way
I'm going to follow it through to the end. But for me, it does work
as a reference for the various parts of the code he happens to be
working on at the moment, and sometimes he stops to give a tutorial
on something like basic 2d physics.Watching the process overall is
useful but if anyone is intimidated by the length of the stream I
would suggest approaching it non-linearly.He seems to have turned
off comments on his Youtube stream, which I find disappointing. A
lot of the value I've gotten from the early videos came from the
comments people made either agreeing with, expanding on or
disputing what was discussed.
 
  iherbig - 49 minutes ago
  The comments are enabled on the Twitch stream, in case you ever
  want to catch it live again.
 
    reificator - 15 minutes ago
    If he saves Twitch vods, they contain the live comments as well
    as new comments from vod viewers.