Live data from Hacker News

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

verdagon.dev

111–120 of 232 posts

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

#111
I decided to use Godot to make a lowpoly online FPS, I don't think it's a great choice, but I've read good things about godot networking...

I first wanted to make it in C++ and opengl, and it did not look like a difficult thing to do, but godot is good enough for a lot of things, it's small, and it allows me to do multiplatform, which is such a big bonus, since C++ is never easy to use on several platforms.

I have no idea if I will be able to implement network prediction with godot.

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

#112
post #96
post #64

Earlier quoted context omitted.

C# is very fast on average, but due to its runtime/GC it won't give you the consistent performance you need for game engine internals, which is what they meant by "slow".

My last 8 yrs of game development have been in a good part about how to make c# go fast, and it is definitely possible, but you will have to write in a style that is different from the norm.

Before C and C++ became widely acceptable for game development, we used to read these bibles like these,

https://www.jagregory.com/abrash-black-book

https://www.amazon.com/PC-Intern-Encyclopedia-Programming-De...

https://www.amazon.com/Black-Art-Game-Programming-High-Speed...

Very little regular C and C++ code, plenty of inline Assembly.

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

#113
post #30

The way structured concurrency is implemented in Vale is exactly what I've been missing in every language I've been working, including Rust which gets pretty close. Amazing job!

Yeah, this seems like a research project for Rust, but wonder if Rust is still capable of such evolution.

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

#114
post #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?

I think sometimes the followers find out that being engaged in the process of creating something brings more value than the game they're waiting for anyway.

I have been in a couple of communities involved with developers as they built games and it was almost disappointing when the game was released because the 'journey' was finished and so time to disband.

It can certainly be a curse though if the developer isn't or stops enjoying it.

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

#115
post #96
post #64

Earlier quoted context omitted.

C# is very fast on average, but due to its runtime/GC it won't give you the consistent performance you need for game engine internals, which is what they meant by "slow".

My last 8 yrs of game development have been in a good part about how to make c# go fast, and it is definitely possible, but you will have to write in a style that is different from the norm.

Can you please elaborate on that, or provide some links?

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

#116
post #24

I don’t get why are programmers so obsessed with the tools they use for the job? More than any profession

Why are musicians so obsessed with their instruments? Just use the right tool for the right job, don't call yourself a "pianist" or a "drummer", call yourself a musician .

Because it takes the fameous 10'000 hours to become a master?

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

#117
post #48
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 think part of it might be learning how to ask good questions. I wrote a terrible terrible C compiler for a class. But I learned so much about the choices between doing things the slow but probably correct way, vs the cool but hard way, or even the jaunt into esoteric decisions. This more than anything else in my career taught me how to evaluate random software. As a professional, or even serious hobbyist, I think i…

This comment speaks to me. I hate modern web development but I always want to build user interfaces so one day, I thought to myself "Why don't I start from scratch and make my own protocol and write a browser but only for the terminal?"

So that's what I've been doing and it's been a lot of fun. A lot of the time I'm pulling concepts from HTTP but what's great is that I can be very picky. Maybe I'll end up just rewriting HTTP but at least I'll understand deeply why all of those decisions were made.

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

#118

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…

>I don't know what it is about game development that really brings out the yak shaving in people. People get into game development because they want to have fun programming. Getting projects done involves a lot of things that are not fun, so it usually goes nowhere because the incentives are misaligned. I've noticed this in many hobby professions - eg. hobby woodworkers spending more time on creating workbenches/tool…

> But not like creating a typesetting system to use to write your book.

I sort of did this once because I wanted both PDF (via LaTeX) and HTML output.

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

#119

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…

Game development is a weird place. You want to be low level to get the most performance, but you also want to be expressive to be able to write an ambitious game. Really does invite the notion that there ought to be a better way, you get a sort of itch you can't quite reach to scratch.

I'm having a lot of the same struggles working on my search engine. What I want to do with files is often somewhere between what the operating system provides (too low level), and what a DBMS provides (too high level). So I'm having to build all these weird bespoke disk-based data structures myself. It's clear these things can be done and there is a lot to gain from doing it, but the language support for non-trivial disk based data structures is a bigger pain in the ass than sitting on a burning cactus covered in tabasco sauce.

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

#120

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…

Game development methodology has fascinated me recently. With the Battlefield 2042 debacle, its interesting to compare it to what I know (financial trading platforms).

With trading platforms, they last for years, decades maybe. They're created with some ideas around how to manage performance and to support evolving requirements. Developers know this thing is going to be around for a long time, so its treated as such. Years down the line, you start creating a new platform and look to do a long migration to keep clients happy because you can't just turn off their favourite functionality.

Modern AAA FPS games seem to be the complete opposite. Reinvent significant amounts every release. Dump the old game as the new one is released. Much seems to be from scratch. The BF2042 scoreboard issue seems like it should be almost off the shelf. There also seems to be this big shift towards short release cycles which pushes even more churn and reinventing the wheel. Look and feel must be updated to keep things "fresh". Although most of the popular games on Steam[1] are older games that have been around for years.

So many places to shave a yak, I'm surprised games get shipped at all.

Of course take all of this comment as an outsider who just yearns for the old days of cool mods and custom servers.

[1] https://store.steampowered.com/stats/

Post reply on HN