Monday, April 11, 2011

GameMaker 8.1

GameMaker 8.1 will be released very soon, so I thought I'd talk about some of the major changes and what this means for both Lite and Standard users. First, naming; Game Maker has become GameMaker, while Pro has become Standard. Simply put, we think Game Maker feels like a description, while GameMaker is more like a product. It should also help focus searching in the future.

So... onto more interesting things - new features! The first big thing is the room editor's new ZOOM and PAN features. This helps bring the room editor more into what a modern editor should be, and it feels so much better, so much so, that swapping back to 8.0 is now a nightmare! What I find is that I now move around the level by zooming out from one spot, and zooming back into another. It quickly becomes a natural part of your workflow - as it should. There are 29 levels of zoom (14 up, 14 down) allowing you to zoom right in, or right out to see the whole level. This helps when using small sized tiles, just as being able to zoom right out helps you visualise an entire level.
This improvement in workflow is also the same for panning. Using the middle button to pan around instead of clunky scroll bars, again makes life much easier. To me, these two features are the MUST HAVE things in 8.1, and I'd recommend everyone try it before deciding not to upgrade - it's that important.
Initially the zoom wasn't going to be available in Lite, but we've since decided to add it; more on this later.
We've also updated the image editor to use the controls, while adding PAN to the path editor allowing much smoother workflow there as well.

The code editor has received a little love as well. I've increased the drawing speed in the code editor so large scripts should be quicker to edit. I've also added a couple of common requests. First, you can now select a block and use TAB to block indent, and Shift-TAB to unindent.
Another often requested feature was to add CTRL-F for searching, as it's such a common key in windows that not having it really breaks usability. So this has also been added.
We've also added the ability to cancel the codesense allowing a better smoother coding experience.

We have also improved 3d a little. Turns out hardware T&L wasn't enabled, so we've turned that on, but what does that mean? Well, modern graphics cards offload all transform and lighting calculations to the GPU, but if your using software T&L then the CPU does it all. This will give a little speed boost, although due to the way things are built in GameMaker, not as much as it should. There is a further update which should give a big boost, and one we've done in the C++ runner. This will come in future updates, but for now the hardware T&L will give a visible boost. We've also increased the ZBuffer from 16bit, to 24bit. This means there will be less artifacts as things intersect, and better depth control when things get very close to each other. So this should be great update for anyone using 3D, with better to come.
I've also added a new command for Standard Edition users, which allows them to control the ambient light level and colour. This again, should be a massive change for 3D users as it removes the jet-black background light level, into whatever you want! At the very least it means you'll be able to raise the darkness to you can always see something in the darkness.

We've also added a few new general commands.
dot_product(x1,y1, x2,y2)
dot_product_3d(x1,y1,z1, x2,y2,z2)
point_distance_3d(x1,y1,z1, x2,y2,z2)
These are common commands, so by putting them into native code, we give a speed boost to anyone using them. If you don't know what a dot product is, it's a very handy little thing that gives you the Cos of an angle between two vectors. The simplest use is for lighting, but since it effectively returns the angle between 2 vectors, it's very handy indeed; and now it's much quicker to use.

The last BIG thing is totally rewritten FONT generation. We haven't as yet rewritten the rendering (so it's actually still a bit slow), but we have rewritten the generation of fonts. This now gives much nicer, and smoother fonts, while at the same time fixing the horrible cropping some fonts used to get!
I've also updated the Font dialog, allowing you to type your own text in, and pick the language character set to aid multi-language support. Multi-language isn't yet complete, and is still bugged, but it will be fixed in a future update. You can see the new dialog

The all new Font Dialog You can now choose the charset, and t... on Twitpic


So...I said last big thing... but that's not true. The last BIG thing, is the auto-update system. This is huge as it finally lets us do small, quick updates, and to fix bugs that are stopping developers make the games they want. In the past, doing and update was horrible, but now, we simply release it into the web and everyone finds out about it and can download it. I hope this will make life easier for everyone!

So while there's a few other things in there - like full script searching, these are the biggies for Standard users, so what about Lite?

Well, first off you do get some of the new features (like the font update), but some are held back for standard users only (like script searching), and yes, there is a new TV style logo in the Lite edition, and there is an ad for GameMaker on exit. Upgrading to Standard removes these additions.

However, since we're adding further restrictions, we've also decided to "give something back". So, we have enabled ZOOM in the room editor (which is actually a biggie), and have also taken the decision to allow access to draw_sprite_ext(), which allows you to specify an angle, and an alpha value. This is another BIG change, as you will no longer will you have to pre-rotate all your graphics. This saves effort, and reduces the size of your games significantly.

So, along with a heap of bug fixes, we hope there's enough in here that makes everyone want to upgrade.

14 Smart arse replys:

Anonymous said...

You do realise that there already is a program called GameMaker?

Mike said...

Yes, but since it's such a generic term you can't copyright or trademark it, so the only other issue is getting confused with it. I don't believe that'll happen, if you search for GameMaker, you still find us first.

The "other" GameMaker:
"GameMaker is an easy to use card based development system which allows you to create adventure games with graphics, buttons, and text. "

So I don't think it'll matter.

Kinta said...

I like the additions und updates. Thanks for that!
But as a pro (now standard) user for over a year I'm really asking myself how anyone could still be using the lite edition. ^^
I know there are some reasons, but the whole pro package is so awesome it still makes me wonder.
Keep up the good work and I hope there will be some updates of the sound system in the future. :)

Kinta

Knuked said...

Mike, do you have a twitter account? It would be nice to stay up date with your blog without having to physically check, I'm a tad lazy at night haha.

Tommy said...

And if you release/update the manual for GameMaker 8.1 please do me a favor and add a table of contents and page numbers into the PDF document! Makes finding stuff in a printed version so much easier!

prinsu-kun said...

Hello Mike :D

I'm very interested for
multi-language support in future ^^

I hope the (Arabic/Hebrew/Japanese...) text will be support, and in yoyo consideration.

to be honest, sprite to font function may work good with some Asian languages, but it's nightmare for Arabic or Hebrew Especially.

keep the good work

Prinsu-Kun

Mike said...

Twitter link now on sidebar.

There's an updated doc, but I'm afraid it's just an update of what Mark did already. There will be future doc updates though as we got a heap of spelling corrections from a user, and we'll do them at some point.

We've started multi-language support, but it isn't working just yet - we're missing something and finding it hard to do it with a standard windows install and UK keyboard! You can pick an Arabic/Hebrew character set, but I don't think the Japanese selection will work, however I could be wrong... But basic multi-language support is coming in a future update, with UNICODE in the next version.

Just to be clear...next update/revision is a GM 8.x based product, while the next version is GM???? (something) based.

Orlando Jesus Rodriguez said...

Will layer names and additional tiling tools such as: fill tool, copy/past tile region, be in the updates pre-GameMaker 9?

Would be allot quicker if i knew what layer contains what, by naming them. Also, it would improve workflow speed if you can block off sections of a map using a fill tool, and then copy/paste an assembled tile house as an example, without redoing the tiling again.

Keep up the good work!

Paul said...

Too bad structures didn't "make" it in this version (yet). Really had my hopes up for this. - Are structures still planned for the GM8-family? Or are they in the fridge waiting to be reopened for gm9?

Other than that: I've got to see how the auto updater works out for me, might be a blessing might be a curse. I have become 100% dependent on "gmapi", it allows dlls to have internal access to gm's datastructures, variables & functions. However it uses hard-coded pointer-offsets, and with an auto updater even small updates to prevent a new debugger would mean this has to be rewritten..

Anonymous said...

Great news! YoYoGames has been working hard lately. However, i think Lite users are getting too many restrictions. I'm not complaining, since i am a Pro edition user. But i don't agree with crippling the software by removing basic functions such as script searching.

Parash said...
This comment has been removed by the author.
Parash said...

I have a question regarding GM8.1:

Why was the file size of an empty project increased up to 4MB?
The compilation process also takes much longer now, which can be very annoying while testing.

Anonymous said...

Hej Mike,

I've stumbled upon this project by accident. Seems like a great tool I could need very soon...and it's OS X!

I'll give it a try.

But originally I wanted you to know, that one very small (!) fact in the Lemmings-Story is wrong.

This loadingscreen (http://www.javalemmings.com/cgi-bin/imagepage.cgi?oldlemmingsscreen.jpg) was used in the 5(+2?)-level Amiga-demo of Lemmings.

Best regards - Michael

pucone said...

Hi Mike! Not sure if you still check comments on this blog, but I thought I'd stop by and see if you've looked at the sudden proliferation of Unexpected error occured when running the game" errors in 8.1?

I've looked into the bug tracker and noticed that a lot of people have reported seeing this in 8.1, along with lots more on the GMC. This has affected several of my own projects as well, of course. Any thoughts?