Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

One thing that gets me is how there hasn't really been a language made solely for gameplay logic..

Almost every other domain has its specialized language: SQL, Julia, even HTML/CSS/JS.. but game developers still have to trundle on with general purpose languages invented 500 years ago by people who had nothing to do with games.



Game development and game design are completely separate domains.

Game development can be generalized to algorithms and languages targeted to specific processors and architectures because it's a subset of programming and computer science. You can't have a DSL for design because the domain is the human mind. The design of a game like Undertale has absolutely nothing to do with the language used to develop it.

Unless you're talking about things like modelling and UV unwrapping and the like, but even then I don't see what benefit a separate language would provide.


I mean coding gameplay logic. The game engine can remain in C/++ or whatever.

Gameplay and game mechanics are fairly different from making other types of programs. Things like stats, buffs/debuffs, conditions, and their dependencies on each other.

It's all sort of a vague middle ground between typed vs untyped, static vs dynamic, inheritance vs composition, sequential vs asynchronous, and other oddities that make it distinct from other domains.

> You can't have a DSL for design because the domain is the human mind. The design of a game like Undertale has absolutely nothing to do with the language used to develop it.

But what if coding could correspond almost 1:1 to the design?

I've been attempting some of it here: https://github.com/InvadingOctopus/comedot

with stuff like abstracting the idea of "Actions" that could be anything from a verb like "Look at" in a text-based adventure, to clicking on spells/weapons buttons in a turn-based strategy game, or a Dash move in a platformer etc.

Fantasizing about elevating those concepts to being core keywords in a hypothetical language is my equivalent of counting sheep to fall asleep :)


Are you aware of https://machinations.io/ ?


Isn't this basically what Jonathan Blow is trying to do with his "new" programming language, Jai?


Isn't Jai still mostly a C-like, with manual memory management and other archaic rituals?

See, SQL for example don't care about the hardware or the internals of the database it runs on, why couldn't we have something like that for gameplay?


Towards the end of the article I mention "some of us have been working out the rule set for how you can link loops into a larger network of problems for literally over twenty years."

That is referencing the "game grammar" effort undertaken by myself, Dan Cook, Stephane Bura, Joris Dormans, and many others. It is very specifically about arriving at a notation system for gameplay logic.

The original talk from 2005 is here: https://www.raphkoster.com/games/presentations/a-grammar-of-...

The principles in this talk went on to be used by the field of computational modeling of games, AI game generators, and also used in training AI game players.


I agree there aren't very many. I can think of PuzzleScript, Unreal Blueprints, and Machinations (mentioned elsewhere in this thread). Perhaps this dearth is why Blueprints got so popular?

Honorable mentions might go to PICO-8's flavor of Lua (C-like but clearly designed to create a specific type of game and have a specific developer experience) and Excel (used for developing & balancing game mechanics, but usually replaced in the final product).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: