Live data from Hacker News

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

verdagon.dev

51–60 of 232 posts

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

#51
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…

When I was a kid, I had this messed up idea in my head that if I used a game engine then the resulting game wouldn't be one that "I built". It's like I built this "Unity game" rather than I built this game. I don't really buy into that mindset anymore nowadays, but I guess there's something to be said about how the tools we use influence the products we produce.

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

#53
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…

For me, at least, I like to write my own engines to get the end-user experience I want. Every game engine comes with a million little decisions about how games should work by default, and writing my own engine lets me make those decisions for myself. In the same way, every React app eventually starts to look and act like the Reddit redesign, but many web developers consider that more of a benefit than a drawback.

That might be because there is a lot more creative freedom in game development because playing a game is essentially an exercise in coming to an understanding of the underlying dynamic. And a game is played for fun.

Conversely users of a web app generally don’t want to invest any time in understanding its underlying dynamic and instead want something that works in a familiar way. So we optimise for that.

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

#54
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…

For me, at least, I like to write my own engines to get the end-user experience I want. Every game engine comes with a million little decisions about how games should work by default, and writing my own engine lets me make those decisions for myself. In the same way, every React app eventually starts to look and act like the Reddit redesign, but many web developers consider that more of a benefit than a drawback.

That many react apps look like that is not a react thing but a design thing. You can make a react app that looks like HN. Or like a game!

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

#55

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…

which is eventually going to be used to write the game

At what point do you stop believing that?

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

#56

Earlier quoted context omitted.

For me, at least, I like to write my own engines to get the end-user experience I want. Every game engine comes with a million little decisions about how games should work by default, and writing my own engine lets me make those decisions for myself. In the same way, every React app eventually starts to look and act like the Reddit redesign, but many web developers consider that more of a benefit than a drawback.

That many react apps look like that is not a react thing but a design thing. You can make a react app that looks like HN. Or like a game!

You can make a React app that's wildly different to all the others, but if you follow "best practises", and you learned from the same tutorials, and you're using the same component libraries as other React devs your app will probably drift towards looking and working like other React apps unless you make a conscious choice to stop that happening.

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

#57

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…

Sorry about the game, but it looks like you funded a pretty cool programming language!

https://sr.ht/~duangle/scopes/

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

#58
> These languages are mostly fine... but C# is slow,....

First of all, it is a matter of which implementation we are talking about.

Second, all major implementations wouldn't have had any issue dealing with the demos shown on the blog.

I guess it was a good learning process about compilers for the author.

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

#59
post #16

There should be a competition of yak shaving. I've writing a Rust based canvas engine, with content via my own IDE, the runtime is fed data via WebSocket using my own API protocol, web proxy routing through a streaming and distributed load balancer using a new protocol, landing on my back-end platform running my own language, writing deltas to my own data store. https://www.adama-platform.com/ Why? For board game glo…

It's not quite yak shaving, but it certainly is... something: > I mean, we are running Access in Wine in X11 on Linux in an isolated user account on our server slice that revision controls your Access database in git, and we're displaying it using VNC in your web browser in flash. People can't possibly want that. But they need it. https://apenwarr.ca/log/20120326 (Not mine, but seems relevant)

I always wonder why the Access database isn't moved then from JET to some database server, even MSSQL (Postgres would also work), and then you can continue Access but without needing to snapshot it in weird and possibly broken ways?

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

#60
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…

I would hazard that game engines are an order of magnitude more complex than web frameworks. A better analogy may be game engine vs db engine or web framework+runtime(ex: Erlang/Elixir+Phoenix). If you have performance issues with a web framework you can scale it horizontally to a degree(depending on downstream dependencies like your DB). Games are built to run against resource constrained hardware and so they optimi…

Depends on the game engine, most 2D ones are quite comparable.
Post reply on HN