That's new to me, I didn't know she coined the term. She's the first true "software engineer" then, I suppose. I remember her from that historic photo where she's standing next to a pile of code printed out, a stack talled than her.
Not to be confused with Margaret Hamilton the actress who played the Wicked Witch of the West in the film The Wizard of Oz.
I feel that. I got into programming because of video games. At some point I wanted to know how they are made and wanted to create something on my own. Through a friend I got known to BlitzBasic3D and shortly after BlitzMax. I learned to program while making games, just for me, most things never got released. I spent hours deep into the mornings at time and loved it. It's quite some years since I felt like that and had the energy and motivation to go on and on without hesitation.
I studied computer science and became a paid software engineer, all the experiences with BlitzMax laid out a good foundation for me (RIP Mark Sibly and thank you for your work), and while I like what I do, I don't love it like I did this game programming back then. These days I tend to look out for opportunities to create something that pays my bills or ultimately frees me of having to be employed but often enough I don't get myself to work on it because it's work after my paid work without knowing if that pays out and then the thought "Is it worth my time?" comes up even though the project itself might be even really interesting to pull off.
From time to time I looked back into game programming and every time I felt that little flame light up again. It's been a while now and I even have 2 ideas that I'd like to see implemented. After reading this I realize how much I crave this kind of programming currently. Should probably spend some time doing that :)
I'm a software engineer with nearly 10 years of professional experience and I feel the same as you and I still think it's a good thing.
But: You have to unblock yourself (I was blocked, too) and dive into using AI as it is a tool that, even if it stays on the level it is right now, won't go away and is useful.
What blocks me still though is, imho, for professional work, as long as it's not possible to let an AI take on some work, be it green field work or searching for a nasty bug in an existing project, and know it will come out with a proper solution in the end, one or more humans should know the code. If a productive application doesn't work and this burns money of your employer you're going to burn, not the AI. There's no process of blaming an AI as it's just a tool and instead the human stays responsible.
Until then whatever AIs implement should be constrained and guidelined as much as possible, covered with tests, to reduce the space in which they operate which in turn reduces the space of potential garbage. Essentially the same as for human developers. If you just tell one "I want an app" he can build you whatever he wants, telling him in detail what you need, want and expect results in useful work. Same for AI.
Wow, didn't know this exists. So instead of ditching my M1 Pro Macbook for a newer one with more RAM and power I could do this instead (if reasonable regarding pricing).
Same reason they cut the big options on the existing models, this way they can sell more devices. The additional cost for the additional 512GB would have to make up for the loss of another sold device otherwise. No idea if there would really be that many people buying this then while on the other hand AI stuff makes people do crazy stuff, so...yeah :)
Apart from "I have fun working on this", which is always legit, what's the point and who's supposed to use it? What'd be the benefit using with or working on it over e.g. Godot, which is, imo, pretty much the open source way to go if you want more than an IDE and libs/code you'd use to make a game. It's also written in C# and offers GDScript as a more lightweight programming language with C# being ready to be used for when it's necessary.
The benefit of engaging with a project like this is that you gain a very plausible set of excuses that can be leveraged when you find out that making the game is the actual hard part.
Firing up godot/unity/unreal eliminates an entire universe of reasons for why you haven't shipped more content today. Tools that "just work" can feel like brutal exposure when you don't have a creative vision to follow.
> when you find out that making the game is the actual hard part.
Guilty as charged ^-^"
Spent over 3 years trying to make an engine built in Swift cause I loved Swift, before I had to admit that an engine without an editor is almost useless in actual game development, and even 10 years won't bring me close to the level of Godot's editor (though Miguel de Icaza the Mono/Xamarin/Gnome guy did port the Godot Editor to SwiftUI) [0]
so I spent the next 3 years trying to make a framework for Godot :') and still no actual game.
Replying to the trope that exists in gamedev that "making the game is the only valuable thing, people who make engines are just making excuses".
> Firing up godot/unity/unreal eliminates an entire universe of reasons for why you haven't shipped more content today
Not everyone wants to "ship content".
> brutal exposure when you don't have a creative vision to follow
Also assumes everyone must have or follow a creative vision.
EDIT: And yeah, I'm tired of people collectively shitting on other people's project in HN without even looking at it, or without considering why not having monocultures is good.
> EDIT: And yeah, I'm tired of people collectively shitting on other people's project in HN without even looking at it, or without considering why not having monocultures is good.
The person you replied to simply wrote the following, which seems like the opposite of shitting on the project this post is about:
"The benefit of engaging with a project like this is that you gain a very plausible set of excuses that can be leveraged when you find out that making the game is the actual hard part. Firing up godot/unity/unreal eliminates an entire universe of reasons for why you haven't shipped more content today. Tools that "just work" can feel like brutal exposure when you don't have a creative vision to follow."
Not meaning to argue; maybe we're just getting our lines crossed.
It does not read like a compliment to me. What the person seems to be saying in a rather patronizing and opaque manner is that building a game engine gives you an excuse to avoid building a game, thus framing it as an exercise in avoiding hard work or needing to be creative.
In reality however, many people whom I know who built a game engine did it for a plethora of different additional reasons:
- Learning C++, OpenGL, and other tech
- Similarly, learning a new language
- Learning how a game engine works, by building one, and perhaps a better one afterwards, or for developing skills to work on existing engines
- Just because it is fun and you get a high from it
- Building an environment tailored to how they would like to build a game, e.g. because existing engines don't cut it in that regard. Basically building your own tool(s).
- Building tools for others, so that they can build cool things, because you get satisfaction from that.
- Building a new engine because existing large engines have gone stale for some reason (an attempt at becoming the next big engine that structurally solves the tech debt problems that the status quo ones developed over time)
- Similarly, building an engine that has a new paradigm as first-class citizen, e.g. ECS
- A combination of any of these.
I had a similar mindset in the past, not understanding why anyone would like to build their own engine and not a game, because it happened very often and I was the one who liked to build games. Now I do see that there's more to it than just the product it is supposed to create. I learned that when I got into tool development, and noticing that I got a lot of satisfaction from building tools that other people can use well.
Reducing it to a "plausible set of excuses", among other things, is what I mean by shitting on other people's passion project. Saying that the "firing unity/unreal/godot" is what I mean by preferring monocultures.
EDIT: Writing an engine is difficult and time consuming, but also rewarding in several ways, and requires a completely different skill set from writing a game. It's incredibly patronizing to call it "an excuse".
This is similar to asking someone making an image editor to "just open photoshop, you're making excuses for not working on art".
Oh ok, my bad. Thought it was C# and therefore C# was the reason it's advertised for more complex coding in Godot. False friend I guess, should've checked, thx.
But oh well, who was she, just the engineer who wrote the software for the Apollo 11. Probably she had no idea what she was talking about.
/s
reply