Jump to content
A 2021 backup has been restored. Forums are closed and work in progress. Join our Discord server for more updates! ×
SoaH City Message Board

Kain

Members
  • Posts

    1,494
  • Joined

  • Last visited

  • Days Won

    24

Everything posted by Kain

  1. It's not a hoax, this here is genuine obnoxious ignorance. I assume.
  2. I've encountered this problem many times before, but I thought I had found a solution. Depending on the screen size it starts off with, the drawing screen is set to some ratio and it's hard as hell, if not imposible, to shake it off. It might be where you're putting the code (since you might be interfering with some built-in room initialization code), but I think the solution is in an obscure window_**** functiom somewhere in the manual. Anyway, I'll look into it further, and at the very least, I'll try and give you a d3d_transform_**** work-around.
  3. Integrating two movement engines is an extremely complex task. Even if you completely understood both of them, it'd be better to start with one and add build upon it that to try and mix and match features. The two engines you want to combine are practically polar opposites, so I doubt you'd have too much luck without effort. But if you really wish to do so, what I'd do is start by importing Dami's objects and scripts into Luke Soft's engine and once you get that to work, one by one mimick the collision events in Luke's sonic object to Dami's Sonic object.
  4. As opposed to bouncing off? Well, I don't know the specific workings of the engine you're using (actually, if you're using an open-source one, I probably do), but basically, the only thing you have to do is make sure you don't hit him 8 times in rapid succession just for touching him for 8 frames. To do this, have a variable called "isVulnerable" (or perhaps something easier to spell/type). Have it start out as 1 and only be able to be damaged when it equals 1. Then whenever you hit the Boss, set the variable to 0 and either set a alarm for a second or two and have it reset to 1 in the alarm's event or have it set to one when you're not coliding with the Boss anymore (or both). Basically, in code it looks like: ==objBoss's create event: == isVulnerable = 1; ==objBoss's step event: == if( instance_position(x,y,objSonic) ) { if( isVulnerable ) { //Boss gets hit. hit += 1; isVulnerable = 0; alarm[0] = room_speed*2; //2 seconds } } else isVulnerable = 1; ==objBoss's alarm 0 event: == isVulnerable = 1; Note that if you already have a colision with enemy system in place for sonic, you shouldn't set objBoss to be a child object so the systems don't mess each other up. If you don't, then don't worry about understanding what I just said.
  5. current_hour is a variable that stores the current hour according to the computer's clock (in military time, i.e. hour 13 = 1 PM, 14 = 2 PM, etc...). current_minute is the minute of the hour accourding to the computer's clock. current_second is the second. Using these variables, you arange to show a different background depending on what time it is. For example if you want day to be from 6:00 AM to 6:00 PM and night to be the opposite: if( current_hour >= 6 && current_hour < 18) { background_index = bg_day; } else { background_index = bg_night; } You could make more complicated effects dealing with tints of the sky based on more precise times, but this is the jist of how it's done. Involving minutes and seconds could be a bit confusing, but if you want to get more elaborate, the functions under "GML->Computing Things->Dealing with dates and times" in the manual should simplify things.
  6. "1) Game Maker 5 + MP3 Music = Errors. Can anyone please tell me how to get it working? (I have to revert to WAV for big loading and compiling times, and a rediculously large file size.)" http://forums.gamemaker.nl/index.php?showtopic=119499 Works for Game Maker 5 perfectly fine, just import the .gml file in "Scripts->Inport Scripts." It's extremely easy to use, just look at the scripts' names and arguments.
  7. I forget the exact phrasing, but C++ is more or less an extention of C such that a program you write in C will compile in C++, save a few minor exceptions. That doesn't mean it's better, since it has more overhead (maybe not the best word, but you get the idea) to worry about and some find it overly complicated, but C++ has more features and abilities. Most noticably, it has true Object Oriented Programming in classes, which comprise of variables and functions organized under general user-defined label (unlike C which only groups variables). Some people preffer C, others C++. Both have their advantages, but they're pretty identical. Someone more formally knowledgable, feel free to correct me, but that's the difference as I understand it.
  8. Well, you could make objsonic change into a transformation object: objTransSonic which has nothing but the animation set correctly and at the "end of animation" event, you could then change that object to objsupersonic.
  9. If it helps you to understand, this is the more direct way to do it: if(global.speed_count>0) global.speed_count = max(global.speed_count-0.6,0); if(global.speed_count<0) global.speed_count = min(global.speed_count+0.6,0); There's not always merrit in trying to compact code if it just makes it confusing, after all.
  10. sign gets the sign of the variable (either -1, 0, or 1). abs gets the absolute value of the variable (the number minus the sign). For example: -8.7 has a sign of -1 and an abs of 8.7. What that snipett of code does is first take the absolute value of the number and subtracts it by 0.6 (the decceleration speed) but uses a max function to make sure it doesn't go beyond 0. After that, if multiplies it by its sign to make sure that it gives back the sign it took away in the abs function. Basically, it brings the number 0.6 closer to 0 without going beyond 0.
  11. Since there's no event for "not pressing left or right, but maybe pressing something", you might as well make your own. Probably the best way to do it is in a step event and call the key checking buttons manually inside if... else if... else statements. (Or even better, set variables like pRight, pLeft, etc to a key check in the begining step and use those variables for controls. That way dellayed keypress following and key-based recording/playback are pretty simple): if( keyboard_check(vk_right) && !keyboard_check(vk_left)) { //Right Acceleration global.speed_count = min(global.speed_count+0.6,20); facing = 'right'; } else if( keyboard_check(vk_left) && !keyboard_check(vk_right)) { //Left Acceleration global.speed_count = max(global.speed_count-0.6,-20); facing = 'left'; } else { //Decceleration global.speed_count = sign(global.speed_count)*max(abs(global.speed_count)-0.6,0); } //move if place_free(x+global.speed_count,y-i) { x+=global.speed_count; y-= i; exit; } As for skidding, you just put inside the left or right pressing segments if global.speed_count is less than or greater than (depending on which), set skidding on. But set skidding of before them, so that if neither execute, you aren't skidding: skidding = 0; ... //Right if(global.speed_count < 0) skidding = 1; ... //Left if(global.speed_count > 0) skidding = 1; ...
  12. To make it stay in the middle of the room, you draw it with the view's xview and yview as the coordinates: draw_sprite_tiled(bg_sprite,-1,view_vxiew[0],view_yview[0]); Or, for a bit of paralax, you can multiply the x and yview by some number between 0.5 and 1.5 or so to get a psuedo-genesis effect: draw_sprite_tiled(bg_sprite,-1,view_vxiew[0]*0.9,view_yview[0]*0.9);
  13. You mean use a sprite as a background? I assume it's animated, otherwise you might as well make it a background (by simple copy and pasting). Anyway, you can draw a sprite tiled onto the entire room using the functions: Just put that in the draw event on an object with a really high depth and it's more or less a background. Edit: There are ways you can scroll through backgrounds, so to speak, but I don't think it makes much difference for speed or memory.
  14. "This isn't a pure character addition. Rather, under certain conditions, Samus will 'remove' her Power Suit. Whoa! That's a woman under there!" She definately changes in-game and so she'll probably not have a seperate charecter selection (though you can probably start as her by holding B or something like with Sheik).
  15. I kinda doubt Sora will be in there since his primary games weren't on Nintendo consoles, but if they really wanted him on, they'd have an excuse in CoM. I'm still expecting then to do more main retro characters like Sonic and Megaman, though SSB is known for taking more obscure, unexpected routes in character choices from time to time. But, judging from their claims of only one or two other non-Nintendo character, I doubt we'll be seeing two from the same franchise.
  16. My bad. Wasn't thinking logically or reading properly. Forgot that September/October was the general time the Wii was coming out.
  17. WW Link, Ridley, and Baby Bowser are super-yay choices. Very super-yay choices. Mr. Game n Watch, Ice Climbers, and Y. Link are completely meh. Never cared for Game n Watch and Y. Link's just a clone and has a replacement. Ice Climbers were an interesting mechanic, but no big loss (but I wonder if they have some two-person replacement). However, coming in September? Hope it isn't rushed. How long did the first two take to develop?
  18. Piece of advice: everyone goes into that "I'm going to put 3 dozen different characters in my game" phase at first, but it's really not worth it in the least. A good RPG has 3-8 characters (with some exceptions, but I don't think you're making Suikoden). I suggest 4.
  19. It shouldn't be that much of an issue since it's spaced a good deal apart, a few pixels shouldn't matter, but it'd still be a little bumpy. Anyway, I don't know much of MMF (but am assuming it works the same as his GM engine), but there are three options I see. One is the simplest and is to round the angle to the nearest 15 or so degrees, but this can look jerky in loops or on slopes that could be one or the other. Next is to use a small circle to detect the slope instead of the dot. It could be a tad slower and might be hard to implement, but it'll keep the grass from effecting it too much. The last is to use the grass background as a non-collisiding tile and have a seperate, flat, invisible layer to do all the collision detecting (the way you mentioned). This is simple and peobably the best way for Game Maker, but, again, I don't know if it's worth it in TGF/MMF. Edit: A little elaboration on the first option since it's the option I'd choose if the third's too tedious: First of all, it's best to divide it into 22.5 degree segments. To round them you first divide by 22.5 then round then multiply by 22.5. That's simple enough, but to make it smoother in one of my engines, I made it to where you have to go, say, 5 + 22.5/2 pixels beyond the middle of the angle you're on to change to the next angle. This is a little tricky to implement, though, since you have to take into accound that angle1-angle2 won't always give you the correct answer.
  20. Hmm maybe I got lucky and found the path quickly, but there are lots of unwrapparoundables. Anyway, maybe I just got the mechanics down or bigger cubes just try to intemidate you with little real challange, but no level on Hyperframe took more than a couple of minutes.
  21. My advice is to always start with the unwrapparoundables (ones on edges; only one on level 23) and see which paths of theres are even slightly possible. It's how I solved level 23 without too much trouble. Also, @Dami: was level 28 really hard or where you just joking cause I solved it in 2 seconds both times I did it. @Hyperframe: I'd feel obligated to play you, having played the copy, but I don't want to bother with Shockwave. Edit: Oh, wait, Hyperframe's got more levels... ::sigh:: Ok, Hyperframe it is.
  22. Why are the hardest levels always around the high mids? I had lots of trouble with level 16 and a bit with level 23, but the rest after that were pretty easy and some were outright simple. Either you're given less options so it's easier to weed out the wrong ones or the creator just had problem making hard 6x6x6 cubes. Anyway, that was fun. For a time it was a nice challange.
  23. I don't know that Samus and Zero Suit are going to work like Zelda and Sheik. "This isn't a pure character addition. Rather, under certain conditions, Samus will 'remove' her Power Suit. Whoa! That's a woman under there!" That sounds like they added new mechanics to her. To me it sounds like every time she uses her super move she changes to the other. Either that or they thougt "You can change freely between them" sounded boring, so they beefed the description up. Very possible. As for the momentum thing, I've always liked how if you use link's Link 2 in-air Up move, it hits the same even if you're falling down. And by "like" I mean thought "huh?" But SSB is much about simplicity.
  24. I don't see why people always point out Mario and Luigi as the most obvious clones, when they are rather justified in reason and easily the most diverse in moves of the clones. Something like Ganondorf = Captain Falcon is something that should really be changed. Anyway, Swords are great, but I wish they'd bring some Axe or Lance person or some other weapon they don't have on Melee person if they're going to draw any more from Fire Emblem. Also, there's some list of 200 or so interesting character suggestions from the continuing(?) japanese survey on the Smash Bros. Japanese official site, but I can't make heads or tais of it and it's probably little evidence of the final cut.
  25. Yea, here is a seemingly complete set of badniks sprites for all Genesis sonic games, but I don't see any walking, falling turtles. Perhaps if you show the sprite you have so we could get a better picture of what you're looking for.
×
×
  • Create New...