Thread overview | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
September 07, 2007 Monster - a game programming language | ||||
---|---|---|---|---|
| ||||
Greetings my fellow D-icans! The first release - version 0.1 - of the Monster programming language is now available at http://monster.snaptoad.com Monster is a rather ambitious project of mine - it is a game scripting language based on D syntax and written entirely in D. To run Monster scripts, you first compile the scripts to byte code, and then link the VM into your program and run them there. This lets you integrate the scripts into your program or game, and basically makes your program an extension of the language VM. Monster includes some advanced features, such as states and (cooperative) multithreading. The concept is similar to UnrealScript, except that it is not bound to any specific engine (and that it is based on superior D syntax <g>.) Note that this is a pre-alpha release, and most features you would need to actually use the language (such as inheritance and memory allocation) are not implemented yet. There are some compilable examples on the web site, though. -Nico |
September 07, 2007 Re: Monster - a game programming language | ||||
---|---|---|---|---|
| ||||
On 9/7/07, Anders Bergh <anders1@gmail.com> wrote:
> Hey, that looks really nice :-) I'll play around with it later today.
>
> One note however: Lua is really common in games, because of its very liberal license (new BSD or so). Monster is released under the GPLv3. Did you consider something like BSD or LGPL? This could be important for things like the Deadlock game/engine, which is written in D but isn't open source.
>
Oh yeah, an idea: why not use DSSS? This would let developers simply "dsss net install monster" to install everything, and makes it easier for people to use Monster in their own projects :-)
I take it Monster isn't Tango-compatible, which is bad for some of us... did you look into it?
|
September 07, 2007 Re: Monster - a game programming language | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nicolay Korslund | On 9/7/07, Nicolay Korslund <korslund@gmail.com> wrote:
> Greetings my fellow D-icans!
>
> The first release - version 0.1 - of the Monster programming language is now available at http://monster.snaptoad.com
>
> Monster is a rather ambitious project of mine - it is a game scripting language based on D syntax and written entirely in D. To run Monster scripts, you first compile the scripts to byte code, and then link the VM into your program and run them there. This lets you integrate the scripts into your program or game, and basically makes your program an extension of the language VM. Monster includes some advanced features, such as states and (cooperative) multithreading. The concept is similar to UnrealScript, except that it is not bound to any specific engine (and that it is based on superior D syntax <g>.)
>
> Note that this is a pre-alpha release, and most features you would need to actually use the language (such as inheritance and memory allocation) are not implemented yet. There are some compilable examples on the web site, though.
>
> -Nico
>
Hey, that looks really nice :-) I'll play around with it later today.
One note however: Lua is really common in games, because of its very liberal license (new BSD or so). Monster is released under the GPLv3. Did you consider something like BSD or LGPL? This could be important for things like the Deadlock game/engine, which is written in D but isn't open source.
|
September 07, 2007 Re: Monster - a game programming language | ||||
---|---|---|---|---|
| ||||
Posted in reply to Anders Bergh | Anders Bergh wrote:
> On 9/7/07, Nicolay Korslund <korslund@gmail.com> wrote:
>> Greetings my fellow D-icans!
>>
>> The first release - version 0.1 - of the Monster programming language is now available at http://monster.snaptoad.com
>>
>> Monster is a rather ambitious project of mine - it is a game scripting language based on D syntax and written entirely in D. To run Monster scripts, you first compile the scripts to byte code, and then link the VM into your program and run them there. This lets you integrate the scripts into your program or game, and basically makes your program an extension of the language VM. Monster includes some advanced features, such as states and (cooperative) multithreading. The concept is similar to UnrealScript, except that it is not bound to any specific engine (and that it is based on superior D syntax <g>.)
>>
>> Note that this is a pre-alpha release, and most features you would need to actually use the language (such as inheritance and memory allocation) are not implemented yet. There are some compilable examples on the web site, though.
>>
>> -Nico
>>
>
> Hey, that looks really nice :-) I'll play around with it later today.
>
> One note however: Lua is really common in games, because of its very
> liberal license (new BSD or so). Monster is released under the GPLv3.
> Did you consider something like BSD or LGPL? This could be important
> for things like the Deadlock game/engine, which is written in D but
> isn't open source.
Maybe he doesn't WANT non-Open-Source games using his engine, eh? That's everyone's right.
- Gregor Richards
|
September 07, 2007 Re: Monster - a game programming language | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nicolay Korslund | Nicolay Korslund a écrit : > Greetings my fellow D-icans! > > The first release - version 0.1 - of the Monster programming language > is now available at http://monster.snaptoad.com > > Monster is a rather ambitious project of mine - it is a game > scripting language based on D syntax and written entirely in D. To > run Monster scripts, you first compile the scripts to byte code, and > then link the VM into your program and run them there. This lets you > integrate the scripts into your program or game, and basically makes > your program an extension of the language VM. Monster includes some > advanced features, such as states Could you explain what you mean by 'states' here? For me a state is when you assign a value to a variable which isn't what I would call an 'advanced feature'.. renoX > and (cooperative) multithreading. > The concept is similar to UnrealScript, except that it is not bound > to any specific engine (and that it is based on superior D syntax > <g>.) > > Note that this is a pre-alpha release, and most features you would > need to actually use the language (such as inheritance and memory > allocation) are not implemented yet. There are some compilable > examples on the web site, though. > > -Nico |
September 07, 2007 Re: Monster - a game programming language | ||||
---|---|---|---|---|
| ||||
Posted in reply to renoX | "renoX" <renosky@free.fr> wrote in message news:fbs3sk$2v30$1@digitalmars.com... > Could you explain what you mean by 'states' here? > For me a state is when you assign a value to a variable which isn't what I > would call an 'advanced feature'.. He probably means something like state machine constructs built into the language. Something that's rather useful when it comes to game scripting. |
September 08, 2007 Re: Monster - a game programming language | ||||
---|---|---|---|---|
| ||||
Posted in reply to Gregor Richards | Gregor Richards wrote: > Maybe he doesn't WANT non-Open-Source games using his engine, eh? That's everyone's right. !slap GregorR An engine doesn't really have to be open source if it's well scriptable :P -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode |
September 08, 2007 Re: Monster - a game programming language | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jarrett Billingsley |
Jarrett Billingsley wrote:
> "renoX" <renosky@free.fr> wrote in message news:fbs3sk$2v30$1@digitalmars.com...
>
>> Could you explain what you mean by 'states' here?
>> For me a state is when you assign a value to a variable which isn't what I
>> would call an 'advanced feature'..
>
> He probably means something like state machine constructs built into the language. Something that's rather useful when it comes to game scripting.
It's something borrowed from UnrealScript. From what I remember, you could define blocks of code to be in a particular state, and then that code would only execute in that state.
Yes, you can do this with ifs and switches, but it's used so very often in games, it was promoted to a language feature. Tim Sweeny's a damn smart cookie when it comes to these things. With ZZT (released in 1991), it had an OO scripting language that used coroutines; the *editor* ended up being more popular than the game itself :P .
Monster is certainly interesting; I look forward to seeing where it goes.
-- Daniel
|
September 08, 2007 Re: Monster - a game programming language | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nicolay Korslund | Nicolay Korslund wrote: > Greetings my fellow D-icans! > > The first release - version 0.1 - of the Monster programming language is now available at http://monster.snaptoad.com > > Monster is a rather ambitious project of mine - it is a game scripting language based on D syntax and written entirely in D. To run Monster scripts, you first compile the scripts to byte code, and then link the VM into your program and run them there. This lets you integrate the scripts into your program or game, and basically makes your program an extension of the language VM. Monster includes some advanced features, such as states and (cooperative) multithreading. The concept is similar to UnrealScript, except that it is not bound to any specific engine (and that it is based on superior D syntax <g>.) > > Note that this is a pre-alpha release, and most features you would need to actually use the language (such as inheritance and memory allocation) are not implemented yet. There are some compilable examples on the web site, though. > > -Nico This sounds like a really great project! Now, I'm just a tiny bit biased, but I think the implementation of some of your features (like coop multithreading) may benefit from being done on top of Tango.</shameless plug> -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango |
September 08, 2007 Re: Monster - a game programming language | ||||
---|---|---|---|---|
| ||||
Posted in reply to Daniel Keep | Daniel Keep Wrote:
> It's something borrowed from UnrealScript. From what I remember, you could define blocks of code to be in a particular state, and then that code would only execute in that state.
>
> Yes, you can do this with ifs and switches, but it's used so very often in games, it was promoted to a language feature. Tim Sweeny's a damn smart cookie when it comes to these things. With ZZT (released in 1991), it had an OO scripting language that used coroutines; the *editor* ended up being more popular than the game itself :P .
That is right. Having states as a language construct makes them much simpler and more intuitive to use. And one of the main benefits of the way states work in UScript (and will work in Monster) is that they can easily be added or changed through subclassing. The same functionality would quickly become cumbersome with ifs and switches.
- Nico
|
Copyright © 1999-2021 by the D Language Foundation