Live data from Hacker News

Accidentally making a language, for an engine, for a game

verdagon.dev

171–180 of 232 posts

Re: Accidentally making a language, for an engine, for a game

#171

Earlier quoted context omitted.

This is a lot like what a YouTuber by the name of Randy has been doing: he decided to create his own game engine instead of using something like Godot/Unity/Unreal and it's been quite the adventure. His main YouTube channel: https://www.youtube.com/c/RandallThomas/videos His secondary YouTube channel: https://www.youtube.com/c/RandytheSequel/videos Of course, he still has nothing close to an actual game and the progr…

> as well as something that actually has gained him a nice following of people who support him towards more videos. A following which has recently turned against him after they funded 6k a month on his patreon, and he flatout told them that he would stop communicating, doing YouTube videos and he would also stop working on the game they were giving funding for.

If he was making that much money for a while, lives somewhere affordable, and saved a lot of that, he’s got a decent runway to start making money by actually making games instead of getting lost in his own engine.

Re: Accidentally making a language, for an engine, for a game

#172

Glossing over the language it seems very similar to Rust, but with a somewhat friendlier syntax that's closer to C#/C++. So, I'm wondering if and when someone will write an operating system in it.

Gotta start with rewriting all of those programs that were rewritten in Rust.

Re: Accidentally making a language, for an engine, for a game

#173

I don't know what it is about game development that really brings out the yak shaving in people. One time, about 8 years ago, I backed a game called Nowhere[1] by a very talented programmer. The original premise was an alien life simulator. Well, it's been eight years, and development is still going strong! The developer is currently working on the String implementation for the programming language he invented[2], wh…

This is a lot like what a YouTuber by the name of Randy has been doing: he decided to create his own game engine instead of using something like Godot/Unity/Unreal and it's been quite the adventure. His main YouTube channel: https://www.youtube.com/c/RandallThomas/videos His secondary YouTube channel: https://www.youtube.com/c/RandytheSequel/videos Of course, he still has nothing close to an actual game and the progr…

I did the same thing 10 years ago. I probably spent about 9 months full time building a game on a custom OpenGL engine, but at that point I realized how many systems I was still missing (for example animation, more advanced effects and shaders, etc).

But as of recently I'm now doing game development again, but this time using Unity. I've learned that game development is really hard, geometrically more so than a random business application or tool, and you have to use all/any tools that are available to you.

Re: Accidentally making a language, for an engine, for a game

#174
post #19

It's interesting that this phenomenon is much more prevalent in game development, as opposed to (for example) web development: some people build their own web development frameworks, but it seems like every game dev tries to make an engine at some point. My theory why: good web frameworks consider developer experience to be of paramount importance, and invest heavily into examples, documentation, and API improvements…

> [...] prevalent in game development, as opposed to (for example) web development [...]

Everybody made their own framework before some of those became popular. And people are constantly producing new frameworks. Because it always will be more entertaining and meaningful for someone to build a framework/engine that feels good than yet another app/game.

Not to mention many compiled to js languages made by and for webdevelopers.

Re: Accidentally making a language, for an engine, for a game

#176

Earlier quoted context omitted.

Reimplementing all of the features that unity provides for you is time spent on "just" adding a level editor, asset loading, character animations, scalable UI, collision detection, networking, state management, serialization,gamepad support, multiplatform support, store/platform integrations, when you could have been building a game. I can spend a month building a bare bones C++ engine that gives me all of the above…

Sure, and then deal with leaky abstractions and fighting the engine wherever its abstractions don't give you what you want. > adding a level editor, asset loading, character animations, scalable UI, collision detection, networking, state management, serialization,gamepad support, multiplatform support, store/platform integrations None of these are nearly as hard as cult-of-always-use-an-engine makes them out to be. A…

> None of these are nearly as hard as cult-of-always-use-an-engine makes them out to be.

I never said they were _hard_, but they take time. Time that can be spent on your game.

> You don't have to wait for Unity to support a new platform, or fix a bug that's blocking you, or implement a feature you want, you just do that yourself.

Every system has bugs. You're always going to have to make tradeoffs when building projects, and building an entire framework from scratch to avoid those bugs is throwing the baby out with the bathwater. You're trading the possibility of at some point in the future being blocked from developing a very specific part of your game for the guarantee of spending time up front yak shaving.

> Hell, Jonathan Blow is a successful game developer who made his own engines for Braid and The Witness, and now he's gone as far as making his own language and compiler to make games with going forward because he feels C++'s eccentricities get in the way too much.

Blow has shipped two games in 20 years, and one of those (braid) predates _any_ of the existing engines being free and easily accessible. Another of the "build it from the ground up" camp is Casey Muratori, who started handmade hero almost 8 years ago, and is nowhere even close to a game. The post we're commenting on here is entitled "Accidentally Making a Language, for an Engine, for a Game". If your take away from those things is that "you'll spend more time fighting the engine" then I don't really know what else to say.

Re: Accidentally making a language, for an engine, for a game

#177

Earlier quoted context omitted.

What's the point in life if you don't get to work on what you find interesting. Those Yaks ain't going to shave themselves you know.

Nothing wrong with having a nice yak wool coat

Hey, all I want to do is shave yaks, and now you want a coat?

That will involve sorting, carding/combing, spinning, weaving/knitting, and all sorts of other stuff that doesn’t involve razor blades and yaks.

Re: Accidentally making a language, for an engine, for a game

#178
post #110
post #77

Earlier quoted context omitted.

No no, browser contain components similar to a game engine, browser are way more complex, and frustrating, because you do not control the specs.

Depends on what the game engine X and Web Framework Y are trying to achieve.

That's true, but you can see new open source engines rising becoming a serious choice to make games. Not so much for web browsers.

Re: Accidentally making a language, for an engine, for a game

#179
How timely! I'm sketching out a visual novel engine that implements a simple DSL (think of it like Ren'Py, but with Ruby instead of Python). Yesterday, I spent hours rewriting the line-by-line preprocessor into an LR parser.

Oh, and I had to write my own FFI library to bind into the MRI.

Oh, and the language I'm using has an SDL2 library available, but it was incomplete the last time I checked.

Fun!

Re: Accidentally making a language, for an engine, for a game

#180
This reminded me of a statement David Zicarelli (creator of Max/MSP/Jitter) made many years ago - that he originally started working on Max in order to make a tool to help him compose novel and interesting music, and then he got so drawn into making the tool that he lost interest in the music composition itself. If we're to call Max/MSP/Jitter "yak shaving", it is a shining star of it since so many artists - both visual and sonic - build their work on it.

The other obvious one is Knuth - inventing TeX and Metafont and Computer Modern typefaces so he can write his books the way he wants to. Another shining star.

Post reply on HN