Matthew O'Connor | 19 May 22:27 2013
Picon

DSL to English and back for game rule set?

Hello all,

I recognize this isn't directly a Haskell-related question, but as I'd like to solve this problem in Haskell & figured it's applicable. Let me know if there's a better place to ask.

I am interested in creating a DSL (or set of types) for describing rules for a computer game. I'd like the language to be able to be written out to readable and clear English. I'd also like to be able to recreate the representation by reading the English back in. The idea is that the DSL will be unambiguous in either English or its internal representation. My thinking is that this will avoid inconsistencies between the game rules and the text describing those rules to the players.

I want the ruleset to be able to describe type of heroes and monsters, their abilities, the effects of their attacks, how they use resources, etc.

I realize this may not be an efficient way to go about writing a game, but it seems like an interesting project. Some of my concerns are at what level the DSL should be written to allow for extensions for new heroes, monsters, etc. without having to just add very specific extensions every time a new hero or item is created.

Does anyone have thoughts on how to proceed on this, previous work, and/or ways to investigate it?

Thanks,
Matthew
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Roman Cheplyaka | 19 May 22:38 2013

Re: DSL to English and back for game rule set?

You should definitely look at Grammatical Framework
http://www.grammaticalframework.org/

* Matthew O'Connor <thegreendragon <at> gmail.com> [2013-05-19 14:27:33-0600]
> Hello all,
> 
> I recognize this isn't directly a Haskell-related question, but as I'd like
> to solve this problem in Haskell & figured it's applicable. Let me know if
> there's a better place to ask.
> 
> I am interested in creating a DSL (or set of types) for describing rules
> for a computer game. I'd like the language to be able to be written out to
> readable and clear English. I'd also like to be able to recreate the
> representation by reading the English back in. The idea is that the DSL
> will be unambiguous in either English or its internal representation. My
> thinking is that this will avoid inconsistencies between the game rules and
> the text describing those rules to the players.
> 
> I want the ruleset to be able to describe type of heroes and monsters,
> their abilities, the effects of their attacks, how they use resources, etc.
> 
> I realize this may not be an efficient way to go about writing a game, but
> it seems like an interesting project. Some of my concerns are at what level
> the DSL should be written to allow for extensions for new heroes, monsters,
> etc. without having to just add very specific extensions every time a new
> hero or item is created.
> 
> Does anyone have thoughts on how to proceed on this, previous work, and/or
> ways to investigate it?
> 
> Thanks,
> Matthew

> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe <at> haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
Adam Gundry | 20 May 10:15 2013
Picon
Picon

Re: DSL to English and back for game rule set?

In case you haven't seen it already, you might be interested in Inform
(http://inform7.com/), which is a DSL for interactive fiction (aka "text
adventures") using natural language.

Cheers,

Adam

On 19/05/13 21:27, Matthew O'Connor wrote:
> Hello all,
> 
> I recognize this isn't directly a Haskell-related question, but as I'd
> like to solve this problem in Haskell & figured it's applicable. Let me
> know if there's a better place to ask.
> 
> I am interested in creating a DSL (or set of types) for describing rules
> for a computer game. I'd like the language to be able to be written out
> to readable and clear English. I'd also like to be able to recreate the
> representation by reading the English back in. The idea is that the DSL
> will be unambiguous in either English or its internal representation. My
> thinking is that this will avoid inconsistencies between the game rules
> and the text describing those rules to the players.
> 
> I want the ruleset to be able to describe type of heroes and monsters,
> their abilities, the effects of their attacks, how they use resources, etc.
> 
> I realize this may not be an efficient way to go about writing a game,
> but it seems like an interesting project. Some of my concerns are at
> what level the DSL should be written to allow for extensions for new
> heroes, monsters, etc. without having to just add very specific
> extensions every time a new hero or item is created.
> 
> Does anyone have thoughts on how to proceed on this, previous work,
> and/or ways to investigate it?
> 
> Thanks,
> Matthew

--

-- 
The University of Strathclyde is a charitable body, registered in
Scotland, with registration number SC015263.
Jeremy Shaw | 20 May 15:00 2013

Re: DSL to English and back for game rule set?

This sounds like something you might use Grammatical Framework for,

http://www.grammaticalframework.org/doc/tutorial/gf-tutorial.html

- jeremy

On Sun, May 19, 2013 at 3:27 PM, Matthew O'Connor
<thegreendragon <at> gmail.com> wrote:
> Hello all,
>
> I recognize this isn't directly a Haskell-related question, but as I'd like
> to solve this problem in Haskell & figured it's applicable. Let me know if
> there's a better place to ask.
>
> I am interested in creating a DSL (or set of types) for describing rules for
> a computer game. I'd like the language to be able to be written out to
> readable and clear English. I'd also like to be able to recreate the
> representation by reading the English back in. The idea is that the DSL will
> be unambiguous in either English or its internal representation. My thinking
> is that this will avoid inconsistencies between the game rules and the text
> describing those rules to the players.
>
> I want the ruleset to be able to describe type of heroes and monsters, their
> abilities, the effects of their attacks, how they use resources, etc.
>
> I realize this may not be an efficient way to go about writing a game, but
> it seems like an interesting project. Some of my concerns are at what level
> the DSL should be written to allow for extensions for new heroes, monsters,
> etc. without having to just add very specific extensions every time a new
> hero or item is created.
>
> Does anyone have thoughts on how to proceed on this, previous work, and/or
> ways to investigate it?
>
> Thanks,
> Matthew
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe <at> haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>

Gmane