halibabica
Bossy
Mossy

Posts: 1920
*whipcrack*
|
 |
« Reply #660 on: January 09, 2011, 02:50:17 PM » |
|
To get started, you'll need Game Maker. The full version is $25, but you can download a free one that's more limited. You don't need the full version to edit graphics. Once you have the program (and Spelunky's source), you can change its looks to your heart's content.
|
|
|
|
|
Logged
|
|
|
|
|
banna8
|
 |
« Reply #661 on: March 01, 2011, 03:14:19 PM » |
|
Hi, I was wondering if it was possible to make an object move along a moving path. Like if I where to make a characters feet move along a walking path, while stile staying underneath the body of the character (another object). Or do I have to just make an animated sprite for the foot and have it be pinned underneath the character. however this second option would be very tedious, as I plan on allowing the player to change shoes and stuff, and if the feet could follow a path, i could just change the sprite using a global variable.
|
|
|
|
|
Logged
|
|
|
|
halibabica
Bossy
Mossy

Posts: 1920
*whipcrack*
|
 |
« Reply #662 on: March 01, 2011, 03:37:05 PM » |
|
I assume this is for that Rayman thing you were working on.
I'd set the feet to stay a certain distance from the body and move to follow it when that distance grows. So the feet would try to stay at oBody.x+8 or something, and if it wasn't in that exact position, it'd increase it's xVel or yVel until it was.
That's the basic idea of it, but I can imagine it taking a lot of refinement not to look absolutely wacky.
|
|
|
|
|
Logged
|
|
|
|
Zambaku
Shoot

Posts: 11
|
 |
« Reply #663 on: March 03, 2011, 08:24:44 AM » |
|
I'm having a bit of trouble with one of my new enemies. It's 32x32 and sometimes when it spawns it dies right away due to lack of space. How do I go about making it spawn in a place with enough space? Also, I can't get it's movement right. It just keeps walking of ledges, instead of turning. And when it bumps into a wall it just continues to try and walk through it instead of turning =/ The monsters step code: if ((x > view_xview[0]-36 and x < view_xview[0] + view_wview[0] and y > view_yview[0]-36 and y < view_yview[0] + view_hview[0])) { moveTo(xVel,yVel);
yVel += myGrav; if (yVel > yVelLimit) yVel = yVelLimit;
if (collision_point(x+16, y+16, oSolid, 0, 0)) { hp = 0; }
if (hp < 1) { scrCreateBlood(x+14+rand(0,4), y+14+rand(0,4), 4); repeat(4) { instance_create(x+14+rand(0,4), y+12+rand(0,6), oBone); } if (global.currLevel == 13) instance_create(x+16, y+16, oPotion); if (countsAsKill) { if (isRealLevel()) global.enemyKills[20] += 1; global.tomblords += 1; global.kills += 1; } instance_destroy(); }
if (isCollisionBottom(1) and status != STUNNED) yVel = 0;
if (attackTimer > 0) attackTimer -= 1; if (whipped > 0) whipped -= 1; if (status == IDLE) { if (counter > 0) counter -= 1; if (counter <= 0) { status = WALK; } } else if (status == WALK) { if (counter > 0) counter -= 1; if (facing == LEFT) { if (isCollisionLeft(1) or (oPlayer1.x > x+16 and abs(oPlayer1.y-(y+32)) < 16 and counter == 0)) { sprite_index = sDragonWalkR; status = TURN; counter = 30; } else if (oPlayer1.x < x+16 and abs(oPlayer1.y-(y+16)) < 32 and attackTimer == 0) { status = ATTACK; sprite_index = sDragonFire; image_index = 0; xVel = 0; } else xVel = -1; } else if (facing == RIGHT) { if (isCollisionRight(1) or (oPlayer1.x < x+16 and abs(oPlayer1.y-(y+32)) < 16 and counter == 0)) { sprite_index = sDragonWalkR; status = TURN; counter = 30; } else if (oPlayer1.x > x+16 and abs(oPlayer1.y-(y+16)) < 32 and attackTimer == 0) { status = ATTACK; sprite_index = sDragonFireR; image_index = 0; xVel = 0; } else xVel = 1; } } else if (status == TURN) { xVel = 0; } else if (status == ATTACK) { xVel = 0; image_speed = 0.5; attackTimer = 100; if (image_index >= 7 and image_index <= 12) { if (facing == LEFT) { obj = instance_create(x+8, y+12+rand(0,4), oFireBall); obj.xVel = -rand(3,5); } else { obj = instance_create(x+24, y+12+rand(0,4), oFireBall); obj.xVel = rand(3,5); } } } else if (status >= STUNNED) status = WALK;
if (isCollisionSolid()) y -= 2;
if (facing == LEFT) { if (status == WALK) sprite_index = sDragonWalk; else if (status == IDLE) sprite_index = sDragonLeft; } if (facing == RIGHT) { if (status == WALK) sprite_index = sDragonWalkR; else if (status == IDLE) sprite_index = sDragonRight; } }
|
|
|
|
|
Logged
|
|
|
|
halibabica
Bossy
Mossy

Posts: 1920
*whipcrack*
|
 |
« Reply #664 on: March 03, 2011, 10:20:27 AM » |
|
Try examining how other similar enemies behave. For example, Hawkmen don't walk off of edges, so you could look in its step event to find the way to prevent that. Likewise, cavemen will turn around when they bump into a wall, so find the code in their step event that makes them do so. You could also look at the entity generating script to find the restrictions the game sets on making Tomb Lord appear so it only shows up where it's safe.
|
|
|
|
|
Logged
|
|
|
|
Sparkle
Mossy

Posts: 2020
|
 |
« Reply #665 on: July 07, 2011, 12:30:38 PM » |
|
I HAVE A QUESTION: Without having Game Maker Pro, would I be too limited to have it connect to the internet?
|
|
|
|
|
Logged
|
|
|
|
Kegluneq
Big Bossy
Mossy

Posts: 2205
|
 |
« Reply #666 on: July 08, 2011, 01:41:36 PM » |
|
I don't get the question. If you mean "Can I only use the lite version when connected to the internet?" then no. There are no restrictions as to when and where you can use it, only what you can make.
If you mean "Can I use certain game making features that use the internet (like multiplayer games)?" then yes, lite can do that too!
|
|
|
|
|
Logged
|
A wild SHINY MOSSY appeared!
|
|
|
Sparkle
Mossy

Posts: 2020
|
 |
« Reply #667 on: July 08, 2011, 05:01:11 PM » |
|
YAY!  thanks, it was the second question. and sorry, I wasn't sure how to word that properly xD
|
|
|
|
|
Logged
|
|
|
|
DrWhoFan82
Seedling

Posts: 1
|
 |
« Reply #668 on: July 15, 2011, 09:57:55 PM » |
|
Where can I find the software to modify this game?
|
|
|
|
|
Logged
|
|
|
|
Sparkle
Mossy

Posts: 2020
|
 |
« Reply #669 on: July 15, 2011, 10:02:09 PM » |
|
you can go to yoyo games' website, and download "Gamer Maker" http://yoyogames.com/gamemaker/windows Download the "Lite" version if you want the free one :3
|
|
|
|
|
Logged
|
|
|
|
Straucher
Seedling

Posts: 8
|
 |
« Reply #670 on: July 18, 2011, 01:40:51 PM » |
|
How would I add my own custom objects and categories to the level editor?
|
|
|
|
|
Logged
|
|
|
|
halibabica
Bossy
Mossy

Posts: 1920
*whipcrack*
|
 |
« Reply #671 on: July 22, 2011, 05:34:29 AM » |
|
It's complicated.
1. Add the new object category variables to the list in oLevelEditor's create event. You'll see a bunch already there called blockArray, trapArray, etc. You'll need one of those and a number for each object in the array. You'll also need a symbol for each object you add. Spelunky already uses most of the letters and numbers, so you'll need to dive into some special ASCII characters to avoid dropping other objects. Finally, you'll need another variable added under the array lists to go with the BLOCKS, ENEMIES, TRAPS, and ITEMS variables.
2. Add a press-number event to oLevelEditor for your new array. You can copy one of the existing ones and just change the variables inside to match those of the array you're adding.
3. In oLevelEditor's step event, copy+paste another of the drop select script blocks and change the variables needed.
4. In the Level Editor scripts, add your objects and the symbols they use to scrCreateTile, scrCreateTileObj, and scrSetCursorTile.
If you do all that correctly, you'll have a new drop array that can place objects in the level.
If that sounds too hard, you can always just use the Editor Plus mod which already has almost everything you could ask for anyway.
|
|
|
|
|
Logged
|
|
|
|
Straucher
Seedling

Posts: 8
|
 |
« Reply #672 on: July 25, 2011, 11:22:23 AM » |
|
I'll take a shot at it.
|
|
|
|
|
Logged
|
|
|
|
Bae
Mossy

Posts: 1605
Taste Sensation
|
 |
« Reply #673 on: November 22, 2011, 02:56:46 AM » |
|
So hi guys Mars and I are making a game in GM and are using the same engine that Derek adopted for spelunky, only we're having trouble getting the player character to work right Mars says its something to do with the mask but I don't really understand GM terms so I'm just going to explain it in my own words and probably get corrected later Here is a screen cap of the problem: http://i43.tinypic.com/nfmfkl.jpgBasically the collision box is really really tiny, the one being used was meant to go with a 16x16 mario sprite that was present in the engine so our sprite is sunken into the floor and hangs off of stuff by his shoulders. The main problem here is that we can't figure out how to change the collision box, Mars said he couldn't find any mention of the mask or whatever anywhere in the code, so if anyone could help figure that out it would be greatly appreciated. Also Mars is having issues with player attacks but I still dont understand the problem so I'll have to ask about that later.
|
|
|
|
|
Logged
|
[2/14] + [0/3] complete
(ナ˚ロ˚)ナ [ ▪д▪]ノ 彡┻━┻ Fuck Everything You Just Did TEACH ME YOUR ASIAN WORDS
|
|
|
Wonkyth
Big Bossy
Mossy

Posts: 1961
|
 |
« Reply #674 on: November 22, 2011, 06:24:48 AM » |
|
If Mars wants to upload any relevant pieces of code, in text form, I'd be more than happy to apply my mammoth brain to the problem. =P
|
|
|
|
|
Logged
|
|
|
|
|