GameMonkey Script

GameMonkey Script Forums
It is currently Tue Jun 18, 2019 3:06 pm

All times are UTC




Post new topic Reply to topic  [ 41 posts ]  Go to page Previous  1, 2, 3  Next
Author Message
PostPosted: Mon Feb 25, 2008 11:20 am 
Offline

Joined: Wed Jan 16, 2008 10:26 pm
Posts: 23
Apologet and I are busy with a project called GameMonkey ScriptMod (or GMSM in short).

This project uses the old 'QMM: Q3 MultiMod' plugin manager to 'nest' a gamemonkey machine into the Q3 engine.
For now we are only using it on Wolfentstein: Enemy Territory based games, but in theory it can be used on all Q3 engine based games.

In our current version, we are 'forwarding' engine hooks to GameMonkey, for the people who know the Q3 engine,
here's an example of an empty GoNeScript.gm (the base script we call with GMSM);

Code:
global GAME_CLIENT_COMMAND= function(int_value, string_value, concat_value)
{
};

global GAME_CLIENT_CONNECT = function(clientNum, firstTime)
{
};

global GAME_CONSOLE_COMMAND = function(string_value, concat_value)
{
};

//GMSM checks the UNLINK_ENTITY for any events, KILL_EVENT is one of them.
global GAME_KILL_EVENT = function(attacker,target,mod,attackersHealth){
};


global GAME_CLIENT_USERINFO_CHANGED = function(clientNum){
};

//called on end of map/level or server quitting, before actual exit.
global GAME_SHUTDOWN = function(restart){
};

//called on game load/startup.
global GAME_INIT = function(levelTime, randomSeed, restart){
};

// called when a client's connection is established, map loaded, and ready to start playing (i.e. supply user inputs).
global GAME_CLIENT_BEGIN = function(clientNum){
};


global GAME_CLIENT_THINK = function(clientNum){ //the GMSM runs this function every frame, can be used for client timers in example
};

global GAME_CLIENT_DISCONNECT = function(clientNum){ //clientdisconnect, clear out the playerList table for example
};

global GAME_RUN_FRAME = function(levelTime){ //can handle general timers, maybe for advertising purposes
};
//for more information about the global GAME_ functions, here's a website about how the Q3 engine works,
//http://icculus.org/~phaethon/q3mc/outline1.html

Also, in some engine hooks, like GAME_CLIENT_COMMAND, the 'return' is forwarded aswell, so everytime you return 1 in GAME_CLIENT_COMMAND, the game mod won't get that input.

It's too bad we can't touch entities with GameMonkey, but we can do alot with what we now have.

For more info on GMSM, go to our great website, go to:
http://gaminggone.net/gmScriptMod/

With kind regards,

Dutchmeat


Top
 Profile  
Reply with quote  
PostPosted: Mon Apr 13, 2009 1:01 pm 
Offline

Joined: Sun Apr 12, 2009 11:01 pm
Posts: 22
I'm working on an Artificial Life Game World Simulation whose codename is WorldBase, which is my way of trying to create a game where what you do really matters, while keeping things interesting since it will be using Artificial Life for every single being, while recording things such as history, memories, and so on. Also, it's online, to allow the unending simulation of the world while new events happen all the time.

Soon i'll be publishing the architecture design document, so if you guys are interested, i can later post it on this thread too.


Top
 Profile  
Reply with quote  
PostPosted: Mon Apr 13, 2009 2:51 pm 
Offline

Joined: Thu Jan 01, 2004 4:31 pm
Posts: 307
Hi and welcome littlecodingfox, yes - I'd be interested to see your architecture document! :)


Top
 Profile  
Reply with quote  
PostPosted: Mon Apr 13, 2009 4:39 pm 
Offline

Joined: Sun Apr 12, 2009 11:01 pm
Posts: 22
Well, i decided to post the design doc earlier, since i was already going to post it anyway and a few persons were already interested in checking it.

http://littlecodingfox.blogspot.com/200 ... esign.html

There's a link to a Google Docs document on that post.


Top
 Profile  
Reply with quote  
PostPosted: Thu May 21, 2009 10:20 pm 
Offline

Joined: Sun Apr 12, 2009 11:01 pm
Posts: 22
Sorry for double posting, but i thought you guys would be interested in updates regarding my game.

You can find updates regularly at http://littlecodingfox.blogspot.com , i've got scripting fully working so far, now waiting for content to be ready for the first prototype aka the Concept Prototype.

The latest post (21-05-2009) is quite interesting, so if you feel like it take a look if you dont mind.


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 24, 2009 6:06 pm 
Offline

Joined: Fri Jun 19, 2009 12:39 pm
Posts: 31
I'm using GameMonkey for my little home based projects, which all revolve around a bunch of libraries called "Muse". At the moment, I'm just using GM to make the engine side of things be data driven. So right now, I'm using GM to

  • Create objects
  • Set properties of created objects
  • Load resources such as meshes and textures

The end result of my little demo has been this;
Image

It doesn't look like much, but the rendering code, resource management code, engine code (including rtti and property systems) have all be written by me, from scratch over the last couple of months in my spare time. I'm now at the point where I'm ready to integrate physics middleware into the engine, so I can write some basic vehicle physics.


Top
 Profile  
Reply with quote  
PostPosted: Wed Nov 25, 2009 9:30 pm 
Offline

Joined: Sat Oct 10, 2009 5:30 pm
Posts: 4
We're using GameMonkey for our game Archetype.

@LittleCodingFox hey! You're here too? Cool, small world!

~DtD


Top
 Profile  
Reply with quote  
PostPosted: Sat Dec 12, 2009 7:25 am 
Offline

Joined: Tue Nov 11, 2008 9:03 am
Posts: 20
We're using GameMonkey for our game PixelJunk Shooter that was released this week.
Trailer: http://pixeljunk.jp/library/Shooter/#movie
Shots: http://pixeljunk.jp/library/Shooter/#screenshot


Top
 Profile  
Reply with quote  
PostPosted: Sat Dec 12, 2009 6:18 pm 
Offline

Joined: Fri Jan 14, 2005 2:28 am
Posts: 439
Shooter looks really cool. Out of curiousity, what kinda stuff did you script with GM ?


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 16, 2009 8:23 am 
Offline

Joined: Thu Jan 01, 2004 4:31 pm
Posts: 307
Nice, the PixelJunk games are cool. What did you use GM for?


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 16, 2009 10:08 am 
Offline

Joined: Tue Nov 11, 2008 9:03 am
Posts: 20
Most of the game logic is GM. Of course the engine and the sensitive stuff (fluid,particles,drawing system,etc.) are C++ but there's surprinsingly quite a lot of GameMonkey involved (to get a rough idea, we have about 3.5 MB of .gm files). We also use the GM format to store and parse our level data.
( high-resolution trailer @ http://www.youtube.com/watch?v=ej3xEJlxsLg :) )


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 16, 2009 10:22 am 
Offline

Joined: Fri Jun 19, 2009 12:39 pm
Posts: 31
Very cool Bock! Out of interest, are you able to tell us any more about your usage of GM? For example, does the VM run on the PPU or have you been able to have it running on more or more SPU's?

This sort of thing would make a great series of Gamasutra articles.


Top
 Profile  
Reply with quote  
PostPosted: Fri Dec 25, 2009 2:50 am 
Offline

Joined: Tue Nov 11, 2008 9:03 am
Posts: 20
It's all running in a single thread on the PPU. Basically we want flexibility with GM code, it's usually unbounded code that access so many subsystems that it would not be a good candidate for SPU work. I guess that the point of using SPU is performance, and they are usually well bounded tasks so we use C++ for those. Ask "HiVision" if you are curious about details. :)


Top
 Profile  
Reply with quote  
PostPosted: Tue Mar 23, 2010 8:09 am 
Offline

Joined: Fri Feb 19, 2010 12:21 pm
Posts: 10
Hey!

So, after a few weeks of coding, I've built GameMonkey Script into a game prototype I'm working on. The goal of the prototype is to showcase a game idea of mine in a prettified way compared to an old prototype. And I realized early on that I needed a scripting language.

I'm using GameMonkey for all forms of game logic, configuration options and also to load data into the game. This is the level of functionality:
int MakeLight( Vector3 _Position, Vector3 _HSBColor, float _Range );
int MakeStatic( char* _FileName, Vector3 _Position, Vector3 _Rotation );
int MakePhys( char* _FileName, int _MaterialType, Vector3 _Position, Vector3 _Rotation );
int MakeDynamic( char* _FileName, int _MaterialType, float _Mass, Vector3 _Position, Vector3 _Rotation );


They return pointers from the engine that can be used for direct access in functionality like this:
void Destroy( int _Handle ); //removes the object from simulation
void Flicker( int _Handle, int _Interval ); //sets a created light to flicker
void Teleport( Vector3 _Position ); //moves the player to the supplied position in 3D space


Moreover, I've written a Blender plugin that generates these commands from objects in Blender. This means that I can first export an object asset from a library into .X format, then use instances of that object inside Blender and simply launch the export script to have Blender generate a correct .gm script file for all assets in the scene.

I can then use that script file any way I choose, of course, making Blender something of a very light GM-generating editor.

Anyway. I just have to say this: GameMonkey has worked out a lot better than I had ever anticipated. I used to be a Lua fan, but I'm definitely not regretting giving this a go.


Top
 Profile  
Reply with quote  
PostPosted: Mon Apr 19, 2010 3:44 pm 
Offline

Joined: Mon Apr 19, 2010 3:09 pm
Posts: 5
Hello! =)

Last friday I was trying to find a scripting language, hoping to implement some mission support into Lone Star, my 2D space sim game (Think X2 with newtonian physics and a lot of modding available to the player).

I got to GM, finding it easy to bind C functions to it (Not so sure about C++ methods, I'd love to see a gmBind2 tutorial).

Now I've made an ingame console to write and run scripts (Can anyone tell me how can I execute a script containing a function and be able to call it from an ExecuteString()?) and I'll be learning how to script properly in this weeks.

Not a lot of time for hobbies, sadly =(

Also, if you'd like to play with Lone Star, visit http://www.box.net/shared/0hsk6mh48q and download the latest version for free :D
I offer documentation in english and spanish, and the game plays in Intel GPU netbooks, weighting less than 2 Mb.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 41 posts ]  Go to page Previous  1, 2, 3  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group