GameMonkey Script

GameMonkey Script Forums
It is currently Sun Sep 15, 2019 5:46 am

All times are UTC




Post new topic Reply to topic  [ 27 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Fri Dec 23, 2005 9:52 am 
Offline

Joined: Thu Jan 01, 2004 4:31 pm
Posts: 307
Hi y'all,

I've been working on a couple of new GameMonkey Script articles for you all to use. The article's title is "Introduction to GameMonkey Script" and is in two parts. The idea is to take you from knowing nothing to learning enough to use GMScript in your own games. You will have enough knowledge and confidence to explore GMScript further on your own.

Part One

Part 1 is the language primer and aims to teach you the basic and most common syntax for GameMonkey Script. This article is most suited to people who will be scripting with the language, but is also an essential read for those wishing to embed GMScript in their games.

Part Two

Part 2 is the article to read if you're wanting to embed GMScript in your game. It'll take you through the basic concepts of GMScript's API and break you into using it nicely. You will learn how to set up your compiler, use variables, bind native functions, call scripted functions and bind your own simple type.

Part Three

Part 3 (After a couple of years in the waiting,) is now up and covers more advanced use - including threads, blocks and signals. There's lots of examples to pick through and covers both the scripting language and the C++ integration.


Enjoy!


Last edited by Greg on Sun Sep 23, 2012 4:10 am, edited 5 times in total.
Updated links (again), made sticky


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Dec 23, 2005 6:59 pm 
Offline

Joined: Mon Sep 26, 2005 9:33 am
Posts: 48
These two articles are excellent and just what the GM community needs! There is so much Lua attention that the power of GM gets ignored. I am currently developing a plugin for use with the DarkBASIC Pro engine and a C++ library version, it takes GM to nice new level for the users of that language, and also the GM language itself.

There is currently a free version out there, but I am developing a commerical version that includes more features, one being a plugin type framework for the GM language. Meaning that outside DLL's can be used to add additional script commands, variables, and features not offered with the general bindings. Once that is complete (fairly soon) I will format it for use with other users projects on this site (a new binding perhaps). I have also started working on a scripting language manual that will be included in the commerical product, it'll outline usage of the keywords and commands with examples. Would it be possible for me to reference in any of your article content? If so, I would put a link to the document in the references section.

Another quick note about the DLL plugin binding, the DLL's that will fit this framework will look for a special exported function name that will be used to initialize and create the bindings.

Again, great job on the articles!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Dec 25, 2005 1:02 am 
Offline

Joined: Fri Jan 14, 2005 2:28 am
Posts: 439
Looks good man. Only thing I'd recommend is a section in one of the articles about threads. IMO they are the single most useful & powerful feature of GM script.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Dec 25, 2005 8:05 am 
Offline

Joined: Mon Sep 26, 2005 9:33 am
Posts: 48
I was reading through the articles again and noticed that in the first article the comparison to Lua table has GameMonkey Script & Lua unreadable because of the font color. My guess is that the font is suppose to be white like your other table.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Dec 26, 2005 10:44 pm 
Offline

Joined: Thu Jan 01, 2004 4:31 pm
Posts: 307
Thanks for the encouraging words about the articles.

Quote:
Would it be possible for me to reference in any of your article content? If so, I would put a link to the document in the references section


Your plugin sounds most excellent, it'd be interesting to see how you combine GM with DarkBASIC - it should be a nice intro for people wanting to both explore scripting in a 'simple' environment but also get to grips with the more C-like syntax of GM. I look forward to seeing what you come up with!

I would be more than happy to be cited in your document, provided you reference my work correctly :)

Quote:
Only thing I'd recommend is a section in one of the articles about threads. IMO they are the single most useful & powerful feature of GM script.


I agree about the power of threads, and they will be included in a follow up article about GM. This first set of articles was intended to be an intro for people who have never even seen GMScript before, or in fact never even scripted anything before. In this next one I will include a discussion on the different ways threads can be used and show how 'threaded' coding compares to the asynchronous methods in things such as event callbacks and the like. The next one will be more useful to people who have worked their way up to where these articles left off and who want to explore the more powerful features of GM.

In the new year I also hope to announce my latest GM-powered project to the community. ;)

Merry Christmas guys :)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Dec 27, 2005 1:55 am 
Offline

Joined: Fri Jan 14, 2005 2:28 am
Posts: 439
Ok. It's just that intro tutorials like these tend to be what people look at for their initial investigation about the usefulness of a scripting language, and some sort of mention of the threads I think would be very beneficial, even if it's just a link to a later article that goes over them in detail. Either way it would give new users looking for a nice scripting system something early on to hint at the real power of gm script.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Dec 27, 2005 1:49 pm 
Offline

Joined: Mon Dec 15, 2003 1:38 pm
Posts: 708
First let me say downgraded's articles are fantastic, and I whole heartedly recommend them to everyone. His examples are easy to follow and build up step by step.

DrEvil, I hear you. Most people are not using GM to its full potential because they don't know how. I have personally seen code that didn't use threading more than a while statement containing a yield(). Perhaps you could share some example code and/or experience with downgraded for a future article. I'm hoping to use GM more this coming year, to be able to contribute such experience myself.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Dec 27, 2005 10:30 pm 
Offline

Joined: Fri Jan 14, 2005 2:28 am
Posts: 439
Sure. I can write a threading article.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Dec 28, 2005 9:43 am 
Offline

Joined: Thu Jan 01, 2004 4:31 pm
Posts: 307
I agree with Greg. My use of threading isn't that advanced; I often prefer to use event-style scripting as opposed to co-routines and when I do use threads, it's more often to just keep a loop going and yeild every now and again.

I'd love to see what someone else uses threads for in a real, proven environment.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Dec 28, 2005 10:43 am 
Offline

Joined: Mon Dec 15, 2003 1:38 pm
Posts: 708
Just for the reference, since we're mentioning threading, DrEvil's earlier post (you may have to scroll down) shows script very similar to what some of our commercial game developers are doing. This style helps with coding behavior logic, and is efficient.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Dec 28, 2005 2:20 pm 
Offline

Joined: Thu Jan 01, 2004 4:31 pm
Posts: 307
Thanks Greg and DrEvil, that's a good post and will be a good starting point for me to explore more advanced use of GM threads


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Dec 28, 2005 2:41 pm 
Offline

Joined: Fri Jan 14, 2005 2:28 am
Posts: 439
Doom 3 and Quake 4 have threading in their scripting language that is used heavily in their AI in many of the same ways I'm using it in my bot framework. I can also see that it could be extremely useful in game such as an RPG or something where you could tie a script to every game object to do special logic.

I also love how every time you execute string it runs in its own new thread, allowing basically anything that runs to sleep/yield/block.


Top
 Profile  
Reply with quote  
PostPosted: Wed Aug 15, 2007 9:31 pm 
Offline

Joined: Wed Aug 15, 2007 7:53 pm
Posts: 8
Superb articles, thank you downgraded! A must-have, just after the pdf files from the doc.
Threading in gm is still a mistery for beginners like me. Part 3? :D

GM language is great, excellent job Greg! I stopped on nearly 20 languages and chose GM.


Top
 Profile  
Reply with quote  
PostPosted: Thu Aug 16, 2007 4:41 pm 
Offline

Joined: Fri Jan 14, 2005 2:28 am
Posts: 439
Yea, I would have thought the next article would be out by now with the threading stuff, which is essentially the best part of GM. I guess he's been busy.


Top
 Profile  
Reply with quote  
PostPosted: Mon Sep 17, 2007 11:54 am 
Offline

Joined: Thu Jan 01, 2004 4:31 pm
Posts: 307
hey hey

i'm going to start work on part 3 real soon - i'm ashamed to say that I got hooked on wow for 4 months, so as you can imagine, everything went out of the window *blush*

I've picked up on gmBind2 again, so expect some previews and betas of that soon (hopefully)


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 27 posts ]  Go to page 1, 2  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