Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Have any commercial video games ever used Prolog? [closed]

Have any commercial video games ever used Prolog? With is rules-based logic based model it seems like it have some place in the industry.

PS: as odd as this question is it still meets all the criteria for a question on SO.

like image 845
Sled Avatar asked Mar 24 '14 02:03

Sled


People also ask

What was the first commercial video game?

That game was Computer Space. In 1971, the duo sold the Computer Space prototype to quiz machine maker Nutting Associates who manufactured 1,500 machines. Computer Space became the First commercially available arcade videogame.

When did the first commercial video game come out?

The first commercial arcade video game was Computer Space (1971), which was developed by Nolan Bushnell and Ted Dabney and was based on Spacewar.


2 Answers

Not a commercial game, but I was in a game jam just this last weekend, and we wrote the entire game (a small MMO) in Prolog. It's probably only a fantasy, but we discussed expanding the game into a game engine. That game engine would be rule based.

I guess I should add that I've worked on prolog systems that were near real time.

like image 55
Anniepoo Avatar answered Nov 09 '22 05:11

Anniepoo


I work in the game industry and I doubt it very much. I have seen only one guy use prolog and it was for a build bot rule to automerge git branches into subproducts and overversions, and not in a game company.

That said, it could make sense for some fuzzy AI, but everything related to AI in the business is far from the research papers in practice. Real game developpers and producers hate unpredictability, basically for business reasons, today games are merely interactive movies.

Everything is on rail, scripted and controlled. Artists are very uncomnfortable with algorithmical rules, and game designers are artists. In my programmer's opinion, games with sophisticated AI must have beneficiated from a high ranking programmer in the company to push for it.

Or the game really required it, for example hitman. However if you see some of their talks (they have presentations at GDC, Cedec...) they say most of their work is empirical, and I tend to think by that, made in typical imperative programming.

Thirdly, you also get the problem of maintenance, and people knowing the language, which is.. few. Most of computer science graduates will have heard of it, followed some tutorial at the school/university but quickly forgotten about it anyway later. And you see, in game companies, a good percentage of programmers are self made, and even drop outs ! This leaves little room for prolog I can tell you that.

Lastly, you need to think about a technical point : performance. prolog underlying execution machine is somekind of a danger to real time. Because it has this simplex solver based on tree branches elimination heuristics which can run for god knows how long. Most games make scarse use of multi threading because of platforms limitation, or because of synchronization problems with the game data which has to be in synch on a by-frame basis for lots of things.

like image 27
v.oddou Avatar answered Nov 09 '22 07:11

v.oddou