The Dink Network

New Dev File: Push and Pull

February 24th 2019, 11:13 AM
custom_king.png
redink1
King He/Him United States bloop
A mother ducking wizard 
Robj (a secret ballast scorcher) and Bluedy (a secret pixel surgeon) have released Push and Pull. This is a new developmental D-Mod that demonstrates a new technique to push (and pull!) objects.

As you likely know, pushing, as implemented in vanilla Dink Smallwood, is... not very good. It is only used once to move an object in the original game (and 3 other times to simply have Dink say the object could not be pushed). It is the absolute weakest way to interact with Dink's world.

This file is magical. Pushing and pulling are so smooth it feels as natural as smacking a pillbug around. I haven't looked at the source code, and I'd like to think I'm pretty experienced when it comes to the DinkC arts, but I have no idea how Robj managed to make this happen. Look at this magic:



February 24th 2019, 02:38 PM
custom_fish.png
SabreTrout
Noble He/Him United Kingdom
Tigertigertiger. 
That's neat. Would have loved this for designing some push/pull puzzles back in the day.
February 24th 2019, 04:05 PM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
DUCK, DOOD, WE CAN NOW TRULY PUSH THINGS

but no one's gonna make a dmod, so i guess that's that
February 24th 2019, 08:39 PM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
Oh well, gives me time to fix any bugs that pop up. I've been made aware of 2 already that I'll have fixed and updated tomorrow.
Good thing is, people can go ahead and implement these scripts, and update them as they come, because the scripts that do all the work are called from external and the author should never have to touch them, so even If they have moveable sprites they've edited and stuff, can just drop in the updated external scripts and overwrite them, don't need to actually change any code. Easily implemented, easily updated.
February 25th 2019, 10:04 AM
spike.gif
Wow, impressive! I think I tried doing something like this in a dmod at some point, but it wasn't anywhere near this smooth.

Is one of the bugs getting stuck inside a rock? Because that did happen once.
February 25th 2019, 11:34 AM
death.gif
RangerLord
Peasant He/Him Hungary bloop
The nation above all 
Man, it's sweet to see Dink's pushing animation at this detail. Good job guys.
February 25th 2019, 11:56 AM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
@Robj and Bluedy:

Nice work guys!

@Skurn:

DUCK, DOOD, WE CAN NOW TRULY PUSH THINGS

but no one's gonna make a dmod, so i guess that's that

But you are wrong Skurn. There are several dmods currently being developed. Don't you read the forum posts about that?
February 25th 2019, 09:14 PM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
"Is one of the bugs getting stuck inside a rock? Because that did happen once"

Yes. Already fixed. Just gotta upload. Fixing one other thing first.
February 26th 2019, 10:27 AM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
Sorry guys, haven't uploaded it yet, couple more bugs found, also cleaning up the code a bit, and then I'll update it.
February 27th 2019, 10:38 AM
custom_king.png
redink1
King He/Him United States bloop
A mother ducking wizard 
V1.01 is now available
February 28th 2019, 01:00 AM
maiden.gif
I'm pretty sure you can also push a rock in Windimere. I don't recall it DOING anything, but you can do it.
February 28th 2019, 04:16 AM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
yeah on the arrow. that shit confused me
February 28th 2019, 05:38 AM
knights.gif
DinkKiller
Peasant He/Him United States
The world could always use more heroes 
Huh. This would have been very useful to me a couple years ago. Maybe this will finally get me to finish polishing up that big update for my D-mod that I never released.
March 1st 2019, 11:32 AM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
@DinkKiller:

Huh. This would have been very useful to me a couple years ago. Maybe this will finally get me to finish polishing up that big update for my D-mod that I never released.

Well, don't be shy. We are all waiting for it!
March 10th 2019, 03:16 AM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
I would just like to say.
I have fixed all the bugs, and thoroughly tested it, and can not find a single bug, even if I deliberately try to do stupid things with this system. So that's good.

The reason I haven't released it yet is because, I'm now implementing the DinkHD, Mobile device, and gamepad compatibility.
And also I have scripted a way to enable an optional "collision system", so when pushing and pulling an object around, rather than the object stopping at hardness based on it's depth dot (which means you can mash objects together), it will stop when it's hardbox edge meets another. It's a work in progress, and by that I mean, it is currently implemented, I'm just seeing if their is any bugs I can find before I release it.

Also, going to include a tutorial video on how to implement, and an option to enable "T-Mod" mode in game, so you can see how things work in the Dmod.

Waiting til this is all done, rather than just releasing the bugfixed version, so Redink can just do 1 epic news update I guess. Then if any other little bugs pop up, I'll address them.

This is now a 17 script system, but still extremely easy to implement, with only 1 of those scripts having to be attached to a sprite to make it moveable, and nothing else required, any editing of any procedures in that sprite is also done via that 1 script. It is the only ".c" script, the rest are compressed to make 1.08 run it smoother, and also because there is not need for an author to ever touch them (source ".c" scripts are included in a separate folder).
March 10th 2019, 03:44 AM
anon.gif
Exzcimus
Ghost They/Them
 
I've tested this new dev file on the v1.08, it did exhibit a bit of performance issues when using the pull function. Sometimes the game would crash after attempting to pull the objects by pressing and holding P when you are not close enough to the object. There's a glitch where dink doesn't return to his idle and walking sprites after using the push and pull functions, but it turns out that it ends up on showing a push sequence instead of an idle sequence when you move away from the object. As a result, dink walks with a static push sprite.
March 10th 2019, 05:47 AM
pq_cthunik.gif
GOKUSSJ6
Peasant He/Him Poland
Everyone should get a pizza for free in each week. 
OG Dink 1.08 at this point is outdated and inferior. Just either use DinkHD or FreeDink for that matter.
March 10th 2019, 06:07 AM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
"I've tested this new dev file on the v1.08, it did exhibit a bit of performance issues when using the pull function. Sometimes the game would crash after attempting to pull the objects by pressing and holding P when you are not close enough to the object. There's a glitch where dink doesn't return to his idle and walking sprites after using the push and pull functions, but it turns out that it ends up on showing a push sequence instead of an idle sequence when you move away from the object. As a result, dink walks with a static push sprite."[/i]

Hi.
As mentioned above. These bugs have all been fixed, I have not released the update yet, as I am adding a couple of other improvements first.

Thanks for testing tho!
March 30th 2019, 05:03 PM
bonca.gif
Christiaan
Bard They/Them Netherlands
Lazy bum 
This is amazing. A gamechanger! Might pull an ancient experimental D-Mod out of the proverbial closet because of this very welcome script.
March 30th 2019, 05:46 PM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
Wait for the next update. It's compatible with every version of Dink and I've thoroughly tested it, ironing out all the nasty bugs people found.

Or you can actually go ahead and start using this version, but just make sure you update the scripts to the latest update when it comes out.

I'm aiming to get it out within the next fortnight, I've got a lot of projects going on atm, which is why it's taking a while.
March 30th 2019, 06:23 PM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
how dare you utter the "f" word without immediately following it with "sucks"
April 4th 2019, 03:39 PM
bonca.gif
Christiaan
Bard They/Them Netherlands
Lazy bum 
Nice Robj, can't wait! The current version is quite buggy.
April 7th 2019, 10:58 PM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
PREPARE FOR A BEHEMOTH UPDATE/HYPE POST.

Just about done. Should be this week
This is honestly the most complex thing I've ever created in scripting, so it was hard to get it all working properly in all versions, but I finally deleted the last line from my own "Buglist.txt" yesterday. Just gotta finalise a couple of things and get it tested by Bluedy and it'll be good to go.
The way I've rewritten this, I've included a few optional extras/edits that you can turn on by changing sp_custom keys in your sprites script.
Also, there is a couple new procedures in the moveable sprites script - one is poked constantly as the sprite moves which allows some cool stuff like detecting when the sprite has reached a certain location. And the other is poked AFTER the sprite has moved and the player has let go of it. I've created a few cool example uses of these as well.

There is a hard box based collision system which is turned on by setting a custom key "setcollision" to 1 in your sprites main procedure, but will only work in Freedink versions, due to 1.08 and DinkHD bugging up. You can still set it to 1, it's just ignored in those versions, for this reason, to use this feature, you need to make sure my "version checker" is implemented, which has been uploaded to the DN and approved, but no news post yet (easy to implement, tutorial video link included, no globals used). If you don't have version checker, setting it to 1 will do nothing.

THEN.. I realised the hard box based collision system does look cool, but certain sprites stopping right at there hardbox edge means there is still a gap between sprites, and it'd be cool if you could customise their hardbox a bit for collision calculation only (to allow them to move a bit closer to other hardness for more of a snug fit I guess?). So there's also 4 optional custom keys you can set when setcollision is enabled, in the sprites main procedure, to trim the specified amount off the hardbox edges for hardbox collision calculation only ("trimleft" "trimtop", "trimright", and "trimbottom").

There's other optional stuff too. And none of this is required, the basic push/pull still works based on depth dot Calculation, by just attaching the basic skeleton move script to sprites.

I'm excited about this, and how I was able to maintain the ease of use and implementation.

Fin.
April 23rd 2019, 11:14 AM
bonca.gif
Christiaan
Bard They/Them Netherlands
Lazy bum 
Allow me to stalk you for a bit Robj. Can't wait to get my dirty paws on the new version so I can finish up my puzzle platformer D-Mod. Don't wanna rush you but it's been a while since I've been this excited for anything Dink related
April 23rd 2019, 12:06 PM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
@Christiaan:
Allow me to stalk you for a bit Robj. Can't wait to get my dirty paws on the new version so I can finish up my puzzle platformer D-Mod. Don't wanna rush you but it's been a while since I've been this excited for anything Dink related

Ooooh! A new dmod is coming soon? Is this puzzle dmod on your or Sparrowhawk's Upcoming D-Mods List? When do you think this puzzle platformer D-Mod might be released?
April 23rd 2019, 05:40 PM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
It's coming along nicely.
The good thing is, the reason for it taking so long this time is not because I'm procrastinating, but because I keep finding ways to make it better.
I've actually been adding to/working on it every day.

The actual file is done, and (from what I can tell so far from my vigorous testing), bug-free. I also turned the dmod into a little playable romp with some of my own original puzzles involving push/pulling objects. I'm just wrapping up the tutorial part of the dmod and it'll be good to go.

I'll try to finish it up in the next couple days.
April 23rd 2019, 11:40 PM
knightgl.gif
Zeddexx
Peasant He/Him New Zealand
I'm pretty sure I'm worth atleast SIX goats... 
This is one of those dev file releases that make you wonder how it isnt allready in existence,

Good work chaps!
April 24th 2019, 04:23 AM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
@Zeddex.. I think because it's extremely frustrating to get working correctly. This should be some hard coded game mechanic thing. Pushing DinkC to the limit lol.
This has taken a stupid amount of time to get working properly.
April 24th 2019, 12:28 PM
bonca.gif
Christiaan
Bard They/Them Netherlands
Lazy bum 
@SlipDink:

I started this D-Mod in 2010... knowing me and knowing Dinkers in general, any other ETA than "tomorrow" would be inapposite.
April 25th 2019, 02:28 PM
goblins.gif
Robj, "Pushing" DinkC it to the limit. But I see you're "Pulling" it all together into a great file.
April 27th 2019, 12:38 AM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
*currently spending lots of time on this. I just don't want to release another buggy version so I'm sort of being a perfectionist about this whole thing. It will be worth the wait I promise.
Soon!
April 27th 2019, 05:21 AM
slayer.gif
Exzcimus
Peasant He/Him Philippines
Change is constant, but Constants do not change. 
Suggestion:

Replace the "P" key with another key nearer to the Ctrl, Shift and Spacebar. It could be z,x,c, or v.

Or maybe I can modify it myself?

How do you add custom buttons for certain functions?
April 27th 2019, 07:09 AM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
With the new system, you don't need to hold a key.
But you can choose to switch to that old system in the escape menu, and make it hold 'P' to pull.
And no, cannot customise keys in Dink Smallwood.

However, I do agree it might be more convenient to make it closer to the other keys. Maybe 'Z' instead?

I mean, this is just a development file though. Authors can implement it and change the key the player must hold by renaming the script to a different key, should the player want to use the old system (I personally think the new "sticky push" system is much more convenient. Just walk into an object to grab it and then push and pull as you please, and walk away in any other direction to let go). I am crediting redink1 for giving me that idea, because it's actually amazing. Was difficult to implement properly, but it's very convenient.

So actually, on that note. I'll leave it set to P, since it's a good example, and I'll leave it up to the authors that use this thing to decide what key they want to rename it to.
April 27th 2019, 10:11 AM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
yeah p is really bad. clunky as duck

besides, that's the pillbug key
April 27th 2019, 06:05 PM
goblins.gif
Wait, so is it going to work where you can simply examine an object with spacebar and then push and pull to your hearts content until you press spacebar again? If so, that's AMAZING.

Edit: Oh I think I understand, you don't need to press anything, you just walk into it. I'll have to try it to know for sure, but it sounds awesome!
April 28th 2019, 10:04 AM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
@Thenewguy

Second one is correct, you just walk into it.
I could have made it a toggle as well, there's so many different good ideas, I had to pick one.

And ok, I'll be changing the key to 'z' when the player is using that method. Although the new sticky push method is active by default, because it's better. Can be changed via settings in escape menu though.
April 29th 2019, 01:19 PM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
This is complete. I'm making a video tutorial to go with it as well. This should be uploaded on Thursday, I just gotta get it tested first.
Ill also be uploading a minor update to "version Checker", which is a development file I recently uploaded to the DN to check Dink Engine versions, including checks for freedink(it's been uploaded and approved) . It is required to use certain optional aspects of push and pull. Push and Pull will still work without it, but I will mention, it also improves compatibility and performance across all versions.
Wait til Thursday when both updates are uploaded, download both. Both will have a video tutorial (Version Checker already has one, the YouTube link is in its readme file). And push and pull now ALSO has a tutorial section within the dmod itself, with a little quest with puzzles to unlock the tutorial area. So it's basically a playable romp as well now.
April 29th 2019, 03:13 PM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
@Robj:
Thanks Robj for your tireless support of the DN.

Ill also be uploading a minor update to "version Checker", which is a development file I recently uploaded to the DN to check Dink Engine versions, including checks for freedink(it's been uploaded and approved).

Okay, how about asking redink1 to put "version Checker" (along with "Push and Pull") into the development section of the downloads instead of the dmod section?

BTW, how's that dmod "The Dark Avilan" coming along?
April 29th 2019, 05:24 PM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
he deleted it. i was there when it happened. very tragic, very sad.

he came into the discord one day and posted a long, melodramatic poem about his dmod. we begged and begged for him not to delete the dark avilan, but his mind was set. he whipped up a stream and deleted it before our very eyes. not only that, he used file shredder. he then plugged in his flash drive and shredded the contents of that, too. after that, there was a black screen which we stared at for a good 10 minutes or so, waiting in anticipation of what would come next.

finally, robj himself appeared, a mask adorned with pagan symbols of varying colours upon his face. he announced that he would be sacrificing his computer to his god. then, he promptly switched the stream source to his phone and we witnessed the brutal end of his computer. he sliced it right down the center and pulled the cpu out, chanting some phrases in what i can only assume was abyssal. the cpu caught fire and he laughed maniacally. the stream abruptly ended after that, leaving us in shock and disgust. shortly after, robj's account was banned for violations of terms of service and we later found out he had disappeared, leaving behind cryptic messages on his victims as he made his way to whatever gods-forsaken temple or lair his cult hides in.

i'm afraid it won't be released for a few days. :\
April 29th 2019, 09:22 PM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
Okay, how about asking redink1 to put "version Checker" (along with "Push and Pull") into the development section of the downloads instead of the dmod section?

I believe it's in both. Due to it being packaged as a dmod for demo reasons.
In saying that Ill request to add the "dmod" category to push and pull as well so it also appears in both, I mean it actually has game play unlike version checker.
April 30th 2019, 09:52 AM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
@Robj:
I believe it's in both. Due to it being packaged as a dmod for demo reasons.
In saying that Ill request to add the "dmod" category to push and pull as well so it also appears in both, I mean it actually has game play unlike version checker.

Robj, there are already quite a few .dmod files in the Dev section, and you will also find there .zip files that are actually complete dmod directories there too.

@Skurn:
<Hmmm> Your most recent post to this thread seems to make a rather frenzied suggestion that implies Robj has dropped "The Dark Avilan" dmod development.

@Robj:
Well, is this just the usual kind of playfully crazed hyperbole we have come to expect from our dear friend and enthusiastic DN member, Mr. Skurn, or is it true that TDA is never to see the light of day?
April 30th 2019, 12:20 PM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
it's true, i saw it with my own 6 eyes.
April 30th 2019, 12:56 PM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
@slipdink

Yes, my point was, it actually is listed under development, so it can be downloaded from that category as well.

And I think skurn is talking about my Clone. RobK, he's an angry SimonK wannabe and an asshole. Skurn has been made victim to his evil bullshitduckery.
Somehow, this seems like a perfectly serious answer when reading it back.

Meh.
April 30th 2019, 01:13 PM
slayer.gif
Exzcimus
Peasant He/Him Philippines
Change is constant, but Constants do not change. 
Thanks for following my suggestion, Robj. I also recommend that you change it to Z IF the push and pull system is 100% confirmed bug-less.
May 1st 2019, 01:39 PM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
Bare with me. Somehow I broke 1.08 compatibility lol.
Fixing it today.
May 1st 2019, 02:52 PM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
unsubbed
May 4th 2019, 09:44 PM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
In an attempt to dismiss the idea that I am procrastinating. I will at least keep you all posted. Since my last post of breaking 1.08 compatibility, I have not fixed it. Have not touched it. I've been working everyday, got called for overtime, so don't worry, not procrastination, just working. I'm now working until Friday. I might get time to fix it and upload before then, but if not, that's when. They can't give me overtime on this comingFriday, saturday, Sunday, due to reaching the legal limit of shifts worked straight without a day off..so that's hopeful.
May 5th 2019, 10:02 AM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
@Robj:
In an attempt to dismiss the idea that I am procrastinating. I will at least keep you all posted. Since my last post of breaking 1.08 compatibility, I have not fixed it. Have not touched it. I've been working everyday, got called for overtime, so don't worry, not procrastination, just working. I'm now working until Friday. I might get time to fix it and upload before then, but if not, that's when. They can't give me overtime on this coming Friday, Saturday, Sunday, due to reaching the legal limit of shifts worked straight without a day off..so that's hopeful.

I'm sorry to learn that your life has become so swamped by work. By all means, prioritize RL first Robj. Without a job, you would (most likely) have no income and soon an inability to spend time and money working on your "New Dev File".

On the other hand, have you tried just telling your boss that you need to get some work done for the Dink Network, and that thousands... well maybe hundreds... okay if you are lucky maybe dozens of people around the globe are relying on you to pull through for us? Let us know what happens if you try this idea out.
May 5th 2019, 10:33 AM
slayer.gif
Exzcimus
Peasant He/Him Philippines
Change is constant, but Constants do not change. 
I'm really excited for that fully compatible bug-free PaP system.

Take your time, we ain't rushin ya.
May 5th 2019, 11:42 AM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
your job is an atrocity
May 10th 2019, 02:11 AM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
Ok, It's my day off, I'll be continuing it today.
May 10th 2019, 10:12 AM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
@Robj:
Ok, It's my day off, I'll be continuing it today.

Work faster! I've been thinking about using this in my current dmod.
May 10th 2019, 11:34 AM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
It's done. I'm just getting it tested. I mean, I already tested it thoroughly, but it's always good to get someone else to do it too.

So here's the status of this thing.. It works in all versions. However, in DinkHD it lags sometimes, but I was lucky to achieve playable status in Dink HD - that engine really doesn't like this kind of stuff.

I believe it's bug free in all versions, but in order of performance:
FreeDink >> Smoooooth.
Dink Smallwood 1.08 >> Quite tolerable.
Dink Smallwood HD >> Playable, but frustrating.

Maybe in future I'll find a way to improve performance in Dink HD, but there's only so much you can do through scripting, if the engine isn't up to scratch.
For now, it works, and I'm happy with that. If you don't like the lag issues in DinkHD and you want to force the player not to be able to play it like that, do a version check at startup and disallow them to continue if DinkHD is detected, and ask them to use freedink or 1.08.

It'll be up soon.
July 29th 2019, 11:12 AM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
I would just like to point out, that I didn't lie.
It was done on the 10th of May.

I just, haven't created the accompanying tutorial videos needed to implement it that I wanted to create before uploading it.

Maybe I'll do that this week.