GameMaker: Testing two game instances at once

If you are using GameMaker: Studio to create multi-player games (via not-so-recently added network_ functions or by utilizing existing DLLs) without separate projects for server and client, you might have stumbled upon one annoying limitation - you can't run two instances of game from IDE.

From a glance, this looks like a small issue, but it gets tedious really fast - to run a second instance, you have to either compile the game (takes time and monotonous file dialog actions), or find a compiled .win file in depth of temporary directories (or otherwise retrieve it's location via means of WinAPI), and pass it to the runner via command-line, like

...\AppData\Roaming\GameMaker-Studio\Runner.exe -game (path to *.win file)

But that's no fun, right?
At least I've found so.
So I took a bit of time and made a small GML snippet to lift this unfortunate limitation.

Continue reading

GameMaker: Click ‘n drag to pan view


Today I'm going to tell a bit about implementing "click and drag to scroll" type of effect in GameMaker. This particular thing is useful for strategy games (and normally bound to middle mouse button), applications (where visible area may exceed available window space), and various mobile games and applications (where visible area may be panned by tapping and dragging the finger).
Effect itself looks like this:

Continue reading

GameMaker: Opening GM5/6/7/8 projects in Studio

Opening GameMaker files with GameMaker: Studio

One of first questions ever when starting with GameMaker: Studio is how does one open pre-Studio GameMaker projects (such as GameMaker 8.1, GameMaker 8.0, 7, 6.x, 5.x...). If you got here from search, you probably already tried opening these by dragging them over the program window or attempting to pick these from "Open" menu which does not allow to switch file types. Thus you are probably thinking something in the lines of this now:

Sad handdrawn character standning. Caption says 'Rewrite all the code?' in italics.

But no, of course it isn't that bad (why would someone do this to you?), and you can get your projects running in GameMaker: Studio by importing them. This posts explains how and why.

Continue reading

GameMaker: Compacting Studio project files

If you have ever inspected directories of newly created projects for GameMaker: Studio, you may have noticed that even the seemingly empty project does "weight" a bit. 4 megabytes, to be precise (or 2 and half if zipped). Now you could say that it's not a lot nowadays, but it does stack, and those extra megabytes now and then could have came useful somewhere else (especially if keeping multiple backups of same project or periodically sending it over to someone). And, overall, it's a bit more than you'd logically expect from something that doesn't do anything (yet).
Reason of this is that upon creation your project looks roughly like this:

That is, most of space is occupied by Configs folder. It, in turn, mostly contains data and placeholder images for entire variety of platforms that GameMaker: Studio supports.
A thing is that far not many of those are actually needed in most situations, since splash screens and icons are commonly replaced with game-specific ones, and items left unmodified are commonly not used at all.
This post goes a bit into "optimizing" GameMaker: Studio projects a bit to reduce filesize drastically.

Continue reading

GameMaker: Window sliding effects

Window sliding example for GameMaker

This post is about creating window sliding effect such as seen in my old program called GMConveter. Program itself was a bit of joke actually, since at the moment of it's publication the only actual difference between GM80 and GM81 formats was a version byte in file header, which GMConverter would change, making files compatible again. Not too bad of functional part for something that was downloaded over 4 thousand times over course of two years, right?
Apart from inner simplicity, it also had nice visuals, including a nice window sliding effect used on start and end of program. And that's what this article is about.

Continue reading

GameMaker: Troubleshooting strange outlines on images

Strange outlines around images in GameMaker and fixing them
With the glitch (left) and without (right)

If you've ever tried to scale imagery (sprites / backgrounds) up while having texture (/pixel) interpolation turned on, you might have encountered some drawing artifacts. These normally look like the left part of above image, being either random black/white dots or a whole semi-transparent outline around the image. This article goes a bit in-depth about why these occur and how to fix them. Continue reading

Love2d: Shooting things


As it was asked few times, how exactly bullets are handled in love.blast(), I suppose that this deserves a separate post.
Thing to say about source of love.blast(), is that with great performance optimizations comes great complexity of code.
Thus, here things will stay simpler, and probably a bit slower, however you probably will not notice that until having thousands of bullets on screen at once.

Continue reading