Issue Seven

Page 1


0. CONTENTS

1

Table Of Contents This Issue... We're back! Yes Issue 7 is on your monitor and ready to read. This issue is once again a large issue that is 40 pages. Last month has been full of ups and downs for both GMTECH and the GMC but let’s hope for the best in September. On the GMC we've had the new GM Awards for 2007 start, a possible new resource "Game Maker TV" being discussed and we have also seen the much loved 64Digits going up and down causing problems for resource links on the GMC. As you can see, we have made some improvements to the magazine from your feedback from issue 6. You can read more about this in the What's Going On pages. GMT has been quite slow lately as far as submissions and suggestions from members and guests. However the staff have been well at work planning ahead for our anniversary issue. This issue should be available in December, this gives everyone plenty of time to give suggestions for articles, resources and pretty much anything for the anniversary issue. So if you have an idea (even if it might be crazy) we would be glad to hear it. Other then that you can join in voting in polls or taking part in any of our discussions on our forum. Well that’s enough from me. Enjoy reading and we hope to hear from you soon. gmjab Editor

1. ARTICLES What's Going On........................................................................................ 2 Exclusive: GMTV......................................................................................... 4 Developing a Game................................................................................... 5 The difficulties of making a MMORPG.............................................. 6 Developing a MMORPG.......................................................................... 7 Furure of our Game Makers............................................................. 10 Unfairness of Novice Q&A..................................................................10 User Opinion: What is you favorite genre? Why?.................... 11 2. GMDEV Game Maker Tips................................................................................... 12 Resource Counting................................................................................ 13 How They Did it: EXE creation in Program Creator.................16 Tut: MMORPG.......................................................................................... 17 Tut: mplay Chat....................................................................................... 19 Pixel Art Tutorial..................................................................................... 21 Return to Sector 9 effects................................................................. 22 Interview with: Geou - GML techniques & anticipations.........22 3. GAMES & REVIEWS Exclusive: RhysAndrew's Scrap Works......................................... 23 Preview: Falcon Squad......................................................................... 24 Preview: Meditative Level Creator Beta....................................... 25 Preview: Advance Pet Engine............................................................ 26 Preview: Worms!...................................................................................27 Review: GeRMS....................................................................................... 28 Review: Brix............................................................................................... 29 Review: PhotoWeb 3.1........................................................................ 30 Review: Airbase 101............................................................................ 31 4. EXTRAS Interview With: TheMagnitude..........................................................32 Interview With: sakisa.......................................................................... 34 Comic........................................................................................................... 35 Adverts....................................................................................................... 36 Free Applications.................................................................................... 38 Closing......................................................................................................... 39

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 1

Website......................................................... www.gamemakertech.info Forum........................................................www.gmtech.invisionplus.net 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 be fixed because it was blurry. Well for this issue we have given it a go and made the text separate to the page image. This update also reduces the file size as well. This update to the magazine will allow you to zoom in and still read the content, however not all text included in the magazine is on a separate text layer. This means some text will still go blurry when viewed with a zoom higher than 100%. But it's better than before.

It's that time again, GMAwards 2007 has started and you can now vote for who you want to receive an award. Just go here and vote for you favorite person.

GMT: Spam...What spam? If you have been to the forum recently you would have seen the announcement of changes to the advertisement submission forum. The advertisement forum was changed so that only members can post their request for an advertisement. This step was taken since the spam started to get out of control with at least 3-4 spam topics full of drug/porn related links in them. Since implementation of this new rule we have not received even a single spam topic. We hope that from now on you will enjoy a cleaner forum to post in. We would also like to apologize for any inconvenience this may cause to people submitting the advert banners. We hope that this rule will not be needed for a long period of time.

GMT: GMTECH on Game Make News! GMTECH is now on the new updated GMNews site. Through GMNews you can find out all the latest news on whats happening at GMTECH. Also on GMNews you can subscribe to our feed and get news updates all the time. To check out GMNews goto gamemakernews.com.

GMT: Site Updates GMT has been going through many changes lately. Not only is the site getting updated more often but we have put all the issue on the site. In the 'Download an Issue' page you can see a preview of the cover and have a choice to either view the issue online or download a copy of it. The next page we have added is the links page where we will store useful link to sites for all game makers to visit. Our previous mail system wasn't working correctly, so we have updated it with another system. Next we plan to add the ability to read certain articles/reviews online so you don't have to download the issue to read it. This will also help if you wish to link to one of our articles too.

2

GMSHACK Looking for a new GM website host? Then GMSHACK is for you. GMSHACK is solely devoted to hosting GM only related site and has 2 good plans available(both of which are free). 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 simply apply on their forum. GMSHACK has a special offer available to GMTECH Magazine readers only. This deal will allow you to have the large plan AD FREE! So check out this great new service today at www.gmshack.com.

GMK Format Cracked! We all knew it was comming, it was just a matter of time. Yes the Game Maker 7 save game format has been cracked by a person going by the name of Quadduc. This spells good news for the creators of game porters such a G-Java and LGM as the format can now be read. As for the rest of us, it shouldn't be any cause for concern.

GM to be ported...possibly YoYo Games has been thinking hard about the portability og Game Maker. In a recent Glog post they have mentioned that they might change the runner code for the GM executables to allow portability. If YoYo Games takes action it shouldn't be too long before we are play our game on things other than Microsoft Windows.

Goodbye to GameCave No this isn't the kind of news we want to hear. Yes, GameCave has officially shutdown. A notice written by RhysAndrews which now appears before you enter the old site explains the reason for closure. Even though GC has closed it is still good to hear that RhysAndrews is not giving up Game Maker completely and will still be around on the forums sharing in discussions. Since RhysAndrews first started using Game Maker he has produced over 200 works as noted on the site. For this issue we or proud to present you with a few of his scrap works. These works aren't full games, but just smaller tests and works which you can learn from. For more information see page 23 which includes information on these works.

?


1. ARTICLES

3

Whats Going On (continued)

Sites to visit Find good Game Maker sites can be hard., so we have done some searching for your. These site below are perfect if you looking for GM resources. GMLScripts.com - [ Link ] Looking for a script on GM dedicated site? Then GMLScripts is what your looking for. GML Scripts has many scripts ranging from string scripts to HEX scripts.

Game Making Resources - [ Link ] Game Making Resources if full of resources ranging from sprites to examples. Game Making Resources is a fairly new site but it still contains many great resources.

What if you are doing Maths and you are a confused. You need to know just one simple sum, nothing major. But it takes a while going through menus after menus or folders after folders to find one calculator. With useful tools to find out anything from conversions, simple sums, percentage, anything you can find everything you need in a small little box right there waiting for you 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 Internet, maybe you just don't know any good games websites. With a choice of many games from Flying Sheep to Sliding Puzzles, Widjet has something to entertain every age group, 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.

GMToolbox - [ Link ] GMToolbox is a very new site. GMToolbox basically is a large directory for DLL's and Extensions for GM. GMToolbox is a very simple to navigate site and you will find what you want easily.

And if you can't find what you are looking for you will probably find it somewhere on the Internet, but where? Quick Links is a unique feature to Widget which links to a variety of different website including YouTube in the 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.

SHOUT OUT by Dan1 “When you are sitting at the computer, doing your work, perhaps coursework, do you stop and think "How longs this computer been on for?" With tools that read your operating system, the system clock, how long your computer's been on, how much ram you have and how much is being used and more you can find out anything you need to know about your PC.

And what makes Widget so full of variety? GMC has been helping contribute by making widgets of there very own and I still need your help today. Go to this topic to make a widget of your very own, if yours is included your name will be shown to everyone, everyday in the growing collection of Widgets. When complete, Widget will be available in 3 versions. Home, for all the family, Office, for the mature business and Plus, for anyone and everyone. 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 there Game Maker games to our website and then, if accepted, we will place then on the show. On this show we review games, programs, examples, both preview works in progress and completed works.

What’s the difference between a preview and a review you may ask? A review is where we look at the item being reviewed and make some comments on it before giving it a star review based on five stars. A “preview” on the other hand is where we play the work in progress; give some opinions on it based on what we like and what we don’t like. We will most likely mention the release dates (if there are ones) but we don't give it a rating since they would not be completed games.

Gamemaker TV is not just about filming the games, at times you see me, Dan Eggers (the host) on green screen. This doesn't happen often but only perhaps during mainly the introduction and closing, but you still do see me at times. Gamemaker TV is not made by “Revel Games” as all they work on is the website. It's mainly all me, Dan Eggers, with the help of my friend Chris who did our major cool logo. But I write, produce, direct, host and pretty much every thing else you can think of, that includes water boy (yes I demand myself to get myself water).

Episode 1 will be coming out mid-September and if you'd like to get involved in future episodes, all you have to do is visit our website gmtv.revelgames.com, then click submit a game for review. After submitting your game, we will e-mail you. Episode 1 will come with five different versions, two streaming and three downloadable.

The streaming videos will give you a pick of high or low quality, however low quality will be really low. Then the downloadable versions will have either high or low quality, but they will come with all the things from the show like the games, programs, etc. that were all shown in the show for that episode. The third downloadable version will be called Dial-Up version, this will be extremely low quality and won’t come with any extras in it. This isn't required for dial up users just recommended.

We Are NOT, I repeat NOT using Windows Movie Maker I am using Video Explosion Deluxe, FX Composite Lab PRO and brief (and I mean really brief) use of Adobe After Effects. To record the games I am using Growler GUNCAM registered and paid for version. My camera is not a low quality, but I don't know exactly what the specifications are. It’s a Panasonic if that counts for anything. Also they want to close my topic on the GMC, so if they do, 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 cases, the better the game, the longer it took to make it! In this brief (in comparison) article, I will be taking a look at some of the processes involved in developing a game.

Develop Plan A basic priority list should be followed throughout the development of the game. The concept must first be polished to the point that it can stand on its own, and needs no support from such planks as "prototype" and "idea." It should be a completed, totally stand-along concept. This is not to say that the concept may not be modified during development, far from it. Polishing the concept is a continuously necessary factor but development should not begin until there are no excuses necessary to rationalize gaps in the design. Next, the game's structure should be laid out. What will the controls be? What happens if the player drives his car off the road? What if he shoots his partner? What if he falls off the roof without first retrieving the parachute from the last level? These are all valid questions that should be posed and answered before continuing. The next area of interest is the sequence in which a game development team should develop their resources. Graphics are a must as games cannot function without them. But not too much focus should be spent on graphics while still in early development. They can always be polished up later on.

Developing

What if you really have no idea how to go about solving a problem? The first thing to do is to take a look at the manual. Many beginning Game Makers fail to do this, but instead go straight to the GMC and begin posting annoying and obvious questions. So before you make a fool of yourself by asking how to draw a sprite, read the manual. If that still doesn't help (which is sadly sometimes the case), try asking some GM friends, such as a friend on the GMC or your nerdy friend at school, if they know anything about the problem. Sometimes the tiny amount of knowledge someone else has, plus the tiny amount of knowledge you yourself have, can cover just enough to help you figure out the problem. Finally, if you can't find it in the manual and you can't get any help from confidants, it's time to call in the troops. Post your question on the GMC, but please, please don't post it in the Advanced Q&A section unless you are an advanced user yourself and the question requires more understanding than just ‘take a look at my code and fix it’. It's true; the Novice Q&A section is quite often perused by bored but helpful advanced users. Please don't post a question in Advanced unless you know that it is not a dumb question.

Debugging Next, how do you go about debugging a problem in your game? How can you find out what's going wrong? The most obvious solution is to use the built-in debug mode to check variables in real-time. Sometimes, however, you need more. 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 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 be slowly adjusted until they are just right.

Getting Help So what happens when you get stuck? What do you do when it seems that there is no solution to a problem that can possibly work? The first rule is this: ‘never try out a drastic solution without backing up what you have in your project so far, first’. Failure to do so can lead to a frustrating amount of time and energy lost.

5

Another good way to handle debugging situations is with cheat codes. Did you know that this is where cheat codes actually came from? Developers didn't want to have to play the whole game just to test out one little part near the end. So they invented a way to skip levels, get certain weapons, invulnerability, etc. Throughout this article, I've gone over the basic steps required to develop a game. Hopefully I've been able to at least get you pointed in the right direction so that you too will be on your way to creating the next great Game Maker game!


1. ARTICLES

6 The difficulties of making a MMORG by mememe One of the most popular genres, which usually get the most attention at GMC, is MMORPGs, which is short for Massive Multiplayer Online Role Playing Games.

There are many well known MMORPGs at the GMC which examples such as Slime Online, Stick Online and Nightfall Online. Although these games can turn out well with the potential they have, and become a great game, there are many problems and difficulties faced by the creators of MMORPGs. Many people do not see these behind the scene, but the world of making a MMORPG can be hell for many. Having spoken to JaketheSnake3636 (the creator of Nightfall Online) and BlaXun (the creator of Slime Online) off of the GMC about the problems and difficulties faced in making a MMORPG, I found out they both had similar problems. Starting with Slime Online, BlaXun had stated that keeping the players synchronized with each other was difficult, and then went on to state that another difficult part of Slime Online was lowering the traffic from the client to the server and vice versa, by added movement simulation. Lastly, BlaXun stated that room changing had become difficult, especially with Beta 7, as he had found a bug which had been bugging him. His indepth comments can be found on page [number] of this issue. On with JaketheSnake3636, just as BlaXun had said, he stated that keeping everyone, who is playing at the same time, in-synch without too much lag was difficult. At the start, movement was easy, but then came all attacks, spells needed in the game, and it soon became much more complex. The 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 else’s screen, it would look very bad as the lag would cause stuttering and freezing. He programmed something to help with the movement, but with regards to all of the other stuff, it did not manage to stop all that as well. The last thing that he stated was that making online games had a different set of bugs to making offline games. For example, as he explained, if he was sending a single byte which can hold a data range of 0 to 255. If the value that he is sending jumped over the limit, 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

JaketheSnake3636 “The thinking process behind making an MMO is a very 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 course overcome this lag by making it as invisible as possible. I wrote a tutorial that can be found here that demonstrates one technique to mask lag. It sends variables between players to demonstrate smooth online movement and can help make the visual difference between a player online, and a player sitting right next to you, much more minimal. 2. Bandwidth Consumption: When programming the networking for your MMO, you need to be very careful in how you go about things. If you become careless, your game’s bandwidth could get eaten up extremely quickly, which in turn will increase the amount of lag being produced. What you need to do is lower the amount of data being sent and received to only what is necessary. Let dead reckoning take its course by assuming what is going to happen based on certain variables already known. This will help save a large amount of bandwidth, which is important when more and more players join your game. 3. Optimization: When programming my MMO, there were often times I noticed that other players were getting low frame rates. Even though all games need optimization, online games tend to require a bit more horsepower to deal with larger environments and lots of players. To help fix this problem, here’s a basic list of things you can do to increase your game’s frame rate: -Turn precise collision checking off on all sprites that aren’t using collisions. -Disable/deactivate sprites and backgrounds located off the screen. -Give players the option to turn down certain effects being used in-game. -Program a system to destroy other players, and stop receiving packets for them if they are not within your view area.


1. ARTICLES

7

The difficulties of making a MMORG (continued)

-Optimize your code! Don’t get sloppy or it’ll come back to haunt you. -The step event is your enemy! As useful as it seems please remember to only use it for the things that are necessary. Alarm events are your new best friend. -Include techniques to keep the game going at the same pace, even if the FPS dips a bit.

So this concludes the article of 'The difficulties of making a MMORPG'. With many difficulties facing creators of MMORPGs, the creators may be in depths of depression when something fails to work. Although it may be a difficult and treacherous path to make a MMORPG, if you’re skilled enough to make one, I suggest you go ahead and give it a try. 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 is. - JaketheSnake3636”

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

... Want more help in making an online RPG? Then Check out pages 17 - 20 where there are 2 tutorials provided by GMTutorials.com. Also check out the guide written by BlaXun on page 8.


1. ARTICLES

8

Developing a MMORPG by BlaXun

Hey there everybody. This is a small article written by myself about different aspects of developing an online game. The problems of online games (made in GM) will especially be an important part here. I hope you have as much fun reading as I had writing it.

1. Planning an online game So you decided to make your own online game? Great choice, online games usually have a long life-time compared to other games. An online game can quickly get players addicted. Of course it all depends on how you make your game. First off, you need to do basic brainstorming as you do for every project: -Do I have the knowledge on how to make an online game? -Do I have the requirements to run a server? -Do I have the time to work on such a project and keep it entertaining? -What kind of game do I want to make (Beat ‘em Up, Jump ‘n’ Run, Top-Down Shooter, Racing, etc) -What features MUST my game have? Okay, so you’ve got some ideas? Great, let’s go on.

2. The first steps: So, here we are. We’ve got an idea flying around in our head, so now what? Easy! The first programming sessions will be really boring. You'll have to get the movement system done, however you might have to make a registering function as well and you also might run into lots of problems. Always remember to keep the amount of transferred messages between server and clients as low as possible. A small example: In a top-down shooter don’t let the client send his x, y, sprite_index and image_angle variables all the time, but instead make the client send this information only once he starts moving. Just send the current x, y and direction variables he will move to. The rest (like image_angle) can be calculated by the client that receives the message via the server. In my first online game (Battle Turrets Online) I was sending x and y all the time. Well, I didn’t experience any problems because it was limited to 2 players only, but when I started Slime Online and used the same method again it became troublesome. I had players that were really lagging; rooms with 5 players that weren’t synchronized anymore so quite honestly the game couldn't be enjoyed anymore. Now with beta 7, I (finally) managed to simulate the movement for all players (thanks to Jenner from the Game Maker Community). Yes, the first steps will be pretty frustrating and troublesome, but it’s not all bad, so read on!

8

3. All the fun around online games: It's not all bad, actually most parts can actually be pretty fun! Depending on the kind of online game you create, you will still have your own little world running on your computer. It's pretty interesting when you give the players the ability to change the game world on their own. For example, the next version of Slime Online will have the feature of planting seeds and growing trees. The player can buy seeds or mix seeds and then plant them. Trees made by players will grow all around the game and make each of the maps different from how they looked at the beginning. Another thing is that players can sell their collected items. This will allow the players to set their own market values for the game. Some people might sell their items at an expensive rate while others may sell some cheap. New players will sell their item at an average price which is neither too cheap nor too expensive. The system of the game isn’t any longer decided by the host/server but by the players, and that’s what makes an online game worth playing. Many people will also want some kind of PvP system (Player versus Player) which is always a good idea (depending on the game’s genre). PvP will allow players to compare their strength with other players. Weak players will seek for more power and strong players will try to keep their existing power. There are many things beside those I have mentioned that can make a game enjoyable. Of course I think the basics would be: -Communication (Chatting, yes I know Slime Online only has limited chatting, but I have my own ideas about this ). - A world to explore. - The ability to compare yourself with others. - The ability to change the game by yourself and make other players realise your existence. - A solid engine so nobody gets frustrated by bad connection or movement troubles.

4. The troubles of online game development So, here we go, finally the negative side will be revealed. Some simple things that should be avoided are the following: - Don't send too many messages from the server to the client and vice versa, keep messages small. - Don't send messages to players that are unnecessary. (Example: Player 1 is in room A and Player 2 is in room B, make the server realise that and only send messages from client to client if they are in the same room). - Test your Game with a team, as you can not test it alone to its full potential. An online game can have many small errors that you will only realise by playing with others. - Protect your game from hackers! - Successfully open a port on your router/firewall before you even try to host a server.


1. ARTICLES

9

Developing a MMORG (continued) Now I mentioned hackers, they are the big problem for homebrew online games. Many people will just try to ruin your game so nobody enjoys it anymore. Why? I seriously have no idea why people should do that, maybe they just can’t get anything done by themselves and therefore don’t want you to accomplish your goal. But what can I do to protect my game you may ask? Well, first off, save the player’s IP address, and maybe, MAC address on your computer. Next, make a command to ban players. Ban them by their IP and MAC address. Admittedly, both the IP and MAC address can be changed, and here's where the trouble begins. Hackers won’t 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 manually each time they ruin the gameplay for others. The solution would be a good system to detect hacks as soon as possible. The most important part here is to let the server keep track of what’s going on with each player. An example: A player logs into the game, you send him the information of what he has in his item slots 1, 2, 3 and 4. Now the Player is happy he got his stuff. Great! Wait, that’s not it, let the server also remember what the player now has in each slot. Now, this Player wants to sell the item on slot 1. The server knows that the item he has on slot 1 has the index of 5, but suddenly 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 possible without hacking. Congratulations, you just found a hacker. Ban them by IP address, MAC address and name. Now he can go look for another game. It’s really important for your server to check nearly every 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

The first problem you have, not every player will like the style of your game and there's nothing you can change about that. If somebody doesn’t like anime/manga you won’t be able to make him enjoy a Naruto MMOG. If somebody doesn’t like the simply comic-style of some American drawings, he wont enjoy your graphics. But don’t think it’s all about graphics. A MMOG should offer much more than just graphics. Why else do you give people the possibility to play with many other players? Your game will need some kind of "learning curve" Let the Player start kind of "dumb" but let him get more and more experienced over time. For example: In an RPG you usually start on level 1, but as time goes by you will quickly find yourself on level 20. You get more armour and more weapons and all newcomers will look up to you. This will show others that the game offers more to them and it will show them that you can become stronger as you continue to play and progress. If you don’t understand what I am saying here then you should check out Almora Online (made by Borek and his great team, I don’t even know if he has a real team ). Each different game genre will require another strategy from the creator to keep it enjoyable for the players. Try finding your own way of keeping the game fun. Don’t copy too much from other games; try to add fresh ideas to your game. Well, I don’t know what else I could write about online games, I just know that they are the most fun to program personally. It's great to let programs communicate with each other and have your own "small world" running on your computer. You should really give it a try! -BlaXun


1. ARTICLES

10 Future of our Game Makers by Keysle Most of us began to use Gamemaker in an attempt to bring our imaginations to life; in fact, all the individuals I interviewed wished to do some part of game developing as a career. Truly Gamemaker is a steady base to start with such dreams. According to the book ‘Where's Your Head?: Psychology for Teenagers’ by Dale Carlson and Carol Nicklaus, teenagers 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 there natural and trained abilities. Obviously YoYo Games (YYG) associates focus their attention towards the production of games. We have taken a front row seat to see fellow GM users use their natural abilities in creativity of music, art, and even math. However even more so, we have seen their honed abilities and skills they have gained from their first game right up to their most recent one. One example of this natural creativity comes from one of our fellow YYG members, Sheepdog88. He has created a game called Mutu or also known as Mutu 1.5. This game is stunning with very creative and unique gameplay while preventing boredom by pitting the player up against 54 mind-wrenching levels. Another brilliant example is from YYG’s Soup42. He has impressed us all with fresh appealing graphics and lots of delicious gameplay.

Unfairness of Novice Q&A

While interviewing another member face to face, BLUEWINGS4 says: “I know I haven’t made any games yet but I am intending to learn how to make them.” He then goes onto 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 developing games and using these pre-career preparations to launch them to that point.

What about in our immediate future? Spectators may find our hobbies and interest a complete waste of time and suggest it as unhealthy and obsessive. This is wrong! I have three fellow classmates and we have all used Game Maker for school projects and other useful simulations we have managed to make it work for. It has also kicked in some extra money for some households. This is a tool we can make heavy use of starting our first jobs; programming a system to keep up with inventory stock, maintaining budgets and creating systems for employee work hours. Game Maker has, for sure, proved to be a useful tool to resort to in our current lives, and many of us know this from personal experience. GM Survey [ Link ] Psychology of Programming [ Link ]

by mememe

The Game Maker Community, or also known as GMC, is a great community. It has many amazing people who have contributed, helped and done much more for their fellow members. However, there are also other members who do not have the courtesy to read the rules. With the release of Game Maker 7, many visitors have joined the community and started using Game Maker. The vast majority of these members have good behaviour, while many of these members are great as they have contributed to GMC, or are in the process of contributing. On the other hand, there are also many members who break the rules and think that they own the place. "Tramping around", they begin by making a topic in the Novice Questions and Answers forum. Usually many of these do not use proper English in their posts; as I failed to do once which I shamefully admit:

Unknown to the rules of GMC, usually they would become angry if no one has replied to their topic in small time period. They begin post again, breaking the rules by bumping it up the topic listings before the three day time period, when another member would normally help them, while also informing them that they are breaking the rules. They would start to flame and the topic creator might bump some more, although they do end up with an answer to their question. On the other hand, those who have also just joined and understand the rules do not illegally bump their own topics. Many people seem to not notice these well structured topics amongst the sea of badly structured topics with bad spelling and grammar. This is very unfair, and I urge everyone to read the rules located here. Read all of them and learn them off by heart and think twice before posting a topic in any of the forums on the GMC. Soon 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 “Recently I was asked what my favorite game genre was and why. After some thought I decided that my favorite genre is 2 dimension platform games. Easy enough, 2d platforms. But why? The answer to this question is a little more in depth. I hope I can open a few eyes on why this is my favorite and perhaps make people appreciate this genre more. When I grew up, Nintendo (NES) was king. It produced some of the most copied games ever. For instance: Mario, Mega Man, Zelda and many others. What made these games so great? Their shear simplicity. You don't have to put aside 2+ hours to play and most did not require a save game. You legitimately could start up a game and finish it in an hour. No commitments, just a way to kill a few hours and no memorization of 800 buttons. There were 4: A,B, Start and select. Anyone could play them with no knowledge of the game. But that is true for just about any 2d, retro game. What makes platformers special? Riddle me this, how do you feel after making that nearly impossible jump? You feel great! Platformers offer that. Most of them come riddled with difficult tasks to over come and, if made correctly, a little bit of puzzle to add to it. Perhaps I am just a Mega Man fan boy and that is why I love 2d platforms, but I don't believe that there is any better style to play:) Enjoy, Damaged”

Staff Opinion: gmjab “Well my favourite game genre would be RTS(Real Time Strategy). I have liked RTS games for many years since the well known Age of Empires came out. 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 them probably is because I can be proud of what I have achieved(and be the greatest). This is why my second favourite genre is Tycoon/Management games. Since I first started using Game Maker I've had the dream of developing my own RTS game. Thankfully, that dream has come true as I'm developing my first major RTS now “Tied Forces”.”

11

User Opinions: Elmernite “If you mean to play? Then you ask a very hard question. When properly done, I love many genres. However, if you force me to pick one. I love platformers. Something about how the simple gameplay; move, jump, and maybe roll or shoot. Can be combined to make such a Challenge. It seams like you could beat everything so easy with so few controls, but it's not. When you put all of those elements together properly, you can make them extremely difficult. Throw in a good story, nice graphics, and challenging gameplay. You have my favorite Gm genre!” TheGameGenius “My favorite game genre for games made in GameMaker is "2D Top Down Shooter Games". I like these because they just 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 popular GM games among many GM users in this time.I my mind Gm should be used for 2D.Not to say you cannot make 3D games in GM,but i feel like Mark himself made GM for 2D games. I mean this is I believe true and pretty obvious seeing that GM has many more 2D functions. ” Michael “My favourite game genres are mostly puzzle platformers, platform shooters, or anything that requires some nice keyboard interaction. This is because I always like to have some challenge in a game, but I always think that a puzzle platformer for example, keeps me interested a lot longer than 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. “ That said for puzzle platformers, platform shooters are games that I love, too. If the physics and shooting are programmed well, and enough enemies come after me and shoot at me, I can enjoy such a game for a long time. This altogether explains that I like a game with some good physics, and having full control of what my character does.” Hellfire911 “My favourite Genre is MMORPG which is short for Mass Multi Online Role Playing game, especially 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.”


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 a value asset to any programming language. Instead of scanning through masses of actions, you can insert comments which can be read by the programmer, but are ignored by the interpreter when creating the executable. This is good practice to make projects more organised, and also easier if you leave a project for a while, only to return to it at a later date and have forgotten which object does.

This button is over looked very easily and it can be of more help than you realize. If your new to GM and D&D the object information will explain the action s in D&D more clearer and can assist in finding bugs. However if you can't solve a problem in your object and would like assistance from the GMC, this will come in handy. The most simplest way to tell people whats in the object is just a copy and paste away. 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 bothered to physically drag and drop the actions. Well by right-clicking on the action, it saves time and automatically adds it to the end of the action list no matter how far up the list you have currently selected. Object Properties Keyboard shortcuts: Alt+N - Quickly change name of the current object Alt+V - Check/Uncheck Visible Alt+L - Check/Uncheck Solid Alt+E - Check/Uncheck Persistent

>> Beginning GML Tip: Grouping scripts Some people may not think of sorting their scripts into folders, but it is recommended. As an example, if you had all the files on your computer on the desktop, would you find it easy to locate certain files? Defiantly not! The same goes for your gml scripts. If your game is going to consist of more than 10 scripts, you should make a folder structure to keep your game neat. This is also an advantage if you intend to share the source to others.

>> 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: Alignment Keys: Ctrl+J - Set Left Ctrl+E - Set Centre

>> Beginning GML Tip: Commenting People always like to make comments, so why shouldn't it apply to your code. If you’re sharing your projects you want 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 several lines. You start with '/*' and end with '*/', a bit like using tags in HTML. /*Hello World I'm on different Lines 1234567890 ABC*/

>> Beginning GML Tip: My Constant Value Have you ever found yourself writing out a variable over and over again for the same value which doesn't change? Do you ever find yourself referring to different objects just to retrieve that variable's value? Well you shouldn't have to because there is a handy thing called constants, and these are, well, pretty constant. You can set them in the Global Game Settings and then when referring to a value in code, you use the constant. An example of how you can use them effectively is when creating new colours. In the Global Game Settings we added a constant called 'black' and then set the value at make_color_rgb(0,0,0). Now when we use our code we can refer to the colour black easily: draw_set_color(black);

>> Q&A: Tank turret facing the mouse - [ Link ] This user was having trouble getting a tank turret to face the mouse position and was found in the Novice Question and Answers forum. His problem was soon corrected as he realised he had the turret as a separate object from the tank and all he had to do was modify his code. lostprophetpunk's solution: turretobject.image_angle = point_direction(x,y,mouse_x,mouse_y)

>> Q&A: Create object on mouse click - [ Link ] This user wanted to know how to create an objects at the mouse position in the room. After a few comments the question was solved with this solution: GLOBAL Left Pressed Event: instance_create(mouse_x,mouse_y,object);

>> Q&A: Numbers to Subimages - [ Link ] This user created subimages for numbers in his game. He wanted to know to use them without have to create a subimage for every number to a thousand. The issue was solved with some simple GML provided by molloyboy08. 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 which are defined in Game Maker.

>> Advanced GML Tip: Finding the remainder 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);

sprite_font=font_add_sprite(spriteName, ord("0"),0,1) draw_set_font(sprite_font) draw_text(x,y,moneyVariable)

...

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 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 easily count these resources much faster using one script for each resource. You can find the scripts and an example of how to use it in the ‘Resources’ folder. We recommend you to keep this example opened while you read this tutorial, or to try to figure this out by yourself.

Here is the script that counts the lines of all scripts together. var MAXCHECK,TOTALLINES; MAXCHECK = 1000 TOTALLINES=0;

var TOTALSPRITES;

SCRIPTFL=file_text_open_write( "LNCOUNT.txt") for (i=0;i<MAXCHECK;i+=1) { if script_exists(i) { sctext=script_get_text(i); file_text_write_string(SCRIPTFL, sctext); file_text_writeln(SCRIPTFL); }

TOTALSPRITES=0;

}

for (i=0;i<argument0;i+=1) { if sprite_exists(i) { TOTALSPRITES+=1 } }

file_text_close(SCRIPTFL); SCRIPTFL=file_text_open_read( "LNCOUNT.txt");

return TOTALSPRITES;

} until file_text_eof(SCRIPTFL)

Let’s have a look at the script that counts the sprites:

// arg0 = max index check

This script is not as complicated as it might seem for some users. First it defines the variable “TOTALSPRITES”. If i (the number of sprites) is less than argument0 (the maximum number of sprites to count), it adds one up if there is one more sprite. For all other resources except for the lines in a script, this script works exactly the same. The example also holds a script to count the lines in all scripts in your game. This script is not much different than the other scripts, except that it saves all scripts in a text file to count the number of lines. After it’s done counting, the text file is deleted again.

do {

TOTALLINES+=1; file_text_readln(SCRIPTFL);

file_text_close(SCRIPTFL); file_delete("LNCOUNT.txt"); return TOTALLINES

If you study this script for a short while together with the other script, you can see that the difference, although it might 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 lines of code in all the objects to. You could take this script one step further and count that characters in the script also. However, depending on the size of the script this may be a slow process. 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, so that the number of a specific resource can be shown in a message box.

mic=get_integer("Enter Max Index Check: (this doesn't count for scriptlines)","") op=show_menu("Sprite|Object|Sound| Background|Path|Script|Font|Timeline |Room|Scriptlines","") switch op { case 0: {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

This piece of code goes in the mouse left pressed event of a button object that you need to put in the room. The variable op 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 number of resources to count, so if the number of resources is higher than the value of the mic variable, the difference won’t be counted with it.

That’s another tutorial, we hope that we prevented you from counting everything by yourself, and that you have learned some things from this tutorial.

...

?


2. GMDEV

16 How They Did It: Program Creator Exe's by gmjab If you spend a little time around the Extending Game Maker forum you will find lots of people asking the question “How do I get my Game Maker game/program to create exe’s?” A few years ago there was a program called “Program Creator” made by Dimitrios Beredimas(fallen^angel). This was one of the first Game Maker creations to actually make exe’s of its own. However it does not create true executables, it’s actually a clever little trick which makes you think that it compiled an executable. Even though the source was released a while ago we are going to show you how he did it and how you can do it too.

How they did it In Program Creator it may seem that the program is actually creating an executable, but it is not. When you create an executable with program creator, you will notice that it 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 simple save command: game_save(file); This save file generated by Game Maker contains all the positions and variables of the objects in Program Creator. When the executable is started, it simply loads the game back again. But how did they make the exe? Well it's actually very simple. What they have done is copy the original Program Creator exe to a different location and with a different name. This can be achieved with one line of code: file_copy(originalfile, newfile); 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 because the buttons you create will be the actual buttons in your program. The buttons will not be changed from the fake button(In program Creator) to the real button in your program because everything has been pre-programmed. But this is not to say that you can't do it a different way.

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 their code, then we will break that down to a minimum.

16

In Program Creator they use the below script to make the executable: dir = working_directory dir += "\"+string_remove(argument0, ".exe")+"\" directory_create(dir) game_save(dir+"data.dat") file_copy(argument1,dir+argument0) show_message("Exe file created in "+dir+argument0) In total you only have to execute two of those functions to actually make the exe. Here is the smaller version: game_save("data.dat") file_copy(“MyEditor.exe”,”NewProgam.exe) So as you can see it 1: saves the game 2: copies the main executable. Now that we have the creation of the executable done, we need to know how to load it. In Program Creator they use the below code to load: if (file_exists("dontdelete.imp")) { room_goto_next() } else { if (file_exists("data.dat")) { instance_create(0,0,backgroundseter) game_load("data.dat") } else game_end()} For you to do it, you should only need this: if (file_exists("data.dat")) { game_load("data.dat") } else { room_goto_next() } This code will first check if the save file exists and if it does, it 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.


2. GMDEV

17

TUT: MMORPG

by Calle Ekdahl

This tutorial will tell you the very basic of how to do an MMORPG using mplay, however, a pretty good pre-knowledge is required.

third 2+1 etc. We also write to the index of global.myid, we set it to one. We will use this to control whether or not the player is still in the room.

Let us first think of what an MMORPG is. It is an online game with capability for lots of people. So basically, it’s any online game but with such coding that it can allow more people than usual. This is how we will think about it when we create our simple MMORPG engine. And if you know how to do onlinegames already, which is assumed since you are trying to do an MMORPG, the problem you will have to conquer is “how can we identify and share values for a large unknown number of players?” and the answer comes below. And some basics as well.

Now both clients and the first one to start the game, called server will be redirected to the gaming area. This is where they will be able to play. We only use one room, where everyone can meet and chat. The room can be designed in any way, but do not put out players. We will need two objects only for all players in the world, one for you and one for everybody else. You can input yourself into the world if you wish to, or you can create him. But let’s put him in from the beginning and we can use him as an executing instance to initialize the other players. This will be his create event:

First of all, since this is a normal online game although it can accept more players we will not use a server. The one that hosts is the server for everyone else. And therefore just add basic connection / session create code when the host hosts.

global.data = ds_map_create(); for (i=0; i<mplay_data_read(0); i+=1) { if (mplay_data_read(i)) { 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); global.myid = 1; 0 will make the session accept an arbitrary number of players, which is just what we want. Of course you also need to test whether your calls were successful, and if not, display an error 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 mplay_data_mode(true); such that when the original creator leaves the game, another player will host the game in his place. So the same session will continue to run into infinity as long as there is at least one player left in it. Now when that code is executed, hopefully the player will have moved on into the gaming-area. So let’s see how we can join his session. mplay_init_tcpip(ip); mplay_session_join(0,”Client”); global.myid = mplay_data_read(0)+1; mplay_data_write(global.myid,1); mplay_data_write(0,global.myid); And then move on to next room… if everything was executed correctly, but again, you’ll have to add this yourself… if ! (mplay…) /*End*/… We will need the global variable myid later, all our players will need specific ID’s or we will not know who does what. Using the mplay_data_write / mplay_data_read functions will ensure that into infinitive all players will always have an unique number. First player gets number 1, second player gets 1+1,

17

Our data structure now holds all instance id:s of all players in 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 their screen as well. mplay_message_send(0,1,global.myid); We will send a message and tell them that we need to create a new instance for a new player and that the unique number of that player is global.myid. Before we make the receivers create you we must however first devise a system for how the message’s ids are interpreted. Because each player will need to send some values later on, like x and y, and we have an unknown number of players and therefore an unknown number of messages and no message may have the same id. Therefore we need to figure out how we can make safe numbers. Every player has an id of their own, say that we have 8 players and none has left then we the ids are 1, 2, 3, 4, 5, 6, 7 and 8. And they will send say 3 different values; x, y and sprite_index. Then we have 24 messages. And then we have some systemmessages like the one above that tells everyone else to create an instance. I will use ids 0-99 for system-messages and I will have a pattern for the rest player-defined message ids. First message of player 1 will be 101, second 201, third 301 and so on. So for an example the fifth player will send his x-variable 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 free for sure, and we reserve it for “create instance”-messages.


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: mreceive = mplay_message_recieve(0); mid = mplay_message_id(); mvalue = mplay_message_value(); if (mreceive && (mid==1)) { instid = instance_create(0,0,obj_player); ds_map_add(global.data,mvalue,instid); } And you can now see how you can easily add more messages to interpret. That is what we will do now, as we create the system which will synchronize all movements. I will not create a movement system or anything like that in this tutorial. I will just show you how to do mplay. But anyway, put this when you walk somewhere: mplay_message_send(0,100+global.myid,x); mplay_message_send(0,200+global.myid,y); And when you change sprite, for an example if you start fighting or if you walk or anything like that which you can not figure out from client side (you must always try to figure things out from your side without any mplay, which we will discuss soon), you do this: mplay_message_send(0,300+global.myid, sprite_index); And then to your code you’ll add an action for each received message. You can make it look like this: mreceive = mplay_message_recieve(0); mid = mplay_message_id(); mvalue = mplay_message_value(); if (mreceive && (mid==1)) { instid = instance_create(0,0,obj_player); ds_map_add(global.data,mvalue,instid); } if (mreceive && (mid>100)) { nid = string_char_at(string(mid),1); player = string_char_at(string(mid), string_length); if (nid==1) { (ds_map_find_value(global.data,player)). x = mvalue; }

18

if (nid==2) { (ds_map_find_value(global.data,player)). y = mvalue; } if (nid==3) { (ds_map_find_value(global.data,player)). sprite_index = mvalue; } } I checked first whether the id was larger than 100, because this means it was not a system message. Then I intialize the variables nid and player, by reading the first number of the id (we know that 101 will send x, 204 will send y etc) and player by reading the last number of mid (since we know that mid originally was created by 100+global.myid, or 200+global.myid etc). Using values from the data structure that we earlier created we can find the instance corresponding to the player that sent the message. We can therefore now walk around and see each other. Now is the time to do some discussion about what really needs to be transferred using mplay and what needs not. We don’t want to send more messages than we actually have to. 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 the ground your player automatically picks it up (and destroys the coin object itself), then you would not need to send that info, instead you could put instance_destroy() in collision with obj_player, which would be the object to represent all the other players. Try to apply things like this as often as you can. Another thing you need to think of is when to use data and when to use messages. Often changing values such as x and y might be better synchronize with messages, but stats such as the individuals attack and defence would better be synchronized with data. Here comes an example of how you could do to retrieve those stats of the player with id 5. We’re using the same system as with messages. First this is how to write info, attack and defence for player five: mplay_data_write(105,my_attack); mplay_data_write(205,my_defence); And to collect the data: Player5attack = mplay_data_read(205); Player5defence = mplay_data_read(205);


2. GMDEV

19

TUT: MMORPG (Continued) If you walk into a player and you don’t know what player it is, you can use the instance ID (called coll_id) to find out: pos = ds_map_find_first(global.data); for (i=0; i<ds_map_size(global.data); i+=1) { if (ds_map_find_value(global.data, ds_map_find_next(global.data,pos))== coll_id) { player = ds_map_find_next(global.data, pos); } else { pos = ds_map_find_next(global.data,pos); } } PlayerAttack = mplay_data_read(real(“10”+ string(player))); PlayerDefence = mplay_data_read(real(“20” +string(player))); } So, now you can use both data and messages. And players are synchronized. You should have a basic understanding of how to create an MMORPG. Two things I guess remains for me to tell you, how to synchronize other moving things such as enemies or bears, and how to log off.

You can synchronize anything just as we have synchronized the players. But you’ll have to make a system for their messages as well. For an example, you are unlikely to have more than 50 players online at the same time, so 150-200, 250-300 etc. can be used for other message. So if you want to send a bear x, instead of 100+global.myid it would be 150+global.bearid. Also you would only want one to send out that information, and that would be the one who hosts. He has the “real bear” and the other just have one object that represents all bears. The real bear computes movements and sends it out. You create a bear the same way you create a 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”. To log out you just need to send a message to everybody else that tells them to delete you from their data structure and deletes your instance. Then you need to do mplay_data_write(global.myid,0);and that’s it. If you will try to construct an MMORPG step by step following this tutorial remember to think about what events and objects that I use, for I do not always say that. I require quite a lot knowledge from those who want to do this. Good luck everyone!

TUT: mplay Chat

by Calle Ekdahl

In any online multiplayer game you probably will want your players to communicate, and especially in games like MMORPG’s, where communication is a huge part. I’ll now show an easy way to do an easy chat which is easy to implement into your project. Everything will go into one object and I will explain it event for event. c_text = ""; ci = 0; The above variables will be defined in create event. c_text should be used as an array, storing all of our messages. ci will be an index keeping track of where we are in the array. If you get errors because of the array not being initialized you can fix that by doing something like this: for (i=0; i<100; i+=1) c_text[i] = “”; Next step is to receive text, which goes into step event: if (mplay_message_receive(0)) { if (mplay_message_id()==1) { c_text[ci]+=mplay_message_value(); ci+=1; } }

19

Basically it says ”if we receive a message and it has an id of one then that is a chat-message so we’ll add it to the array”. The index of the array then goes up one such to prepare for the next received message. Anyway, all received messages will be added to array so it will contain the entire chat-history, up 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 look at how to send messages to everyone else: mplay_message_send(0,1,keyboard_string); c_text[ci] += keyboard_string; ci +=1; keyboard_string = ""; We know that the other player’s clients will only add the 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 now make the info be added to all the other’s arrays. However, since you do not receive the message you just sent yourself you will need to add it to yourself manually and that is what we do on the two lines thereafter, before we finally reset keyboard_string which we have been using to take input. The whole code should go into whatever event you like, key-release for the enter-key for an example.


2. GMDEV

20

TUT: mplay Chat (Continued) Now that everyone can send messages to each other and they are being received all we have to do is to draw them. This mostly a question of layout, I’ll just draw something as an example but you’ll have to customize it yourself. Notice that the object I used had a sprite which I used as background image for the chat. All of the following goes into draw. draw_sprite(sprite_index,image_single,x, y); draw_text(x+10,y+sprite_height20,keyboard_string); Draws the background of the chat, and then the input you write in the bottom, with 10 pixels marginal from the left border. w = 0; for (i=0; i i+=1) { w += string_height_ext(c_text[abs(i)], -1,400); }

20

Some messages will be too long and then we’ll have to switch row, therefore we can’t really know how high our text is. We find that out in order to know how many messages we can draw. if (w>sprite_height-30) { w=0; for (i=ci; w<sprite_height-30; i-=1) { w += string_height_ext(c_text[abs(i)], -1,400); } } h = ci-i; for (i=0; i i+=1) { draw_text_ext(x+10,y+sprite_height -30,c_text[ci-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.


2. GMDEV

21

Pixel Art Tutorial

by HiyuKantaro

Human: Standing position This issue we are going to make, or should I say you are going to make, a human in the standing position. We are going to use all the basic techniques from the tutorial before. First we make the line art. Not copying someone else’s line art is a better way to gain experience! Here is my line art:

Now we get to the facial expression section. This is a very new thing for a beginning pixel artist. It’s basically shade and shine and that makes the depth. This is called sfumato in the painting business and was first used by Leonardo Da Vinci. The Mona Lisa is a great peace of art and you can see the sfumato very good on the hand and on 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 play around with the dithering to increase your skills and make your human just as nice.

If you look at the nose in the shaded area, I used the nonshaded colour to make the nose clearer and vice versa. In the 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 language I guess) is all about clever design.

Menu highlight I use one sprite for this. I have an alarm that makes them appear every 2 steps or whatever. The sprite then slowly rotates, whilst slowly getting bigger and slowly fading. When 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 select a different option is simply a case of setting the gravity direction to 180, strength 0.1 for all of them.

Enemy explosions The explosion effect was made up in several layers. First layer was an expanding circle, as you say. On top of that was another sprite, which itself was made up of several smaller sprites. Basically, make a small white sprite; make it shrink to

the centre over say 20 frames. Then save it. Then rotate say 45 degrees, and then overlay the previous saved image. Do that another few times and you'll have a nice little explosion. Use the outline tool to add some yellow and red, put that over the top of the expanding circle sprite, use a bit of blending and there you go. This sounds complex maybe, but it isn't really. It's just all through experimenting. Layering different explosion sprites is the way I do it. Also one tip, when you use the GM blur tool, make sure the background 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 draw the explosions with blend mode add, but this works well with dark backgrounds. I used to have an explosion tutorial on my old site; I will one day re-do it for the new site.

Interview with: Geou - Naruto GML techniques & anticipations GMT: So how did start programming your battle system... What kind of basic set up when we're in gameplay? GE: “I use a system based off of hit boxes. Basically, when the player's sprite is past a certain frame, it creates a hit box, which then does damage and knockback to the opponent. I like using them as it's easy to modify and only hurts the opponent where they should be hurt.” GMT: So do the fighters have a move set defined by object by variables or arrays? GE: “Actually, it's roughly halfway through the move when the hit box is created. At the end of the animation, if the player hasn't pressed a key to continue the combo yet or the combo is over, then it ends the attack and gives the player a bit of delay before they can attack again. The fighters basically have an attack variable that changes during the different attacks, resulting in creating hit boxes with different variables for damage and knockback suited for the attack.” GMT: Oh... I see... So what about the Chidori, and Rasengan? I'm sure you used an instance_create() function for that right? But just how? GE: “Yeah. I use instance_create for the hit boxes as well. I give them an owner variable however, and so it will only hurt the enemy depending on the owner variable. For example if it's 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.”

22

GMT: What I liked the most was Naruto's Uzamaki Slam attack... How exactly did you get that all to corralate so well? GE: “I think that was most likely the most difficult special attack to program. Basically, the first 3 attacks knock the opponent back a little, and the last knocks the enemy up so they can be knocked down. It took a lot of time and testing to get all of the 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 tell us about the other characters you planned on making. Who will be the hardest to program? GE: “Some other characters will be Future Naruto, Future Sasuke, Rock Lee, Neji, and Gaara, along with characters other users are creating. I think Future Naruto may be difficult to program, as he will have a technique to manipulate a clone of himself and possibly to team attacks with his real self. I think he'll provide a fun and unique experience apart from the other characters.” GMT: What can we expect from the story mode? And will the online play be the same as the single player play? GE: “Adventure mode will be unique and similar for each character. You will adventure around a village named Konoha, where you can speak with NPCs and play mini-games with them, and also advance the story by going fighting enemies on missions. Each character will have at least 5 fights, so the game will have a lot of play-time in the end. 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.”


2. GMDEV

23 Exclusive: RhysAndrew's Scrap Works by RhysAndrews Terms of use In downloading the scrap files that are provided here you agree to the following: - Resources such as graphics, sounds, music, and game concepts are copyrighted by the respected owners and *must not* be re-used for your own purposes. - Source code in these examples may be used. Concepts for SolarConquest are copyrighted by Rhys Andrews and all other concept writers.

File - tile_segmentfinder_v2.gm6 Info - This was a little attempt in improving the performance in Conflict: Online. We were trying to find ways of making tiles go faster, despite the fact they were made to be fast anyway. Though tiles are fast in quantity, if you place lots of them within the one screen they can slow down the game tremendously. This file was supposed to find groups of tiles (as in, lots of tiles placed very close to each other to make a 'big' version of a tile - particularly with the water in Conflict: Online) and render them as new tiles, placing 1x that tile in place of lots of the original tile. If I remember correctly, the red rectangles were supposed to be the region of all the subtiles of a group, that (if we implemented a rendering script) would render all the tiles inside it into one. The yellow rectangles simply surrounded tiles that will be rendered into a group. So it doesn't work very well, but hey, it might come in handy.

File - ascii-art.gm6 Info - I was working on this application after seeing a similar program (not sure what it's called) developed by another GM'er - you pretty much load an image, choose a quality, and it converts the image into ASCII Art. The basic formula is that a character replaces each pixel based on the intensity of the colour that it's replacing. Somehow, we got the formula a little screwed and images only work properly when on high quality 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 txt files in notepad, go format > font, and ensure the font is Lucida Console 1pt. It shrinks the jumble of characters down to a size so small it all turns into an image.

File - c-pixel.gm6 Info - My original idea for this was to create a paint program that is designed for bump maps. In the end, it became a poorly-designed grayscale paint program. So I got Pim to help me out and he wrote up a set of scripts that converted the 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

I think FredFredrickson released something very similar that did the job much more efficiently, and so we dumped the project because it was no longer useful.

File - space_mode_rewrite.gm6 Info - This takes me back. This was GameCave's first "major project". We took on a whole group of people to help us out with this one. "SolarConquest" was going to be an adventure/platform/action/rpg/RTS game (all in one!). We had built a huge concept. Each planet held an army of smiley balls (you know, the standard emoticon kinda guys) of a different 'emotion', and there was a huge war going on between the "Happy" Civilisation and the "Manic/Angry" civilisation... all other civilisations were tormented by the angry army and though they didn't fight, they were considered to be on "Happy"'s side. The story goes that a female "Happy" was taken as a prisoner for the Angry army, and fell in love with the guard. You know, one thing leads to another, and though I don't know what genitals these balls have, the happy smiley fell pregnant and both her and the angry guard was banished from the planet. They rose their child, the first "Neutral" (balanced emotions) smiley ever to live, on an abandoned moon. You become that child, who learns the art of fighting from your father but also the respect and dignity of your mother. The RPG element involved building relationships with the hierarchy of ally planets. The higher relationships you had, the more soldiers you could employ to your army from that planet (each emotion had its own special ability and set of weapons), and the better quality soldiers you got. At the same time, you grew a larger expectation and needed to defend the planet from Angry soldiers more often. The RTS element involved the pre-battle... in which you can command ships to go from planet to planet to defend, and attack enemy ships flying to the planet under attack, to avoid having to go into an all-out war on the planet's surface, which involves losing soldiers (but a whole lot of fun). Essentially, your goal was to take over the Angry Army planet. This GM6 covers the browsing of planets in 'space mode'. You 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 anything. Just enjoy the menu and the visual effects.

File - revelation.gm6 Info - Something I felt like doing for the sake of it one night. It's an intro for a game I never even planned to create. Enjoy!


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, bangbang” 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. Rightclicking 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 wellmade. 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 realtime 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 predefined, 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 username? TM: “Before I knew about game maker I always dreamed of making computer games but I had no idea how to do it. I always liked creating things; I used to make cardboard guns and projectile firing devices and sold them to people at school, which got me into a lot of trouble when people started using 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 trying to learn new things (anything about computers haha) and play on my DS. I really like playing on Metroid Prime Hunters...I think the best I got was 260th on the Nintendo leaderboard but the game has been taken over by so many hackers that it has lost it's excitement for me. My username first sprouted up when I and my brother were going to form a kind of company or group making GM games. He wanted to call the company Symumatic...I think, and I wanted it to be called Magnitude...but our ideas differed and we went our separate Game Making ways. I then went by the name Magnitude but when I first registered on a forum or website (I can't remember what site it was but it might of been RuneScape haha) the username "Magnitude" was already taken so after about 2 seconds of thinking I decided to go with the username "TheMagnitude" and since then I have used it for almost everything, differing to "Magnitude" sometimes.” GMT: When did you start using GM? and how many projects have you made since then? TM: “I first found GM about 3 years ago when my brother found it I think through Google, and ever since then I have been on it pretty much any time I could. The first game I properly finished was Marbles, which was a maze game using resource pack graphics haha. I was very pleased with the finished game though and it had quite a lot of levels and worlds. My favourite game has always been shooting games so I made my first TDS (never really finishing it) called Radiation Man, which had the basic stuff (couple of weapons and monsters, levels). I also made a breakout game which is available on YoYoGames and the GMC called BriX - I have never completed it and no-one has ever reported completing it haha it's really hard. I think my best score was about 8500. I have also made a Ping Pong type game called...well... Ping Pong which was quite fun. I have made quite a few projects, and quite a lot of them have been finished because I never give up on a project until it's complete and is to my satisfaction. That’s the secret...to never ever give up!!!”

32

GMT: How long did it take you to learn GML? any tips for people? TM: “GML took me quite a while to complete since I was on my own most of the way...I hadn't joined the GMC or any other Game Maker related community until last year so I had to learn by myself which was pretty hard. I think after about 11.5 years did I start to use GML fully in my creations. My tips for other people are that if you are constantly running into errors in your code then that is good, because the more you run into errors the more you will learn on how to avoid them in the future and the more you will learn about the GML programming language.” GMT: Out of all the GM games what's some of your favourites? why? TM: “One of my favourite GM games is "The Sandbox Of God" because I enjoy playing it and it is really clever how all the features of the game work together to create something professional. I like games that have a long replay value, which is what I try to include in all my games, and I think "The Sandbox Of God" has a very long replay value. I also like Jumper 2 because the idea is totally original and I like the professional level editor and saving feature. This game has clearly had a lot of work done on it...but I find it quite hard “ GMT: Are you a big fan of anyone on the GMC? Do you have a person who inspires you? TM: “Someone who inspires me is FredFrederickson, and this is because I know he spends a lot of time perfecting his games which is what I try and do (some people have described me as a perfectionist). But the most impressive thing about FredFrederickson is the graphics and menu layouts in his games. I'm not too good at making game graphics because it takes me like 3 hours to pixel a single gun, and I can never decide on a decent menu layout for a long time.” GMT: Airbase 101, was this your first popular/liked game? How long did it take to make? TM: “Yes I think this was my first popular game. This game started out being an AI test which consisted of planes flying out of a hanger and not crashing into each other, and this was 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, and when I posted an early version on the GMC everyone seemed to enjoy playing it and good comments always make me want to do more work on a creation. I upgraded it and upgraded it until recently declaring it finished, however when I


4. EXTRAS

33

Interview With: TheMagnitude (continued) get the time I will incorporate an online mode into it. This game was my first serious project which took me about 1 year to complete. Lots of people have asked me how I did the AI for this program so I have decided to make an example when I get back from my 6 week holiday!” GMT: I'm sure a lot of people would have heard of your second project, PhotoWeb. Where did the idea of an all-in-one creator come from?, Do you have a future goal for this program? TM: “I used to use a userbar maker to...well make userbars haha and I realised that there was NO program at the time that you could resize the image...so I thought to myself...that I will make that program. The name PhotoWeb instantly came into my head, mainly because it sounds flash, but also because it can be used for optimizing Photo's for the Web haha. I got to work on it straight away (at this point I was working on Airbase 101 aswell). The first version I released I got really good feedback from which made me want it to be the best graphics program on the GMC. I did realise that I had competition but I felt that I had created a whole new type of program that had never been seen anywhere else. Version 2 came out soon after but then the GMC had to wait a whole year for version 3, which is the version currently out at the 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

GMT: What game/program have you always wanted to make? TM: “I have always wanted to make an online FPS that a lot of people would play but that may be a while till I get my head down working on that because I'll be busy working on Shadow 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 way to go.” GMT: Do you have any exclusive upcoming games/programs that you are working on? TM: “Yes, Shadow Zone. Only a few people have actually played this online game with me and the few that have enjoyed it. It is a 3D top down shooter inspired by Counter-Strike. It can currently have up to 8 people playing online and I hope to get this game finished this Christmas.” GMT: Do you have any finial words for any GM users out there? TM: “There is one thing all you guys (& gals) must remember when programming with Game Maker, and this is to: No matter how hard or frustrating a creation is to make, it could be the best if just don't give up on it!”


4. EXTRAS

34 Interview With: sakisa GMT: To begin, could you tell us more about yourself? SK: “My real name is Sakis Rogas. I'm from Greece, a city called Trikala and I am 18 years old. I have finished school this year. I really like painting, sports, video games and game developing of course.” GMT: When you first started Game Maker, what were you thinking? What was your goal? SK: “I first started GM 3 years ago, with Game Maker 5.1 and I really liked how easy I could make a game in a few minutes. 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 perfect GTA-like game with its own authenticity that the player can do whatever he wants in game.” GMT: What made you become interested in 3-D games? SK: “The first 3d game I have seen in GM was a Doom-like adventure. I really can't believe that GM can support 3d graphics. I was downloading tutorials, scripts and examples from everywhere to help me with 3-D. So after a lot of research, study and patience I have decided to work with 3-D games because 3-D gives another dimension in the game and makes it more interesting and beautiful.” GMT: Seeing that you're interested in 3-D games, when did you start with 3-D programming and what would you say to others wanting to do the same? SK: “The first 3-D game I made was about 1-2 years ago which was a first person racing with very simple graphics, but it was so beautiful to see that I had made it by myself. So from 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 tutorials and examples that will be very useful to them and that they always try different things.” 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

GMT: What inspired you to make Crimelife 2? SK: “I always liked GTA games; Crimelife 2 is a GTA game that I’ve always wanted to make. It inspired me the freedom of the GTA title because GTA means freedom for the gamers.” GMT: Have you encountered any problems while making Crimelife 2? and if so, could you describe them. SK: “The only problems were some copyright stuff and disagreements with some people. All the bugs in the game are fixable.” GMT: What features do you think Crimelife 2 will have in the future? SK: “Always more and more and more! - More vehicles, at least 50 including bikes, boats, airplanes and others. - More weapons like knifes, flamethrowers and explosives. I want to add the good old grappling-hook from Crimelife1 sometime. - Missions (at least 20) and a good storyline. - More character customization with more clothes and outfits. - Maybe customizable cars sometime... - More enterable buildings and buildings for sale. - More freedom e.g. when you fly with a helicopter, you land on to a roof of a building.” GMT: Are you working on any other projects at the moment beside Crimelife 2? SK: “No. Crimelife 2 needs a lot of work so I don’t have time for other stuff.” GMT: that’s the end of the interview, is there anything else you would like to add? SK: “No really, only a big thanks to Mazdaplz for his help with the models.”


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 7. You may have noticed, but the advertisement page doesn't look very good, so in issue 8 we will be applying our new system to the adverts page. We would love to hear from you about your personal opinion of the magazine and any suggestions you might have. Thank-you to the people who have submitted content for the mag, without you the issues would be a whole lot smaller. On behalf of the GM TECH Mag team thank-you for reading and for your support.

In the next issue > Releasing a Game > Comic > GM Tutorials > Particle Effects

Feedback Good or bad, we value your feedback. Your feedback lets us know how we should improve to satisfy all the Game Maker users. Your feedback can be about (although not limited to) articles, reviews, gm tips or the magazine in general. You can leave feedback in either our GMC topic or on our forum.

39

Submit to us Yes, we at GM TECH will take almost any submission for a chance of it being published in the next issue. To submit to the mag, simply go to our forum and submit in the “submit� section, no registration is required and you will get a fast reply. If you're not sure what to submit have a look at the example list below: - Games - Programs - Screensavers - Exclusive information - Interview requests - Desktop Screenshots - Gifts - Reports/News - Articles - Letters We only ask that you submit content that you have permission to. Do not submit things that are not your own unless you 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.


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.