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.