Professional Documents
Culture Documents
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.
2 ?
1. ARTICLES
3
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.
3 ?
1. ARTICLES
4
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.
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 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.
5
1. ARTICLES
6
6
1. ARTICLES
7
-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.
...
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.
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
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.
9
1. ARTICLES
10
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
11
2. GMDEV
12
>> 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.
12
2. GMDEV
13
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.
...
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);
r=a mod n;
13 ?
2. GMDEV
14
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; }
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
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
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
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
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
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!
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
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
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.
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.
23
3. GAMES & REVIEWS
24
Previews
Falcon Squad
Developed by: FredFredrickson
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.
24
3. GAMES & REVIEWS
25
Previews
Meditative Level Creator Beta
Developed by: WarriorArtiste
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.
25
3. GAMES & REVIEWS
26
Previews
Advance Pet Engine
Developed by: Torak
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.
26
3. GAMES & REVIEWS
27
Previews
Worms!
Developed by: Mordi
27
3. GAMES & REVIEWS
28
Reviews
GeRMS
Developed by: xenomorph
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.
28
3. GAMES & REVIEWS
29
Reviews
Brix
Created by: TheMagnitude
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.
29
3. GAMES & REVIEWS
30
Reviews
PhotoWeb 3.1
Created by: TheMagnitude
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.
30
3. GAMES & REVIEWS
31
Reviews
Airbase 101
Created by: TheMagnitude
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.
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
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.”
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
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.
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.
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