You are on page 1of 40

0.

CONTENTS
1

Table Of Contents
1. ARTICLES
What's Going On........................................................................................ 2
This Issue... Exclusive: GMTV......................................................................................... 4
Developing a Game................................................................................... 5
We're back! Yes Issue 7 is on your monitor and ready The difficulties of making a MMORPG.............................................. 6
to read. This issue is once again a large issue that is 40 Developing a MMORPG.......................................................................... 7
pages. Last month has been full of ups and downs for Furure of our Game Makers............................................................. 10
both GMTECH and the GMC but let’s hope for the best Unfairness of Novice Q&A..................................................................10
in September. User Opinion: What is you favorite genre? Why?.................... 11
2. GMDEV
On the GMC we've had the new GM Awards for 2007 Game Maker Tips................................................................................... 12
start, a possible new resource "Game Maker TV" being Resource Counting................................................................................ 13
discussed and we have also seen the much loved How They Did it: EXE creation in Program Creator.................16
64Digits going up and down causing problems for Tut: MMORPG.......................................................................................... 17
resource links on the GMC. Tut: mplay Chat....................................................................................... 19
Pixel Art Tutorial..................................................................................... 21
As you can see, we have made some improvements to Return to Sector 9 effects................................................................. 22
the magazine from your feedback from issue 6. You Interview with: Geou - GML techniques & anticipations.........22
can read more about this in the What's Going On 3. GAMES & REVIEWS
pages. Exclusive: RhysAndrew's Scrap Works......................................... 23
Preview: Falcon Squad......................................................................... 24
GMT has been quite slow lately as far as submissions Preview: Meditative Level Creator Beta....................................... 25
and suggestions from members and guests. However Preview: Advance Pet Engine............................................................ 26
the staff have been well at work planning ahead for our Preview: Worms!...................................................................................27
anniversary issue. This issue should be available in Review: GeRMS....................................................................................... 28
December, this gives everyone plenty of time to give Review: Brix............................................................................................... 29
suggestions for articles, resources and pretty much Review: PhotoWeb 3.1........................................................................ 30
anything for the anniversary issue. So if you have an Review: Airbase 101............................................................................ 31
idea (even if it might be crazy) we would be glad to hear 4. EXTRAS
it. Other then that you can join in voting in polls or taking Interview With: TheMagnitude..........................................................32
part in any of our discussions on our forum. Interview With: sakisa.......................................................................... 34
Comic........................................................................................................... 35
Well that’s enough from me. Enjoy reading and we hope Adverts....................................................................................................... 36
to hear from you soon. Free Applications.................................................................................... 38
Closing......................................................................................................... 39
gmjab
Editor Staff
gamez93........................................................................... GMTECH Owner
gmjab.................................................................................. Magazine Editor
rup13.................................................................................. Assistant Editor
Alex........................................................................................................ Advisor
Cubex DE...............................................................................................Writer
mememe.............................................................................................. Writer
Keysle..................................................................................................... Writer
Medieval..................................................................................... Researcher
GMmarine..................................................................................Researcher
Bob – 11500k....................................................................... Comic Artist
the9thdude..................................................................................... Reviewer
Hiyukantaro....................................................................... Pixel Tut Writer

Online
Website......................................................... www.gamemakertech.info
Forum........................................................www.gmtech.invisionplus.net
1 Email........................................................ gmtech.magazine@gmail.com
1. ARTICLES
2

Whats Going On
GMT: It's what you wanted GM Awards 2007 is here!
After issue 6 was released a lot of people requested the text It's that time again, GMAwards 2007 has started and you can
be fixed because it was blurry. Well for this issue we have now vote for who you want to receive an award. Just go here
given it a go and made the text separate to the page image. and vote for you favorite person.
This update also reduces the file size as well. This update to
the magazine will allow you to zoom in and still read the GMSHACK
content, however not all text included in the magazine is on a Looking for a new GM website host? Then GMSHACK is for
separate text layer. This means some text will still go blurry you. GMSHACK is solely devoted to hosting GM only related
when viewed with a zoom higher than 100%. But it's better site and has 2 good plans available(both of which are free).
than before. GMSHACK has friendly staff and you don't need to give away
any of your personal detail to get a site. All you have to do is
GMT: Spam...What spam? simply apply on their forum. GMSHACK has a special offer
If you have been to the forum recently you would have seen available to GMTECH Magazine readers only. This deal will
the announcement of changes to the advertisement allow you to have the large plan AD FREE! So check out this
submission forum. The advertisement forum was changed so great new service today at www.gmshack.com.
that only members can post their request for an
advertisement. This step was taken since the spam started to GMK Format Cracked!
get out of control with at least 3-4 spam topics full of We all knew it was comming, it was just a matter of time. Yes
drug/porn related links in them. Since implementation of this the Game Maker 7 save game format has been cracked by a
new rule we have not received even a single spam topic. We person going by the name of Quadduc. This spells good news
hope that from now on you will enjoy a cleaner forum to post for the creators of game porters such a G-Java and LGM as
in. We would also like to apologize for any inconvenience this the format can now be read. As for the rest of us, it shouldn't
may cause to people submitting the advert banners. We hope be any cause for concern.
that this rule will not be needed for a long period of time.
GM to be ported...possibly
GMT: GMTECH on Game Make News! YoYo Games has been thinking hard about the portability og
GMTECH is now on the new updated GMNews site. Through Game Maker. In a recent Glog post they have mentioned that
GMNews you can find out all the latest news on whats they might change the runner code for the GM executables to
happening at GMTECH. Also on GMNews you can subscribe to allow portability. If YoYo Games takes action it shouldn't be too
our feed and get news updates all the time. To check out long before we are play our game on things other than
GMNews goto gamemakernews.com. Microsoft Windows.

GMT: Site Updates Goodbye to GameCave


GMT has been going through many changes lately. Not only is No this isn't the kind of news we want to hear. Yes, GameCave
the site getting updated more often but we have put all the has officially shutdown. A notice written by RhysAndrews
issue on the site. In the 'Download an Issue' page you can see which now appears before you enter the old site explains the
a preview of the cover and have a choice to either view the reason for closure. Even though GC has closed it is still good
issue online or download a copy of it. The next page we have to hear that RhysAndrews is not giving up Game Maker
added is the links page where we will store useful link to sites completely and will still be around on the forums sharing in
for all game makers to visit. Our previous mail system wasn't discussions.
working correctly, so we have updated it with another system.
Since RhysAndrews first started using Game Maker he has
Next we plan to add the ability to read certain produced over 200 works as noted on the site. For this issue
articles/reviews online so you don't have to download the we or proud to present you with a few of his scrap works.
issue to read it. This will also help if you wish to link to one of These works aren't full games, but just smaller tests and
our articles too. works which you can learn from. For more information see
page 23 which includes information on these works.

2 ?
1. ARTICLES
3

Whats Going On (continued)

Sites to visit What if you are doing Maths and you are a confused. You
Find good Game Maker sites can be hard., so we have done need to know just one simple sum, nothing major. But it takes
some searching for your. These site below are perfect if you a while going through menus after menus or folders after
looking for GM resources. folders to find one calculator.

GMLScripts.com - [ Link ] With useful tools to find out anything from conversions, simple
Looking for a script on GM dedicated site? Then GMLScripts sums, percentage, anything you can find everything you need
is what your looking for. GML Scripts has many scripts in a small little box right there waiting for you
ranging from string scripts to HEX scripts.
What about if you haven't got a good memory, you need to
make notes but windows doesn't come with a Todo list. Well,
widget does. It has everything from a Todo list to a notepad
right there waiting for you.

But after all that work and reading you might want to relax
and take a break. Maybe you are in school and Games
Websites are blocked, maybe you don't even have the
Game Making Resources - [ Link ] Internet, maybe you just don't know any good games websites.
Game Making Resources if full of resources ranging from With a choice of many games from Flying Sheep to Sliding
sprites to examples. Game Making Resources is a fairly new Puzzles, Widjet has something to entertain every age group,
site but it still contains many great resources. and if games aren't your thing there is a sound player and
soon to be a picture slide show.

What about if your children (or you are a bit childish yourself)
want something to do? Well, Widget comes with a paint
programme which is easier to use than windows paint and
with far more amusing effects.

And if you can't find what you are looking for you will probably
GMToolbox - [ Link ] find it somewhere on the Internet, but where?
GMToolbox is a very new site. GMToolbox basically is a large
directory for DLL's and Extensions for GM. GMToolbox is a Quick Links is a unique feature to Widget which links to a
very simple to navigate site and you will find what you want variety of different website including YouTube in the
easily. Entertainment Category to MySpace, Facebook and Bebo in
the Social Category to Local BBC News in the News UK and
US category.

And after a busy day, all games played and with nothing to
check you can choose from visual effects of all types, mature
or silly and leave widget there waiting to be used again.

And what makes Widget so full of variety? GMC has been


helping contribute by making widgets of there very own and I
SHOUT OUT by Dan1 still need your help today. Go to this topic to make a widget of
“When you are sitting at the computer, doing your work, your very own, if yours is included your name will be shown to
perhaps coursework, do you stop and think "How longs this everyone, everyday in the growing collection of Widgets.
computer been on for?"
When complete, Widget will be available in 3 versions. Home,
With tools that read your operating system, the system clock, for all the family, Office, for the mature business and Plus, for
how long your computer's been on, how much ram you have anyone and everyone.
and how much is being used and more you can find out
anything you need to know about your PC. I'd like to thank everyone for all their support and hope to enjoy
more support in the future.

Thanks a lot - Daniel John :)”

3 ?
1. ARTICLES
4

Exclusive: GMTV by Danny

Gamemaker TV is an Internet web show where users submit Episode 1 will be coming out mid-September and if you'd like to
there Game Maker games to our website and then, if get involved in future episodes, all you have to do is visit our
accepted, we will place then on the show. On this show we website gmtv.revelgames.com, then click submit a game for
review games, programs, examples, both preview works in review. After submitting your game, we will e-mail you. Episode
progress and completed works. 1 will come with five different versions, two streaming and
three downloadable.

What’s the difference between a preview and a review you


may ask? A review is where we look at the item being The streaming videos will give you a pick of high or low quality,
reviewed and make some comments on it before giving it a however low quality will be really low. Then the downloadable
star review based on five stars. A “preview” on the other hand versions will have either high or low quality, but they will come
is where we play the work in progress; give some opinions on with all the things from the show like the games, programs,
it based on what we like and what we don’t like. We will most etc. that were all shown in the show for that episode. The
likely mention the release dates (if there are ones) but we third downloadable version will be called Dial-Up version, this
don't give it a rating since they would not be completed will be extremely low quality and won’t come with any extras in
games. it. This isn't required for dial up users just recommended.

Gamemaker TV is not just about filming the games, at times We Are NOT, I repeat NOT using Windows Movie Maker I am
you see me, Dan Eggers (the host) on green screen. This using Video Explosion Deluxe, FX Composite Lab PRO and brief
doesn't happen often but only perhaps during mainly the (and I mean really brief) use of Adobe After Effects. To record
introduction and closing, but you still do see me at times. the games I am using Growler GUNCAM registered and paid
Gamemaker TV is not made by “Revel Games” as all they work for version. My camera is not a low quality, but I don't know
on is the website. It's mainly all me, Dan Eggers, with the help exactly what the specifications are. It’s a Panasonic if that
of my friend Chris who did our major cool logo. But I write, counts for anything.
produce, direct, host and pretty much every thing else you can
think of, that includes water boy (yes I demand myself to get Also they want to close my topic on the GMC, so if they do,
myself water). move to my forum as we don't have many members. So
please go as well as also visiting my website
gmtv.revelgames.com. That’s all I have to say.

Dan Eggers

4
1. ARTICLES
5

Developing a Game by Cubex DE

Developing a game is a long and laborious process. In most What if you really have no idea how to go about solving a
cases, the better the game, the longer it took to make it! In problem? The first thing to do is to take a look at the manual.
this brief (in comparison) article, I will be taking a look at some Many beginning Game Makers fail to do this, but instead go
of the processes involved in developing a game. straight to the GMC and begin posting annoying and obvious
questions. So before you make a fool of yourself by asking how
Develop Plan to draw a sprite, read the manual.
A basic priority list should be followed throughout the
development of the game. The concept must first be polished If that still doesn't help (which is sadly sometimes the case),
to the point that it can stand on its own, and needs no support try asking some GM friends, such as a friend on the GMC or
from such planks as "prototype" and "idea." It should be a your nerdy friend at school, if they know anything about the
completed, totally stand-along concept. problem. Sometimes the tiny amount of knowledge someone
else has, plus the tiny amount of knowledge you yourself have,
This is not to say that the concept may not be modified during can cover just enough to help you figure out the problem.
development, far from it. Polishing the concept is a
continuously necessary factor but development should not Finally, if you can't find it in the manual and you can't get any
begin until there are no excuses necessary to rationalize gaps help from confidants, it's time to call in the troops. Post your
in the design. question on the GMC, but please, please don't post it in the
Advanced Q&A section unless you are an advanced user
Next, the game's structure should be laid out. What will the yourself and the question requires more understanding than
controls be? What happens if the player drives his car off the just ‘take a look at my code and fix it’. It's true; the Novice Q&A
road? What if he shoots his partner? What if he falls off the section is quite often perused by bored but helpful advanced
roof without first retrieving the parachute from the last level? users. Please don't post a question in Advanced unless you
These are all valid questions that should be posed and know that it is not a dumb question.
answered before continuing.
Debugging
The next area of interest is the sequence in which a game Next, how do you go about debugging a problem in your
development team should develop their resources. Graphics game? How can you find out what's going wrong? The most
are a must as games cannot function without them. But not obvious solution is to use the built-in debug mode to check
too much focus should be spent on graphics while still in early variables in real-time. Sometimes, however, you need more.
development. They can always be polished up later on. Try using the show_message script to display a number or a
message so you can see how far a script gets before failing to
Developing work properly.
The next thing the development team should focus on is the
creation and tuning of the basic engine, meaning the objects
and their interactions. Finally, developers should strive to
achieve “structural simplicity” by using scripts and parent
objects to add modularity and emergent behaviour to the
engine.

Finally, the game should be polished. All graphical elements


should be redone and stylized to fit each other. There should
be no "sore thumb" graphics that will stand out from
everything else. Scripts should be tuned and formulas should Another good way to handle debugging situations is with cheat
be slowly adjusted until they are just right. codes. Did you know that this is where cheat codes actually
came from? Developers didn't want to have to play the whole
Getting Help game just to test out one little part near the end. So they
So what happens when you get stuck? What do you do when invented a way to skip levels, get certain weapons,
it seems that there is no solution to a problem that can invulnerability, etc.
possibly work? The first rule is this: ‘never try out a drastic
solution without backing up what you have in your project so Throughout this article, I've gone over the basic steps
far, first’. Failure to do so can lead to a frustrating amount of required to develop a game. Hopefully I've been able to at least
time and energy lost. get you pointed in the right direction so that you too will be on
your way to creating the next great Game Maker game!

5
1. ARTICLES
6

The difficulties of making


a MMORG by mememe
One of the most popular genres, which usually get the most JaketheSnake3636
attention at GMC, is MMORPGs, which is short for Massive “The thinking process behind making an MMO is a very
Multiplayer Online Role Playing Games. complicated one indeed. The person doing the programming
for it needs to develop their own techniques on an immense
amount of features that usually tend to deal with networking.
This includes decreasing game lag, lowering bandwidth usage,
optimizing performance, and of course,

1. Lag: Until household modems can bring in pings of 40 or


lower on average, it is important that you (the programmer)
can develop some intelligent ways to manage data being sent
and received effectively. Doing this is not always easy because
a player’s ping tends to fluctuate rather frequently. You can of
There are many well known MMORPGs at the GMC which course overcome this lag by making it as invisible as possible.
examples such as Slime Online, Stick Online and Nightfall I wrote a tutorial that can be found here that demonstrates
Online. Although these games can turn out well with the one technique to mask lag. It sends variables between players
potential they have, and become a great game, there are to demonstrate smooth online movement and can help make
many problems and difficulties faced by the creators of the visual difference between a player online, and a player
MMORPGs. Many people do not see these behind the scene, sitting right next to you, much more minimal.
but the world of making a MMORPG can be hell for many.
Having spoken to JaketheSnake3636 (the creator of Nightfall 2. Bandwidth Consumption: When programming the
Online) and BlaXun (the creator of Slime Online) off of the networking for your MMO, you need to be very careful in how
GMC about the problems and difficulties faced in making a you go about things. If you become careless, your game’s
MMORPG, I found out they both had similar problems. bandwidth could get eaten up extremely quickly, which in turn
will increase the amount of lag being produced. What you
Starting with Slime Online, BlaXun had stated that keeping the need to do is lower the amount of data being sent and
players synchronized with each other was difficult, and then received to only what is necessary. Let dead reckoning take
went on to state that another difficult part of Slime Online was its course by assuming what is going to happen based on
lowering the traffic from the client to the server and vice certain variables already known. This will help save a large
versa, by added movement simulation. Lastly, BlaXun stated amount of bandwidth, which is important when more and
that room changing had become difficult, especially with Beta more players join your game.
7, as he had found a bug which had been bugging him. His in-
depth comments can be found on page [number] of this issue. 3. Optimization: When programming my MMO, there were
often times I noticed that other players were getting low
On with JaketheSnake3636, just as BlaXun had said, he frame rates. Even though all games need optimization, online
stated that keeping everyone, who is playing at the same time, games tend to require a bit more horsepower to deal with
in-synch without too much lag was difficult. At the start, larger environments and lots of players. To help fix this
movement was easy, but then came all attacks, spells needed problem, here’s a basic list of things you can do to increase
in the game, and it soon became much more complex. The your game’s frame rate:
next thing he faced was the FPS or frame rate of the game.
He needed to keep the frame rate up, or else on someone -Turn precise collision checking off on all sprites that aren’t
else’s screen, it would look very bad as the lag would cause using collisions.
stuttering and freezing. He programmed something to help -Disable/deactivate sprites and backgrounds located off the
with the movement, but with regards to all of the other stuff, it screen.
did not manage to stop all that as well. The last thing that he -Give players the option to turn down certain effects being
stated was that making online games had a different set of used in-game.
bugs to making offline games. For example, as he explained, if -Program a system to destroy other players, and stop
he was sending a single byte which can hold a data range of 0 receiving packets for them if they are not within your view
to 255. If the value that he is sending jumped over the limit, area.
the packet would not send at all, and then cause the game to
appear a buggy piece of mess. Also, if something did not work,
then it could take weeks to figure out the source of the
problem, and to fix it. Here is what he had to say in detail:

6
1. ARTICLES
7

The difficulties of making a MMORG (continued)

-Optimize your code! Don’t get sloppy or it’ll come back to So this concludes the article of 'The difficulties of making a
haunt you. MMORPG'. With many difficulties facing creators of
-The step event is your enemy! As useful as it seems please MMORPGs, the creators may be in depths of depression
remember to only use it for the things that are necessary. when something fails to work. Although it may be a difficult
Alarm events are your new best friend. and treacherous path to make a MMORPG, if you’re skilled
-Include techniques to keep the game going at the same pace, enough to make one, I suggest you go ahead and give it a try.
even if the FPS dips a bit. If you fail, it doesn’t matter, as long as you tried.

Using a combination of these methods can really help keep


the game smooth and fun to play. As long as you stay
intelligent with your coding, this shouldn’t be too much of a
problem.
4. A Unique Experience: It’s not every day you see an MMO
testing uncharted waters. Many of the online games plaguing
our gaming industry are dead set on following a formula
similar to that of its predecessors. Instead of following the
same old “tried and true” formulas that currently exist, don’t

...
be afraid to explore outside of the normal. Yes, it can be very
difficult to create a unique gaming experience, but what’s the
point in making an MMO that feels like ones you’ve already
played? Surprise the world! Give us something we’ve never
seen. Maybe more game creators will follow your lead and
advance the MMO genre into something better than it already
Want more help in making an online RPG? Then Check out
is.
pages 17 - 20 where there are 2 tutorials provided by
- JaketheSnake3636” GMTutorials.com. Also check out the guide written by BlaXun
on page 8.

We then caught up with bobhoil who gave us his own


comments on the difficulties:

Bobhoil
“Programming online games is hard to a degree. The problem
that you have with developing an online game in Game Maker
is the amount of lag. You have to set it up correctly so that
you don't get lag but everything will still run smoothly. So with
that said personally, I think some people will agree with me
that the hardest part is the communication between the
server and the client. As that is the main part mostly of an
online game, you have to get it right the first time. That is why
we are making a new engine for Demon Online. So the main
difficulty is probably trying to get everything working together
how you want it to.
- bobhoil”

7
1. ARTICLES
8

Developing a MMORPG
by BlaXun

Hey there everybody. This is a small article written by myself 3. All the fun around online games:
about different aspects of developing an online game. The It's not all bad, actually most parts can actually be pretty fun!
problems of online games (made in GM) will especially be an Depending on the kind of online game you create, you will still
important part here. I hope you have as much fun reading as I have your own little world running on your computer. It's pretty
had writing it. interesting when you give the players the ability to change the
game world on their own. For example, the next version of
1. Planning an online game Slime Online will have the feature of planting seeds and
So you decided to make your own online game? Great choice, growing trees. The player can buy seeds or mix seeds and
online games usually have a long life-time compared to other then plant them. Trees made by players will grow all around
games. An online game can quickly get players addicted. Of the game and make each of the maps different from how they
course it all depends on how you make your game. looked at the beginning.

First off, you need to do basic brainstorming as you do for Another thing is that players can sell their collected items.
every project: This will allow the players to set their own market values for
the game. Some people might sell their items at an expensive
-Do I have the knowledge on how to make an online game? rate while others may sell some cheap. New players will sell
-Do I have the requirements to run a server? their item at an average price which is neither too cheap nor
-Do I have the time to work on such a project and keep it too expensive. The system of the game isn’t any longer
entertaining? decided by the host/server but by the players, and that’s what
-What kind of game do I want to make (Beat ‘em Up, Jump ‘n’ makes an online game worth playing.
Run, Top-Down Shooter, Racing, etc)
-What features MUST my game have? Many people will also want some kind of PvP system (Player
versus Player) which is always a good idea (depending on the
Okay, so you’ve got some ideas? Great, let’s go on. game’s genre). PvP will allow players to compare their
strength with other players. Weak players will seek for more
2. The first steps: power and strong players will try to keep their existing power.
So, here we are. We’ve got an idea flying around in our head,
so now what? Easy! The first programming sessions will be There are many things beside those I have mentioned that
really boring. You'll have to get the movement system done, can make a game enjoyable. Of course I think the basics would
however you might have to make a registering function as well be:
and you also might run into lots of problems. Always
remember to keep the amount of transferred messages -Communication (Chatting, yes I know Slime Online only has
between server and clients as low as possible. limited chatting, but I have my own ideas about this ).
- A world to explore.
A small example: - The ability to compare yourself with others.
In a top-down shooter don’t let the client send his x, y, - The ability to change the game by yourself and make other
sprite_index and image_angle variables all the time, but players realise your existence.
instead make the client send this information only once he - A solid engine so nobody gets frustrated by bad connection
starts moving. Just send the current x, y and direction or movement troubles.
variables he will move to. The rest (like image_angle) can be
calculated by the client that receives the message via the 4. The troubles of online game development
server. So, here we go, finally the negative side will be revealed. Some
simple things that should be avoided are the following:
In my first online game (Battle Turrets Online) I was sending x
and y all the time. Well, I didn’t experience any problems - Don't send too many messages from the server to the client
because it was limited to 2 players only, but when I started and vice versa, keep messages small.
Slime Online and used the same method again it became - Don't send messages to players that are unnecessary.
troublesome. I had players that were really lagging; rooms (Example: Player 1 is in room A and Player 2 is in room B,
with 5 players that weren’t synchronized anymore so quite make the server realise that and only send messages from
honestly the game couldn't be enjoyed anymore. Now with client to client if they are in the same room).
beta 7, I (finally) managed to simulate the movement for all - Test your Game with a team, as you can not test it alone to
players (thanks to Jenner from the Game Maker Community). its full potential. An online game can have many small errors
Yes, the first steps will be pretty frustrating and troublesome, that you will only realise by playing with others.
but it’s not all bad, so read on! - Protect your game from hackers!
- Successfully open a port on your router/firewall before you
even try to host a server.
8
1. ARTICLES
9

Developing a MMORG (continued)

Now I mentioned hackers, they are the big problem for The first problem you have, not every player will like the style of
homebrew online games. Many people will just try to ruin your your game and there's nothing you can change about that. If
game so nobody enjoys it anymore. Why? I seriously have no somebody doesn’t like anime/manga you won’t be able to
idea why people should do that, maybe they just can’t get make him enjoy a Naruto MMOG. If somebody doesn’t like the
anything done by themselves and therefore don’t want you to simply comic-style of some American drawings, he wont enjoy
accomplish your goal. But what can I do to protect my game your graphics. But don’t think it’s all about graphics. A MMOG
you may ask? Well, first off, save the player’s IP address, and should offer much more than just graphics. Why else do you
maybe, MAC address on your computer. Next, make a give people the possibility to play with many other players?
command to ban players. Ban them by their IP and MAC Your game will need some kind of "learning curve" Let the
address. Admittedly, both the IP and MAC address can be Player start kind of "dumb" but let him get more and more
changed, and here's where the trouble begins. Hackers won’t experienced over time.
just give up like that; they will change IP and MAC address and
come back. So, what now? You don’t really want to ban them For example:
manually each time they ruin the gameplay for others. The In an RPG you usually start on level 1, but as time goes by you
solution would be a good system to detect hacks as soon as will quickly find yourself on level 20. You get more armour and
possible. The most important part here is to let the server more weapons and all newcomers will look up to you. This will
keep track of what’s going on with each player. show others that the game offers more to them and it will
show them that you can become stronger as you continue to
An example: play and progress. If you don’t understand what I am saying
A player logs into the game, you send him the information of here then you should check out Almora Online (made by Borek
what he has in his item slots 1, 2, 3 and 4. Now the Player is and his great team, I don’t even know if he has a real team ).
happy he got his stuff. Great! Wait, that’s not it, let the server Each different game genre will require another strategy from
also remember what the player now has in each slot. Now, the creator to keep it enjoyable for the players. Try finding
this Player wants to sell the item on slot 1. The server knows your own way of keeping the game fun. Don’t copy too much
that the item he has on slot 1 has the index of 5, but suddenly from other games; try to add fresh ideas to your game.
we get a message from the client saying he wants to sell his
index 7 item from slot 1. How did that get there? It’s just not Well, I don’t know what else I could write about online games, I
possible without hacking. Congratulations, you just found a just know that they are the most fun to program personally.
hacker. Ban them by IP address, MAC address and name. It's great to let programs communicate with each other and
Now he can go look for another game. have your own "small world" running on your computer. You
should really give it a try!
It’s really important for your server to check nearly every -BlaXun
incoming message from the clients. Check if the value you get
can be true. Just remember, NEVER trust the client! I don't
say I know all about preventing hacks, even Slime Online can
be hacked easily, but item changing or such simple things are
not possible anymore. I am still learning about preventing
hacking myself, but I share as much as I know with everybody
who reads this.

5. How to keep Players playing my game?


Now this is quite ironic that I write about this because many
people have said that Slime Online is boring. Well, I have to
admit that the game does have its limits, but it is still in beta,
and I can just do my best to add some challenging features.
But this article isn’t about my game, but about YOUR future
project! So onto how to making sure people won’t just play
your game once.

9
1. ARTICLES
10

Future of our Game


Makers by Keysle
Most of us began to use Gamemaker in an attempt to bring While interviewing another member face to face,
our imaginations to life; in fact, all the individuals I interviewed BLUEWINGS4 says: “I know I haven’t made any games yet but
wished to do some part of game developing as a career. Truly I am intending to learn how to make them.” He then goes onto
Gamemaker is a steady base to start with such dreams. say: “Games are my life, it’s all I do.” This is solid evidence of
how the future of our fellow Game Makers is surrounded by
According to the book ‘Where's Your Head?: Psychology for developing games and using these pre-career preparations to
Teenagers’ by Dale Carlson and Carol Nicklaus, teenagers launch them to that point.
that take the time to take an understanding towards a subject
matter will seek or fall into a career that will make good use of What about in our immediate future?
there natural and trained abilities. Obviously YoYo Games Spectators may find our hobbies and interest a complete
(YYG) associates focus their attention towards the production waste of time and suggest it as unhealthy and obsessive. This
of games. We have taken a front row seat to see fellow GM is wrong! I have three fellow classmates and we have all used
users use their natural abilities in creativity of music, art, and Game Maker for school projects and other useful simulations
even math. However even more so, we have seen their honed we have managed to make it work for. It has also kicked in
abilities and skills they have gained from their first game right some extra money for some households. This is a tool we can
up to their most recent one. make heavy use of starting our first jobs; programming a
system to keep up with inventory stock, maintaining budgets
One example of this natural creativity comes from one of our and creating systems for employee work hours.
fellow YYG members, Sheepdog88. He has created a game
called Mutu or also known as Mutu 1.5. This game is stunning Game Maker has, for sure, proved to be a useful tool to resort
with very creative and unique gameplay while preventing to in our current lives, and many of us know this from
boredom by pitting the player up against 54 mind-wrenching personal experience.
levels. Another brilliant example is from YYG’s Soup42. He
has impressed us all with fresh appealing graphics and lots of GM Survey [ Link ]
delicious gameplay. Psychology of Programming [ Link ]

Unfairness of Novice Q&A by mememe

The Game Maker Community, or also known as GMC, is a Unknown to the rules of GMC, usually they would become
great community. It has many amazing people who have angry if no one has replied to their topic in small time period.
contributed, helped and done much more for their fellow They begin post again, breaking the rules by bumping it up the
members. topic listings before the three day time period, when another
member would normally help them, while also informing them
However, there are also other members who do not have the that they are breaking the rules. They would start to flame and
courtesy to read the rules. With the release of Game Maker the topic creator might bump some more, although they do
7, many visitors have joined the community and started using end up with an answer to their question.
Game Maker. The vast majority of these members have good
behaviour, while many of these members are great as they On the other hand, those who have also just joined and
have contributed to GMC, or are in the process of understand the rules do not illegally bump their own topics.
contributing. On the other hand, there are also many Many people seem to not notice these well structured topics
members who break the rules and think that they own the amongst the sea of badly structured topics with bad spelling
place. and grammar. This is very unfair, and I urge everyone to read
the rules located here.
"Tramping around", they begin by making a topic in the Novice
Questions and Answers forum. Usually many of these do not Read all of them and learn them off by heart and think twice
use proper English in their posts; as I failed to do once which I before posting a topic in any of the forums on the GMC. Soon
shamefully admit: you’ll be a good or even great member of GMC enjoying the
pride of being one.

Thank you all for reading this and to those who follow the
rules.

10
1. ARTICLES
11

User Opinion: What is


your favorite genre? Why?
GMC Staff Opinion: Damaged User Opinions:
“Recently I was asked what my favorite game genre was and
why. After some thought I decided that my favorite genre is 2 Elmernite
dimension platform games. Easy enough, 2d platforms. But “If you mean to play? Then you ask a very hard question. When
why? The answer to this question is a little more in depth. I properly done, I love many genres. However, if you force me to
hope I can open a few eyes on why this is my favorite and pick one. I love platformers. Something about how the simple
perhaps make people appreciate this genre more. gameplay; move, jump, and maybe roll or shoot. Can be
combined to make such a Challenge. It seams like you could
When I grew up, Nintendo (NES) was king. It produced some beat everything so easy with so few controls, but it's not.
of the most copied games ever. For instance: Mario, Mega When you put all of those elements together properly, you can
Man, Zelda and many others. What made these games so make them extremely difficult. Throw in a good story, nice
great? Their shear simplicity. You don't have to put aside 2+ graphics, and challenging gameplay. You have my favorite Gm
hours to play and most did not require a save game. You genre!”
legitimately could start up a game and finish it in an hour. No
commitments, just a way to kill a few hours and no TheGameGenius
memorization of 800 buttons. There were 4: A,B, Start and “My favorite game genre for games made in GameMaker is
select. Anyone could play them with no knowledge of the "2D Top Down Shooter Games". I like these because they just
game. make me feel GM.Even when I am not playing a GM made one
It makes me think of it. They are also I believe one of the most
But that is true for just about any 2d, retro game. What popular GM games among many GM users in this time.I my
makes platformers special? Riddle me this, how do you feel mind Gm should be used for 2D.Not to say you cannot make
after making that nearly impossible jump? You feel great! 3D games in GM,but i feel like Mark himself made GM for 2D
Platformers offer that. Most of them come riddled with games. I mean this is I believe true and pretty obvious seeing
difficult tasks to over come and, if made correctly, a little bit of that GM has many more 2D functions. ”
puzzle to add to it.
Michael
Perhaps I am just a Mega Man fan boy and that is why I love “My favourite game genres are mostly puzzle platformers,
2d platforms, but I don't believe that there is any better style platform shooters, or anything that requires some nice
to play:) keyboard interaction. This is because I always like to have
some challenge in a game, but I always think that a puzzle
Enjoy, platformer for example, keeps me interested a lot longer than
Damaged” a regular puzzle game. I still want to have the feel of real
gaming sticking to it. Having to jump and run by myself in
order to solve the first part of the puzzle. “
Staff Opinion: gmjab
“Well my favourite game genre would be RTS(Real Time That said for puzzle platformers, platform shooters are
Strategy). I have liked RTS games for many years since the games that I love, too. If the physics and shooting are
well known Age of Empires came out. programmed well, and enough enemies come after me and
shoot at me, I can enjoy such a game for a long time.
The favourite thing I like about RTS games is the ability to
control a city/nation just the way you want it. The reason I like This altogether explains that I like a game with some good
them probably is because I can be proud of what I have physics, and having full control of what my character does.”
achieved(and be the greatest). This is why my second
favourite genre is Tycoon/Management games. Since I first Hellfire911
started using Game Maker I've had the dream of developing “My favourite Genre is MMORPG which is short for Mass
my own RTS game. Thankfully, that dream has come true as Multi Online Role Playing game, especially
I'm developing my first major RTS now “Tied Forces”.” adventure/exploration games such as Slime Online. The
reason I like these type of games is because, for one, there is
interactive with other humans, rather than computers. Also,
with Role playing games, you get to be a character, which
usually in a MMORPG, is able to customize that character. It's
fun to me to be able to customize my characters. Also I like
the Exploration parts because it shows me new worlds. That
might sound weird, but that's why I like them.”

11
2. GMDEV
12

Game Maker Tips by rup13

>> Drag & Drop Tip: Making a comment >> GM Tip: Object Information
When creating big games in D&D people tend to miss out on This button is over looked very easily and it can be of more
a value asset to any programming language. Instead of help than you realize. If your new to GM and D&D the object
scanning through masses of actions, you can insert information will explain the action s in D&D more clearer and
comments which can be read by the programmer, but are can assist in finding bugs. However if you can't solve a
ignored by the interpreter when creating the executable. This problem in your object and would like assistance from the
is good practice to make projects more organised, and also GMC, this will come in handy. The most simplest way to tell
easier if you leave a project for a while, only to return to it at a people whats in the object is just a copy and paste away.
later date and have forgotten which object does. Simply paste the information in your topic and this will prove
very helpful to the person trying to solve the problem.

>> Drag & Drop Tip: Quick D&D


Do you prefer things to happen quickly and often can't be
>> Beginning GML Tip: Grouping scripts
bothered to physically drag and drop the actions. Well by Some people may not think of sorting their scripts into folders,
right-clicking on the action, it saves time and automatically but it is recommended. As an example, if you had all the files
adds it to the end of the action list no matter how far up the on your computer on the desktop, would you find it easy to
list you have currently selected. locate certain files? Defiantly not! The same goes for your gml
scripts. If your game is going to consist of more than 10
Object Properties Keyboard shortcuts: scripts, you should make a folder structure to keep your game
Alt+N - Quickly change name of the current object
neat. This is also an advantage if you intend to share the
Alt+V - Check/Uncheck Visible source to others.
Alt+L - Check/Uncheck Solid
Alt+E - Check/Uncheck Persistent

>> GM Trick:Script Alignment


This is just a little trick that is quite useless to actually game
development. In the GML script editor you can actually set the
text alignment (Left, Center) of the code. Sadly Game Maker
doesn't save this information when saving the script. This
means the alignment will be reset. But if you would like to
check it out, here are the keys to set the alignment:
>> Beginning GML Tip: Commenting
Alignment Keys: People always like to make comments, so why shouldn't it
Ctrl+J - Set Left apply to your code. If you’re sharing your projects you want
Ctrl+E - Set Centre people to know what a piece of code does so there are two
different types of comments you can implement.

Type 1 is the single line comment which you start your


comment with '//' and only lasts for the one line.

//This is a comment, hello world!

12
2. GMDEV
13

Game Maker Tips (continued)

Type 2 is the multi-line comment which can spread over >> Q&A: Tank turret facing the mouse - [ Link ]
several lines. You start with '/*' and end with '*/', a bit like This user was having trouble getting a tank turret to face the
using tags in HTML. mouse position and was found in the Novice Question and
Answers forum. His problem was soon corrected as he
/*Hello realised he had the turret as a separate object from the tank
World and all he had to do was modify his code.

I'm on different Lines lostprophetpunk's solution:


1234567890
ABC*/ turretobject.image_angle =
point_direction(x,y,mouse_x,mouse_y)
>> Beginning GML Tip: My Constant Value
Have you ever found yourself writing out a variable over and >> Q&A: Create object on mouse click - [ Link ]
over again for the same value which doesn't change? Do you This user wanted to know how to create an objects at the
ever find yourself referring to different objects just to retrieve mouse position in the room. After a few comments the
that variable's value? Well you shouldn't have to because question was solved with this solution:
there is a handy thing called constants, and these are, well,
pretty constant. You can set them in the Global Game GLOBAL Left Pressed Event:
Settings and then when referring to a value in code, you use instance_create(mouse_x,mouse_y,object);
the constant. An example of how you can use them effectively
is when creating new colours. In the Global Game Settings we >> Q&A: Numbers to Subimages - [ Link ]
added a constant called 'black' and then set the value at This user created subimages for numbers in his game. He
make_color_rgb(0,0,0). Now when we use our code we can wanted to know to use them without have to create a
refer to the colour black easily: subimage for every number to a thousand. The issue was
solved with some simple GML provided by molloyboy08.
draw_set_color(black);
Molloyboy08's solution:
Of course black is already predefined by Game Maker as
c_black, but the idea is the same if you wish to create colours sprite_font=font_add_sprite(spriteName,
which are defined in Game Maker. ord("0"),0,1)
draw_set_font(sprite_font)
>> Advanced GML Tip: Finding the remainder draw_text(x,y,moneyVariable)
Instead of using an equation to find out the remainder of the

...
division between two numbers, there is always the modulo
operation. The equation to find a remainder is normally this:

r=a-n*floor(a/n);

This then stores the remainder in the variable 'r', as 'n' is


subtracted from 'a' and multiplied by the floor function of 'a'
divided by 'n'. The floor function of a real number x, denoted or
floor(x), is a function that returns the largest integer less than
or equal to x. Modulo operations simply find the remainders
like this:

r=a mod n;

It’s simple if you ever needed to find a remainder of a division.


You can read up more on the ‘modulo operation’ at Wikipedia
here.

13 ?
2. GMDEV
14

Resource Counting by Medieval

In big GM projects that you work on, you are bound to have Here is the script that counts the lines of all scripts together.
many sprites, sounds, scripts, instances etc. in your
GM6/GMK file. It would take ages to count all resources by
yourself, so here’s a tutorial that shows you how you can var MAXCHECK,TOTALLINES;
easily count these resources much faster using one script for
each resource. You can find the scripts and an example of MAXCHECK = 1000
how to use it in the ‘Resources’ folder. We recommend you to TOTALLINES=0;
keep this example opened while you read this tutorial, or to try
SCRIPTFL=file_text_open_write(
to figure this out by yourself.
"LNCOUNT.txt")
for (i=0;i<MAXCHECK;i+=1)
Let’s have a look at the script that counts the sprites: {
if script_exists(i)
{
sctext=script_get_text(i);
file_text_write_string(SCRIPTFL,
// arg0 = max index check sctext);
file_text_writeln(SCRIPTFL);
var TOTALSPRITES; }

TOTALSPRITES=0; }

for (i=0;i<argument0;i+=1) file_text_close(SCRIPTFL);


{ SCRIPTFL=file_text_open_read(
if sprite_exists(i) "LNCOUNT.txt");
{
TOTALSPRITES+=1 do
} {
} TOTALLINES+=1;
file_text_readln(SCRIPTFL);
return TOTALSPRITES; }
until file_text_eof(SCRIPTFL)

file_text_close(SCRIPTFL);
file_delete("LNCOUNT.txt");
This script is not as complicated as it might seem for some
users. First it defines the variable “TOTALSPRITES”. If i (the return TOTALLINES
number of sprites) is less than argument0 (the maximum
number of sprites to count), it adds one up if there is one
more sprite.
If you study this script for a short while together with the
For all other resources except for the lines in a script, this other script, you can see that the difference, although it might
script works exactly the same. look so, is not so big. This script only counts the lines of
actually scripts. With a bit of modification you could also count
The example also holds a script to count the lines in all scripts the lines of code in all the objects to. You could take this script
in your game. This script is not much different than the other one step further and count that characters in the script also.
scripts, except that it saves all scripts in a text file to count the However, depending on the size of the script this may be a
number of lines. After it’s done counting, the text file is deleted slow process.
again.
It is recommend that if you do use this script, that you only
use it in the development process. This is because if you
released this script in your game/program it would export all
the scripts in it. Even if you do not actually run the script in
your game/program a user may find a way to execute this
script.

14 ?
2. GMDEV
15

Resource Counting (Continued)

Now, let us look at how to connect this script to an instance, This piece of code goes in the mouse left pressed event of a
so that the number of a specific resource can be shown in a button object that you need to put in the room. The variable op
message box. is the resource that will be counted. It gives you a menu so
that you can decide which resource you wish to count. After
that, in the message it runs the specific script and brings you
the number of resources. The variable mic is the maximum
mic=get_integer("Enter Max Index Check: number of resources to count, so if the number of resources
(this doesn't count for scriptlines)","") is higher than the value of the mic variable, the difference
op=show_menu("Sprite|Object|Sound| won’t be counted with it.
Background|Path|Script|Font|Timeline
|Room|Scriptlines","")
switch op That’s another tutorial, we hope that we prevented you from
{ counting everything by yourself, and that you have learned
case 0: some things from this tutorial.
{show_message(string(sprite_count(mic)))}
break;

...
case 1:
{show_message(string(object_count(mic)))}
break;
case 2:
{show_message(string(sound_count(mic)))}
break;
case 3:
{show_message(string(background_count(
mic)))}break;
case 4:
{show_message(string(path_count(mic)))}
break;
case 5:
{show_message(string(script_count(mic)))}
break;
case 6:
{show_message(string(font_count(mic)))}
break;
case 7:
{show_message(string(timeline_count(
mic)))}break;
case 8:
{show_message(string(room_count(mic)))}
break;
case 9:
{show_message(string(scriptlines_count())
)}break;
}

15 ?
2. GMDEV
16

How They Did It:


Program Creator Exe's by gmjab
If you spend a little time around the Extending Game Maker In Program Creator they use the below script to make the
forum you will find lots of people asking the question “How do I executable:
get my Game Maker game/program to create exe’s?” A few
years ago there was a program called “Program Creator” dir = working_directory
made by Dimitrios Beredimas(fallen^angel). This was one of dir += "\"+string_remove(argument0,
the first Game Maker creations to actually make exe’s of its ".exe")+"\"
own. However it does not create true executables, it’s actually directory_create(dir)
a clever little trick which makes you think that it compiled an game_save(dir+"data.dat")
file_copy(argument1,dir+argument0)
executable. Even though the source was released a while ago
show_message("Exe file created in
we are going to show you how he did it and how you can do it
"+dir+argument0)
too.
In total you only have to execute two of those functions to
How they did it actually make the exe. Here is the smaller version:
In Program Creator it may seem that the program is actually
creating an executable, but it is not. When you create an game_save("data.dat")
executable with program creator, you will notice that it file_copy(“MyEditor.exe”,”NewProgam.exe)
creates an extra file that must be with your program to work.
What it actually does is save the game to a file using the So as you can see it 1: saves the game 2: copies the main
simple save command: executable. Now that we have the creation of the executable
done, we need to know how to load it. In Program Creator they
game_save(file); use the below code to load:

This save file generated by Game Maker contains all the if (file_exists("dontdelete.imp"))
positions and variables of the objects in Program Creator. {
When the executable is started, it simply loads the game back room_goto_next() }
again. else
{
But how did they make the exe? Well it's actually very simple. if (file_exists("data.dat"))
What they have done is copy the original Program Creator {
instance_create(0,0,backgroundseter)
exe to a different location and with a different name. This can
game_load("data.dat")
be achieved with one line of code:
}
else game_end()}
file_copy(originalfile, newfile);
For you to do it, you should only need this:
When in the editor of Program Creator you will notice that if
you click a button that button's action will be executed. This is if (file_exists("data.dat"))
because the buttons you create will be the actual buttons in {
your program. The buttons will not be changed from the fake game_load("data.dat")
button(In program Creator) to the real button in your program }
because everything has been pre-programmed. But this is not else
to say that you can't do it a different way. {
room_goto_next()
How you can do it }
Now here is the fun part. We will show you how you can
create exe's just like program creator. First we will show you This code will first check if the save file exists and if it does, it
their code, then we will break that down to a minimum. loads the file. If the file doesn't exist it will proceed to the
editor. Thats all there is to it, we hope you did learn something
out of this guide.

16
2. GMDEV
17

TUT: MMORPG by Calle Ekdahl

This tutorial will tell you the very basic of how to do an third 2+1 etc. We also write to the index of global.myid, we
MMORPG using mplay, however, a pretty good pre-knowledge set it to one. We will use this to control whether or not the
is required. player is still in the room.

Let us first think of what an MMORPG is. It is an online game Now both clients and the first one to start the game, called
with capability for lots of people. So basically, it’s any online server will be redirected to the gaming area. This is where
game but with such coding that it can allow more people than they will be able to play. We only use one room, where
usual. This is how we will think about it when we create our everyone can meet and chat. The room can be designed in
simple MMORPG engine. And if you know how to do online- any way, but do not put out players. We will need two objects
games already, which is assumed since you are trying to do only for all players in the world, one for you and one for
an MMORPG, the problem you will have to conquer is “how everybody else. You can input yourself into the world if you
can we identify and share values for a large unknown number wish to, or you can create him. But let’s put him in from the
of players?” and the answer comes below. And some basics beginning and we can use him as an executing instance to
as well. initialize the other players. This will be his create event:

First of all, since this is a normal online game although it can global.data = ds_map_create();
accept more players we will not use a server. The one that for (i=0; i<mplay_data_read(0); i+=1) {
hosts is the server for everyone else. And therefore just add if (mplay_data_read(i)) {
basic connection / session create code when the host hosts. instid = instance_create(0,0,obj_player);
ds_map_add(global.data,i,instid);
mplay_init_tcpip(ip); }
mplay_session_create(“MyMMORPG”,0, }
”Server”);
mplay_data_write(0,1); Our data structure now holds all instance id:s of all players in
global.myid = 1; the game, and they are all created. However, other players
that joined before you still can’t see you, so we’ll add you to
0 will make the session accept an arbitrary number of players, their screen as well.
which is just what we want. Of course you also need to test
whether your calls were successful, and if not, display an error mplay_message_send(0,1,global.myid);
message and so on, but I will leave such things up to you and
focus on the mplay part. Next thing is to put in We will send a message and tell them that we need to create
mplay_data_mode(true); such that when the original a new instance for a new player and that the unique number
creator leaves the game, another player will host the game in of that player is global.myid. Before we make the receivers
his place. So the same session will continue to run into infinity create you we must however first devise a system for how the
as long as there is at least one player left in it. message’s ids are interpreted. Because each player will need
to send some values later on, like x and y, and we have an
Now when that code is executed, hopefully the player will have unknown number of players and therefore an unknown
moved on into the gaming-area. So let’s see how we can join number of messages and no message may have the same id.
his session. Therefore we need to figure out how we can make safe
numbers.
mplay_init_tcpip(ip);
mplay_session_join(0,”Client”); Every player has an id of their own, say that we have 8 players
global.myid = mplay_data_read(0)+1; and none has left then we the ids are 1, 2, 3, 4, 5, 6, 7 and 8.
mplay_data_write(global.myid,1); And they will send say 3 different values; x, y and sprite_index.
mplay_data_write(0,global.myid); Then we have 24 messages. And then we have some system-
messages like the one above that tells everyone else to create
And then move on to next room… if everything was executed an instance. I will use ids 0-99 for system-messages and I will
correctly, but again, you’ll have to add this yourself… if ! have a pattern for the rest player-defined message ids. First
(mplay…) /*End*/… We will need the global variable message of player 1 will be 101, second 201, third 301 and
myid later, all our players will need specific ID’s or we will not so on. So for an example the fifth player will send his x-variable
know who does what. Using the mplay_data_write / as id 105, his y as 205, and sprite_index as 305. I will use the
same system for mplay data stacks. Now we know that id 1 is
mplay_data_read functions will ensure that into infinitive
free for sure, and we reserve it for “create
all players will always have an unique number. First player gets instance”-messages.
number 1, second player gets 1+1,

17
2. GMDEV
18

TUT: MMORPG (Continued)

In step event of your player object, the player you are yourself,
you can read the messages and take action like this: if (nid==2) {
(ds_map_find_value(global.data,player)).
mreceive = mplay_message_recieve(0); y = mvalue;
mid = mplay_message_id(); }
mvalue = mplay_message_value();
if (nid==3) {
if (mreceive && (mid==1)) { (ds_map_find_value(global.data,player)).
instid = instance_create(0,0,obj_player); sprite_index = mvalue;
ds_map_add(global.data,mvalue,instid); }
} }

And you can now see how you can easily add more messages I checked first whether the id was larger than 100, because
to interpret. That is what we will do now, as we create the this means it was not a system message. Then I intialize the
system which will synchronize all movements. I will not create variables nid and player, by reading the first number of the id
a movement system or anything like that in this tutorial. I will (we know that 101 will send x, 204 will send y etc) and player
just show you how to do mplay. But anyway, put this when you by reading the last number of mid (since we know that mid
walk somewhere: originally was created by 100+global.myid, or
200+global.myid etc). Using values from the data structure
mplay_message_send(0,100+global.myid,x); that we earlier created we can find the instance
mplay_message_send(0,200+global.myid,y); corresponding to the player that sent the message. We can
therefore now walk around and see each other.
And when you change sprite, for an example if you start
fighting or if you walk or anything like that which you can not Now is the time to do some discussion about what really
figure out from client side (you must always try to figure things needs to be transferred using mplay and what needs not. We
out from your side without any mplay, which we will discuss don’t want to send more messages than we actually have to.
soon), you do this: All messages slow down a little, so the more we can do on our
own the better. For an example, if you walk on a gold coin on
mplay_message_send(0,300+global.myid, the ground your player automatically picks it up (and destroys
sprite_index); the coin object itself), then you would not need to send that
info, instead you could put instance_destroy() in collision with
And then to your code you’ll add an action for each received obj_player, which would be the object to represent all the
message. You can make it look like this: other players. Try to apply things like this as often as you can.

mreceive = mplay_message_recieve(0); Another thing you need to think of is when to use data and
mid = mplay_message_id(); when to use messages. Often changing values such as x and y
mvalue = mplay_message_value(); might be better synchronize with messages, but stats such as
the individuals attack and defence would better be
if (mreceive && (mid==1)) { synchronized with data. Here comes an example of how you
instid = instance_create(0,0,obj_player); could do to retrieve those stats of the player with id 5. We’re
ds_map_add(global.data,mvalue,instid);
using the same system as with messages.
}

if (mreceive && (mid>100)) { First this is how to write info, attack and defence for player
nid = string_char_at(string(mid),1); five:
player = string_char_at(string(mid),
string_length); mplay_data_write(105,my_attack);
mplay_data_write(205,my_defence);
if (nid==1) {
(ds_map_find_value(global.data,player)).
x = mvalue; And to collect the data:
}
Player5attack = mplay_data_read(205);
Player5defence = mplay_data_read(205);

18
2. GMDEV
19

TUT: MMORPG (Continued)

If you walk into a player and you don’t know what player it is, You can synchronize anything just as we have synchronized
you can use the instance ID (called coll_id) to find out: the players. But you’ll have to make a system for their
messages as well. For an example, you are unlikely to have
pos = ds_map_find_first(global.data); more than 50 players online at the same time, so 150-200,
for (i=0; i<ds_map_size(global.data); 250-300 etc. can be used for other message. So if you want
i+=1) { to send a bear x, instead of 100+global.myid it would be
if (ds_map_find_value(global.data, 150+global.bearid. Also you would only want one to send out
ds_map_find_next(global.data,pos))== that information, and that would be the one who hosts. He has
coll_id) { the “real bear” and the other just have one object that
player = ds_map_find_next(global.data,
represents all bears. The real bear computes movements and
pos);
sends it out. You create a bear the same way you create a
} else {
pos = ds_map_find_next(global.data,pos); player. When you create a session you can create a variable
} like global.master = true;, such that you later can check “if
} (global.master==true)…do server stuff”.
PlayerAttack = mplay_data_read(real(“10”+
string(player))); To log out you just need to send a message to everybody else
PlayerDefence = mplay_data_read(real(“20” that tells them to delete you from their data structure and
+string(player))); deletes your instance. Then you need to do
} mplay_data_write(global.myid,0);and that’s it.

So, now you can use both data and messages. And players If you will try to construct an MMORPG step by step following
are synchronized. You should have a basic understanding of this tutorial remember to think about what events and objects
how to create an MMORPG. Two things I guess remains for that I use, for I do not always say that. I require quite a lot
me to tell you, how to synchronize other moving things such knowledge from those who want to do this.
as enemies or bears, and how to log off.
Good luck everyone!

TUT: mplay Chat by Calle Ekdahl

In any online multiplayer game you probably will want your Basically it says ”if we receive a message and it has an id of
players to communicate, and especially in games like one then that is a chat-message so we’ll add it to the array”.
MMORPG’s, where communication is a huge part. I’ll now The index of the array then goes up one such to prepare for
show an easy way to do an easy chat which is easy to the next received message. Anyway, all received messages will
implement into your project. Everything will go into one object be added to array so it will contain the entire chat-history, up
and I will explain it event for event. to 32 000 inputs before it ends due to the fact that Game
Maker arrays can’t have more than 32 000 entries. Now let’s
c_text = ""; look at how to send messages to everyone else:
ci = 0;
mplay_message_send(0,1,keyboard_string);
The above variables will be defined in create event. c_text c_text[ci] += keyboard_string;
should be used as an array, storing all of our messages. ci will ci +=1;
be an index keeping track of where we are in the array. If you keyboard_string = "";
get errors because of the array not being initialized you can fix
that by doing something like this: for (i=0; i<100; We know that the other player’s clients will only add the
i+=1) c_text[i] = “”; message if it has an id of one, so that is what we use. Using
only one row and the mplay_message_send function you can
Next step is to receive text, which goes into step event: now make the info be added to all the other’s arrays.
However, since you do not receive the message you just sent
if (mplay_message_receive(0)) { yourself you will need to add it to yourself manually and that is
if (mplay_message_id()==1) { what we do on the two lines thereafter, before we finally reset
c_text[ci]+=mplay_message_value(); keyboard_string which we have been using to take input. The
ci+=1; whole code should go into whatever event you like, key-release
} for the enter-key for an example.
}

19
2. GMDEV
20

TUT: mplay Chat (Continued)

Now that everyone can send messages to each other and Some messages will be too long and then we’ll have to switch
they are being received all we have to do is to draw them. This row, therefore we can’t really know how high our text is. We
mostly a question of layout, I’ll just draw something as an find that out in order to know how many messages we can
example but you’ll have to customize it yourself. Notice that draw.
the object I used had a sprite which I used as background
image for the chat. All of the following goes into draw. if (w>sprite_height-30) {
w=0;
draw_sprite(sprite_index,image_single,x, for (i=ci; w<sprite_height-30; i-=1) {
y); w += string_height_ext(c_text[abs(i)],
draw_text(x+10,y+sprite_height- -1,400);
20,keyboard_string); }
}
Draws the background of the chat, and then the input you h = ci-i;
write in the bottom, with 10 pixels marginal from the left
border. for (i=0; i i+=1) {
draw_text_ext(x+10,y+sprite_height
w = 0; -30,c_text[ci-i],-1,400);
for (i=0; i i+=1) { }
w += string_height_ext(c_text[abs(i)],
-1,400); What it says is: if the height is larger than what it can be, do
} the for-loop. The for-loop says start at the last message and
add one at a time to our string, w, until we cannot add any
more. Then we go on, and draw the messages as a list.

20
2. GMDEV
21

Pixel Art Tutorial by HiyuKantaro

Human: Standing position Now we get to the facial expression section. This is a very new
This issue we are going to make, or should I say you are going thing for a beginning pixel artist.
to make, a human in the standing position. We are going to It’s basically shade and shine and that makes the depth. This
use all the basic techniques from the tutorial before. is called sfumato in the painting business and was first used
by Leonardo Da Vinci. The Mona Lisa is a great peace of art
First we make the line art. Not copying someone else’s line art and you can see the sfumato very good on the hand and on
is a better way to gain experience! Here is my line art: her face. Look it up and study the light sources of faces in
general. The most important thing is to take a point were the
light is coming from.

This time it is quite easy because the face isn’t that big. So we
are going to make a simple version of the standard canvas
size portraits:

Then apply basic colours to your human, pick the ones you like.
I chose these colours:

You can see that the light is coming from the left side of his
face because the shade is on the right side. This also applies
with the face. Due to the small canvas I just made a smile and
two eyes out of some pixels. Otherwise it would have gotten a
bit messed up and you wouldn’t have been able to see what
anything was.

Shade the colours and add some shine. This creates so much
more depth. I used some dithering to make it look nice so just If you look at the nose in the shaded area, I used the non-
play around with the dithering to increase your skills and make shaded colour to make the nose clearer and vice versa. In the
your human just as nice. middle I used the darker version of the non-shaded side.
I also shaded the arms a bit but don’t worry this is rather
simple. I created some non-shaded areas between the shades
to make it look natural.

This was the tutorial for this issue and I hope you begin to
understand more while applying what you have learnt to more
examples. If you would like me to create a tutorial on
something specific you can post a suggestion on the GM Tech
forums.

21
2. GMDEV
22

Return to Sector 9
effects by PugFugly
Making explosions and effects look good in GM (or any the centre over say 20 frames. Then save it. Then rotate say
language I guess) is all about clever design. 45 degrees, and then overlay the previous saved image. Do
that another few times and you'll have a nice little explosion.
Menu highlight Use the outline tool to add some yellow and red, put that over
I use one sprite for this. I have an alarm that makes them the top of the expanding circle sprite, use a bit of blending and
appear every 2 steps or whatever. The sprite then slowly there you go. This sounds complex maybe, but it isn't really.
rotates, whilst slowly getting bigger and slowly fading. When It's just all through experimenting.
there are lots of them together, it looks like a sort of pulsating
ball of light I guess. Making them move to the left when you Layering different explosion sprites is the way I do it. Also one
select a different option is simply a case of setting the gravity tip, when you use the GM blur tool, make sure the background
direction to 180, strength 0.1 for all of them. of the sprite is set to black, and the sprite is NOT transparent.
That way all the edges of the sprite will blend properly. Always
Enemy explosions draw the explosions with blend mode add, but this works well
The explosion effect was made up in several layers. First layer with dark backgrounds.
was an expanding circle, as you say. On top of that was
another sprite, which itself was made up of several smaller I used to have an explosion tutorial on my old site; I will one day
sprites. Basically, make a small white sprite; make it shrink to re-do it for the new site.

Interview with: Geou - Naruto


GML techniques & anticipations
GMT: So how did start programming your battle system... GMT: What I liked the most was Naruto's Uzamaki Slam
What kind of basic set up when we're in gameplay? attack... How exactly did you get that all to corralate so well?
GE: “I use a system based off of hit boxes. Basically, when the GE: “I think that was most likely the most difficult special attack
player's sprite is past a certain frame, it creates a hit box, to program. Basically, the first 3 attacks knock the opponent
which then does damage and knockback to the opponent. I like back a little, and the last knocks the enemy up so they can be
using them as it's easy to modify and only hurts the opponent knocked down. It took a lot of time and testing to get all of the
where they should be hurt.” attacks to connect together well, and for Naruto to jump up at
just the right time. All in all, I think it was worth it in the end.”
GMT: So do the fighters have a move set defined by object by
variables or arrays? GMT: So tell us about the other characters you planned on
GE: “Actually, it's roughly halfway through the move when the making. Who will be the hardest to program?
hit box is created. At the end of the animation, if the player GE: “Some other characters will be Future Naruto, Future
hasn't pressed a key to continue the combo yet or the combo Sasuke, Rock Lee, Neji, and Gaara, along with characters
is over, then it ends the attack and gives the player a bit of other users are creating. I think Future Naruto may be difficult
delay before they can attack again. to program, as he will have a technique to manipulate a clone
of himself and possibly to team attacks with his real self. I
The fighters basically have an attack variable that changes think he'll provide a fun and unique experience apart from the
during the different attacks, resulting in creating hit boxes other characters.”
with different variables for damage and knockback suited for
the attack.” GMT: What can we expect from the story mode? And will the
online play be the same as the single player play?
GMT: Oh... I see... So what about the Chidori, and Rasengan? GE: “Adventure mode will be unique and similar for each
I'm sure you used an instance_create() function for that right? character. You will adventure around a village named Konoha,
But just how? where you can speak with NPCs and play mini-games with
GE: “Yeah. I use instance_create for the hit boxes as well. I them, and also advance the story by going fighting enemies on
give them an owner variable however, and so it will only hurt missions. Each character will have at least 5 fights, so the
the enemy depending on the owner variable. For example if it's game will have a lot of play-time in the end.
variable owner is equal to 1 and it's touching player 1, it won't
hurt player 1, but it will hurt player 2 if it touches them.” Online play will be virtually the same as two-player play offline. I
am working with a teammate to see if we can make an
master server where one could set up a game and chat with
other users, and an account system to recognize and possibly
save scores of each user.”
22
2. GMDEV
23

Exclusive: RhysAndrew's
Scrap Works by RhysAndrews
Terms of use I think FredFredrickson released something very similar that
In downloading the scrap files that are provided here you did the job much more efficiently, and so we dumped the
agree to the following: project because it was no longer useful.

- Resources such as graphics, sounds, music, and game File - space_mode_rewrite.gm6


concepts are copyrighted by the respected owners and Info - This takes me back. This was GameCave's first "major
*must not* be re-used for your own purposes. project". We took on a whole group of people to help us out
- Source code in these examples may be used. with this one. "SolarConquest" was going to be an
adventure/platform/action/rpg/RTS game (all in one!). We
Concepts for SolarConquest are copyrighted by Rhys Andrews had built a huge concept. Each planet held an army of smiley
and all other concept writers. balls (you know, the standard emoticon kinda guys) of a
different 'emotion', and there was a huge war going on
File - tile_segmentfinder_v2.gm6 between the "Happy" Civilisation and the "Manic/Angry"
Info - This was a little attempt in improving the performance civilisation... all other civilisations were tormented by the angry
in Conflict: Online. We were trying to find ways of making tiles army and though they didn't fight, they were considered to be
go faster, despite the fact they were made to be fast anyway. on "Happy"'s side. The story goes that a female "Happy" was
Though tiles are fast in quantity, if you place lots of them taken as a prisoner for the Angry army, and fell in love with
within the one screen they can slow down the game the guard. You know, one thing leads to another, and though I
tremendously. This file was supposed to find groups of tiles (as don't know what genitals these balls have, the happy smiley fell
in, lots of tiles placed very close to each other to make a 'big' pregnant and both her and the angry guard was banished
version of a tile - particularly with the water in Conflict: Online) from the planet. They rose their child, the first "Neutral"
and render them as new tiles, placing 1x that tile in place of (balanced emotions) smiley ever to live, on an abandoned
lots of the original tile. If I remember correctly, the red moon. You become that child, who learns the art of fighting
rectangles were supposed to be the region of all the subtiles from your father but also the respect and dignity of your
of a group, that (if we implemented a rendering script) would mother.
render all the tiles inside it into one. The yellow rectangles
simply surrounded tiles that will be rendered into a group. So The RPG element involved building relationships with the
it doesn't work very well, but hey, it might come in handy. hierarchy of ally planets. The higher relationships you had, the
more soldiers you could employ to your army from that planet
File - ascii-art.gm6 (each emotion had its own special ability and set of weapons),
and the better quality soldiers you got. At the same time, you
Info - I was working on this application after seeing a similar grew a larger expectation and needed to defend the planet
program (not sure what it's called) developed by another from Angry soldiers more often. The RTS element involved the
GM'er - you pretty much load an image, choose a quality, and it pre-battle... in which you can command ships to go from
converts the image into ASCII Art. The basic formula is that a planet to planet to defend, and attack enemy ships flying to the
character replaces each pixel based on the intensity of the planet under attack, to avoid having to go into an all-out war
colour that it's replacing. Somehow, we got the formula a little on the planet's surface, which involves losing soldiers (but a
screwed and images only work properly when on high quality - whole lot of fun).
and even so, the image becomes skewed when you view it as
a text file. To view the text files as an image, open the exported Essentially, your goal was to take over the Angry Army planet.
txt files in notepad, go format > font, and ensure the font is
Lucida Console 1pt. It shrinks the jumble of characters down This GM6 covers the browsing of planets in 'space mode'. You
to a size so small it all turns into an image. can't do much. Use the arrow keys to search all the planets,
then press space to land your ship there... not that it does
File - c-pixel.gm6 anything. Just enjoy the menu and the visual effects.
Info - My original idea for this was to create a paint program
that is designed for bump maps. In the end, it became a File - revelation.gm6
poorly-designed grayscale paint program. So I got Pim to help Info - Something I felt like doing for the sake of it one night. It's
me out and he wrote up a set of scripts that converted the an intro for a game I never even planned to create. Enjoy!
canvas into a 3D preview. While we were still working on the
script (as it's very slow and we weren't sure how we could
save them as small-sized models at the time)

23
3. GAMES & REVIEWS
24

Previews
Falcon Squad
Developed by: FredFredrickson

Review by: the9thdude


Once again FredFredrickson has given us another beautiful
game in the works called Falcon Squad, a top down shooter in
which Fred wants to try and set a good example for everyone
to follow. Overall the beta is simply stunning, with three
different multiplayer match types, a smooth interface and
beautiful graphics; Fred is simply one of the best game
developers out there.

Particle effects are good with the exclusion of the wall barrier
in which, if you fire a round at it, the sparks appear inside the
wall. Other than that you have good graphics that can
maintain a steady frame rate which is nice to have in a
firefight. However, if things get a little too “boom-boom, bang-
bang” you will notice a serious frame rate dip, which is bound
to happen when everyone spawns with rocket launchers.

The audio is clear and crisp as each weapon has a unique


sound and the character on screen gives a shuffle of
equipment each time he/she moves.

Which brings me to the gameplay which is also looking up to


be superb with fast paced action and tactics, although there
were two minor issues that stuck out to me. These include the
firing rate and weapon balance. With some weapons (i.e. the
sniper rifle) it takes too long to fire with three seconds
between shots. For some this is fine, but when you’re in the
heat of battle it can be frustrating when your weapon doesn’t
fire when you want it to. Next is weapon balance, where
everyone spawns with an assault rifle, grenade launcher,
grenades, a shotgun and a rocket launcher! This is obviously
something that can be fixed with the upcoming release of the
full version, but the beta is very unbalanced when you have an
assault rifle and your opponent has a rocket launcher.

When I looked past these minor downsides, Falcon Squad


(beta 3) is an enjoyable game and I cannot wait to play the full
version which includes a campaign mode and stat viewer. It
will be amazing.

24
3. GAMES & REVIEWS
25

Previews
Meditative Level Creator Beta
Developed by: WarriorArtiste

Review by: the9thdude


Finally, a level editor! This concept is beautiful to any person
making a 3D game in Game Maker. However, this current
development version of the program doesn't meet the
standard to make it actually easy and useful.

Currently, there is barely any interface of any kind that


appears when you select a joint or series of joints. Right-
clicking on the joints shows the properties and can change
what you want to give them. However the properties you can
change doesn't really help in building a level. That makes this
program quite hard to use but in the future this will probably
not be the case.

Why is it hard to use? Because it only currently supports


triangles. These are non-modifiable triangles that cannot be
joined together with other triangles in any way, shape, or form.
Also you can’t rotate the camera and have to guess which
angle is X, Y, or Z it becomes frustrating.

One good point though is that it has the ability to preview the
level in FPS mode. However this has bugs which allow the user
to move outside the world.

The concept behind this is nice, to make a 3D level editor that


is easy to use, but this just doesn’t work well at the moment. I
really hope this undergoes a major revamp before the official
release.

25
3. GAMES & REVIEWS
26

Previews
Advance Pet Engine
Developed by: Torak

Review by: Keysle


Advance Pet Engine (A.P.E) is basically an upgrade of the
Tamagotchi, for the PC. This game is very colourful and well-
made. It includes features such as mini games, shopping and
taking care of your pets. The quality A.P.E is showing now
proves that that will be a high potential of quality in this pet
caring game when it’s finally finished.

The graphics were very crisp and clean but the largest
mistake was that some of the graphics didn’t work seamlessly
or didn’t fit with the other graphics. But overall the graphics
matching those of Nintendo’s GameBoy Advance and look
quite professional.

The first good thing about the sounds is that they all fitted in
well with the game. The second thing is that the sounds were
also appropriately placed throughout and none of them were
uncalled for. As pleasant as the music was at the beginning, it
got repetitive and boring after hearing the loop 30 times.
There also weren’t many sounds, which left the game very dry
and took away the life-like feeling of taking care of your pets.

The game play was very unique and fun at first, but the fun
factor wore off after you had played everything and learned
how everything worked. There weren’t many different mini
games; there were only two called ‘Bugs in the garden’ and
‘Click the mole’. However there will be new mini games and
maybe even some more creatures in the next version of A.P.E,
but for now it just doesn’t keep the fun factor longer than an
average of about 5-10 minutes.

The game has a strong engine behind it, so it is impossible to


estimate what will come out next. Right now it’s not as great
as it looks, but it deserves its current overall score because of
the potential it has. Everything has a pretty good score despite
some of the things mentioned above and for future versions, a
higher outcome is expected.

26
3. GAMES & REVIEWS
27

Previews
Worms!
Developed by: Mordi

Review by: rup13


Surely everyone has heard of the famous Worms series by
Team17. Now Mordi has joined in with the worm-tastic fun by
creating a similar game where you take control of a worm,
equip yourself with weapons and blow up/slaughter enemy
worms. With gameplay quite similar to Team17’s series, we
would like to emphasise that this isn’t a clone of the games in
the series by Team17, but rather a remake taking the real-
time action approach to things.

You can completely customize your worm’s appearance by


selecting different colours, clothes and other miscellaneous
items for your worm. The graphics in Worms! are more than
just average and the visual effects complete the overall look of
the game. There has been a great deal of work put into the
menus and transitions between each of the options. The ability
to change the keys assigned to the controls is a great feature
which isn’t always noticed in some Game Maker games. The
sounds and music fit the game well giving the game some
ambience as well as depth. Although the few sounds from
Halo do not exactly increase the game’s originality, but they do
the job at the moment in its current stages. There isn’t any
music while actually playing the main game, but it isn’t exactly
silence, especially when the bombs start exploding.

There are three game modes to choose from which include


Split Screen, Skirmish and Spectate. All of these modes are
quite fun.

Mordi has paid special attention to gameplay allowing the


player to have endless fun, as each time he changes a setting,
the game changes just a little bit to make it different from a
previous game. However there are some things which I hope
Mordi will update before another release. These include
controls on how to go back in the menus, as there is no clear
indication to what this button is. Also in spectator mode, I
hope that there will be a fix to stop the worm falling from the
sky and straight down the edges getting trapped. Finally I
noticed that in the main menus under skirmish, the mode is
named skirmish throughout until you start counting down until
the game starts which is when it becomes sandbox.

Other than that this seems like a great preview which is


recommended. The sheer amount of work is outstanding,
especially on the smaller details. With all this in mind,
download it and give it a go, because once you start blowing
up those worms, you’ll be hooked.

27
3. GAMES & REVIEWS
28

Reviews
GeRMS
Developed by: xenomorph

Review by: Cubex DE


GeRMS is a fun little game that takes away the tedium of
most evolution games and replaces it with fun and interesting
gameplay. There are still a few kinks to be worked out, but the
concept definitely shows promise so far.

The graphics are incredibly well made, highly stylized and just
plain fun to look at. The different objects really look like germs!
The physics engine is also excellent, providing convincingly
simulating movement through liquid. It actually felt like the
different creatures were swimming around. Different
biological stuff would move when you went past it, like your
motion through the liquid was affecting its movement as well.
Very well done and cleverly implemented.

Sounds and music were definitely above average, and were


not ripped. I loved the "munch" sound that played when you
got too close to an enemy! All the sounds fit nicely together.

There wasn't much of a story, but I expect to see one later on


in the project. Then again, this type of game doesn't really
need a story; it stands quite well on its own.

The various evolutionary changes available greatly improve the


open-ended sandbox gameplay, letting you decide how to allow
your "creature" to evolve. Add spikes for defensive purposes,
or get smaller, so you're harder to detect. You can even evolve
glowing capabilities to help you see in those dark spots!

Overall, this game is the best evolution game I have seen so


far, and it never slows down or gets boring. I highly
recommend that you try out GeRMS and give the creator
some constructive feedback.

28
3. GAMES & REVIEWS
29

Reviews
Brix
Created by: TheMagnitude

Review by: Keysle


Brix is a classical arcade game brought up to date. Different
from the classical game “Bricks (I’m not sure if it’s called that
*Not part of Review (NPOR)*)”, there are new features such
as multiple power ups, different obstacles, and even a level
builder.

The graphics weren’t too great. On top of that, they were from
resources packs or just plainly unoriginal. Also the graphics
styles didn’t all match which was a disappointment. What
could be done though is get a basic outline of each sprite and
then fill it with some art style of your own.

The interface was the highest rated because it was quick and
easy to use. There was no confusion about what any of the
options meant. I like the fact that the buttons became larger
when your mouse hovered over them and I also like that there
was some animation within the help system which made
things much clearer and easier to understand.

The gameplay was great at first, but the fun factor wore off
quickly when the player became immune to obstacles. Also
the levels failed to vary in challenge; every level just had a
different block layout and the only new obstacle introduced
was the bomb blocks.

The music was looped and eventually got irritating. The


cartoon-ish repetitive sounds didn’t help my nerves either. The
sounds sort of fit together still but it was mainly resource file
sounds, so anyone could have done that. What was good
though is that everything that needed a sound had a sound.

Overall the game is decent and deserves it’s score.

29
3. GAMES & REVIEWS
30

Reviews
PhotoWeb 3.1
Created by: TheMagnitude

Review by: Medieval


If I look around the Game Maker Community (GMC), hundreds
or even thousands of users have userbars in their signatures,
showcasing either their latest project, finished game,
company name or anything in that sense. Photoweb gives you
the ability to create such things very easily.

As this is not as powerful as most commercial image editing


software, it makes up for it as it is much easier to use. You
can easily select your background colour, whether it is a static
colour or a gradient. You can also add things like: shine,
patterns and borders to your image to make it stand out a lot
more. Most of the eye candy that people usually put in their
images is pre-defined and ready to use for your image.

Speaking about the eye candy, if you choose anything pre-


defined, it pops up in the image and you are able to adjust the
size of it. All features are easily accessible, and everything
mostly fits in very well. The text feature allows you to choose
your own font and colour.

Since so many people on the GMC have these userbars or


something similar in their signature, this program is found
very useful by the GMC crowd. I think it is useful too, as it gives
you all the functions that you need for creating a signature.

The program itself is designed very well and the buttons look
really good to fit the program well. Custom message
backgrounds and buttons make it look even better. You can
see that the creator has put a lot of effort into making all the
images look good.

Overall, it’s a very good program. If you want a simple


signature, I highly recommend you to download this.

30
3. GAMES & REVIEWS
31

Reviews
Airbase 101
Created by: TheMagnitude

Review by: rup13


Airbase 101 is the real time dog fighting top down aircraft
game with custom deathmatches and a twenty-one different
planes to choose from. What more needs to be said? Initially
the game doesn’t look like much, although the text effects are
quite good, but once you click to play you are presented with a
number of options to customize your own game. There are
four different modes for you to choose from which include
Deathmatch, Survival, Time and Free Flight. Each mode comes
with a different style of gameplay and can keep the player
interested.

Once the settings have been decided upon and you initiate the
game, the map is generated and you begin the game. I am not
very interested in games such as these but I found this one to
be quite interesting. The ability to be able to upgrade your
plane as you kill more aircraft was a good addition which
keeps the player heading towards some sort of goal. However
for a complete game, it seems quite a small one as there isn’t
much you can do, especially if you aren’t very good at it. This
means the game tends to get boring more quickly for those
players.

The graphics are simple and fit together well. However the
things that decreased the game in my eyes were the use of
Game Maker’s default text boxes, although a slight upside is
that they were customized slightly. Also that for the
information, the game just displays the game information. The
sounds however are very good and the effect creates a great
deal of atmosphere as you find yourself surrounded by bullets
and you can hear them flying past your aircraft. However the
music was the slight downside as they seemed to just be
random tracks and didn’t add much atmosphere or depth to
the game. They didn’t fit into the game’s style so if there was
ever a sequel, this would surely be one thing I’d like to see
fixed.

Overall it is another good game with quite a lot of custom


battles available; however it just doesn’t interest me enough
for me to keep playing. Many people who are very interested in
top down shooters may find this all they need, but to keep me
interested this game needs more interactivity and more
gameplay. It has earned a very fair 3/5 due to the amount of
work that has gone into the game, the great sound effects
and average gameplay. If you love dog fighting aircraft games
then check this one out and you won’t be disappointed.

31
4. EXTRAS
32

Interview With:
TheMagnitude
GMT: Tell us about yourself? Is there anything behind your GMT: How long did it take you to learn GML? any tips for
username? people?
TM: “Before I knew about game maker I always dreamed of TM: “GML took me quite a while to complete since I was on my
making computer games but I had no idea how to do it. I own most of the way...I hadn't joined the GMC or any other
always liked creating things; I used to make cardboard guns Game Maker related community until last year so I had to
and projectile firing devices and sold them to people at school, learn by myself which was pretty hard. I think after about 1-
which got me into a lot of trouble when people started using 1.5 years did I start to use GML fully in my creations.
them in the classroom. I made about £10 off then which was
a lot for how old I was (about 12 or 13). Now I spent my time My tips for other people are that if you are constantly running
trying to learn new things (anything about computers haha) into errors in your code then that is good, because the more
and play on my DS. I really like playing on Metroid Prime you run into errors the more you will learn on how to avoid
Hunters...I think the best I got was 260th on the Nintendo them in the future and the more you will learn about the GML
leaderboard but the game has been taken over by so many programming language.”
hackers that it has lost it's excitement for me.
GMT: Out of all the GM games what's some of your
My username first sprouted up when I and my brother were favourites? why?
going to form a kind of company or group making GM games. TM: “One of my favourite GM games is "The Sandbox Of God"
He wanted to call the company Symumatic...I think, and I because I enjoy playing it and it is really clever how all the
wanted it to be called Magnitude...but our ideas differed and features of the game work together to create something
we went our separate Game Making ways. I then went by the professional. I like games that have a long replay value, which
name Magnitude but when I first registered on a forum or is what I try to include in all my games, and I think "The
website (I can't remember what site it was but it might of Sandbox Of God" has a very long replay value.
been RuneScape haha) the username "Magnitude" was
already taken so after about 2 seconds of thinking I decided to I also like Jumper 2 because the idea is totally original and I
go with the username "TheMagnitude" and since then I have like the professional level editor and saving feature. This game
used it for almost everything, differing to "Magnitude" has clearly had a lot of work done on it...but I find it quite hard “
sometimes.”
GMT: Are you a big fan of anyone on the GMC? Do you have a
GMT: When did you start using GM? and how many projects person who inspires you?
have you made since then? TM: “Someone who inspires me is FredFrederickson, and this
TM: “I first found GM about 3 years ago when my brother is because I know he spends a lot of time perfecting his
found it I think through Google, and ever since then I have games which is what I try and do (some people have
been on it pretty much any time I could. The first game I described me as a perfectionist). But the most impressive
properly finished was Marbles, which was a maze game using thing about FredFrederickson is the graphics and menu
resource pack graphics haha. I was very pleased with the layouts in his games. I'm not too good at making game
finished game though and it had quite a lot of levels and graphics because it takes me like 3 hours to pixel a single gun,
worlds. My favourite game has always been shooting games and I can never decide on a decent menu layout for a long
so I made my first TDS (never really finishing it) called time.”
Radiation Man, which had the basic stuff (couple of weapons
and monsters, levels). I also made a breakout game which is GMT: Airbase 101, was this your first popular/liked game?
available on YoYoGames and the GMC called BriX - I have How long did it take to make?
never completed it and no-one has ever reported completing it TM: “Yes I think this was my first popular game. This game
haha it's really hard. I think my best score was about 8500. I started out being an AI test which consisted of planes flying
have also made a Ping Pong type game called...well... Ping out of a hanger and not crashing into each other, and this was
Pong which was quite fun. pretty successful. I also at this point couldn't see an air
combat TDS on the GMC so I decided to work on this project,
I have made quite a few projects, and quite a lot of them have and when I posted an early version on the GMC everyone
been finished because I never give up on a project until it's seemed to enjoy playing it and good comments always make
complete and is to my satisfaction. That’s the secret...to never me want to do more work on a creation. I upgraded it and
ever give up!!!” upgraded it until recently declaring it finished, however when I

32
4. EXTRAS
33

Interview With: TheMagnitude (continued)

get the time I will incorporate an online mode into it. GMT: What game/program have you always wanted to
make?
This game was my first serious project which took me about 1 TM: “I have always wanted to make an online FPS that a lot of
year to complete. Lots of people have asked me how I did the people would play but that may be a while till I get my head
AI for this program so I have decided to make an example down working on that because I'll be busy working on Shadow
when I get back from my 6 week holiday!” Zone which I'll get into later. I have already made most of the
3D physics engine for the FPS but it still has a hell of a long
GMT: I'm sure a lot of people would have heard of your second way to go.”
project, PhotoWeb. Where did the idea of an all-in-one creator
come from?, Do you have a future goal for this program? GMT: Do you have any exclusive upcoming games/programs
TM: “I used to use a userbar maker to...well make userbars that you are working on?
haha and I realised that there was NO program at the time TM: “Yes, Shadow Zone. Only a few people have actually played
that you could resize the image...so I thought to myself...that I this online game with me and the few that have enjoyed it. It is
will make that program. The name PhotoWeb instantly came a 3D top down shooter inspired by Counter-Strike. It can
into my head, mainly because it sounds flash, but also because currently have up to 8 people playing online and I hope to get
it can be used for optimizing Photo's for the Web haha. I got this game finished this Christmas.”
to work on it straight away (at this point I was working on
Airbase 101 aswell). The first version I released I got really GMT: Do you have any finial words for any GM users out
good feedback from which made me want it to be the best there?
graphics program on the GMC. I did realise that I had TM: “There is one thing all you guys (& gals) must remember
competition but I felt that I had created a whole new type of when programming with Game Maker, and this is to:
program that had never been seen anywhere else. Version 2
came out soon after but then the GMC had to wait a whole No matter how hard or frustrating a creation is to make, it
year for version 3, which is the version currently out at the could be the best if just don't give up on it!”
moment.

I'm not really sure I have a future goal for this program
because version 3 was meant to be the final one and this is
because I tried to include as many features as I could think of
into it, and eventually...after a year haha I ran out of features.”

GMT: Out of these two projects, which was the hardest to


make? Why?
TM: “PhotoWeb was definitely the hardest and most
frustrating to make. This is because when I started it I was still
kind of new to GML but at the end of it I had learnt so much.
The things that were very hard to make in this program
included the programming language (PWS) and imagemagick
implementation, and all the various features that are in
PhotoWeb have had a lot of work done on them - Especially
the animation side of it.

Airbase 101 had it's frustrating times aswell, like the AI took
along time to develop and so did making all the custom game
modes work, but PhotoWeb was the most hard to make!!!”

33
4. EXTRAS
34

Interview With:
sakisa
GMT: To begin, could you tell us more about yourself? GMT: What inspired you to make Crimelife 2?
SK: “My real name is Sakis Rogas. I'm from Greece, a city SK: “I always liked GTA games; Crimelife 2 is a GTA game that
called Trikala and I am 18 years old. I have finished school this I’ve always wanted to make. It inspired me the freedom of the
year. I really like painting, sports, video games and game GTA title because GTA means freedom for the gamers.”
developing of course.”
GMT: Have you encountered any problems while making
GMT: When you first started Game Maker, what were you Crimelife 2? and if so, could you describe them.
thinking? What was your goal? SK: “The only problems were some copyright stuff and
SK: “I first started GM 3 years ago, with Game Maker 5.1 and disagreements with some people. All the bugs in the game
I really liked how easy I could make a game in a few minutes. are fixable.”
The first game I made was a Batman action/adventure, just
for fun, but I always liked GTA games. My goal is to make a GMT: What features do you think Crimelife 2 will have in the
perfect GTA-like game with its own authenticity that the player future?
can do whatever he wants in game.” SK: “Always more and more and more!
- More vehicles, at least 50 including bikes, boats, airplanes
GMT: What made you become interested in 3-D games? and others.
SK: “The first 3d game I have seen in GM was a Doom-like - More weapons like knifes, flamethrowers and explosives. I
adventure. I really can't believe that GM can support 3d want to add the good old grappling-hook from Crimelife1
graphics. I was downloading tutorials, scripts and examples sometime.
from everywhere to help me with 3-D. So after a lot of - Missions (at least 20) and a good storyline.
research, study and patience I have decided to work with 3-D - More character customization with more clothes and outfits.
games because 3-D gives another dimension in the game and - Maybe customizable cars sometime...
makes it more interesting and beautiful.” - More enterable buildings and buildings for sale.
- More freedom e.g. when you fly with a helicopter, you land on
GMT: Seeing that you're interested in 3-D games, when did to a roof of a building.”
you start with 3-D programming and what would you say to
others wanting to do the same? GMT: Are you working on any other projects at the moment
SK: “The first 3-D game I made was about 1-2 years ago beside Crimelife 2?
which was a first person racing with very simple graphics, but SK: “No. Crimelife 2 needs a lot of work so I don’t have time
it was so beautiful to see that I had made it by myself. So from for other stuff.”
that moment I decided to work more with 3-D games. To the
people who want to try 3-D I suggest they try a lot to find GMT: that’s the end of the interview, is there anything else you
tutorials and examples that will be very useful to them and would like to add?
that they always try different things.” SK: “No really, only a big thanks to Mazdaplz for his help with
the models.”
GMT: To people who don't know what Crimelife 2 is, please
describe it to them.
SK: “Crimelife 2 is a GTA kind game with beautiful 3-D
graphics and tons of lowpoly models. Stuff you can do so far:
- You can walk around in the new huge city.
- Shoot people and explode vehicles with 5 weapons including
Uzi, Shotguns, Rocket launchers and more.
- Drive a car from 16 available, all different in appearance
and interior.
- Enter a building to explore the rich content and many, many
other things.”

34
4. EXTRAS
35

Comic

35
4. EXTRAS
36

Take a Look

36
4. EXTRAS
37

Take a Look (continued)

37
4. EXTRAS
38

Free Applications
Photo to Sketch 3.5
At first, you might assume that Photo to Sketch 3.5 (P2S) has
no value to game development, but this assumption is
incorrect. P2S can introduce an ominous feel when applied to
the photos you choose to convert. These outputs can then be
used in cut scenes or in any backgrounds you see it fit. P2S
allows the user to bring in elements such as freehand
sketches into their games so that the game is not littered with
loads of out-of-place photographs.

P2S has multiple drawing instruments with different settings


to define your perfect sketch. The main drawing instruments
that can be used are the Pen, Pencil and Pastel, each with
their own predefined effects. There are also different textures
which can be used to create your output. Overall, it might take
a while to get all the outputs you need, but the end result will
help put your game on the top of the charts.

Ultimate Paint
This program seems very simple and basic with a quick
glance, but when you are in need of quick results, you can rely
on this program to help with a variety of freehand drawing
functions. It has the functions just like any other graphics
package, except it can handle freehand drawing a lot better
than Microsoft Paint.

One unique function Ultimate Paint includes is the ‘Symmetry


Painter’ which allows you to first select an axis point, then
select how many symmetrical sides you would like to create
for your output. The cyclic mode is helpful for creating those
tricky wheel sprites and those tunnel effect backgrounds. The
tile mode is useful for creating tiles/textures that allow for
seamless repetition in Game Maker.

Overall a good little program which is quite powerful in terms


of what it can generate. It is a good little addition to the
desktop of any game developer who is looking to create nice
sprites/textures.

Jazz Midi Sequencer


Many of you have probably already heard of or even seen the
Jazz Midi Sequencer (JMS). With its graph and bar setup it
might look very intimidating at first, but JMS is as easy as
playing a piano. With the quick help instructions and a will to
create music you can do so in just ten minutes. This program
is perfect for ambient music for dark dingy caves to epic
heroic scenes. You have many instruments to choose from to
create your music file; from guitars to pianos to woodwinds,
and even more so, you can access sound variables such as
pitch, velocity and channel. All these allow for an infinite sound
effects and background music files which is just what you
need for that brand new game.

38
4. EXTRAS
39

Closing
Another large issue is done. We hope you enjoy reading issue Submit to us
7. You may have noticed, but the advertisement page doesn't Yes, we at GM TECH will take almost any submission for a
look very good, so in issue 8 we will be applying our new chance of it being published in the next issue. To submit to the
system to the adverts page. We would love to hear from you mag, simply go to our forum and submit in the “submit”
about your personal opinion of the magazine and any section, no registration is required and you will get a fast
suggestions you might have. Thank-you to the people who have reply. If you're not sure what to submit have a look at the
submitted content for the mag, without you the issues would example list below:
be a whole lot smaller. On behalf of the GM TECH Mag team
thank-you for reading and for your support. - Games
- Programs
In the next issue - Screensavers
> Releasing a Game - Exclusive information
> Comic - Interview requests
> GM Tutorials - Desktop Screenshots
> Particle Effects - Gifts
- Reports/News
Feedback - Articles
Good or bad, we value your feedback. Your feedback lets us - Letters
know how we should improve to satisfy all the Game Maker
users. Your feedback can be about (although not limited to) We only ask that you submit content that you have permission
articles, reviews, gm tips or the magazine in general. You can to. Do not submit things that are not your own unless you
leave feedback in either our GMC topic or on our forum. have permission of the owner and do not submit illegal
content. At GMTECH we take submissions seriously and we
will do what it takes to keep our forum clean and friendly.

39

You might also like