1 page
^^
vv
List results:
Search options:
Use \ before commas in usernames
Rawrgh.
Yes, I know this account was just created a few minutes ago. I've been lurking as a guest for at least a year now and I HAVE read the thread that's labeled READ BEFORE POSTING.

I'm posting this to ask for help with a technical problem in Game Maker. Normally I'd post this on the GM forums, but I'll be using this topic in the future for other things more relevant to the game itself. My current problem is that my variable "var_airborne" doesn't seem to be working properly in regards to making sure the sprite changes the way it's supposed to. Could someone check out the file and see what I did wrong with it? I've tried several different methods that SHOULD fix the problem but none of them have...

As far as relevance to the Hacks and Fangames board goes, I'm planning on a full-scale "ROM hack" of Metroid 1; ROM hack in quotes because I'm building it from scratch in Game Maker. Game Maker's being used for 2 reasons: One, I'll be using GM for more complicated projects in the future and want to start relatively simple, and two, after finishing it I might decide to configure the file so anyone who has it can design their version of Metroid 1 using it. Think of it as an alternative to ROM hacking that'll bypass all the problems with password compatability and junk like that.

As far as my project goes, I already have the overall layout ready and all the sprites are either ripped from a sheet or on a sheet waiting to be ripped. Ingame, all Samus can do properly is walk (not animated yet), aim up, and shoot. Jumping works if you ignore the fact that the sprite doesn't change properly (this is what I need help with!) and that the physics are off. Enemies, upgrades, and room designs/transitions have yet to be added; I'm trying to get Samus working before I go into any of that. Later on I'll be fine-tuning the physics and generally making it more Metroid 1-ey. That part's where you guys come in; you know M1 better than I do, so I'll be asking for feedback on the finer aspects of the game when it comes time to implement them.

If for whatever reason you need more proof that I'm actually going through with this, I'll be glad to give it to you. That's all.
Thread title: 
Rawrgh.
Wow... this board only got 2 posts in the past week... slow stuff.

Anyways, I haven't been able to fix that problem I mentioned in my previous post, but I've got half the tileset ready and a tentative title screen added as well. I'll probably be adding the Morph Ball and a Geemer or something in the next update.
Rawrgh.
FAIL... forgot to attach the files.
Yoshi is back
Good. Now actually add an item please? Metroid isn't metroid without the adventure of Items
Super Secret Area - Dead Ahead!
Quote from Archlord_Pie:
I'm posting this to ask for help with a technical problem in Game Maker...  ...My current problem is that my variable "var_airborne" doesn't seem to be working properly in regards to making sure the sprite changes the way it's supposed to. Could someone check out the file and see what I did wrong with it? I've tried several different methods that SHOULD fix the problem but none of them have...

He's asking for feedback on his variable issue, not on the game in general.
Yoshi is back
Just uninstall and install it back up.
i was trying to do the same thing but playing it with a controller
Rawrgh.
I'm not quite sure why reinstalling would fix anything, but I'll try it.

BTW, this is a bigger pain in the butt than I thought it would be... I added the morph ball but it doesn't bounce properly and the way I set it up is going to cause you to lose the morph ball every time you enter the first room. This'll be a problem when you go back for the energy tank in there...

Other than that, I fixed up the help file and finished adding the tileset. I also ran into another problem, and this one's big enough to kill the entire project. Thing is, I set an object up in the title screen room that sets the variables related to having all your upgrades to 0, but the game forgets about this whenever a new room loads. Either I'll have to make the game one big room, which is obviously not a good idea from any point of view, figure out how to fix this, or ditch the project, since as of now the game forgets whether or not you have the Morph Ball every time the room changes :|

DoctorM64, where are you when I need you...
Yoshi is back
Just go with One big room. Make it like 9FFF By 8FFF If you can. Than put all your items in it and put doors where you want to separate the places. Then you still have it like different rooms.
Edit history:
Archlord_Pie: 2010-08-15 03:59:00 pm
Rawrgh.
I've put some thought into this, and I can see the benefits of one big room: no crazy door pointer variables, no problems with controller variables resetting, and no potential problems with the game forgetting which bosses were killed. However, my current level design is quite massive; Norfair's approximately the same size it was in M1 and Kraid's Lair might turn out a tad smaller than the M1 version, but Brinstar's been expanded, Ridley's Hideout is really freaking huge now, and Tourian is just one big mess overall. I'm concerned with the potential lag this might cause, having everything in the game active at once and all.

Of course there's ways to make things stay put and do nothing until they come on screen, but then there's the problem of making them keep doing that unless they die... or maybe not... I need to watch another M1 speedrun some time soon...

In other news, the next update's going to be what I'm calling the alpha build for the game. Samus' animations won't be anywhere near done, but I do plan on getting missiles, high jump, varia, and bombs working as well as Ridley. I don't want to reveal the full level design until the whole game is ready, so instead I'll be using the original design for Brinstar minus the Norfair elevator and shaft to Kraid's elevator. This is so you guys already know what to expect and thus can better focus on testing stuff rather than trying to find everything.

On the technical side of things, I already know how I'm going to script the Geemers, and I know that silly glitch will still be happening. Skrees are going to be a pain in the butt to code unless I make them match the player's movements exactly, but that forces the player to shoot them to not take damage... IDK. Rippers will be easy since all they do is move back and forth, but those things that fly horizontally and move up/down in an oscillating pattern are gonna be tricky... odds are I'd be able to adjust their coding to use for the Wave Beam though... oh, and the bug vats. But other than the enemies, I'll just need to figure out how to make the camera do what I want and then I should be pretty much set.

I'm not sure how long this is going to take, mainly because my computer time is 100% dependent on whether or not my mom gets it before I do (Facebook addict *sigh*), so don't be surprised if it takes forever and a half for me to get this done...
Yoshi is back
I Don't understand A word you just said but it sounds like your having major troubles with tourian. I understand with Facebook addicts trust me, My dad's friend is one.
Rawrgh.
^That's probably because you're used to normal ROM hacking, while I'm using Game Maker. And by "one big mess overall", I mean that it's a heck of a lot more complicated than the original Tourian was (as if that's saying anything :P).
Yoshi is back
I am used to normal hacking. I tried self making a game with GM but I didn't even know how to use it. thats when I turned to Jathys.
Is using GM considered hacking at all?
Super Secret Area - Dead Ahead!
Not really, no.  It's creating from the ground up, and has no original base, so hacking isn't really correct.
Rawrgh.
I view using GM as more of a hacking alternative rather than actual hacking, but that's just my take on it.
(user is banned)
Edit history:
DaveBatista: 2010-08-17 11:09:24 am
Yoshi is back
Actually, it can be hacking if you hack A game made from GM. But I don't see why you'd do that. I'd rather use SMILE for SM. It's easy to learn and Non-Linear
Rawrgh.
UPDATE: Progress is really slow ATM... bugs keep popping up, mom keeps getting on Facebook, school-wide retreats keep pulling me away from home for half a week (actually that one was pretty enjoyable), so I haven't had much time to work on the game :|
why are his lips so thick
Wish I noticed this earlier, I wasn't expecting a Game Maker post on M2K2. :b  Regardless, you've got the right idea, it just needs some refinement.  I fooled around and was able to fix the problem by modifying the Step event.  Basically, in the step event, you want to ask this:
Am I airborne?
--I am airborne, is my sprite the standing sprite?
------If yes, change my sprite to the jumping sprite.
--I am not airborne, is my sprite the jumping sprite?
------If yes, change my sprite to the standing sprite.
However, the process gets a little more complex since you have facing right and facing left to deal with.

This bit:
--I am airborne, is my sprite the standing sprite?
------If yes, change my sprite to the jumping sprite.

Becomes this:
Code:
if relative position (0,1) is collision free for Only solid objects
      if image_index is equal to 1
            set the sprite to spr_samus with subimage 6 and speed 0
      if image_index is equal to 0
            set the sprite to spr_samus with subimage 4 and speed 0


Here's the information for the step event:
Code:
Step Event:
if relative position (0,1) is collision free for Only solid objects
      set the gravity to 0.67 in direction 270
      set variable var_airborne to 1
      if image_index is equal to 1
            set the sprite to spr_samus with subimage 6 and speed 0
      if image_index is equal to 0
            set the sprite to spr_samus with subimage 4 and speed 0
else
      set the gravity to 0 in direction 270
      set variable var_airborne to 0
      if image_index is equal to 6
            set the sprite to spr_samus with subimage 1 and speed 0
      if image_index is equal to 4
            set the sprite to spr_samus with subimage 0 and speed 0
if vspeed is larger than 9
      set variable vspeed to 9

I don't know if you know the variable image_index, but that refers to the subimage of the sprite currently being used by this object.  So, you can just use the VAR octagon and fill in the values image_index and whatever number is appropriate.

Also, you've got a problem in your X-key event.  You don't want to set variable airborne in there.  Think about it: if you press the jump key and hold it down, you don't stay airborne.  Eventually you come back down to the ground.  So, it's possible to walk along the ground while holding the X-key.  That kind of coding may have worked for a press X-key event, but in this particular instance it would make room for some more errors.

Also, one big room would be totally infeasible.  Game Maker loads an entire room into memory at once.  In essence, if your game was only one room big, you would be asking your computer to think about the entire game at once.  Game Maker isn't exactly smart with how it deals with memory, so your game would lurch like a slug.

Here's some more general advice that may or may not be relevant to your problems.  You'll want lots of global variables to keep track of how many missiles Samus has, what upgrades she has, etc.  I never did learn how to make global variables in Game Maker, so I always just had one object marked as persistent that was invisible and remembered every single important variable.  If it's persistent, it will move from room to room without having to place it in every room.  Also, it will remember any variables you assign to it, no matter what room you move to.

One last thing: in Global Game Settings -> Errors, it's a good idea to Treat uninitialized variables as value 0.  This basically means that if a variable doesn't exist, Game Maker will just assume its value is 0.  This can be helpful to prevent crashes.

Anyways, best of luck with this. 
Rawrgh.
Wow, that's EXACTLY what I was looking for. Thank you so much!

I was already concerned with the lag using one big room would cause, but now I think I'm going to go with the small room approach. How I didn't figure out variable persistency (hey look, I made up a word) earlier is beyond me...

Progress will resume as soon as I get a good chunk of time to put into this. As of now all my spare time is taken up with homework and... well... my mom's Facebook obsession :|
Rawrgh.
Thanks to Golem, the animation problem is fixed. I also have the Long Beam working and the collision detection for everything so far is also fixed. As of now, my current problem is that doors and the orbs you get items in don't lose their collision detection when shot. Their animations work fine, but I need to find out how to make their collision detection turn off and on when it's supposed to... Back to work.

After that, I'll probably implement a few enemies, then missiles and bombs. The current build is attached, but I deleted my progress on the alpha build's room design because it was set up as one big room :|
Rawrgh.
I think I've figured out how to fix the whole doors-staying-solid thing, but I'll need to wait until later to test my fix... not nearly enough time ATM.
Rawrgh.
Finally got enough done to justify posting about it. High Jump and Bombs have been added and work perfectly if you ignore the part where you can have infinite bombs out.

What I have done and what I want done for the alpha:
Morph Ball minus animations: Done
Long Beam: Done
Missiles: Not yet
Bombs: Need to cap the amount you can have out at 3. My first attempt at this didn't work, but I've got a few more ideas I need to burn through before asking for help.
High Jump: Done
Varia: Not yet
Ice Beam: Saving for beta
Wave Beam: Saving for beta
Screw Attack: Saving for beta

Room tiles: Done
Doors: Need fixing
Room transitions: Not yet
Acid: Not yet
Destroyable blocks: Saving for beta
Missile doors: Not yet
Elevator transitions: Saving for beta

Zoomers: Not yet
Skrees: Not yet
Rippers: Not yet
Those freaky moth things: Not yet
Oscillating flying dudes: Not yet
Bug vats: Not yet
Ridley: Not yet
Every enemy not listed here: Saving for beta/final build

What I need help with:
--Figuring out how to make stuff not solid when you shoot it
--That's actually it for now. The project is relatively bug-free at this point :D

Considering how I've got a 3-day weekend now, I should be able to get a lot more done by the time it's over. Expect another update Monday night.