The Dink Network

New Dev File: Platform Transportation

April 18th 2010, 07:46 PM
burntree.gif
Striker
Noble She/Her United States
Daniel, there are clowns. 
Never one to slow down on releasing files, rabidwolf9 has come out with Platform Transportation: a demonstration of how to use moving platforms in the style of Zelda: Link to the Past. I tried it out, it's pretty cool, though a bit buggy.

April 18th 2010, 08:51 PM
slayer.gif
rabidwolf9
Peasant He/Him United States
twitch.tv/rabidwolf9 
Hmm.. bugs you say? I should like to know about them.
April 19th 2010, 05:23 AM
custom_msdink.png
MsDink
Peasant She/Her New Zealand
Tag - Umm.. tag, you're it? 
Why slow down when u are on a roll ... anyhoo...

Bugs...hmm. ok - the platform took me on a wild ride YeHa! where there was no track (went off the end of a stop mark) and dumped me in the darklands and froze me so i had to close and restart (although next time it stopped where it should have) couldn't help myself I had to go back for more lol!

Dink and the platform freeze when the music ends,restarts then carrys on - and if you press alt you can stop the platform whenever you like . It also intermittently asks if I want instructions when I try to leave the platform, BUT... this was a fun, tho way too short game and I never got all that glittering shiney gold *sigh* Ya big tease! Decorated really nicely and I like the skull/stump innovation, Hope to see more of this game.
April 19th 2010, 05:31 AM
sob_scorpy.gif
DinkDude95
Peasant He/Him Australia
The guy with the cute D-Mod. 
Yes, quite a bit buggy I must say. I kept trying to turn on one of those forks in that line of three, but it'd just send me straight forward, and straight afterward, would just completely miss the corner turn and head straight forward to a dead end.

But still, this is sick, man. Absolutely awesome. I love it.
April 19th 2010, 05:48 AM
custom_msdink.png
MsDink
Peasant She/Her New Zealand
Tag - Umm.. tag, you're it? 
You have to hit it at exactly the right time so it seems... takes a bit of practice but when u hit it at the correct time it works fine
April 19th 2010, 05:54 AM
sob_scorpy.gif
DinkDude95
Peasant He/Him Australia
The guy with the cute D-Mod. 
Really? It seems I'm hitting it right when Dink passes over it. If that's the case, then I think that either the platform moves too fast, or the range of the fork is too little. But that's just what I think.

My biggest problem, though, was with the flying off the track afterwards.
April 19th 2010, 07:23 AM
fairy.gif
GlennGlenn
Peasant He/Him Norway
GlennGlenn doesn't want a custom title. 
Rabidwolf is the new SimonK.
April 19th 2010, 07:29 AM
custom_skull.gif
Skull
Peasant He/Him Finland bloop
A Disembodied Sod 
Nah, not really.
April 19th 2010, 07:30 AM
slayer.gif
rabidwolf9
Peasant He/Him United States
twitch.tv/rabidwolf9 
The range of the forks is fine. It's supposed to be a challenge to get the timing right.

Hmm the platform flying off the track.. This isn't a normal occurrence.

Though it is a major bug, there may not be much anything I can do about it. I know that since it uses touch() it could skip if Dink suffers touch damage right before he hits it. I thought I had eliminated any other instance of this problem because this hasn't heppened to me during any of my testing lately.

The alternative was to use damage(), but then there would still be problems if it damaged something right before Dink hits the turn. It was originally using this, but I figured out that if I threw a fireball into the turn points as I was hitting it, Dink would pass through into the abyss.

Edit: I just realized how unforgiving this thing is on laggy computers

Edit 2: Just fixed a bug that caused Dink to 'warp' on a screen with the orange cross. (Nevermind, it's still broken)

@MsDink: The 3rd screenshot.. uh.. wtf? Just noticed it happening to me too, but that doesn't make any sense. lol. oh boy..
April 19th 2010, 08:48 AM
custom_magicman.gif
magicman
Peasant They/Them Netherlands duck
Mmmm, pizza. 
Try giving whatever it is that uses touch() or damage() a button brain, and use buttonon(). buttonon() works just like damage() specialized for Dink. It triggers every time when Dink (or, more accurately, sprite number 1, which sometimes happens to be a mouse cursor, and other times happens to be Dink) enters the hardbox.
Its complement is buttonoff(), which triggers every time Dink leaves the hardbox. Because it doesn't interfere in any way with other missiles like damage() does, or with other sources of damage like touch() does, it can be a good solution when those other two don't work.

The only use-case in which buttonon() is harder to use is when you need touch()'s behaviour of continually triggering when Dink touches it. The solution here would be to meddle with sp_brain_parm(). It's where a button brain stores whether Dink is on it or not. I just forgot if it was 0 or 1 that means "Dink is on it now".

Sadly, buttonon() and buttonoff() only work for sprite number 1. You can't make it trigger for enemies.

Yeah, I haven't tried it yet, so I'm just guessing here. Feel free to berate me for not knowing what I'm talking about
April 19th 2010, 09:11 AM
custom_msdink.png
MsDink
Peasant She/Her New Zealand
Tag - Umm.. tag, you're it? 
Yeah sorry Rabid, if it can be broken apparently I am the one to do it , it didnt ask me the instructions/leave choice the first few times thru - just the last few (I err did it heaps lol - was fun and a challenge to get the timing right ... *shrugs* *grins*
more more
April 19th 2010, 09:19 AM
slayer.gif
rabidwolf9
Peasant He/Him United States
twitch.tv/rabidwolf9 
D'oh, why didn't I think of that? I was even using buttonoff to reset the platform to let you board again

That should make it work much better.

@MsDink:
Yeah, I really have no clue what's causing that, but I'll try a few things and see if I can fix it.
April 19th 2010, 03:21 PM
slayer.gif
rabidwolf9
Peasant He/Him United States
twitch.tv/rabidwolf9 
So, it turns out I wasn't able to fix the warping of Dink to random turn points or to fix the darned choice menu from popping up either.

I am, however, pretty sure that both are caused when you press a button. This leads me to a hunch that there may be something fishy going on with wait_for_button() since you're potentially leaving the screen while not actually pressing a button. If that's the case, I should be able to fix the warping with a map check, but other scripts would still be affected..

Perhaps I'll scrap wait_for_button() for the forks and active intersection and go with checking sp_dir. I'll post back when I've tried that.

Edit:
As I suspected, this does fix the problem, but no more timed hits.. dang

Edit 2:
Beginning to experiment using talk() for timed hits. Working so far, but further testing is needed.