Live data from Hacker News

Langjam Gamejam: Build a programming language then make a game with it

langjamgamejam.com

51–60 of 60 posts

Re: Langjam Gamejam: Build a programming language then make a game with it

#51
post #3

I've been wondering about this for some time, that how there really isn't a language that's made from the ground up just for coding gameplay logic. Like we have SQL for databases, Julia etc for maths etc, but gamedevs still have to plod along in general-purpose languages with archaic conventions established 50 years ago by people who had nothing to do with games. I'd love something with the syntax of GDScript and the…

PuzzleScript is the closest to this I can think of. Hyper specialised though. https://www.puzzlescript.net/

In my opinion, Free Hero Mesh is better, although each has its own advantages and disadvantages compared with the other(s).

(There are also some variants of PuzzleScript, which add a few extra functions.)

Re: Langjam Gamejam: Build a programming language then make a game with it

#53
post #25

What is a minimal-ish programming language that could be used to express some interesting class of games? It's easy to think of pathologically trivially useless "languages" that could "make a game". E.g. the single instruction language where the instruction P is defined to mean "execute a game of pong". Or a zero instruction language where the empty program is defined to mean "execute a game of pong". Also easy to th…

a variation of lisp is SUPER easy to do, give it some primitives to graphics/sounds/inputs and away you go

Re: Langjam Gamejam: Build a programming language then make a game with it

#54
post #25

What is a minimal-ish programming language that could be used to express some interesting class of games? It's easy to think of pathologically trivially useless "languages" that could "make a game". E.g. the single instruction language where the instruction P is defined to mean "execute a game of pong". Or a zero instruction language where the empty program is defined to mean "execute a game of pong". Also easy to th…

If I had a spare week that I wanted to spend on this game jam, I would be making a dynamically typed language and an interactive fiction game.

Dynamic types make it much easier to whip up a little language and interpreter. Interactive fiction doesn't have any difficult performance requirements so even a very slow interpreter is still probably fast enough. And IF doesn't require graphics or any kind of tricky bindings. Just printing to a terminal.

Re: Langjam Gamejam: Build a programming language then make a game with it

#55

Any recommendations on books / resources to read in order to participate as a beginner (language creator that is..., not beginner with programming games)?

Heh, I guess you could read my two books, "Crafting Interpreters", and "Game Programming Patterns". :)

Re: Langjam Gamejam: Build a programming language then make a game with it

#56

Earlier quoted context omitted.

Haha I wish I knew how to reach more people like you! Yeah exactly! I think the event-driven/signal-driven way of coding is the high-level way of coding a game, and so with Easel I was trying to make a game programming language where that is first class. It's different from the frame-by-frame state machine kind of model that is used by a lot of other game engines, and I find it's super productive. I know that I am un…

> I know that I am unable to single-handedly compete with Godot You could package your language as a GDExtension for Godot. I'm planning my fantasy language from the top-down, syntax first: how it would look like to users/developers to use it, then think about how to implement that language if ever :') Right now I'm just fiddling with a extension for VSCode/ium to syntax highlight the hypothetical language, then I'll…

Yep, it's definitely a possibility down the line.

Maybe a 7-day gamejam is a great way to explore your ideas!

Re: Langjam Gamejam: Build a programming language then make a game with it

#57

Any recommendations on books / resources to read in order to participate as a beginner (language creator that is..., not beginner with programming games)?

Heh, I guess you could read my two books, "Crafting Interpreters", and "Game Programming Patterns". :)

Well this is certainly cool! Your first book has been on my reading list. I'm cracking it open tomorrow!

Re: Langjam Gamejam: Build a programming language then make a game with it

#58

Earlier quoted context omitted.

I've actually spent the past 3 years making Easel ( https://easel.games ) specifically for gameplay logic. It's got behaviors as a first-class language construct, ownership and context is implied hierarchically, it's concurrent and event-driven to match how game worlds work, and the multiplayer is automatic because it's built into the fabric of the programming language. It also feels like a declarative language becau…

If I understand correctly, the language is not open source, right? Not even the interpreter? That's a hard sell

tldr I plan to make the singleplayer at least source available, but keep all parts related to multiplayer/persistence/hosting (anything that requires a server) closed for a few practical reasons:

1. Cheating: There has to be some security by obscurity because in Easel, multiplayer and persistence are actually client authoritative. Why client authoritative? We don't simulate on the server to keep costs down. Why keep server costs down? Easel will never run ads because it is aimed at teenagers/children and we want to be able to vet all content shown on Easel. Without ads, combined with the fact that we want Easel to be free for teenagers, the budget is extremely tight. I would rather die than get VC funding because they would force Easel to put profit before principles, so we have to keep the costs low.

2. Development speed: Easel has changed a lot over the past 3 years, and been constantly refactored over and over again. If you look at Easel now, you might think "I could make that" but when I made it, I didn't have any reference points, so I had to iterate and iterate on a lot of things from first principles and take a lot of wrong turns. My GitHub history shows me adding about 2 million lines of code even though the project is about 150000 lines, which shows how much it has been written and re-written. Anyone who tried to contribute would just get in the way at this point. I want to spend my days coding rather than arguing with people on GitHub.

3. Survival: I don't want someone else to take all the code to make a competing platform which does not have the same principles (like putting profit ahead of child safety and showing ads). My dream is for Easel to be a place where most players are makers, like Scratch, except with more actual real games on it because the engine has built-in game features like a physics engine, particle systems and multiplayer. Like Roblox except actually beginner-friendly coding. I have a vision quest and I want Easel to fund Easel so I can make Easel.

I am looking to open source Easel but only in a way which solves the above 3 problems. The way that I have come up with is that open sourcing the singleplayer parts is the best compromise between everything. It just requires stopping development to splitting it all out, and having all the code split out will mean development would be slower, and I am prioritising development speed at the moment. The engine is not complete enough yet and missing a bunch of key features which would stop numerous games from being made. So maybe in a couple of years I will have the bandwidth to look into this. But I actually want to open source Easel, but I just need those problems solved.

Re: Langjam Gamejam: Build a programming language then make a game with it

#59
post #30

Any recommendations on books / resources to read in order to participate as a beginner (language creator that is..., not beginner with programming games)?

Jack Crenshaw's 1988-1995 series Let's Build a Compiler [1] Graydon Hoare's 2002 talk `"One Day Compilers" or how I learned to stop worrying and love static metaprogramming` [2] (implements a compiler for a DSL that's a subset of makefile syntax in edit: on second thoughts, aiming to ship a game in a novel _compiled_ language in a 7 day language+game jam is probably a lot more optimistic than aiming for an interprete…

I'm halfway through Crenshaw!
Post reply on HN