Official Fangame Help Topic


#61

well you see… thats part of the problem… as explained in my problem post, when I press the shoot button too fast it won’t shoot, because the alarm action is being sent through and wont allow it.


#62

You mean like this?

Adjust fire delay in the event to suit if its too long/ too short.


#63

sweet, thanks a lot man.


#64

No problem.


#65

Ok, thanks for your help guys. I don’t have my finished models ready, so I’ll use older more complete sprites and test out engines.


#66

what kind of game are you maing?


#67

Right quick, how do you change the screen size on a 3D game? I’d look it up, but I’m not on my GM computer…


#68

Turn on a view (only one, preferably), and set the “Port on Screen” numbers to the size/resolution you want. Since its 3-D, that allows your room to be any size (normally it depends on the room size, but now you can make your room 1 pixel by 1 pixel if you want), and the “View in Room” numbers can be whatever you want also.

I still haven’t figured out a way to actually change the window size/resolution during the game–My best attempts end up changing the game size, not the window size.

That would be wonderful if anybody knows how to do this, along with a way to turn off bilinear filtering.

Edit: And I mean changing only GM’s window size setting for the resolution, not just changing sprite sizes, and without DLL’s. :wink: Aimed more at Mason’s reply at SCU.


#69

That’s some fancy topic-mixing–responding to a topic in a whole 'nother forum! :smiley:

StretchBlt is handled by a Windows integrated DLL, so there’s no reason to avoid using it.


#70

Well, I haven’t made much progress on my engine :frowning:

I’ve decided to botch the whole “Arrow controls” scheme and have decided to use a more fluid control medium: the mouse. In the original game (this is a fangame, btw) you had the option of using arrows or the mouse. The mouse control worked like this: The ship would move towards an invisible point dictated by your mouse pointer (which was also invisible). I have a method of doing this, but whenever I try it, the ship ends up vibrating left and right. Here’s my engine:

I have two objects, the ship and a mouse pointer. Here are their actions:

Mouse pointer: Step event - Execute a piece of code - x=mouse_x and y=mouse_y
The object is invisible and centered on a tiny dot.

Ship: Step event - Execute a piece of code - move_towards_point(mouse_x, mouse_y, 10)
Collision event - If object collides with (Mouse pointer) Start moving in direction 0 at speed 0
The object is visible and centered.

In the actual game, the ship starts by slowly speeding up before slowing down just as it reaches the mouse point and then comes to a complete stop. In my engine, the ship goes for the point at one speed and collides, but the ship is pushed away for a second before going back to the mouse point in what looks like a side-to-side vibration. Does anyone have any idea how I can make this more fluid?

(The whole animation bit will be even more challenging, so I’m holding off on that for awhile)


#71

You could probably use the Gravity option (or a relative speed increase, with a maximum speed set…) and a little mathematics to tell if the distance between its placement and the mouse will be covered by it slowing down. (Can’t just take maximum speed into consideration with this math, of course, since the distance may be too short to reach the maximum speed.)


#72

I had the same problem with Meta Ridley in my fangame, I used this code to fix the problem:

if(x > TargetX+MovementSpeed || x < TargetX-MovementSpeed || y > TargetY+MovementSpeed || y < TargetY-MovementSpeed)
{
move_towards_point(TargetX,TargetY,MovementSpeed)
}
else
{
hspeed = 0
vspeed = 0
}

Note: using distance_to() in the if-statement doesnt seem to work for this, I could never figure out why … but this way works fine.


#73

on my metroid engine i have 1 poblem:DOORS!
I have working doors in a scrapped metroid thing,but theyre one object for each door.
I thought to use the creation code to define all door specific variables.(im registered btw!)


#74

Someone asked me for the same thing a while back, I’ll give you the rough code that I’m using in my fan-game. It’s limited, you cant have more than 1 door in the same direction, but its possible to figure a way around that … I just havent yet. Anyway, this is what I sent to the other person who asked me for it a while back:

[code]basically, I have some code in the Step event of my Player object which detects if it left the room on the left/right/up/down, this could probably be better placed in a persistent object although I didnt know about persistence when I made the code, something I might go back and redo properly. In the room script for each room I have global variables stating which room to go to if it goes up/right/left/down. It then sets a global boolean variable to say which way it is moving ie. global.moveUp/moveDown … etc. Then I have a check for each associated door in the room to place the player in front of the door. Here is some code for one of my rooms:

global.UpRoom = -1
global.DownRoom = room5
global.LeftRoom = room2
global.RightRoom = room4

if(global.MoveRight == true)
{
global.MoveRight = false
instance_create(48,244,global.PlayerObj)
}
else if(global.MoveLeft == true)
{
global.MoveLeft = false
instance_create(1216,192,global.PlayerObj)
}
else if(global.MoveUp == true)
{
global.MoveUp = false
instance_create(1100,400,global.PlayerObj)
}

Some methods may not be the greatest (ie. didnt know about persistence when I made this code, instead the game destroys and recreates Samus each time you change rooms). If your player object is persistent then instead of instance_create, set PlayerObject.x/y to the correct position.

Here is my code in the step event of the Player Object:

// Check if needs to change room
if(x+10 >= room_width && global.RightRoom != -1)
{
global.MoveRight = true
}
else if(y+44>= room_height && global.DownRoom != -1)
{
global.MoveDown = true
}
else if(x <= 0 && global.LeftRoom != -1)
{
global.MoveLeft = true
}
else if(y <= 40 && global.UpRoom != -1)
{
global.MoveUp = true
}

// Sets associated global player variables so the recreated instance knows how to move and look as if it was never destroyed
// These variables will be set in the creation event of the player object
global.xSpeed = hspeed
global.ySpeed = vspeed
global.ASpeed = image_speed
global.Sindex = sprite_index
global.Iindex = image_index
global.PlayerObj = object_index

// Move to the correct room
if(global.MoveRight)
room_goto(global.RightRoom)
else if(global.MoveLeft)
room_goto(global.LeftRoom)
else if(global.MoveUp)
room_goto(global.UpRoom)
else if(global.MoveDown)
room_goto(global.DownRoom)

As goes with any programming language, there are good ways to do things and better ways to do things. I cant garantee this is the best method but it works pretty good so far. The drawback however is that you can only have 1 room per direction … if you put your mind to it you can probably come up with a better way so it will allow you multiple doors in the same room going the same direction but to seperate rooms. I already have several ideas in mind but this will do for now until I’m ready to start tackling level design fully.

When I started this project, as my first ever game maker project I expected to be rewriting things all the time as I learnt more about GML and this code is no exception, but at least this should give you an idea of how to go about making your own code for it.

Hope that helps.[/code]


#75

I might just use some old door stuff i made,and use it to fix my doors,when im done with em ill post em(when i go thru the door the game freezes completeley :O_O: )
well i have no idea how to do spin jumping,thats something is aalso needed…


#76

When you jump, if left or right is pressed but not both, set spin to 1. When displaying the graphic, display the spinning animation instead of the normal jumping animation or sprite if spin == 1. Set spin to 0 when you fire or land or are damaged.


#77

what is the better program to use in gameing a game i want to make a game real easy


#78

what is the better program to use in gameing a game i want to make a game real easy

MEEP.
DOES NOT COMPUTE.


#79

heres it with correct grammer =)

What is a good program to use for making a game? I want to make it with ease.


#80

I believe what CFX meant was there is NO easy way to make games (good ones at least).

If you want to use any programming language or Game Maker to program a game you need to be very dedicated and very skilled, that can take a while. Games can often be very complex coding wise.

If instead you want to use a program like The Games Factory, or Multimedia Fusion, then be prepared to be bombarded with billions of complicated screens with a lot of buttons.

Either way, there is no EASY way to make a game.