Previously I talked about how “Over 70% of PixelJunk is done with scripts”. Today I want to speak a little bit more about “GameMonkey Script”. Why? Because I want more game developers throughout the world to use it!
To get the ball rolling, most of the basic things you’d need to know are available on the public page.
Furthermore, we’ve gone and improved on this original flavour over time.
The convenience of threads should be felt in your belly every time you use them but, our GameMonkey is even simpler.. more convenient.. more wild!? You can make threads.
global WildThreadingFunction = function()
local a = 10;
// This is a thread
// the local variable gets copied so, "10" will be shown
print( a );
local sound_pointer = Q.PlaySound( "WILD" );
// Here's another thread
// Animation goes here
sleep( 0.5f );
sleep( 0.5f );
Do you feel it? Can you feel that convenience?
Making threads everywhere easily is all nice and good but, the real guts of the value is that local variables get copied into threads right? With this, you can get rid of a lot of useless variables and arguments, the data and processing can be squeezed into one place.
This is deeply concerned with the programs readability. It means you don’t need to jump around here there and everywhere in the editor looking for stuff!
Regarding this fork、it’s been implemented in the latest version of GameMonkey, so feel free to try using it!
Is everyone finding the dev blog useful!? Chat with us in the comments whenever you like~!
Ok, so have you ever seen the credits of a PixelJunk game? Anyone that hasn’t, get straight over to the PSN Store, buy all the PixelJunk games and clear them! Did you notice a name that appears every time in our credits? Yep that’s right, it’s our CEO Dylan Cuthbert… ..wait no, i’m talking about Game Monkey!!
It might feel weird, but over 70% of PixelJunk games are made in script. PixelJunk Inc. is of course no exception. The name of that scripting language is Game Monkey, our dearly beloved, stylin’ monkey friend.
And with that, here’s this week’s “imagination shot”!
As you can see, there’s lots of ‘sleeps’. If you want to put a brief delay between this thing and that thing a ‘sleep’ can help you out. Although, if you’re not careful the code can get overrun with them.
It’s still better than the alternative though, of implementing ‘sleeps’ in C++, then having any small tweak trigger an entire C++ build each time… that’s a big waste of time we’ve avoided.
GameMonkey lets you easily make threads (typically called fibers or coroutines) making it super convenient!
If only it could get more exposure…
Waah♪ O-ooh a-aah♪
Oh!.. My cub and monkey are calling.. I’ll leave it here for today.
Now that the fresh new PixelJunk Inc. name has been announced, I think it’s time for some new fresh blog posts to go along with it!
I’d like to start posting some delicious programmery details on PixelJunk Inc. for you all to see.
So I suppose there are lots of people who wonder; what is game development like? What sort of people work on games? I’ll give a little bit of an introduction.
I’m a native of Kyoto! The Japan inside Japan! I haven’t visited overseas!
Ok, everyone feeling relaxed?
This week I’ve been working on optimization of some rendering systems.. lets look at this splendid screenshot of Inc.!
Wah! Lots of things here. What is all this?!
This is the PixelJunk profiler. What kind of things are going on here?
Uh-oh. It looks like some ninjas have snuck in here. I’ll have to leave it at that for today.