Академический Документы
Профессиональный Документы
Культура Документы
welcome
Welcome to issue 12 developers! Many of you have awaited this release for some time now, but not to worry, because this issue has finally been delivered and quite a big issue it is. With this issue hitting the 50 pages mark, GMTM has hit another fine record. Issue 12 has some excellent articles, exclusives and reviews that you just have to read. Starting off with the first part to Starting a Team you will learn how to construct a solid game development team. Then we have some very interesting articles such as Visionary Sound where you will find how sound can do more than just be in the background. Next there is some great development articles like Keeping Your Game Engine Flexible and the Getting Started with Ultimate 3D tutorial. This issue doesnt feature any major changes to design or content. The only main modification is that different sections of the magazine are different colours and on some feature articles we now have graphics above them. This issue weve brought back the Free Applications part with another three excellent programs. If youre looking for a game to play that doesnt take 5 minutes to finish, I suggest you download and play The Adventures of Cendah. The Adventures of Cendah is a well put together game by KingDiz thats not like your usual RPG. This game is not always predictable and the storyline expands. Best of all, if you play this game properly it will keep you occupied for a decent amount of time. You can find out what GMTM thought of this game on page 38 where it is reviewed. Also for this issue only you get a chance to view the new Liquisty 2: Unexplored Depths trailer thanks to Vertigo Games. For more information, check out page 32. In addition to the exclusive insight into Sploing there is 3 great wallpapers with this issue of the game. So check them out. Last but not least, if youve heard of a game that might be coming out soon and want to find out about it, dont hesitate to contact us. We will contact the creator for you and any details we find as well as screenshots will be featured in the next possible issue. Well that enough from me this issue. Enjoy this massive read. Gmjab Editor
contents
NEWS
03 03 WHATS GOING ON STAFF SAY
ARTICLES
04 06 07 08 09 09 10 STARTING A TEAM FINDING IDEAS FOR GAMES VISIONARY SOUND VIDEO GAMES, SCIENCE, POLITICS, AND ART SPEED BREAKER CHOOSING BETWEEN REAL AND FANTASY ENVIRONMENTS CHOOSING & FOLLOWING A THEME
GM DEV
12 13 14 15 17 20 20 21 21 22 RETRO GAMES: MAKING A GAME OLD SCHOOL KEEPING YOUR GAME ENGINE FLEXIBLE PSEUDO-RANDOM NUMBER GENERATION GETTING STARTED WITH ULTIMATE 3D TUTORIAL: 3D REAL TIME STRATEGY TUTORIAL: DRAW A DIGITAL CLOCK TUTORIAL: MINIMAP TUTORIAL: PIE CHART PIXEL ART TUTORIAL: IMPROVE YOUR PIXELING PIXEL ART TUTORIAL: RUNNING ANIMATION
EXCLUSIVES
23 25 28 29 30 31 32 EXCLUSIVE INTERVIEW: CODERCHRIS EXCLUSIVE INTERVIEW: HAWTHORNELUKE INSIGHT INTO: SPIRITS OF METROPOLIS PREVIEW: SPIRITS OF METROPOLIS INSIGHT INTO: SPLOING INSIGHT INTO: BLAZEZONE EXCLUSIVE LIQUISITY 2 TRAILER
REVIEWS
33 34 35 36 37 38 SUB TERRANEA ONLINE LEX DEEP SPACE FALLING CJ ZYMO THE ADVENTURES OF CENDAH
EXTRAS
40 43 44 45 46 48 49 50 ANCIENT CIVILISATIONS COMPETITION INTERVIEW WITH: FLASHBACK TOP GM PHYSICS GAMES GLOBAL GAMER PROFILE (GGP) FREE APPLICATIONS COMIC CHECK OUT CLOSING
CONTENTS
online
Website:............................................www.gamemakertech.info Forum:..................................www.gamemakertech.info/forum/ Wiki:............................................www.gmtechwiki.wikidot.com Email:..........................................support@gamemakertech.info
whats going on
GMT: Changes to Advertising Starting from Issue 13 the free advertisements system will be closed down. Advertisments in the magazine will be now paid only. This will allow users to purchase full page or halfpage advertising for a number of months. For more information on the new system and prices either read the Staff Say section in this issue or visit the website. Competition 02 extension With the recent host change YoYo Games extended the competition. However now the entries have closed and we are awaiting the anoucement of the winner. Server Upgrades YoYo Games has moved to different host which will, in turn, provide an additional two servers and a greater bandwidth. YoYo Games has had to move 200GB which took a couple of days. The new servers are faster, however you may not have noticed a difference. GMC updates The GMC has received a long awaited Invision Power Board software update. Along with this update the GMC has had a reskin as well as a PM box size increase to 100 messages. Some boards have been renamed and new boards have been created. Most members are now enjoying the new look and layout of the GMC. Smarty no longer an admin Smarty has resigned from his position of admin on the GMC. The well known admin will return to a normal member but will remain in close contact to his previous fellow moderators. He announced his resignation in a topic reply in an effort to not make it big news. However KCLC made a public GMC announcement later on. GM Obfuscator There have been many failed attempts at game protection to stop the GM Decompiler and so far no one can prevent games from being decompiled. However, Schreib has created a GM Obfuscator designed to render decompiled GM6 games completely un-readable. Download the program here.
staff
gamez93 GM Tech Owner gmjab Editor Rup13 Assistant Editor Researchers: GMmarine Writers Bendodge Christian Sciberras Hiyukantaro ESA Rixeno tomrussell Aertcz Timoi RoboBOT RedChu Reviewers: Mediocre Xantheil Chriscool Comic Artist: Bob11500K Proofreaders: NAL eagleprof Special Thanks: Alex Hawthorneluke Mr. Chubigans Schyler CoderChris
staff say
by gmjab As you may have heard or read, the Game Maker Technology Magazine advertising system will be changing as of issue 13. These new changes include the removal of free advertising that is present in the Check Out part in the Extras section. This means only paid advertisement will appear in the magazine. With this new system you will be able to purchase half page and full page advertisements at a small cost. We have a several deals for you to choose from and they are listed below.
Length 1 Issue 2 Issues 3 Issues 4 Issues Note: All prices are in USD. Full Page $9 $17 $26 $35 Half Page $5 $9 $14 $18
However you are not limited to just 4 issues. You can contact us at anytime to arrange a custom deal for any number of issues. Send any questions or enquires to gmtech.magazine@gmail.com.
ARTICLES
Excellent games have been created by teams of people. RedChu provides insight into how to setup your own team. As we all know, all of the big commercial games are made by teams of many people, each of these team members do a specific job, be it programmer, level design, etcbut these guys get paid a lot of money, as most games cost millions of dollars to make. And as we also know, people that use Game Maker tend to make their games by themselves and take full credit for the development process, they make their own graphics, sounds and music, they also program the games themselves, but not always are people multi-skilled to do so, so what do you do? Its a fairly simple question with a fairly simple answer; start a team. I will run you through an entire process of starting your team and making the game. forum called Team Requests where people like yourself post topics with all the necessary information about your team, such as positions open, current and/or future projects, rewards (if any) people will get for working for your team... just about anything you want can go into your advertisement as long as it follows the rules of posting for that forum, and that they impact the team in some way. Here is an example of a simple ad you could post there: Team Name: <name here> Team Needs: <available positions here> Current Project(s): <current project(s) here> Rewards: <what youll get in return for working here> Team Information: <information about the team here> By adding the information needed, this is all you would need for your ad, you could possibly add your e-mail address or other contact information, or if you have a website ready for your team, you could post the link. You should also know that replies in the Team Requests forum are not allowed by anyone, even if you are the author of the topic, so you cant bump the topic yourself. But after a month has passed, you may PM a moderator and they will bump your topic back to the top of the list.
ARTICLES
Demos
Demos are good for many reasons. One reason is that it allows the public to test out your product and let them know what the game is and what it looks like. Another reason is that it can provide feedback from potential players of the game. Feedback like this can help you and your team make your game better. The big companies do it, so why not you? When putting together a demo, be aware people will pick holes. Dont rush to put the demo together, take your time and complete a checklist of things to do. Here is a list of things you should do when making and releasing your demo. 1. You need to put the demo together like you would the final release. Dont do something entirely different to the actual game. The public may not like what they see in the demo and subsequently not bother with the final release of the game, even if it is different to the demo. 2. Dont give away too much information that could spoil the final game. Also, when using the same levels in the demo as the final release of the game, you should probably not let the player uncover all the secrets that can be found in those levels, or at least move some things around in the final release of the game to provide the player with a unique experience. 3. Once your demo is put together and ready for release, you should find a reliable file host for the demo. You can use any file host you want, or you can use your own website if you have one. Another good place to host your demo is a YoYoGames, you could place it there where it can be reviewed and rated by the public. Just use a place you are comfortable with and you feel is good enough to host your demo on. 4. Advertise your demo. Now that the demo has been released, you need to tell people about it. People wont go looking for your game if they havent heard about it. Written by: RedChu
The project
After you have finally organized your team, you will probably want to start on your project. Hopefully you already know what youre going to make and have the global idea in a document which you can send to the entire team. But along with the global idea for the game, you should send team members documents containing information on what they are going to be doing and what they should make. Start with the concept artists, send the character designers information on what the character will do and what he should look like, and have them draw out some artwork for the characters, and for items, send the concept artists information on what the item should look like. Then there are level artists who will draw the concept art for the levels. Youll need to send them information containing every little detail on what they should be in the level and what the level should look like, and theyll draw artwork of the levels. After all concept art is taken care of, you need to send the art to whoever will be drawing the sprites/models/backgrounds. They will then take the concept art and turn it into what it will be in the game. If you dont like the way the art turns out, you can tell the artists to change the way they designed it or have the concept artists make different sketches, and then send it to the other artists to repeat the process. Once the art is taken care of, you should send some information to the sound effects people and music composers on what should be made, such as soft, soothing music or technical, sci-fi music, and for the SFX, send them what it should be. Hopefully everything will turn out OK and you wont have to repeat this process, but you never know. The object creators will put together the objects, they shouldnt need to be told what to do if the other team members have left comments for them, but if they do happen to need help, youll have to give it to them or tell a team member to help them.
ARTICLES
Ask a friend
When you still just cant think of a good idea for a game, you can always ask somebody else, such as a friend or family member, after all, you never know what goes through the mind of others. When asking another person, it is best to ask somebody who doesnt make their own games. That way if they have an awesome idea, theyll tell you it rather than give you a bad idea. When asking a consumer about an idea, theyll give you many ideas on how to make it better game. You may want to place the name of the game that inspired yours into your credits, so that if/when the inspiration games author plays your creation, they will know it was inspired by them.
Your Imagination
This is where most games begin. You start to dream up a creative little idea and build it into a major and successful video game, and one good thing about using your imagination is that you can play your game at any time you want in your mind, and make some crucial changes that may effect your game in better ways. Your imagination is also where you can dream up a fantasy, something that isnt possible in the real world, but possible in the game world, and anything is possible in a video game, you just have to make it possible. When exploring your mind, try to think of a good story you could use for your game. Try to think of the characters and areas that will come into play. Once you have these in your thoughts, you can start adding on to the initial idea, and from there you can start making the game. If you keep thinking of more things to add to your game, dont hesitate to do so, but when you decide youre done, youre done, and you should quit adding anything else to the game unless it is absolutely necessary.
Your surroundings
Take a quick look around yourself, think of something that would enhance your surroundings and make it exciting, then try to build on that little thought and turn it into a game. This is one of the best methods around when you are running low on ideas, but it requires some patience and a good imagination. Unlike using your imagination as default for gaining an idea, you are enhancing your surroundings with your imagination and then gaining an idea. I want you to look just to the right of you, what do you see? I see a fake palm tree leaning against the wall, and a calendar hanging beside it with a picture of a covered bridge, and above the palm tree I see a poster of Link from the Legend of Zelda series. Now think about what may enhance those, I see the palm tree standing on a sunny beach and a covered bridge nearby, Link doesnt fit into the surroundings so I just toss him aside like an old pair of socks. Now, what I want you to do is take what you see and enhance it with your imagination, change the location if you wish, it doesnt matter, try to make it into a game in your head. It may be hard at first, but it is a very good way to find a very good and unique idea.
Other Games
Basing games on other games is a common method for both indie developers and commercial developers. They base their game on a previous game, but add new characters, levels, music and other things, but they keep the same storyline and general idea for the game. This is called a game clone and is a cheap but effective way to start a game. However, instead of creating a clone of another game, you can simply get ideas from many different games and form your own out of them all. One thing you need to avoid doing when creating a clone of another game is using resources from it. No music, sounds, sprites, models, levels, backgrounds or anything else should be copied. Doing so without permission from the original game creator will be breaking copyright laws. It is always good practice to create your own material for your games or find somebody that will do so for you.
Conclusion
I know that there are only four methods here, but that should be enough to help you find some ideas on your own. I hope that these methods help you in gaining some amazing ideas and that you will make some even more amazing games with them. Written by RedChu
ARTICLES
Visionary Sound
Sound can tell the player information, but how is this so? Tom Russell will explain. Gameplay is the single most important element of game design. Sure, its nice if you have appealing graphics and a lush, evocative musical score - but these things are superficial. Its candycoating to make the pill go down sweeter. At the same time, these mimetic aspects of game design can and often does form an integral part of the gameplay, clearly communicating to the player the status of his game. The point of sprites in the first place is to show us where the different game elements (the players avatar, the terrain, the enemies, the power-ups) are spatially located in relationship to one another. Sprites and sounds often work together to impart information to the player. For example, when youve taken damage, the characters sprite often flashes or glows for a short time, indicating invulnerability; generally the impact causing the damage is accompanied by an appropriate sound. This underlines the event that has taken place (i.e., that the player has taken damage); it communicates the information in two different ways to ensure the message is not lost. Generally, visual and sound elements always work together in this fashion, both methods imparting the same information. Its a mark of good, clean, solid game design, and it is widespread for the simple reason that it works. But sound can do more than simply echo and support the visual elements. Consider the complex ways that sound and sight are combined in a number of films; often the image and the sound actively contradict each other to produce an ironic effect, or the image and sound comment in different ways on different aspects of a story or character. Now, Im not saying that video games are akin to films; that is, in point of fact, passionately and precisely the opposite of my opinion. But I am saying that sound design can form an integral part of the gameplay without merely underlining everything weve learned from the sprites. And Im not talking about rhythm vomiters like Guitar Hero. While sound does drive the gameplay, one will quickly note that everything the sound tells you is present in the spriting as well. In fact, it is possible to play Guitar Hero without the sound on. (Im not saying its fun to play it that way, just that it is entirely possible.) What Im talking about, and what Id like to see, is sound design that tells us something that is not immediately present in the visuals. One example I can think of, right off the top of my head, is the use of music with an accelerated tempo to indicate that the player is running out of time in platformers such as Super Mario Bros. While the timer is visible on-screen, its not the kind of thing one is paying attention to, especially if the sound is muted. With the sound on, though, it alerts us with stunning immediacy that we had better hurry it up. A great example of visionary sound design is to be found in Shush, a surprisingly addictive Game Maker game by Barry Atkins. Since Ive reviewed it at length in my own magazine, Ill be brief in my description here. Basically, the game tasks you with feeding coloured worms to correspondingly coloured and very noisy birds until they fall asleep. The size of each individual bird changes accordingly with each correct or incorrect worm, alerting you visually of its individual progress. As the birds fall asleep, they become less noisy, and so you are aurally kept abreast of your over-all progress. Combined, the two aspects (the visual and the auditory) give you a clear picture of where you are in the game, but each aspect pulls its own weight. Either one on its own cant get the job done. Im working on a game of my own (an overhead action-adventure game) and in one instance the player must find a kitten lost in a dungeon. My idea, and of course well have to see if I can pull it off, is to have the unseen kittens mews become louder and more frequent as you get nearer to it, and to have the mews become fainter and less frequent when you are farther away. Its nothing revolutionary (basically a game of Marco Polo) but it does put the emphasis squarely on sound design. Theres been a lot of technological advances in sound design and spriting, but it seems to me that, with very few exceptions, the artistic advances (those related squarely to actual gameplay) in sound and spriting has been rather stagnant. There are possibilities here that have yet to be explored - the potential for creative and daring game design, the kinds of things that make a game (amateur or otherwise) really stand out. Written by Tom Russell
Be a freelance writer for the Game Maker Technology magazine! Writing for GMTM allows you to have your work in the magazine and to gain rewards. For more information, checkout the forum.
ARTICLES
ARTICLES
Speed Breaker
The Problem
Speed is a common problem with GM. So what are some quick solutions? player is with-in the given region. Once the player is in the region you may step up the checking to every 2-3 steps if you wish. Remember, there can always be a better solution. - Deleting unused resources while the game is running can prevent memory from being wasted. These resources can be later reloaded from external files when needed. - Another trick you can use is to use rooms quite effectively, not overburdening any of the rooms in particular. You can design the level so that it seems the next room is just the continuation of the same path. - Overshadowing things can also counter speed breaks. Say for example, a warrior cannot perform his moves rapidly. How about having rain of blood in the background with sczazzing SFX and sparks from the sword? This can successfully distract vision. While distraction could provide a solution to slow movement it will not speed up the FPS if you create effects. - Last but not least, dont feel shy to seek help on the GMC as someone may be able to help you out. Written by Xantheil
Even before you finish your Game Maker Game you may experience Game Makers speed problems. With just a few object step event actions your Frame-Rate-Per Second (FPS) would hit a rock bottom, taking a lot more time to recover than it took to fall. There are many ways to speed up your game. This issue we have provided some quick solutions.
Solutions
Though fluctuation cannot be completely overridden, it can be made quite smooth. Some quick fixes may be: - Use a DLL. If there is a part of your game where you have to choose between using DLL or writing complex Game Maker Language (GML) code, it would be wiser to choose DLLs as they can be written in programming languages that run faster than GML. However using a DLL for smaller actions can slow down your game because Game Maker is slow at calling DLLs. This is why using DLLs is only recommend when performing complex mathematics. - Consider this brief situation: Enemy AI is checking whether the Player is within a given region. A new users solution would be to check in Step Event for players X & Y co-ordinates. But what would be a better solution would be to check in every 4-6 steps until the
ARTICLES
What is a theme?
A theme is a unifying idea that is a recurrent element in a literary or artistic work - http://wordnet.princeton.edu/perl/ webwn?s=theme. This means that when you make a game, your ideas, the scenario, the player, and whatnot should rotate around this main theme.
Think of a Theme
Youre starting a game, one of the first things you should tell yourself is what theme you want to follow. To do so, you can take a piece of paper and jot down all your ideas. Now slowly remove ideas until you have a basic overview of your game. Using this list of ideas, write down another list that joins some of these ideas together to make a general theme. This doesnt necessarily mean that your theme should a single word like water, because that would be way too vague and makes your game look a little unorganized. Your theme shouldnt be vague, but it should still have enough room for new thoughts and modifications.
10
GM DEV
Gameplay
Gameplay is another defining element of old school games. Combos are a fun and classic feature to include. Usually in much older games, there are not any pause or save/load features. This is not always the case, however. Shops or unlockable objects are commonly seen in old school games. The Castlevania series (for SN64) is a good example of this.
Graphics
The tell-tale sign of an old school game is usually its graphics. Big pixels and a limited color scheme is exactly what you should be aiming for. Usually, the older games use less colors, so you can use this to decide how old you want your game to look. Pacman and the early Super Mario Bros games are good examples of this.
Gameplay Tips
- Playing old school games obviously gives you a better idea of what the player will want from your game, not only expect. - Having a set time (such as the 80s) you want to emulate in your game helps you decide what features to have, and what feature not to have.
Graphics Tips
- When making sprites, pixel them as you normally would, then enlarge them to twice their normal size to give a retro feeling. - Consider limiting the amount of colors used with your games graphics. 32-bit or even 8-bit games are a testament to the older color schemes and styles that were used in retro games. - Using somewhat saturated colors gives games a really old school feeling. However, saturated graphics can be distracting and hard on the eye.
Conclusion
I hope this article can help you in any circumstance that requires you to make a game feel retro, or rather old school. There are many old school games, or emulations of classic games that have been made with Game Maker. Making an old school game does not necessarily mean copying or remaking a game like Tetris or Breakout. The term old school applies to games that come or look like they come from at least ten years ago, where 2d games were in abundance. Feel free to take these tips and ideas into consideration, when you aim to keep the old school alive. Written by ESA
Sound Tips
- If you do not have the patience or time to make a chiptune, there are many trackers who can compose music for you (on the MilkyTracker forums). If you cannot find any, there is an abundance of old chiptunes on various sites. - When looking for retro-sounding sound effects, try experimenting with the pitch-bend in a tracking program. Wave forms with their pitch being shifted can work very nicely for any pickups or powerups in games.
12
GM DEV
3. Use a sane coding style. Yes, I realize that this involves a lot of personal preference, but some coding styles are definitely more readable than others. There have been several discussions on the GMC about this, with the general consensus being that consistency is the most important thing. Whatever style you use, you must make it readable. Try to make curly brackets visible, use enough linebreaks and spaces, and use variable names that make sense.
Besides having organized code, you need to make your scripts and resources adaptable so that you can easily modify them or add functionality. Sprites can be used and re-used a bit if you use blending colors. To do this, set the variable image_blend (or the appropriate argument in a drawing function) to the color you want your sprite to be. White areas in the sprite will be drawn with whatever color you choose. Areas with other colors are blended with the color you specified, but its difficult to guess the results, so you need to test it out. With a little forethought, scripts and code can be recycled and modified much more extensively than sprites. The important thing is to keep flexibility in mind when you first write the script, but thats easier said than done. Here are some less vague, more practical tips:
1. Use a sprinkling of groups to keep your object, scripts and resources easy-to-navigate. Id suggest categories like menu, players, effects, control, terrain, interface, etc. Of course, these are just generic suggestions and you can probably think of some that fit your needs much better. Use names that make sense, use only as many as you need, and use the same naming system for objects and resources (scripts will probably need to be different). 2. Use comments liberally. Keep them short and to the point, and use them liberally. I recommend putting a comment line at the top every script that states the scripts purpose and its arguments. Whenever you initialize a variable that isnt really obvious, add a comment at the end of the line telling what its for. If you have any particularly cryptic code, you might want to put in a longer explanation telling what the code does, how the game gets there and where it goes after that. This is so anyone reading it later (probably you) can get the same thought process the programmer had when he first wrote it. Here is a slightly exaggerated example of commenting:
//this script loads background music //if arg0 is string prompt it will open a file dialog, use any other string as filename //argument1 is whether or not to loop (1 = true) var music; //stores result from open dialog and from sound_add() if string(argument0) != prompt { if file_exists(string(argument0)) then music = string(argument0) else{show_error(Error! Music file + string( argument0) + not found.,0); exit} //check to make sure the file exists } else { music = get_open_filename(Sound Files|*.mp3; *.wma;*.wav;*.mid;*.midi,); if music == then exit; //quit if user cancels } music = sound_add(music,3,1); //add the music file if argument1 == 1 then sound_loop(music) else sound_ play(music); //start the music
1. Avoid using the drag-and-drop Execute Code. There is a proper place for it, but writing healthbar code in each objects step event means you have a lot of work to do if you decide to revamp your health system. Use one script instead. Scripts are not only faster, but your game will end up having a lot less code to debug. 2. Use plenty of arguments. Dont write a debris-generating script that only makes debris for one object. Give it some arguments and let several object use it. Now, you can get carried away with this, but if you use speed, size, color, direction, and perhaps a few other arguments youll probably be safe. 3. Do not put game control code into the player object. In general, player objects should only have movement, health, collision and draw code. Put game control code (level timers, object spawns) in one or more controller objects. If you choose to use more than one controller (such as one controller per level) use parent objects or put most of the code into scripts. Avoid redundancy at all costs.
These are basic methods for keeping your game engine moldable and manageable. As you may have noticed by now, most of this centers around keeping the amount of code to a minimum. Thats really the key to a flexible engine. Written by bendodge
13
GM DEV
This takes your seed and generates a random number. However, using these methods generates a number between 0 and 30269 (or whatever you use for n2). So, I divided by 30269 (n2) so the number stays a decimal between 0 and 1.
14
GM DEV
The SDK
In the downloaded SDK you will find 3 editable Game Maker projects for Game Maker 5, 6 and 7. Basically what we want to do is open one of those Game Maker files and delete all the sprites, objects and rooms. Do not delete the scripts because that is the Ultimate 3D engine. So delete those resources now. Next save the project under a different filename so the original editable that came with the SDK is not overwritten when you save.
The above code will start the Ultimate 3D engine and set the background colour. Starting the engine is done using the function: Init(); and will setup all the 3D functions used by Ultimate 3D. The next three lines of code set the background colour. BG_r sets the red value in the background colour. BG_g sets the gree value in the background colour. Finally BG_B sets the blue value in the background colour. For this tutorial we want the background colour to be black, so leave the variables as 0. Now that the DLL can initialize when the obj_U3DEngine_Control is created we need to also prevent any errors when the game is closed or the obj_U3DEngine_Control object is destroyed. To do this, add a Destroy event to the obj_U3DEngine_Control object and write this code:
external_call(global.u3d_cleanup);
Download Ultimate 3D
So youve heard of Ultimate 3D and you want to try it out? Well the first thing you will need to do is download the Service Development Kit (SDK) off the ultimate 3D website. Lets do this now, so go to www.ultimate3d.org and click on the Download button on the left navigation bar and select SDK. Then download the latest release (this tutorial uses 2.1). If you wish to see what Ultimate 3D can do before you begin to learn how to use it, it is recommended that you download and run the Tech Demo which is also on the same website. Now that we have downloaded the SDK we can move onto the tutorial. This tutorial will teach you how to setup the 3D engine, how to setup the camera and how to draw a basic 3D block.
In addition, add the Game End event to the same object and place the exact same code in this event also. With this code in both events we can be sure that the Ultimate 3D engine is shut down when the game ends or the obj_U3DEngine_Control is destroyed. The code: external_call(global.u3d_cleanup); will quickly and easily close down the engine safely avoiding any possible game errors.
15
GM DEV
x, y, z - These variables position the camera object in the 3D world. The new variable here is Z. Z is the height position of the camera. rotx, roty, rotz - These are camera rotation variables which work in the same was as the x, y and z variables. follow, distance - You can use this to get the camera to follow a certain object from a specific distance. min_range, max_range - This is the minimum and maximum rang the camera can see. Now that you have an idea of what most of those variables do we will move on back to creating the camera. The final part to making the camera work is adding a step event. Create a Step event in the obj_U3DEngine_Camera object and type this code:
MoveCamera();
Once you have inserted that code, create an End Step event in the same object and write this:
external_call(global.u3d_transmit_controller_inform ation,BG_r,BG_g,BG_b,false); external_call(global.u3d_render);
Both the above code snippets basically just tell the Ultimate 3D DLL that you are currently running Ultimate 3D and to render the scene in the Game Maker window.
All this code does is update the cameras positioning each step. Without it, the camera wont move. Thats all for the camera, next we will create the block.
Adding a block
This is the last part to the tutorial and by the end of it you will have a block on the screen. So to start, create another new object called obj_Block. Then add a new create event into this object and paste the following code:
LoadTexture(BlockTex.bmp,1) texture = 1; z = 0; width = 20; height = 20; depth2= 20; CreateCube();
The above code will load a new texture and assign the loaded texture to the block. It will then set the width, height and depth of the block before creating the actual 3D block. There is a provided texture with this issue in the resources if needed. Next add a Step and Destroy event. The next two pieces of code just update the block every step and destroy the block when the object is destroyed. In the Step event type in:
Step();
Finishing
Thats all there is to it! Before running the game, create a room and make sure you enable views. Then insert the objects into the room. Make sure the block is about 16px directly below the camera so you can see it when it runs. I hoped you enjoyed the tutorial! Written by gmjab Check out the Starting U3D example provided with this issue.
Basically, this sets all the variables up for the camera. Most are to do with positioning of the camera and the other few are to do with what the camera can see. The manual and the provided example explain each variable. Ill give a quick rundown on what some of those variables do, to make things easy for now.
16
GM DEV
To make it easier to use our code we will be using headers like this one in all our scripts. Anyway, below the header paste the following lines of code:
// initialize the 3d drawing stuff d3d_start(); // more to do with viewing d3d_set_perspective(true); d3d_set_hidden(true); d3d_set_lighting(true); draw_set_color(c_white); d3d_set_culling(true); d3d_set_shading(true); // Blend texture pixels into each other (fake AA) texture_set_interpolation(true); // Set camera depth to fit with the other objects depth = 16384;
What this does is simple. The first line (after the comment) starts 3d mode by using the d3d_start() command. Then we set the default values for our drawing (to get things ready). For those who do not know what culling() and hidden() is I will explain it.
17
GM DEV
Finally, there is one more line of code to look at. This calls another script which prepares the mouse selection for our RTS (no good RTS does not have mouse selecting). In 3D mouse selecting gets much harder than just using events. Paste the following chunk of code into the end of the script:
// prepare looking view prepare_look(x,y,z,xto,yto,zto,0,0,1,45,1.33333);
The arguments here are the same as the arguments for d3d_ set_projection_ext();. This script prepares the math for 3D mouse selection. Make a new script (closing this one, and saving it) and call it prepare_look. In the script prepare_look paste the following lines of code.
//Script by Yourself //arguments 0-10 (first 11 arguments): Same as first 11 arguments of d3d_set_projection_ext(). var mm; // Get a vector which represents the direction the camera is pointing and normalise it dX = argument3-argument0; dY = argument4-argument1; dZ = argument5-argument2; mm = sqrt(dX*dX+dY*dY+dZ*dZ); dX /= mm; dY /= mm; dZ /= mm; // Get the up vector from the arguments and orthogonalize it with the camera direction // Orthogonalize is a fancy way of saying Ill make the vectors perpendicular uX = argument6; uY = argument7; uZ = argument8; mm = uX*dX+uY*dY+uZ*dZ; uX -= mm*dX; uY -= mm*dY; uZ -= mm*dZ; mm = sqrt(uX*uX+uY*uY+uZ*uZ); uX /= mm; uY /= mm; uZ /= mm; // Scale the vector up by the tangent of half the view angle tFOV = tan(argument9*pi/360); uX *= tFOV; uY *= tFOV; uZ *= tFOV; // We need one more vector which is perpendicular to both the previous vectors // So we use a cross product: v = u x d vX = uY*dZ-dY*uZ; vY = uZ*dX-dZ*uX; vZ = uX*dY-dX*uY; // This vectors magnitude is now the same as ||u||, so we scale it up by the aspect ratio // This vector represents the 2D x-axis on your screen in 3D space vX *= argument10; vY *= argument10; vZ *= argument10;
Because the camera is an object we can set local variables. Here we are creating several variables. The first four are self explanatory. They affect the direction of the camera (and add a smooth viewing experience for the player). In the second block there are little miscellaneous variables. The variables xto, yto and zto are where the camera is looking at. The variable min_dist and max_dist are to do with the zooming where min_dist is the allowed distance from the current height of the terrain and max_ dist is the allowed maximum distance. The variable z is the current projection Z. As you know three dimensional worlds have x and y however unlike 2D games have a third z axes. The pitch is like the isometric effect of the view. The friction is a variable that can be contained in any object, whether the camera or not.
18
GM DEV
What this long piece of code does is it returns the two variables as global.__x and global.__y. It isnt over yet. We need to use more math before we get the real positions of the mouse. What we have at the moment is __x and __y which are projected along the z axes. At the moment the z is 0 however when we add terrain the z value will span up and down therefore this will not be correct anymore. Before we continue making the scripts for the 3d mouse selecting we need to add the terrain. Add the rts3d_camera_init script to execute in the create event of obj_ camera. You can use a Drop and Drag tile or you can execute it via code (it has no arguments, so use closed brackets). Create a new object. This object, is the terrain object, and should be called obj_terrain accordingly. Make sure that the depth of obj_terrain is -102. You also need to go back to your camera object and change the depth of the camera object to -1000 (drawn above everything else). This terrain object will start by initializing itself. Create a new script called rts3d_init_ter. This will initialize most things in our game (not only the terrain). As the header for the script use the following code. This script has four arguments;
/* RTS3D_INIT_TER argument0 - width argument1 - height argument2 - precision (no smaller than 4) argument3 - camera object */
Here what happens is that we create some temporary variables (on the first line) and on the next three lines (ignore the comments please) we get the points relative to the camera. Notice how the camera here is referred to as camera_obj_var? Ignore that, it will get explained later. Here is the next snippet of code that belongs in the script;
// scale this vector so that its head lies somewhere // on an imaginary plane in front of the camera_ obj_var (your screen) mm = pX*camera_obj_var.dX+pY*camera_obj_var. dY+pZ*camera_obj_var.dZ; if (mm > 0) { pX /= mm; pY /= mm; pZ /= mm; } else {global.__x=0;global.__y=-100;exit}
Now you have added the header Ill explain some of the arguments that this script will take so you can look at them in the next few snippets. Argument0 is the width of the terrain. Argument1 is the height of the terrain. After the height and width have been initialized it will be very hard to change them (because it creates several grids) so a good handy number to use (in my opinion) is about 512 for each, or for a larger map, 1024. Argument2 is an important variable. It is the precision of the terrain. It is recommended that you only use numbers that are divisible by four. The numbers 4, 8, 16, 32, 64, 128 and 256 are the numbers you should use for this argument. The more precision the faster the game will go. If you use a value of 4, for example, the game will lag a lot because the terrain has an added vertex every four pixels. The last argument is something you came across earlier. To make the engine easier to use we set the variable camera_obj_var to the third argument. This means that you can change the name of the camera object during game play (to get different perspective etc) and it will not throw errors easily. Because this tutorial is quite large, next issue Ill be back for part 2 which will continue where I left off. Written by Schyler
What happens here is we scale the vector on an imaginary plane in front of the camera. The camera we are using virtually gets projected onto your screen. There is still one more snippet to go. Lets have a look at this snippet;
mm = (pX*camera_obj_var.vX+pY*camera_obj_var. vY+pZ*camera_obj_var.vZ)/sqr(1.33333*camera_obj_ var.tFOV); global.__x = (mm+1)/2*1024; mm = (pX*camera_obj_var.uX+pY*camera_obj_var. uY+pZ*camera_obj_var.uZ)/sqr(camera_obj_var.tFOV); global.__y = (1-mm)/2*768;
19
GM DEV
Game Maker can also tell year, current_year, and month, current_month, and each weekday, current_weekday. Only problem is that all of those functions return numbers, which is usually not what we want when presenting the current month or weekday. Then this is how you could do to manually make sure that the right thing is drawn, not very elegant but it works:
And so it continues, I bet you get the system. For drawing method I would suggest draw_text, but thats very choose able. Written by Calle Ekdahl | Provided by: gmtutorials.com
Tutorial: Minimap
mm_yu mm_xl mm_yd mm_xr = = = = 5 //This is the upper y position 5 // This is leftmost position 105 //The second y position 105 //right x position //Which objects to draw nr_obj = 3; //How many objects obj_d[0] = object0; obj_d[1] = object1; obj_d[2] = object2; obj_d[3] = object3; //In which ray above obj_c[0] = obj_c[1] = obj_c[2] = obj_c[3] =
Minimaps are excellent for games which require the user to scroll around a room. Calle shows how to make one.
i = 0; d = 0; draw_background_stretched(background_index,mm_ xl,mm_yu,mm_xr-mm_xl,mm_yd-mm_yu); while(i<instance_number(obj_d[d])) { //Selecting information x_id = (instance_find(obj_d[d],i).x/room_width)*92; y_id = (instance_find(obj_d[d],i).y/room_height)*92; draw_point_color(mm_xl+x_id,mm_yu+y_id,obj_c[d]); i +=1; if (i==instance_number(obj_d[d])) { d += 1; i = 0; } }
color - use the index number of the arc_blue; c_red; c_gray; c_lime;
The script above should be called suggestively in the create event as an initialization of all the variables. As you can see there are two arrays (rather than one two-dimensional) that keeps information about which objects to draw and in what colour. It would also be possible to create a third array which could keep information about other stuff, such that if you want to draw a specific sprite or so for specific objects.
Draw background strectched, background index, that gives a cool kind of feeling. Especially if you got a cool background, imagine a battlefield for an example; it gives a kind of map feeling. Although if you rather would like a one-colour background you might just delete that piece of code, maybe replace it with a rectangle. The condition of that first while statement might be confusing since it only seems to run through one array of obj_d, but as you can see later in the code it changes to d+1 and i is reset. Thats like placing the while loop inside another while loop which would say while(d<nr_obj), its the same thing. And finally, as you can see, I am using draw_point for drawing, this is highly selectable. You might change it anyway you like! Written by Calle Ekdahl | Provided by: gmtutorials.com
20
GM DEV
Want to draw a pie chart in Game Maker? This issue, Calle provides the answer. Pie charts are more complicated than other charts, mainly because there are now draw pie function, so you have to do something else instead. There are several ways I suppose but this was the one I came up with. Not perfect, although it works. The logic is simple; as there are 360 degrees I draw 360 lines, one for each degree. This is how the code looks:
value[0] value[1] value[2] color[0] color[1] color[2] = = = = = = 50; 50; 50; c_red; c_blue; c_green; i= 0; while(i<tot) { total +=value[i]; //Calculates the total value i+=1; } i=0; while(i<tot) //Goes through all different values { percentage = value[i]/total*360; //Evaluates the numbers of lines draw_set_color(color[i]); //drawn in specific colour b=0; while(b<percentage) { draw_line(circle_x,circle_y,circle_x+lengthdir_x (circle_radius,b+c),circle_y+lengthdir_y(circle_radius, b+c)); b+=1; } c+=value[i]/total*360; i+=1; }
tot = 3; // The total number of different values b= 0; i = 0; c = 0; total = 0; circle_radius = 100; // The size of the circle circle_x = room_width/2-circle_radius/2; //Concentrates it in the middle circle_y = room_height/2-circle_radius/2; draw_set_color(c_lime); //Look at the picture further down at this page draw_circle(circle_x,circle_y,circle_radius,false);
I tried to comment it so that you should understand the most. However, this has, as you might have understood, a glitch. When the lines get too far from the centre of the circle, space is created between them. To cover up this space you would have to draw multiple lines within the same degree with only small differences in their target positions. Written by Calle Ekdahl | Provided by: gmtutorials.com
4. Animating
Well, I didnt give a tutorial on animating yet, but I will do this in the very near future! When you animate for example one of your platformer/RPG characters. First study the human movement of the legs. And look at how the arms move while walking. This really helps you making a realistic animation. Dont be shy and stick to the first animation sheet you made. Make a new one! When you start animating its important to practice as much as possible. Practice is the key to success! Written by Hiyukantaro
21
GM DEV
Now that you have drawn all eight frames, pat yourself on the back, first of all, and then you can shade your animation. If you are going to mirror you sprite for use in a platform game, I recommend using a light-source from directly above, so it doesnt look like the light moved when you switch from running right to running left. As they say, practice makes perfect, and animating is no exception. Learning to animate properly, though, can really get your game running smoothly.
Heres how mine turned out. Ive shaded mine, but before you shade yours, keep a copy that is either purely line-art or just solid colored. This is what you will be animating. Animating and shading as you go is very difficult, so well shade when were finished. There are four main positions of a running person, but it really comes down to two for each leg: one with the weight all on one foot, with the other leg bent with the knee pointing out, and another in mid-air with the legs extended (but not completely straight!). Only one arm is visible in the first and third frames. The arms always remain bent throughout the animation. The second and fourth frames, where the legs are extended, have rotated torsos. More of the front of the character can be seen in the second frame, and more of the back in the fourth frame. This can be achieved relatively easily by moving the arms out a bit and adjusting the neck-line of the shirt. Then fine-tune it. Remember to think three dimensionally.
Written by RoboBOT
The Ultimate Inventory Example Unlike many flawed inventory examples The Ultimate Inventory example seems to be a solid inventory example that features common inventory actions. It features item stacking, equipping, using and dropping. I found no bugs while using the example and the code contained is well commented and not messy. So if your building an RPG I would suggest you have a look at this example.
22
EXCLUSIVES
23
EXCLUSIVES
Links
- GMPhysics GMC Topic - GMPhysics Forum
24
EXCLUSIVES
As for me and Game Maker, Ive been using it from version 4, which was also where I first started to make games and after a while program in my first programming language, GML. But I really dont have much of an idea of how much time has passed between now and then though. Although lately like I mentioned Ive been advancing more into languages such as C++, but Ive still got a long way to go with those (although I can say the games server is doing very well). GMT: How would you sum up The World to someone who has never heard of it before? HTL: The World is actually the name of a fictional MMORPG the .hack// (pronounced dot hack) franchise (which expands into many forms of media such as games, novels, mangas, animes) is focused around, yet one thing that doesnt really exist (yet) is a real world version of that MMORPG. I think the main reason for this is that in real life, without all the magic of what you can show in media (as this isnt your average MMORPG, or even just some simple story about one simple game) such a game would get quite boring quite fast. Yet of course there are still many, many fans that would love to play a real life version of that game, which is where we come in. The game we (including the communitys suggestions) are making simply tackles this problem by taking measures to change certain aspects to make it a more practical game to be played
25
EXCLUSIVES
26
EXCLUSIVES
Links
- The World home page - Join The World development team
27
EXCLUSIVES
28
EXCLUSIVES
Overall
I know that Vertigo Games may be planning to sell Spirits of Metropolis, and with some work it could easily be of commercial quality. All the effects are there, the core gameplay is solid standard Vertigo Games output. It needs a lot of work though to make it complete, and Im sure work is what will continue going into it. It needs more places, more to do, maybe a little online love, and then and only then will I stump up. Written by NAL
29
EXCLUSIVES
Sploing is one game that will turn heads, so what is it all about? As for collectibles, there are cogs, melons, and keys. Cogs are the currency of Sploings planet and for some reason lay scattered through the various worlds of the game. Melons are an important fruit in Sploing. They are harder to find than cogs, and there are only 3 per level. When they are all collected and brought to the melon oracles, you will receive a melon award. These add up to unlock various secrets planned for the game. Some include upside down mode, multiplayer (?) and mini games. It depends mostly on what we feel the game needs and quite possibly the addition of code donations. Anyway, the keys, one hidden in each island, have a significance that relates to the obsidian pyramid on Desert Island. Speaking of islands, we are planning on creating nine. Each is located on a different spot of the bobble globe (we are planning on creating a 3D viewable globe of said planet) and contains its own challenges. The Islands are:
I designed Sploing because I was tired of the crappy games GMC had to offer. Many were cheap rip-offs of bad games... Not my game! Sploing, when its done, will have a lot of the things I have always wanted in a game. The project is about two and a half years old, with on and off work between long breaks.
Graphics
The graphical style of Sploing is a very Japanese-futuresque type. I wanted everything to match, so I went with a really high quality, everything-shiny look. All the characters, buildings, objects etc are based off little shiny spheres. This way, graphics are easy to make, look amazing, and fit together in the same environment while not creating an overdone motif.
Gameplay
When I began working on Sploing, I wanted a platformer that shone like Super Mario (gameplaywise). Of course we would never reach that level first try, but at least there is a great influence in there. Sploing is a 2D platformer. You control him with the arrow keys, while using the s key to attack and the d key to jump. In his adventure, Sploing is able to collect mods for his legs (and in one case hands) to get farther in the game. They are: Foot(Standard) Spring Rocket RollerBall Glue foot Fire Gloves
We were constantly struggling to come up with new and exhilarating ways to exploit the different terrains. The coral island, for example, is all about boats. The ZIF have a giant navy there, complete with submarines, torpedoes, squid, and everything that would force Sploing to rethink his idea of swimming. The Sky world, on the other hand, is all about falling down. The RollerBall mode is going to be an essential part of the Sky Island (a floating island yes) because this world is fast-paced. There will be many ways to complete a level, but deciding between the easy ways or the hard ways will take split-second decision and expert keyboard manipulation. Dont worry though; this game is designed for all types of people. After reading this article, however, it may be only the patient ones who get to play it. Release is not expected for a while, but when it comes, it will amaze you. Check out the 3 sploing wallpapers in the Resource Pack.
Each Mod gives Sploing a different combination of Speed, UpJump and Long-Jump. The RollerBall, for example, has a very low Up-Jump, a high speed, and big Long-Jump. The spring, on the other hand, has a med speed, a high Up-Jump and a low Long-Jump. The variability of the different legs enhances the gameplay and makes for an exciting game with far more possibilities.
30
EXCLUSIVES
Blazezone is a new TDS adventure game. Andy Hamm will provide some insight into what it is all about.
experience, so many top view games coming out are just to death match oriented. As for your enemies, you will fight several different kinds, (with variation among the kinds.) I cant say any more than that. Trust me when I say, the game gets trippy and very strange as you progress. Tabitha holds many secrets As I stated above: The old engine that you can currently test out is scraped. The AI was horrible and everything was so cluttered. Then the file was grossly oversized as a result. You can get an idea of the game play with that engine, but not what Project Blazezone will actually turn out to be. I have added some neat lighting, glowing, and smoke effects in the new engine. I have also reduced the file size considerably. The new engine has some fresh weapons, tools, and now with the assistance of lighting a flashlight! (No I am not transforming it into some sort of horror game.) I am adding some nice polished tidbits, like the ability to kick around junk cluttering the floor with your, (visible now,) feet. Keep expecting improvements in everything, the graphics I am also updating! The tiles are getting redone so everything does not look like 32x32 boxes. I really am awaiting the ability to show off more. Right now there is no set release date, sorry. But realize this; it is for the good of the game. I can promise one thing though, it will be freeware! Written by Andy Andy Games Hamm
31
EXCLUSIVES
Our special offer this issue is a exclusive preview of the all new Liquisity 2: Unexplored Depths. Thanks to Vertigo Games you have the privilege of watching the never before seen Liquisity 2 trailer. So take this opportunity to get a sneak preview of this great upcoming game by simply following the video link below and when prompted, enter the access code.
Exclusive Trailer
Video Link: View on Vimeo.com Access Code: gmtechliquisity0608
32
PREVIEWS
In terms of multiplayer gameplay, its solid, and quite fun, yet nothing special. While being better than a lot of online shooters, it is, at heart, a basic space shooter that brings nothing new to the genre. Its fun though, and thats whats important. I would quite like to see a single-player mode, be it long, short, or just a random match against an AI-piloted ship. If not (or on top of that), a little more online connection-control (which Im sure the creator is doing). Currently, somebody hosts, then any players just get thrown in that room. Its rarely seen in Game Maker online offerings, but a list of active servers, the quantity of users in each server, and its basic statistics (current level? player skill? player names?) would be highly appreciate it and make it that extra bit special. I have one other small problem with the game the dodgy physics. When thrusting, they are fine. However, when you let go of thrust in the air, your ship will decelerate, and once its done that it will simply float downwards. Not fall, like any gravity-affected mass would. Just float. This might require a fix (or a cover explanation for the easy way out). Pros Great retro style Nice graphical effects Fun to play Cons Occasional glitches A few guns seem similar In one or two places the physics feel dodgy
Overall
Still, Sub Terranea Online is a very nice game, which Im sure will be near-amazing once complete. Theres a few changes to make before its release, and a few additions, but once made youll want to download this. Its a good port of an old game that probably wouldve been online anyway had the then-limited technology allowed it. Written by NAL
33
PREVIEWS
Lex
Graphics: 4/5 Gameplay: 3/5 Audio: 2/5 would have been better had they been made for full screen mode (the default windowed mode can be changed). The music was also nice, but not as comparable to the graphics. The one background track was quite pleasant and its happy theme suited the game play well without causing any disturbances. However, it could grow repetitive if it alone is kept for the whole game when fully developed. The option to switch the music off was quite a big plus. Still, the music was at least decent unlike most other platformer games which neglect this part. There were not any sound effects. If graphics and music were great then the gameplay was better. The gameplay was quite merry. There were not any glitches or errors to be found. The gameplay maybe short but the game did not grow boring at all. Still it may get repetitive after finding all of the hearts. It does, however, become repetitive after a little time. But that happens with most other platformer games doesnt it? As termed earlier the gameplay was smooth and even no collision errors (which are quite common) were to be found. The game was easy and there was a well shown tutorial laid out at the beginning. The game could be quite customized even at this early stage (again uncommon). On the whole the gameplay was highly creative built on a nice concept. Pros Great tutorial which introduced almost every technique Nice and neat graphics Creative gameplay built on a nice concept Cons This game is very short Little to do as of this WIP demo No sound effects
The game begins with you starting as Lex, a care-free lizard living his days just like anyone else. Unfortunately, one day, he feels the ground shake and rumble. He jumps out of his home to find out what the noise was. With further exploration, he finds several machines with some kind of monster on it taking down trees and running over homes of his dear friends. He panics and tries to stop the machines, but in vain. He hops out of the way and takes cover under one of the large flowers and watches in despair. Suddenly, several insects flutter around the head of one of the monsters and the monster jumps out of its machine and runs away. Lex gets an idea, if he could work together with the insects, his mortal enemies, perhaps together they can take down the monsters and get their home back. -Brod
Lex is a nicely done, short platformer which is still in development. Nice graphics and pleasant sound added to its quite nice concept making this game a delight. Although there is just a short WIP (Work in Progress) demo out there this game cannot be ignored. If developed properly like it is now, this game will really be a gem of a platformer. And at least it has a little original idea behind it, unlike most of the other games of this genre. Even at this early stage the game is quite polished on the whole, which is well quite uncommon. Brod has certainly done great work and requires congratulations. The graphics and music suit the game and do quite a nice job at bringing out the message of the game. But all it has to offer at the moment are three short levels but the winners list (getting recognition) by finding all the hearts is quite a plus and is much appreciated. There isnt much to do at the moment but that should soon change. The game certainly has showed its aims and it can be taken for granted that it will not fail to make a mark. The graphics can be simply termed as fantastic and show great skill. At the beginning the player is greeted with a highly polished menu on an animated background. The sprites of player and enemy snakes were also great. The text boxes were not to far behind either. Nice background tiles of blocks were used. However, better than all the rest was the HUD. Superb is the word to describe it. On the whole the graphics have been given quite a lot of time as can be seen from the results. It maybe
Overall
Maybe it will turn out to be a great game, but then this game has a long way to go to before the release of the final version of the game. But the game needs to go under heavy development and improve a lot. However, one thing is for sure, if circumstances remain as they are at the moment no one can stop it from becoming a great game. Written by Xantheil
34
REVIEWS
Deep Space
Graphics: 3/5 Gameplay: 3/5 Audio: 1.5/5 There isnt much to write about sound simply because it lacks variation in this department. There is just one short background track set to loop forever, causing much distress. The ability to switch the music off is much missed (but the power button of the speaker came in handy there). However, nice sound effects were present wherever possible. The gameplay may still be the best part of the game and it is certainly what makes it such a nice little game. The game may be a clone of asteroids but it provides what it aims for (and what one seeks from it) a few minutes of entertainment, bringing you out of the real world or even the complex 3D world of your PS3 games. It comes as a rescue from the complex world, without getting repetitive. The gameplay was quite smooth and no glitches or bugs were to be found. The controls were simple (normal arrow keys as opposed to A/S/W/D) and the physics were realistic on the whole, providing a smooth experience. After the roller-coaster ride (of graphics and sound) comes the smooth end. The game is practically an asteroid clone, a remake of the great classic and greatly impressed me with its uniqueness in the similarities. Without losing the essence of the game it has done the best possible in the field of originality. Pros Nice arcade styled graphics Appropriate graphics and sound effects Creative game play and originality Cons This game can become boring due to repetitive game play Just a few sound effects and one background track Lack of variety of enemies and other game elements
You got stuck on patrol duty... AGAIN! Patrol duty is the most boring part of working for the Galactic Enforcement. Being stuck flying around all day looking for ships going above the speed limit of 5X light speed, or finding planets under attack is boring, because it just doesnt happen. Basically you are just forced to sit in your ship all day, doing nothing, and earning minimum wage. Well, this patrol duty isnt so boring. Your asteroid charts lagged and didnt update, so you found yourself right in the middle of an asteroid field. To make it worse, an asteroid clipped your ship, breaking your engine, and severely limiting your speed. Shoot the asteroids as they come near, and dont get hit!-Anonymouss There you have the description of the game Deep Space. Sounds (or rather smells) familiar, doesnt it? Well it is indeed an asteroid clone as most would have guessed. Same style, same concept, same objects and well same uniqueness! The game certainly has something which makes it largely different from other asteroid clones. But what is it? Same yet different, cloned but unique, this game certainly has what it takes to be a great game. You would certainly not wish to miss it and no one will. The idea may seem overused but Anonymouss certainly didnt waste time trying to do a perfect clone. And at least his ideas, as well as his hard work, seems to pay off in what turns out to be a promising game. It may be far from great but there doesnt seem to be any doubt that after tightening all of the loose ends it may well turn out to one of the best remakes of the classical Asteroids game. It may not seem to be the best bet around at first glance but stare hard and you may well find the reason. There are many nice in-depth touches, as well as a lot of detail, which has gone into every part of the game and well the results are for all to see. Keep it simple is the motto of the game. The game resurrects some of the old memories of Asteroids. The graphics though simple seem fitting with the rest of the graphics, giving the game on a generally more wholesome look. The players spaceship looks quite decent, and while the asteroids look better, they look quite un-asteroid like. The best part however is the explosion, taken from the GameCave effects engine, though slightly modified. The HUD could have been way better than it is now as it gives the game a rather unpolished look. Default Game Maker message boxes also add to the unpolished look.
Overall
Simple, creative and original game play, appropriate graphics and plenty sound effects and all the rest already make this game better than most other asteroid clones but as said earlier, tying up the loose ends, be it graphics, music or gameplay and polishing most of the elements is all that is needed to make this game grea. This game is quite promising and certainly has the potential to succeed. So if you want take a break from lifes complexities, game on! Written by Xantheil
35
REVIEWS
Falling CJ
Graphics: 1.5/5 Gameplay: 2/5 Audio: 3/5 The menu had custom graphics on it with blocks flying in all directions in the background which looks nice. The game over screen looks bare besides a few buttons. What stood out to me was the bouncing Game Over text. I dont think Ive seen that effect in many games Ive played. In the end, the graphics are not good besides a few minor high points. The sound and music wasnt bad, however there was a sound Ouch! when you hit an object which seems very out of place in the game. The game has a few different midi songs in it which is good as it gives the game some variety; however I think the menu music was better than the in-game music. Now the gameplay was an ok point in the game. The gameplay isnt addictive; it is in-fact hard to move the character because once you start moving the ghost will not stop moving. The one level Falling CJ contains seems to be completely random and will run forever which is good for these types of games. There was no lag and no bugs as far as I could see. Pros Nice variety of music Not an easy game to score big points on The menu looks decent Cons The game uses old GM sprites Hard to control the character Not addictive in any way
Have you ever played Icy Tower by Free Lunch Design? If so, Falling CJ is the opposite of it. Instead of jumping up on platforms and trying to get as high as you can, you will actually be falling and avoiding boxes and platforms which will stop you. Falling CJ doesnt have a story, its more of a short arcade game that you attempt a few times then dont play for some time. The only thing you have to do in the game is: 1. fall, and 2. collect atoms for points. The graphics in Falling CJ are mostly made up of the free sprites which came with Game Maker. Therefore, the game isnt very graphically appealing. There are some graphics in there which look homemade however they look like they were made in 30 seconds. The game had some coloured block explosions (Which didnt look too bad) when you collected the atoms. When you collected atoms or paid 1000 points to fly down further the numbers of 500 or -1000 flew around a bit before disappearing which I think was meant to give the impression that the numbers are also flying in the wind. The menu and game over screen looked the best I think.
Overall
Overall, Falling CJ is a quick arcade game that doesnt appeal graphically and isnt very addictive. The game looks like it was made in a day which is sad because a game like this could have so much more potential. Falling CJ needs a lot of work before it becomes a game that people will actually enjoy playing often. Written by gmjab
1 2 3
Visit the forum: www.gamemakertech.info/forum/ Go to the Submit > Preview/Review and create a new topic. You dont even need an account. Provide your username, game name, download link, screenshot and some brief information.
36
REVIEWS
Zymo
Graphics: 1/5 Gameplay: 3/5 Audio: 0/5 way it is. While playing the game, you get the feeling of an old DOS game even though it is just a recent game. Zymo also has no sound whatsoever. I think this game could do with some old style midi or chiptunes music. In addition, sound effects for jumping, dieing and even typing could have been added. In the end, sound is the most lacking area in the game. Even with a difficult interface, I recommend Zymo to anyone who is looking for something new and different. Still having troubles? Change the level of difficulty when you start the game for easier play- maybe a more simple game will mean a more enjoyable one.
Zymo, a both text and graphically based game, is sure to keep you thinking, if nothing else. Unique controls and simple graphics make this game different from most other Game Maker games that I have played. Even still, I find the game refreshing because of its difference from others. Navigate your character, a simple pixillated stick figure, through block based rooms to your ultimate goal of a flag at the end of each level. Your first attempt to play will undoubtedly confuse you, as it did me, when you are unable to jump, and die nearly instantly. With a second glance at the instructions posted in the menu, you will find that to jump, you must type just that, jump. Now, the game would seem to have turned into a race of typing skills as well as reflexes. As the levels get more complicated, the game, inevitably, gets harder. If you thought that the first level was hard, good luck completing the fourth, it sure gave me trouble. As the game progresses, you are given more commands to type, and so more ways that you must control your character. Jump and duck are easy enough manage, but throw in leap and flip, and you will surely find it difficult to navigate around closely spaced blocks and well placed spikes. If you become bored with the levels that you are playing, make some of your own! Zymo also sports a level editor (separate application), where you can make rooms of your own, as easy or difficult as you would like. While the text command style interface may be different, it may not really be something that you will like. If you have difficulty playing and completing these block-platform style games in the first place, then adding the necessity to type to quick thinking may go beyond difficult, and more into obnoxious. One more attribute I would change, if it was up to me, would be the levelto-level interface that I find less than appealing. After you finish a level, youll be given a password for the next level, where you will then be transferred to the menu to enter the password you have just been given to go to the next level. If you then die while playing the next level and forget the password that you used, then it looks like you will have to start all over again. The graphics for Zymo resemble the old-style games. The graphics and text are made of large pixels. The were no graphical effects that I found in the game. The game also maintained just one colour throughout the game. There is pretty much no HUD or any sort of game interface. While it is missing many great graphical elements I think the game was designed to look the
Level Codes
Enter these cheats into the menu and press enter. Level 2: mouse Level 3: round Level 4: oldstyle Level 5: frog Level 6: bear Level 7: funny Level 8: smash Level 9: world Level 10: 2digits Pros A different text-based interface Easy instructions and a simple game A nice old-style theme Cons Bad level-to-level setup No sound The game can be completed in under 15 mins
Overall
With a difficult interface, no sound or music, Id recommend Zymo to people who are looking for something new. While this game is short the level editor makes up for a quick game. A gamer who likes old-style games would possibly enjoy this games style. Written by Chriscool
37
REVIEWS
Overall
The Adventures of Cendah is one of those well put together RPGs which you dont come across all to often. It has fitting music, graphics and easy gameplay. The story to the game is an expanding story and not always predicable. This RPG is a fine piece indeed and I urge everyone to at least play this once because its not a 10 minute game like many others. Fine work indeed Kingdiz. Written by gmjab
38
EXTRAS
40
EXTRAS
Viking by stinkyman You play as Dothomir, a viking known for his ruthlessness and his cold blood who on returning on his boat from winning a battle by himself is hit by a severe storm. You have no hope of survival so you must earn enough points to make it to Valhalla
Archers of the Great Wall by racefan64 As youd probably already guessed, youre an archer on the Great Wall of China, youre job is to defend against a Mongul (sic) horde that conveniently attacks you in waves with increasingly powerful units. The amount of damage taken by the wall is shown in a large green bar at the bottom, whenever an enemy runs into the wall the amount of damage taken increases until eventually it reaches zero and its game over. Curiously the enemies disappear when they hit it, so one can only presume they do damage by head-butting
41
EXTRAS
Ed The Easter Island Head by GMer56 In most cases, early entries into a nearly-three-month-long competition arent very good. Unfortunately, Ed the Easter Island Head is NOT an exception. Ill ignore the music and sounds obnoxious, horrid resource garbage and move onto the gameplay (excluding Eds occasional uh-oh or yum-yum). Its a basic platform engine; it brings nothing new to the genre. Occasionally, collisions are weird (you can stand on the edge of a cliff without your feet even touching the ground). Ed feels a little slow also; if youre going to avoid the cars used once too much, you have to be clear of any high obstacles and jump at the right moment. As for graphics, generally OK. Some (eg. enemies) are out of style with the other graphics (cartoony low-bit colours). The pop-up dinosaurs look like 16-bit edits of real dinosaur photographs, and look really wrong. Overall, Ed is just playable, but simply lacks anything that would keep you interested. Well, thats if you can get past the title menu 2/5 - (Reviewed by NAL)
God of Sun: Non Graphix Adventure by Silen Im rather disappointed with this. After playing Silens winter competition entry, Ice Breaker, I had high expectations for God of Sun. I was left feeling a little empty. Sound was basic and nothing special. The music was annoying as hell. I am to understand that all of the game graphics were generated with code (no sprites/backgrounds). So, some nice effects in the game, but overall not very exciting. Giving yourself a restriction like that wont make the judges like the game any more. Gameplay was what let the game down. Bounce, bounce, shoot, bounce, go through hole in wall, bounce off enemy youd already killed and shoot through back into room. Why the enemies respawn if you return to their room eludes me. Its infuriating. Unfortunately, it never really redeems itself the game is essentially shooting enemies and opening gates with corresponding keys.
Links
- Yoyo Games competition 2 page - All competition entries - GMC Competition Topic
42
EXTRAS
gmjab talks with Flashback to see how he is coming along in the Game Maker world. could post songs without registering, leaving only a name: this will no longer be the case after a few incidents of nonregistereds flooding the site with songs that didnt actually work. A lot of the improvements are under-the-hood, allowing me to more efficiently add on to the site. GMT: Besides the MusicLib site, are there any upcoming projects youre working on? FB: Yes, but not any that Im at liberty to discuss at the moment. GMT: Have you got any personal development tips for the other GMers out there? FB: If youre just starting, and you think you can make an MMO, you need a psychiatrist. GMT: In the time of using GM what has been the toughest thing to do? FB: Graphics. My art skills are not terribly great, in regards to sprites. GMT: Thank you for the interview, any final words? FB: Thanks for the free advertising? Maybe that everyone will finish their projects to the best of their ability. Interview conducted by gmjab
1 Send an email to: support@gamemakertech.info and provide your username, email and a description of your project and well contact you.
43
EXTRAS
So what can GMPhysics really do? Timoi looks at the best games that make use of the DLL Boulders Never Die by Soup42 This has more of a puzzle twist than other GMPhysics games, and you are only allowed to place a couple of different shaped objects, but the physics work just the way they should. If anything the restrictiveness forces you to be even more strategic than otherwise. The different environments add to the variety, and some levels are seemingly impossibly hard, but it does have a certain addictive quality to it.
GMC Link | YoYo Games Link Dominos by Marbs The first Dominos doesnt quite have the same smooth movement as the sequel, it can be frustrating controlling the small characters sometimes when they just dont seem to go in the direction you want. But it does have more objects to control, such as a bowling ball, a banana, and even a completely physically simulated monster truck, in which a lot of fun can be had. YoYo Games Link Domino Playground by Link Theres not much gameplay in this one, but it does its job very well as a sandbox toy. The ability to place your own objects and let them bounce about does bring about a certain childish glee, but nethertheless, it ends up feeling rather pointless after a while. Unfortunately it does have a tendency to crash if too many objects are created so dont go crazy and place hundreds of boxes. YoYo Games Link
YoYo Games Link CryonPhysics by Steven Softworks A good concept and executed perfectly, the physics blend into the gameplay and the puzzles can be fiendishly difficult. The ability to create your own objects is truly a great feature too and you get a real sense of achievement that you might have solved a puzzle in a way no one else has. There are a couple of bugs, but to eliminate them all from a game that is this openended, and allows for so many possibilities, would be all but impossible. Though the gameplay could be seen as completely broken as you can drag the target objects, this benefits no one so simply not touching them ensures the most fun. YoYo Games Link
44
EXTRAS
Games
Games are of course the main focus of this system, as it is a system created for games. So every game has to add itself to the file in order to use the other functions. The games will be saved together with two links and a percent number. The two links point to two files - one includes a number and the other one is the latest version of the game. These links are used for updating the game, the first link is read and the number is returned. If the number in the file is greater than the games version number then the game will download the second file and replace itself with the new file. The percent number is simply how far you have made it in the game. You can also check if a player has played one of your other games and then maybe give the player something special representing that other game.
Awards
Awards are another important thing in this project. Every time the player achieves something he can be awarded with an award. This award will be saved with the name of the award and a simple description. It will also be saved together with the name of the game it was created with so you can track your awards. Awards can also be used the other way around. If a player has been awarded something in another game you can give him something in return in this game. With this system you can make the player reach a certain level in one of your other games before you give him something in this game.
Signature
Inside your profile there will also be space for a signature. This signature is simply whatever you have in mind. Most likely to be used with online gaming.
Friends
For online gaming you can also have a list of your friends. These friends are saved in a list and can be added, deleted and edited as much as the player wants. Friends can also download your profile through a simple request system.
Gamercard
This is a collection of the players favorite awards and games, together with the avatar and parts of the signature. This can be used to get a brief view of a person. This information will also be saved together with the rest of the information.
Avatars
Avatars are a good way for people to recognize you and if you use this system online you should use something which makes you able to be recognized. Therefore we chose to add avatars. The avatar is simply a link to a picture on
Security
As this is being released as open source for people to implement in their own games there has been some problems with security. As everyone can just add games and awards to their profile there may be chaos about which games and awards are real. But as far as we at P-Entertainment are concerned we believe in peoples honesty and that this system will not be misused. There will be some simple rules and guidelines which will come together with the system in a simple .txt file so there wont be any misunderstandings. And we really hope that if anyone misuses this system we will be contacted by someone so we can prevent those people. If you wish to find out more about GGP and what it will bringplease contact P-Entertainment. Written by P-Entertainment
45
EXTRAS
Free Applications
Terragen
Timoi tests out some free software you may find useful.
Homepage: http://www.planetside.co.uk/terragen/ This is a truly astonishing program, and the fact that its free is even more amazing. With just a few clicks (literally about 5) you can render photo-realistic landscapes, and Im not joking about that, when you push the quality sliders up, it can be hard to tell that its not a photo. With just a few more clicks the landscapes can be customized with water (which looks stunning too), sky details, clouds, and custom lighting. Almost every aspect of the landscape can be changed and tweaked to your hearts content. Though it may take a minute or two to render, its surprising to realize that your humble computer can indeed generate such incredible images. The obvious use for this application in games is creating beautiful backdrops for your levels.
Graphics Gale
Homepage: http://www.humanbalance.net/gale/us/index.html This is a must have program for any budding pixel artist, with many features that make it easier to create far superior sprites than Game Makers standard image editor. It has the ability to zoom in as close as anyone would ever need so you can really pick out the detail. It supports many different formats, but unfortunately you have to purchase the shareware version of it (under 10) in order to export .gifs. This is just about the only fault to this otherwise excellent program. However little things like that are easy to get around with a bit of patience so you can keep your game-making to a zero budget. Written by Timoi
Have you found a program that may aid game development? Then submit it to the GMTM to make it more known amongst thousands of other game developers. For more information, checkout the forum.
Found a Program?
46
EXTRAS
Comic
Take a break from game development and have a laugh at this comic.
48
EXTRAS
Check Out
49
EXTRAS
Closing
With every beginning there will surely be an ending. Well this issue is finally over and I hope you enjoyed it. Next time well be back with Issue 13 which will feature some very helpful articles and resources. Until then Im sure there is enough content in this issue to keep you occupied for some time. Remember you can have a hardcopy of this magazine by simply printing it. Dont forget to leave your comments about this issue in our topic or on our forum. Next Issue Here is a sneak peak of 4 things that will be in the next issue: 1. Website Building Advise 2. Making your game seen 3. Little Fred Reviewed 4. Frozzd Walthrough Guide If you wish to find out more or suggest something for the next issue visit out forums on: www.gamemakertech.info/forum/. Leave 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. Submit to the magazine Yes, we at GMTM will take almost any submission for a chance of it being published in the next issue. To submit to the magazine, simply go to our forum and submit in the submit section. Registration is not required and you will get a fast reply by one of our friendly staff. Here are three examples: - Submit your game to be reviewed - Submit an article/tutorial you have written - Submit exclusive information or request information We only ask that you submit content for which you have permission. Do not submit things that are not your own unless you have permission from the owner and do not submit illegal content. At GMTM we take submissions seriously and we will do whatever it takes to keep our forum clean and friendly. Write for Game Maker Technology Magazine Some of you may not have time to join the Game Maker Technology Magazine team, however you may have great writing skills, and if this is the case, then we welcome you to write articles freelance (where you work independently and on temporary contracts) - so you can write articles when you want, and have no deadlines. If you like the idea of being a freelance writer, check out more information here. View articles online and give feedback You can now view all the articles, reviews and other content in each magazine online. In addition to this you will be able to leave comments on articles/reviews and rate each article. This is all made possible on the Game Maker Technology Wiki. We look forward to your visit. Apply for a job Game Maker Technology Magazine is always looking for new fresh staff to write, research or review content for each magazine. If you think you have got what it takes to join us, check out the forum for more details as to what jobs are available. Creative commons The Game Maker Technology Magazine is licensed under the Creative Commons license. This means you are free to copy, distribute and transmit the work. This work is for Non-Commercial use only. You are NOT allowed to alter, modify or build upon the work contained in the magazine.
50