While I applaud creatively exploring new programming language concepts, I find this language confusing. Both the compiler and the flight simulator appear to be vibe coded. The documentation for the language is full of errors or things that don't make sense, and the bootstrap code is a nightmare. It looks like the bootstrap make process requires the bootstrapping code to exist already. Your flight simulator code does not appear to make use of the contract capabilities at all. Am I missing something? Did you actually bootstrap this in another language first? Did the contract capabilities help you during the coding process?
I wonder if this comment thread is going to go better than your "I wrote a DOOM clone in my own programming language" from 9 days ago: https://news.ycombinator.com/item?id=47932974
Well... actually, it isn't. I'm also writing my own programming language (named "Bau"). I asked Claude to convert a minesweeper game from C to that language. I only gave some example programs in my language and the grammar. This worked on the first try (Claude didn't even have access to the compiler).
Very cool achievement. I gather that the real goal was the making of a complete game rather than high fidelity to actual flight dynamics, but since you used the term "flight simulator" rather than calling it an arcade game, I would gently suggest the following:
- conventional aircraft have direct roll control, not just pitch and yaw
- you can get very far with simple static lift and drag coefficients (though they're not static IRL), and then computing lift/drag forces, and using trigonometry with the bank/pitch/yaw angle to implement a simple rigid body dynamics model
Those two alone will have a big impact on how realistic it feels to fly.
While I applaud creatively exploring new programming language concepts, I find this language confusing. Both the compiler and the flight simulator appear to be vibe coded. The documentation for the language is full of errors or things that don't make sense, and the bootstrap code is a nightmare. It looks like the bootstrap make process requires the bootstrapping code to exist already. Your flight simulator code does not appear to make use of the contract capabilities at all. Am I missing something? Did you actually bootstrap this in another language first? Did the contract capabilities help you during the coding process?
I wonder if this comment thread is going to go better than your "I wrote a DOOM clone in my own programming language" from 9 days ago: https://news.ycombinator.com/item?id=47932974
"He" writes tens of thousands of lines per week.
An LLM wrote a flight simulator in a language an LLM also wrote for you.
It's cool that you're doing all of this, and hopefully you and others get value out of it.
But it helps to be clear about who is doing what.
Just own it.
It's cool that AI can do this.
Heh, using your own programming language is the best proof that you didn't vibe-code it :)
Well... actually, it isn't. I'm also writing my own programming language (named "Bau"). I asked Claude to convert a minesweeper game from C to that language. I only gave some example programs in my language and the grammar. This worked on the first try (Claude didn't even have access to the compiler).
Not to single you out but I really don’t like the whole “I asked an LLM” phrasing. All this language anthropomorphizing a tool is just weird to me
As others are mentioning LLMs are actually rather helpful in making new programming languages and then programming in those languages.
For me, a DIY programming language is something I wouldn’t have the time for without the help of AI.
You could vibe a language, feed the spec into a model and vibe the flight sim.
I had GH Copilot make me a new programming language (LLVM based) with a pretty unique syntax, and it was able to write games in it using SDL easily.
Congrats on joining Terry Davis [0] in the probably small club of people who wrote a flight simulator in their own programming language!
https://www.youtube.com/watch?v=CYQEfLaR4Pg
Very cool achievement. I gather that the real goal was the making of a complete game rather than high fidelity to actual flight dynamics, but since you used the term "flight simulator" rather than calling it an arcade game, I would gently suggest the following:
- conventional aircraft have direct roll control, not just pitch and yaw
- you can get very far with simple static lift and drag coefficients (though they're not static IRL), and then computing lift/drag forces, and using trigonometry with the bank/pitch/yaw angle to implement a simple rigid body dynamics model
Those two alone will have a big impact on how realistic it feels to fly.
Interesting zig rust combine.I like it.How is the performance?
It compiles to QBE IR and optionally C99, there hasn't yet been much focus on optimization of the generated QBE.