PDA

View Full Version : Guide to Making a Game/Fan Game for DUMMIES


sebastian
09 July 2007, 01:19 AM
http://i126.photobucket.com/albums/p105/unoseb/dummies.png

Hi Remember Me Sebastian? Well during the down time of the forums i decided to re-write my Guide to making a Game/FanGame, I also would like to thank Harods for giving me the inspration to start this guide. Check out his Guide, Link at the bottom of this Guide.

http://i196.photobucket.com/albums/aa279/cpwidget/g.png

What do i need to create a useful Program/Fan Game?

First you need to know whether you want to create programs that run on your (or some other) computer, or if you want to write web pages that either just display information or have some functionality involved. If you don’t really know yet, do not worry! The information on this site will give you a good background to figure out where you want to go.

You will find that most books and websites you encounter on programming generally show you text programs. This style of programming goes back to the days of prompt-based computing. Some of you may remember using DOS or perhaps a VAX system in school, where you had to enter commands on a command line (“c:\>”) to get things done. Since most programming languages were written when command line interface was the primary interface, many of the instructional manuals you will find use this method of teaching. You are probably much more interested in creating windows based programs, those that run in an open window in your current operating system. The windows and tools commonly used in the windows (menus, help files, open and save files, etc) are found in what is called an Integrated Development Environment (IDE). These environments provide the tools you can drag and drop into your programs so you don’t have to write these types of tool from scratch - a very useful innovation. Given that most teaching texts stress the command line interface, this can be confusing for the person who is trying to learn and understand programming. You probably aren’t interested in writing command line interface programs, yet that is most of what is being taught. Rest assured, there are ways to easily write windows applications. Visual Basic is built to write Windows applications specifically. Languages like C and C++ weren’t designed for Windows specifically, but using IDE tools like Microsoft Visual C++ and Borland C++ Builder you can adapt your knowledge to Windows based programs.

If you wish to create webpages or programs that function on the web, you have a few roads you can choose. If you would just like to create webpages with text and graphical content, HTML is probably the best choice for you. If you want to create more interactive pages or pages with more advanced content, learning PHP and MySQL may be appropriate depending on what exactly it is you want to do. If you want to create rather advanced programs that use the internet to function, the more complex uses of Java may be what you are looking for.


Installers:
Installers, want to make a game with a installer like you see all them big game developers use?
Well Heres some free Software to create a installer:
http://www.jrsoftware.org/isdl.php
http://www.clickteam.com/eng/installcreator.php

Describing your game:
If you want someone to download your game I would describe it In a very detailed way, add how much memory the download is and where your downloading it from. Like the country or state. Or just anything else you want to add.

Organizing your game:
Organizing your game I would recommend downloading Programmers Notepad where you can make Notes and write scripts.
http://www.pnotepad.org/

Help:
I found this AWESOME! Forum that provides help and tutorials on the following thing:
Flash
Gimp
Photoshop
Paint Shop Pro
Macromedia Fireworks
3D Max
Blender 3D
Cinema 4D
Light wave 3D
CSS
Dream Weaver
HTML
Java
JavaScript
MM Fusion
And a heck lot more, one of the best Forums for help I have seen.
http://www.vbforums.com/

And I also found this site with tutorials and a forum:
http://www.devppl.com/


Copyright:
Lots of people ask how do I copyright my game?
Well ive dug up some Copyright Information:
http://www.copyright.gov/help/faq/
http://www.cendi.gov/publications/00-3copyright.html
http://www.copyright.gov/circs/circ61.html

Names:
Naming a game is a important thing, try to make it about what it is for example if it’s a fan game Heres some names:
Flippers (Not Taken)
Waddles (Rod Regos Game)

Names like that, im sure if you stick your head into it you will

File Hosts (Downloadable Games):
Heres some Free services to host your downloadable games on:
http://www.filefront.com (Max of 1 GB) <Highly recommended Fast Upload
http://www.box.net/ ( Max of 10 MB)
http://www.putfile.com (Max of 10 MB)
http://www.willhostforfood.com/ (Max of 250 MBs)


File Hosts (Online Games):
File hosts for a online games you can either create a website and host it there, or host it on ImageShack there’s a lot more Hosters out there, But ImageShack is the only one ive discovered.

Beta Testers:
Beta Testers test your game before you release it to the public, they test for bugs and glitches I recommend having between 25 – 100 Beta Testers to test your game.

Screenshots:
Making screenshots for your game is a good way to con someone into downloading your game if it is a large file. Take Screenshots of the best parts of your game, to take a screenshot press the print screen button located at the panel on top of the arrow keys. Then go into editing software. For Example MS Paint and press Crtl+V and then sav the picture then upload it to a image hoster, Heres some good image Hosters:
http://www.photobucket.com
http://www.imageshack.us
http://www.tinypic.com


Websites:
Making a Website for your game is and isn’t a really good idea, Google Domains for a .com, .net, .info, .org, Also check out Harods Thread on Free Website Services.

Competitions:
Competitions are a great way to let other people choose the Beta Item or A name for your game, it gives the community a choice of what they want in a fan game.

http://i196.photobucket.com/albums/aa279/cpwidget/gm.png

GML, GML stands for Game Maker Laungage. Which you use in Scripts and Codes.Heres some greate Game Maker Sites that have Examples and Games made on Game Maker:
www.64digits.com/ (http://www.64digits.com/)
www.gamemaker.nl (http://www.gamemaker.nl)

Ive managed to take the time and type up a couple of pages on learning GML:
----------------------------------------------------------------------------
ONE1 - About this Tutorial
----------------------------------------------------------------------------
You may think this is yet another confusing tutorial attempting to explain how game maker's coding works. Well let me just say that I'm here to help all of you who REALLY want to learn it but don't want to take classes or attempt to understand some of the mumbo jumbo of the other GML tutorials out there.

I promise I will do what I can to stay away from using technical terms. I'll talk as if you guys have no idea what your doing. This should help you understand things alot better. I DO recommend you at least know the basics of D&D (Drag and Drop) to understand my tutorial.

The BOLD text is commands and the non-bold text is the parts you need to change. (for TWO2 and THREE3)

P.S. This tutorial is ment to teach you GM6 or above and may not be completely accurate for GM5.3 or below.

----------------------------------------------------------------------------
TWO2 - Basic setup of GML
----------------------------------------------------------------------------
Starting with the very basics here. You'll notice that the basic setup is the same as D&D (Drag and Drop) if you just read through it like a normal sentence. Also, note that capital letters DO matter! The built-in commands will always be lower case.


if something
do this
By replacing "something" with something such as a variable, you can tell GM what to do but only if it meets a requirement. Lets start by worrying about "something" rather then the "do this" part for now.

if Timer=1
do this
That code will do whatever as long as the variable "Timer" equals 1. You can also use < (less then) or > (greater then) in the place of the = sign. Remember "timer" and "Timer" are different so be sure to use correct capitalization!

if Timer>1
do this

if Timer > 1
do this
Here I just want to point out that spaces between everything doesn't really matter. The above code is the EXACT same as the one below it. They read the same so it's just a matter of what is easier to read for you.

if Timer >= 1
do this
Another thing you can do is use two >, =, or < signs. GM understands >= as being "greater than or equal to". Also, instead of using a variable, you can use a command. The "if" commands are listed in the codeing box at the bottom when you start to type. All of which are explained in the help file. (GM manual)

if distance_to_object(me) = 10
do this
This may look like a big jump from the above codes but lets take a look at it. If the distance to the object "me" is equal to 10, it will do the code. (thats 10 pixels by the way) For this command, you probably would want to use > or < instead. This command is often used in enemy AI to detect how far from the player the enemy is or how far from a certain object. There is a section of this tutorial where I explain a bunch of commands such as this one. Check the index.

if distance_to_object(me) > 50 && Timer > 1
do this
Ok, this code is a little harder to understand but still easy to use. "&&" means just that... it means "and". So this code means, if the object "me" is further then 50 pixels away from this object AND this object's variable "Timer" is equal to 1, it will run the "do this" part of the code. Remember it will NOT do anything unless it meets both requirements. You can add as many requirements as you want by just putting more and more &&'s in there...

if Timer > 1 && < 10
do this
Can you see anything wrong with this code? Yes it is WRONG and GM will point that out. When using &&, it's kinda like using "if" only it's mixing it with another. When using &&, you must repeat the command or variable as if it were separate. Doing the above code makes GM think "if what is less then 10???"

if Timer > 1 && Timer < 10
do this
This code is helpful because it will only do the code when the variable is within the range of 2 to 9.

if Timer >= 1 && Timer <= 10
do this
This is basically the same as the one before it only you can see I added some = signs in there. Instead of checking if it's only greater then or less then, now it will also accept it if it's equal to it which makes it give you a range from 1 to 10. VERY important you remember that if one of the symbols are going to be an = sign, that it's second. <> also would work. Basically checking to make sure it is not the amount.

if not Timer = 1
do this
Now this code looks a little different but it is just like using <> only it looks better and may be a little easier to read. (if Timer <> 1) There is yet another way to use not...

if Timer ! = 1
do this
That code is the exact same as the last. placing a ! in there works EXACTLY like putting "not". Using this and && in there you can make your codes looks pretty complicated. :) Also, note that functions (almost anything but variables) need the ! before it instead of after. An easy way to know when it's before or after is if it has an = sign or not. If it does, it comes before the = sign. If not it comes before the function itself.

if Timer = 1 || Timer = 2
do this
This is the last of the shortcuts i'm gonna tell you about. Putting || in your code is like placing a mirror in there. This code will activate if Timer is equal to 1 OR equal to 2. Yes, this is a replacement for putting in "or". The | lines are made by holding shift and pressing the button above your enter key.


Now lets look further into the same codes as before but mess with the "do this" part.

if x = 255
x = 100
This code would check to see if the object's x value is exactly equal to 255. If it is then it will change the x value to the value 100 ; jumping your object to a different spot in the room.

if Timer >= 10
move_towards_point(10,20,30)
That code will check if Timer is equal or over 10. If it is, it will move the object towards the point 10x20 at the speed of 30. How about we add more then one effect?

if Timer ! = 2 {
move_towards_point(10,20,30)
Timer = 2 }
Ok, now it's starting to look like code huh. Just break it down and see what it says. If timer is NOT (notice the ! in there making it mean not) equal to 2, it will move towards the point AND change Timer equal to 2 making the code not do anything else. Using { and } in your code is just like using brackets in D&D. If you have more then one effect, you will need to add { after the "if" part and then add a } at the end if the entire effect list. If you are using &&, you still only need one set of brackets.

if Timer = 1 && distance_to_object(me) < 10 && x >= 10{
x = 1
y = 2
}
Notice I used 3 ifs but I still only need 1 set of brackets. You'll never need more then one set unless you have a requirement inside of a requirement like this.

if Timer = 1 || Timer = 2{
x = 300
y=200
if Timer = 2{
Timer = 3
}}
If Timer is equal to 1 or equal to 2, it will move the object to 300x200 and if Timer was 2, it changes Timer to 3. Remember this code would still activate if Timer is 1 but it just will remain 1 at the end of this code.


Also, remember you don't always need to use an "if" in your code.
Timer += 1
If your code is in the step event of an object, putting this code will make it constantly raise the value of "Timer" by 1.

Timer = 1
This IS different because it would change the value of "Timer" to the value of 1 meaning it will just keep changing it to 1 (if put under step). If your going to do something like that, (for lag reasons) you may want to use something like this...

if Timer ! = 1
Timer = 1
Now again, assuming this code is under the "step" event of an object, this code will ONLY change Timer to 1 if it isn't already 1. Using the last code will be changing Timer to 1 every step of the game. Doing that kind of thing too many times WILL cause lag eventually because it's constantly loading those.

Also, another helpful thing to learn is how to effect an object with the code being in another object.

x = Me.x
If there is an object named "Me" in the room and you run this code from another object, it will change the x value of this object to the object "Me"'s x value. Still with me?

x = Me.x
y = Me.y
This code will make the object 'stick' to the object "Me" by keeping the x and y values the same Keep in mind it will only update every time you run the code. If in step and you havent changed the game speed, it will "jump" to the object 30 times each second. It's common to see it trail behind you by a few pixels before updating again. I'd recommend drawing a sprite for this instead of using objects but anyways...

x += 1
This code is most likely the type of code used in most platformers or RPGs. If put into the "keyboard left" event of an object, it will rapidly move the object to the right. using a - (minus) sign instead of the plus sign will cause it to go backwards making it (in this case) go left.



You should now know some of the major parts of coding. Now all that is left is learning the built-in codes from D&D and maybe a few more even. I'd recommend checking the help file (Game Maker Manual) and click the index tab. Then start to type some stuff in or use the search tab if you have no idea of the code you need. Anyways, here are some important ones...

sebastian
09 July 2007, 01:39 AM
----------------------------------------------------------------------------
THREE3 - Basic commands
----------------------------------------------------------------------------
These are only the most common commands. PLEASE use the GM manual to look up all of them. Simply open GM and go to "help". Also note that all commands will NOT work if you use capital letters.
SETTING UP AN OBJECT
------------------
1. image_alpha
This controls how transparent (see-through) your object is. 0 would be completely non-visible and 1 would be completely visible. Usually 0.4 is a good setting making it see-through but not too much so you can't see it at all. GM6 can do alot of alpha values with very little or no lag at all. GM5.3 had alot of trouble doing this.
2. image_index
This controls what frame your object is on. (of the sprite your object currently has). Remember sprites start with frame 0 so if your sprite has four frames, they are numbered 0-3. If you use this, you probably want to also set your image_speed to 0 so your image_index isn't cycling through the frames after you set it.
3. image_speed
Setting your image speed is setting how fast it would play through the frames of a sprite. Often times, putting an object in a room will make the sprite appear really fast and it will need to be slowed down. in the create event of an object, put this "image_speed=0.5" this will make your sprite play half as fast which helps alot usually. 0 would make it stay on one frame; letting you use image_index to tell it which frame to use.
4. sprite_index
This command changes the sprite of the object. If you are making a platformer, you may want your character to use a different sprite when jumping. When you press up, put this code in there and put the name of the jumping sprite.
5. solid
This will change if the object is solid or not. You will need to change it to "true" or "false". solid=true will make the object solid...ect.
6. visible
This will change if the object is see-able or not. You will need to change it to "true" or "false". visible=true will make the object see-able by the player...ect.
7. persistent
This will change if the object is persistent or not. You will need to change it to "true" or "false". persistent=true will make the object always be in every room at the same location unless told otherwize.
8. speed
Setting the speed will change how fast the object is moving. This is NOT the same as changing the image_speed. speed is used anytime an object is moving in any direction.
9. x
An object's x value is how far over it is. It can be changed to "jump" the object left or right. Platformers use x+3 to move right and/or x-3 to move left. (changing the "3" of coarse for speed.)
10. y
An object's y value is how far up or down the screen it is. It can be changed to "jump" the object further up or down.
11. hspeed
hspeed is kind of like changing the x value only it's better for acceleration. hspeed+=1 would constantly raise the horizontal speed (going to the right) making it speed up slowly. adding an if code before it can be used to limit the speed.
12. vspeed
vspeed is kind of like changing the y value only it's better for acceleration. vspeed+=1 would constantly raise the horizontal speed (going downward) making it speed up slowly. adding an if code before it can be used to limit the speed. vspeed is usually a good way to setup gravity in a platformer.
13. gravity
Anytime gravity is greater then 0, you will be pulled down. To make an object stop on a solid platform, you must set the gravity back to 0. You can use gravity for jumping by slowly increasing it but vspeed is more widely used in this case.
14. image_angle
I'm pretty sure you need a registered version to use this but it is really helpful. If you do something like image_angle=point_direction(x,y,mouse_x,mouse_y) any object will face the mouse automatically without you needing to make the sprites have a bunch of subframes of it at different angles. This only needs 1 sprite frame and uses the right side as the "front" of the sprite. The graphics quality drops a little if you use this so it's not always the best way to go. Just remember you can have an animated sprite that can turn and everything using this!
Changing things IN-GAME
------------------
1. instance_create(x,y,obj_whatever)
This is used VERY often to put an object into the game that wasn't already in the room when you started the game. x and y are the coordinates of where you want the object to be created at. 0 for x and 0 for y would put the object at the very top left corner of the room. obj_whatever should be replaced with the name of the object you want to create.
2. distance_to_object(obj_whatever)
This will tell you how far "obj" is (in pixels) from the object running this code. This is mostly helpful if used in a requirement such as "if distance_to_object(OBJECT) < 100". It helps you change things according to where an object is at the time.
3. distance_to_point(obj_whatever.x,obj_whatever.y)
Similar to distance_to_object. Instead of using an object, it uses any point in the room. Change x and y to the point you want it to measure to.
4. move_towards_point(x,y,speed)
This will move it's object to the x and y values you put in. replace speed with the speed you want it to move to the point with.
5. keyboard_check(vk_left)
This code will check if an arrow key is being held down or not. You can replace "left" with any of the following: left, right, up, down, alt, anykey, backspace, control, nokey...ect You can also change it to keyboard_check_pressed() or keyboard_check_released() to check ONLY when they button is pressed down (once at a time) or when the key is released (once at a time).
6. instance_place(x,y,obj_whatever)
This helpful code checks if "obj" is at a certain point. This can be used alot in just about all types of games.
7. sleep(ms)
Sleep is like a built in timer where GM completely pauses for the amount of milliseconds you put in the place of "ms" (which stands for milliseconds). Remember NOTHING can change during this pause time. I think the only thing it doesn't stop is sounds.
8. sound_play(snd_whatever)
This is the basic code for playing a sound effect or background music of some kind. You can run sound_loop(snd) after this code to make the sound play over and over again till the room ends or until you put sound_stop(snd). Replace snd with the name of the sound.
9. random()
Making a variable random is something lots of people have questions on. random(3) would give you ANY number between 0 and 3 including decimal numbers. If you want it to pick a rounded number, you can do this... round(random(3)) this will pick: 0, 1, 2, or 3. Also, you can put a number after it to tell it which number is the lowest that should be picked. round(random(3)+2) would give you 2,3,4, or 5. Also, you don't have to use round(), you can also use ceil() to round upward or floor() to round downward. To use random, you most likely need to set it as a variable. Do something like this... selection = round(random(3)+1).
10. instance_nearest(x,y,obj_whatever)
This code finds the nearest of the object you put into it. Using this code, it will take it's own x and y and find the nearest object of "obj_whatever". Finding the nearest enemy which could be many different objects is ALOT more complicated...

----------------------------------------------------------------------------
FOUR4 - Short arrays explanation
----------------------------------------------------------------------------
Ok, I'm going to try to explain the very basics of arrays. Hopefully you know exactly what global variables are by now. The arrays all start with 0 but I like to start with 1 just because it looks a little more normal.
So when creating a new one, the first would be arrayname[0,0] ...ect
arrayname[#]
This is the basics of an array. Just like any variable, you give it a name and set a number for it.
Item[1]
Ok, now the number 1 is NOT it's value, it's merely the number of the array. Now your ready to set this array to something, instead of a number, lets give it a sentence.
Item[1]="This item is used for healing"
Now that we have set all 3 parts, it's ready to be used. It can be used EXACTLY like a variable can.
draw_text(x,y,Item[1])
Now this part of a code will draw the text "This item is used for healing". Understand? This array setup is almost exactly like a variable. Lets do a few now.
Item[1]="Potion"
Item[2]="Ether"
Item[3]="Coins"
Now this could be used to draw an inventory list of you'd like. By setting each one as a different number, your setting them all different. I think you know how to draw them from here so now lets try something a little more complicated with these.
Item[1,0]
Item[1,1]
Now your probably looking at this thinking "What is he doing now?". This is where arrays become very helpful (and maybe a little complicated). You can set a sort of 2nd layer to each number. Kinda like keeping multiple parts on one variable. Lets say you want to set up a potion for your game.
Item[1,0]="Potion"
Item[1,1]="Heals 50 HP"
Item[1,2]=1
Item[1,3]=100
Item[2,0]="Apple"
Item[2,1]="Heals 75 HP"
Item[2,2]=3
Item[2,3]=200
Ok, first I have made parts of a potion. Here, I'm using 0 as the name, 1 as the info, 2 as the quantity you have, and 3 as the selling price. Now your free to draw these each where ever they are needed. Now if you want to draw parts for the apple, all you need to change is the first number of each. If you still don't understand, let me show an example to make multiple items. Make a script and run it once in the beginning of your game to create these items so you can refer to them in your game.
Item[1,0]="Potion"
Item[1,1]="Heals 50 HP"
Item[1,2]=2
Item[1,3]=100
Item[2,0]="Ether"
Item[2,1]="Heals 30 MP"
Item[2,2]=3
Item[2,3]=125
Item[3,0]="Coins"
Item[3,1]="Currency of the island"
Item[3,2]=12000
Item[3,3]=100
Item[4,0]="Life up"
Item[4,1]="Revives a fallen team member"
Item[4,2]=1
Item[4,3]=1000
Do you understand now? You can go on with this for as long as you like. Also, remember arrays aren't only for drawing, they can be used ANYWHERE a normal variable can be used. Last but not least, you can make arrays global too. Yeah, you guessed it...
global.Item[4,2]=1
...would allow you to refer to it anywhere and would make it keep it's value from room to room. This part of the code being the quantity of the item "life up" btw.
Now if you really want to make your game impressive and keep things orderly, check this out...
draw_text(x,y, global.Item[Numb,0])
Using "Numb" as your variable and putting it as the first number in the array, you can change what text shows up according to what you set "Numb" to. Setting it to 1 (using the above list as an example) it would show the text "Potion" and changing "Numb" to 2 would change it so it writes "Ether" instead. Note that you can put a variable in the place of either of the 2 numbers in the array to allow changes. This helps a TON with making inventorys, shops, status screens ...ect
----------------------------------------------------------------------------
FIVE5 - Smart Codes
----------------------------------------------------------------------------
1. Custom alarms not using alarms
timer+=1
if timer>50{
do this
do this
do this
timer=0}
Using this is a lot more accurate then using alarms. It's also better because it's in-code and requires less of a mess in your objects. Just make sure you put it in the step event of an object. You can also add another "if" before the timer+=1 so it doesn't just keep going after your done with it.
2. Automatic adjusting screen
view_hborder=view_wview/2 -obj_player.sprite_width
view_vborder=view_hview/2 -obj_player.sprite_height
This is probably one of the best "smart codes" I know. It resets your view so that "obj_player" is always perfectly in the middle. If you have a game where the player's sprite changes sizes or shapes, all you gotta do is run this code once after it changes sprites and it is perfect everytime! Just make sure you have views turned on.
3. Perfect landing (platformers)
if vspeed > 0 && !place_free(x,y+vspeed)
move_contact(270)
vspeed = 0
You may notice in your platformer that when you land, your character stops just above the ground, before landing, then drops the last few pixels. It can get very annoying at times. Use this code on your character when he comes in contact with the ground. It tells GM the exact amount of downward speed it needs to land perfectly. You won't notice any difference other then landing will be nice and smooth.
4. Easy gravity (platformers)
if !instance_place(x,y+1,obj_Solid)
gravity=0.5
if instance_place(x,y+1,obj_Solid)
gravity=0
if vspeed>10
vspeed=10
This code helps because it creates gravity ONLY if there is space under you that doesn't have a solid object. It also limits your vertical speed which helps with falling through floor bugs. Lowering the number helps more but may make it look less realistic. Try using different limit amounts. Change obj_Solid to whatever object you use for your ground. It can be a parent object if you use more then 1 for your ground objects.
5. Rotate / orbit object
spin+=10
x=obj_Player.x+lengthdir_x(obj_Player.sprite_width *1,spin)
y=obj_Player.y+lengthdir_y(obj_Player.sprite_heigh t*1,spin)
This is a nifty little code that automatically makes the object go in circles around whatever object you put in the place of "obj_Player". It uses the objects sprite to find out how large of a circle it needs to make to go around it. Also, it will automatically jump into place so it doesn't matter where you create the rotating object in the room. It will jump into place and start rotating at the speed of the variable "spin" in this case. Just make sure this goes in your step event to keep it circling.
6. 360 degree turning
image_single=facing/10
facing = point_direction(x,y,mouse_x,mouse_y)
This is a very commonly used code for creating an object that can turn all the way around pointing tword the mouse at all times. It sets 1 subsprite (frame) for each direction. Works best when the sprite's first subsprite is facing right and the sprite has 36 frames and spinning counter clockwise. Now this code does that as well as makes the object face toward the mouse at all times. The 2nd line can be changed or taken out depending on where you want the object to face.
7. Setting a sprite as your font
Create:
global.SpecialFont=font_add_sprite(s_FontSprites,o rd(' '),false,0)
Draw:
draw_set_font(global.SpecialFont)
draw_set_color(c_white)
I've seen alot of people ask how to do this. This lets you make a sprite and use it when you use draw_text() instead of a normal font. You can name "SpecialFont" as whatever you want and set draw_set_color() as whatever color you want the text to be. (white makes it use the sprites actual colors) the "ord" you see tells it you have numbers, letters, and symbols included in your font. you can put "ord('0') and have frame 0 starting as the number 0 if you only want to have numbers. It took me quite a while to find the order game maker wants these to be in so I included one of the fonts I put together so you can know the order too. There may still be some more symbols I havent found but all the most common (and some of the lesser common) ones, I've already found for you.

8. Good Healthbar
//DRAW:
draw_set_color(c_red)
draw_line(x,y-10,x+linelength,y-10)
if hpamount > hpmax hpamount = hpmax
if hpamount < 0 hpamount = 0

//STEP:
linelength= hpamount / hpmax * sprite_width
I've been asked many time on how to make a healthbar and many times the person wants it to only be so long even if it's alot of HP. (just goes down slower...ect) Well this code does it all. This one uses a line which is smaller and cleaner looking rather then a rectangle. Just set hpamount, hpmax, and make sure linelength=0 is in create. Also be sure to put the first part of the code in draw and the second part in step. You can mess with the numbers like the 10s for the height (raise number to raise bar). Now you can set any objects health and not worry about line lengths! :)
9. Room angling
view_angle[0]=-direction+90
image_angle=direction
This code is a little more advanced then you may think. It angles the entire room according to the object you put the code on (under step). Usually you'd want it on your main player which the view follows. This can give your game a really nice look but you must have a registered version of GM to do this.

http://i196.photobucket.com/albums/aa279/cpwidget/j.png
I myself have no experience with java but I have found this great website with Resources and an email to email your questions to a pro at Java:
http://www.java-tutoring.com/

http://i196.photobucket.com/albums/aa279/cpwidget/f.png
Getting stuck with Flash don’t know where to go?
Well you’ve come to the right place I recommend going to www.flashkit.com (http://www.flashkit.com) there they have got lots of Tutorials with Resources. I only have a little bit of Experience with flash but im sure with a little practice you can become a pro at Flash.
http://i196.photobucket.com/albums/aa279/cpwidget/sw.png
Currently I have found no Shockwave Help out there. When I find some I will be sure to update this thread.

I hope this Guide has helped you. Questions Comments just post them and ill get back to you ASAP.

Also go and visit Harods Guide to game maker:
http://penguinforum.miniclip.com/showthread.php?t=16908
Thanks
Sebastian

Ice Cold
09 July 2007, 03:15 AM
Wow..... sebatsian got sticked Good Job Sebass

Rod Rego
09 July 2007, 03:39 AM
Wow..... sebatsian got siggied Good Job Sebass

I think you mean stickied. Might want to fix that.

Nice guide, Seb. I like the way you explained the GML coding, and I'm sure this well help a lot of people.
;)

sebastian
09 July 2007, 03:40 AM
The Following Part made By Acef.


Game maker 7.0
download-http://www.gamemaker.nl/
review-Make sweet games with this.A very easy basic program to use.


C+++
download-http://www.microsoft.com/downloads/details.aspx?FamilyID=506b9a5c-eb38-4f37-b4ae-35646a297e90&displaylang=en (http://www.microsoft.com/downloads/details.aspx?FamilyID=506b9a5c-eb38-4f37-b4ae-35646a297e90&displaylang=en)
review-A language program i don't know much about i heard it is good though.


Hephaestus
download-http://www.gamediscovery.com/game-design/java-game-maker-make-rpg-games-hephaestus.asp (http://www.gamediscovery.com/game-design/java-game-maker-make-rpg-games-hephaestus.asp)
review- Hephaestus is a construction kit for making computer role playing games (often called an "RPG maker"). The scripting is done in the Java programming language and it also features a map editor.


mmorpg maker
download-http://mmorpgmaker.vault.ign.com/front/faq (http://mmorpgmaker.vault.ign.com/front/faq)
review-Make mmorpg's with this.


darkbasic
download- http://www.gamediscovery.com/game-design/make-a-game-with-darkbasic.asp (http://www.gamediscovery.com/game-design/make-a-game-with-darkbasic.asp)
review-Make a game with DarkBASIC, it has become one of the more popular choices of game design programs for both beginners and the more advanced hobby game programmers out there.


dark basic pro
download- http://www.gamediscovery.com/game-design/game-make-software-darkbasic-pro.asp (http://www.gamediscovery.com/game-design/game-make-software-darkbasic-pro.asp)
review-The more advanced option of DarkBASIC. If you have the extra cash this is just as a good option as DarkBASIC, or even better in many ways.


GLBasic
link- http://www.gamediscovery.com/game-design/create-your-own-video-game-glbasic.asp (http://www.gamediscovery.com/game-design/create-your-own-video-game-glbasic.asp)
review-Wish to create your own video games that have high quality on your own with little time to waste creating a game engine, a 3D framework or network components, then GLBasic could be a good choice.


Lawmaker Game Engine
link- http://www.gamediscovery.com/game-design/lawmaker-game-engine.asp (http://www.gamediscovery.com/game-design/lawmaker-game-engine.asp)
review-The Lawmaker Game Engine is a powerful and robust 3D game engine tailored for novice and advanced game designers. The 3D game engine and tools provide a complete development solution for current and next generation games.


3D Game maker
download- http://www.gamediscovery.com/game-design/make-your-own-game-3d-game-maker.asp (http://www.gamediscovery.com/game-design/make-your-own-game-3d-game-maker.asp)
review- With the 3D Game maker you can make your own game in seconds. You don’t have to know any programming to make games with The 3D Gamemaker.


3D Game Engine Torque Game Engine SDK
download- http://www.gamediscovery.com/game-design/3d-game-engine-torque-game-engine-sdk.asp (http://www.gamediscovery.com/game-design/3d-game-engine-torque-game-engine-sdk.asp)
review- The Torque Game Engine (TGE) is for the more advanced game designers. The 3d game engine features multi-player network code, state of the art skeletal animation, seamless indoor/outdoor rendering engines, drag-and-drop GUI creation, a C-like scripting language and a built in world editor.


GameSpace 3D
download- http://www.gamediscovery.com/game-design/3d-game-programming-gamespace-3d-game-design-tools.asp (http://www.gamediscovery.com/game-design/3d-game-programming-gamespace-3d-game-design-tools.asp)
review- 3D game programming with gameSpace can deliver stunning results. No longer are eye photorealistic 3D graphics limited to the domain of large game and film studios.


3D GameStudio
download- http://www.gamediscovery.com/game-design/game-engines-3d-gamestudio-game-engine.asp (http://www.gamediscovery.com/game-design/game-engines-3d-gamestudio-game-engine.asp)
review- 3D GameStudio is a very popular game design software amongst independent game developers. Many successful games have been published using game engines that were created using 3D GameStudio.

3D Adventure Studio
download- http://www.gamediscovery.com/game-design/adventure-game-maker-3d-adventure-studio.asp (http://www.gamediscovery.com/game-design/adventure-game-maker-3d-adventure-studio.asp)
review- 3D Adventure Studio is an Adventure game maker for making adventure games in style of Gabriel Knight 3.


Game Editor
download- http://www.gamediscovery.com/game-design/make-games-for-mobile-phones-with-game-editor.asp (http://www.gamediscovery.com/game-design/make-games-for-mobile-phones-with-game-editor.asp)
review- Game Editor is a game design software that lets you design games with little or no programming or technical knowledge.


RPG Toolkit
download- http://www.gamediscovery.com/game-design/create-your-own-rpg-game-rpg-toolkit.asp (http://www.gamediscovery.com/game-design/create-your-own-rpg-game-rpg-toolkit.asp)
review- RPG Toolkit is a very powerful editor and game engine that lets you create your own RPG game.


Explorations RPG Game Engine
download- http://www.gamediscovery.com/game-design/make-your-own-rpg-game-explorations-rpg-game-engine.asp (http://www.gamediscovery.com/game-design/make-your-own-rpg-game-explorations-rpg-game-engine.asp)
review- Explorations RPG Game Engine is a powerful role playing game engine that lets your make your own RPG game.


RPG Maker 95
download- http://www.gamediscovery.com/game-design/rpg-maker-95-download.asp (http://www.gamediscovery.com/game-design/rpg-maker-95-download.asp)
review- RPG Maker 95 is a program created by ASCII in 1997, allowing the creation of RPG. You can do drawings, music, dialogues, maps and more.


RPG Maker 2000
download- http://www.gamediscovery.com/game-design/rpg-maker-2000-download.asp (http://www.gamediscovery.com/game-design/rpg-maker-2000-download.asp)
review- RPG Maker 2000 is designed to create console-type RPG games. The results will look very much look like and old SNES game.


RPG maker 2003
download- http://www.gamediscovery.com/game-design/rpg-maker-2003-download.asp (http://www.gamediscovery.com/game-design/rpg-maker-2003-download.asp)
review- Based on the very popular RPG maker 2000, RPG maker 2003 lets you make your own RPG games.


RPG Maker XP
download- http://www.gamediscovery.com/game-design/rpg-maker-xp-download.asp (http://www.gamediscovery.com/game-design/rpg-maker-xp-download.asp)
review- With the new RPG Maker XP, you can make even better RPGs than with RPG maker 2000 and 2003!


RPGds
download- http://www.gamediscovery.com/game-design/rpg-game-creator-rpgds-game-creators.asp (http://www.gamediscovery.com/game-design/rpg-game-creator-rpgds-game-creators.asp)
review- RPGds is a RPG game creator and has a single primary purpose: to allow you to create your own RPGs.


Sphere is a 2D RPG engine
download- http://www.gamediscovery.com/game-design/make-a-rpg-game-sphere-2d-rpg-engine.asp (http://www.gamediscovery.com/game-design/make-a-rpg-game-sphere-2d-rpg-engine.asp)
review- Sphere is a 2D RPG engine, in development since 1997. It allows you even if you don’t have much programming experience make a RPG game like Final Fantasy VI or Phantasy Star.


IRE Computer RPG Maker : Computer Role Playing Game Engine
download- http://www.gamediscovery.com/game-design/ire-computer-rpg-maker-computer-role-playing-game-engine.asp (http://www.gamediscovery.com/game-design/ire-computer-rpg-maker-computer-role-playing-game-engine.asp)
review- IRE is an attempt to create a cross-platform computer role-playing-game engine similar to Ultima 6.


Fighter Maker 95
download- http://www.gamediscovery.com/game-design/fighter-maker-95-download.asp (http://www.gamediscovery.com/game-design/fighter-maker-95-download.asp)
review- Fighter Maker 95 as one could guess from the title lets you make your own fighting game.


-MUGEN
download- http://www.gamediscovery.com/game-design/mugen-fighting-game-maker.asp (http://www.gamediscovery.com/game-design/mugen-fighting-game-maker.asp)
review- MUGEN is a very popular 2d game maker for making your own fighting game. You can make your own character and supply them to the game or you can download some of the thousands of characters other people have made from one the many MUGEN fan sites.


Adventure Game Studio
download- http://www.gamediscovery.com/game-design/create-your-own-adventure-game-adventure-game-studio.asp (http://www.gamediscovery.com/game-design/create-your-own-adventure-game-adventure-game-studio.asp)
review- With the Adventure Game Studio you can create your own 2d point-and-click adventure games, much like the old Sierra and Lucasarts games.


Text Adventure Game Maker : Inform - Interactive Fiction Game Engine
download- http://www.gamediscovery.com/game-design/text-adventure-game-maker-inform-interactive-fiction-game-engine.asp (http://www.gamediscovery.com/game-design/text-adventure-game-maker-inform-interactive-fiction-game-engine.asp)
review-Inform is a text adventure game maker and consists of a compiler and a library of standard rules written in the Inform language: you will need both of these to get anything done.


TADS
download- http://www.gamediscovery.com/game-design/interactive-fiction-program-tads.asp (http://www.gamediscovery.com/game-design/interactive-fiction-program-tads.asp)
review- TADS is a set of programming tools specially designed for writing adventure games.


ADRIFT Generator
download- http://www.gamediscovery.com/game-design/create-your-own-text-adventure-game-adrift-generator.asp (http://www.gamediscovery.com/game-design/create-your-own-text-adventure-game-adrift-generator.asp)
review- ADRIFT Generator is a program that allows you to create your own Text Adventures. It is written for Windows 95/98/NT/2K/ME/XP.


Aiee!
download- http://www.gamediscovery.com/game-design/interactive-text-adventure-program-aiee.asp (http://www.gamediscovery.com/game-design/interactive-text-adventure-program-aiee.asp)
review- Aiee! allows you to create and play interactive text adventures, or "interactive fiction".


GameScroll
download- http://www.gamediscovery.com/game-design/interactive-fiction-game-maker-gamescroll.asp (http://www.gamediscovery.com/game-design/interactive-fiction-game-maker-gamescroll.asp)
review- GameScroll is a program for playing and writing interactive fiction games like.


Unity3d(thanks Zeldafan114 for this)
download- http://unity3d.com/ (http://unity3d.com/)
review-It's called Unity Game Engine. And later this year, it will enable Wii Game Development. A very simple-to-use game engine. Only available for Macs, but makes games compatible with both PCs and Macs.
Seriously, you can make anything with that engine!

The Following Part made By Harods

By reading this thread it will help you to make a better Game and and you will also Know what is which.

Which is Which

Sprites
Sprites are object that you would move around in the game a The Penguin in Club Penguin is a sprite in a way


Sounds
The sounds are the Music you would want in the Game, But Music like Example: Holiday by Greenday that will lag the Game so try getting some sounds instead


Backgrounds
Backgrounds are the pictures you want for your rooms, you will need to create a background before you make a room.

Rooms
Rooms are the Place your sprite will walk about in Like a swimming pool for example.

Objects
The Objects are Very important in GameMaker you need your sprite to be a Object so you could pick the Controls for the Sprite so it can move about. And also They can be used as something floating around like a Football

Paths
Paths are a route to make the object move theres an object action with these aswell.

Scripts
Scripts are Codes really to help you with your game Look up Sprites on Google for more.
Fonts

Fonts are the text you use in your game you will need to use fonts for Like Speech Bubbles and other stuff.

How to make a Good game

You should start your game off on a Day when your not busy
you should have 1 hour resting time
Dont watch Television while Making a game it might distract you then you might go wrong
Have the light on so you can see your keyboard
Have lots of different clothes not just one
Have some activities for the User to do like Jobs or Mini games
Write what you are going to do next on some Paper so you dont forget what you are going to add to the game.
tell people what to do Like how to move round in a instruction Guide

I hope this helped you!

flooger100
09 July 2007, 06:28 AM
Man I was hoping there was a java tutorial.

But yeah Java is a very advanced programming language so yeah...

acef596
09 July 2007, 03:34 PM
Very nice guide but tell the thruth did you copy and part from and game maker material?

Gamerboy
09 July 2007, 03:53 PM
I'm just going to cut straight to my point, yes the guide is well written, but would it help people, the chances are no. There are loads of great guides out there that tell you how you can make some great games and create something that is new. Using the same guides is likely to produce a repetitive series of fan games, that fail as they are nothing new.

Also, I don't like how many completely free programming languages that can do games, are not mentioned. Some of these aren't terribly powerful, but some good interactive content can be made, especially when enharnessing a combination of these scripts.

sebastian
09 July 2007, 08:22 PM
I'm just going to cut straight to my point, yes the guide is well written, but would it help people, the chances are no. There are loads of great guides out there that tell you how you can make some great games and create something that is new. Using the same guides is likely to produce a repetitive series of fan games, that fail as they are nothing new.

Also, I don't like how many completely free programming languages that can do games, are not mentioned. Some of these aren't terribly powerful, but some good interactive content can be made, especially when enharnessing a combination of these scripts.

These powerful programs?
RPG CREATOR
3D GAME MAKER
PLAYER WORLDS
and all the others.
are a generator, you change the sprites to your need. so your not really making a game are you? and most programs you CANNOT use scripts of something else in it because they use a totally different coding language

Gamerboy
09 July 2007, 08:36 PM
No, I am not talking about that.

Visual Basic and the other basic series. ( There are loads of free versions of Basic available to download).

Assembly is also one route, but for very advanced programmers. There are also loads of other small languages which are suitable for the job and more importantly free.

I am not talking about game generators, they are pretty weak and limited. You don't need to start attacking me for construstive criticism of your guide do you? Honestly, please admit that you are not always right as no one ever is always right.

sebastian
09 July 2007, 08:41 PM
No, I am not talking about that.

Visual Basic and the other basic series. ( There are loads of free versions of Basic available to download).

Assembly is also one route, but for very advanced programmers. There are also loads of other small languages which are suitable for the job and more importantly free.

I am not talking about game generators, they are pretty weak and limited. You don't need to start attacking me for construstive criticism of your guide do you? Honestly, please admit that you are not always right as no one ever is always right.
So your telling me what i should be putting in my guide?! Maybe i have no experince with those programs if someone would give me a guide to other programming laungages i would put it in the guide and put a big heading saying made by (whatever)

khfan2000
10 July 2007, 05:57 PM
cool you got stickied good job sebastion nice little gamer dude front cover i like it ;)

Harods
10 July 2007, 06:51 PM
Seb, you dont need my guide link at the bottom you can just add it into the thread;) My guide is not big enough, just add my dictionary into this thread.

acef596
10 July 2007, 07:24 PM
Sebastian-Can you add my list of programs to make games to your thread somewhere.Also I will like credit just copy and paste my thread I will be right back with url so you don't got to find it.
------edit-----
Here it is- http://penguinforum.miniclip.com/showthread.php?t=19605
Or you just can put the link on the thread.

sebastian
10 July 2007, 08:35 PM
Seb, you dont need my guide link at the bottom you can just add it into the thread;) My guide is not big enough, just add my dictionary into this thread.

Sebastian-Can you add my list of programs to make games to your thread somewhere.Also I will like credit just copy and paste my thread I will be right back with url so you don't got to find it.
------edit-----
Here it is- http://penguinforum.miniclip.com/showthread.php?t=19605
Or you just can put the link on the thread.
Okay i will put it into my guide, ill put it in bgg letters it was made by you guys.

EDIT: I put it in the 3rd post by me, since 2 people posted before me.

Harods
10 July 2007, 08:56 PM
Seb, Thanks for adding it to the thread, it was a good idea
OFF TOPIC: go to fishes chat please I need to talk to you;)

sebastian
10 July 2007, 09:08 PM
Seb, Thanks for adding it to the thread, it was a good idea
OFF TOPIC: go to fishes chat please I need to talk to you;)
Im there, and your not talking to me. ive been there for ages.