The Dink Network

Achievements

August 28th 2014, 03:16 AM
custom_coco.gif
CocoMonkey
Bard He/Him United States
Please Cindy, say the whole name each time. 
Here's something I've wondered about recently:

If Dink Smallwood (the original game) were to have achievements, what would they be?
August 28th 2014, 03:33 AM
knight.gif
KrisKnox
Peasant He/Him United States
The site's resident Therian (Dire Wolf, Dragon) 
(Immediately things about the semi-recent race between two certain Dinkers.)
August 28th 2014, 03:38 AM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
*The Duck Massacre Begins (Kill Ethal's Duck)
*Probably a Coincidence (Spell Seth with Alk Tree Nuts)
*Speed(Get Herb Boots)
*Strike True and Burny (Get Flame Bow)
*Powerful Recolour (Get Light Sword)
*It Talks!? (Kill Bonca and learn first spell)
*Unlimited Power (Discover every hidden bonus)
*Act of Heroism (Rescue Random Guy from knights)
*Husband Beater (Kill Jack)
*Poison Spray (Get Acid Rain)
*Sexy Pile of Gold (Accumulate 10,000 total gold pieces)
*What was this going to be? (Discover ice area)
*Friend of the Ducks (participate in activites at Koka Isle)
*Saviour of Joppa Isle (Slay the dragons at Joppa)
*HA-HAH! (Kill Bishop Nelson)
*Genocide (Kill every monster in the game at least once)
*Blood of the Ancients (Kill Seth)
*It was me all along! (kill everyone at the parade after saving them from the cast)
*He Just Wanted to be Loved... (Kill George)
*Overthrow the Mutant King! (defeat Mog)
*Lord of Dinkers (Complete the game without dying once, using any elixirs, buying hellfire, or the lightsword, or saving)
*Smallwood Worship (Save Windemere from the evil Duck Cult)
*Some Pig (Kill the pig in the Darklands)
*Treely Worthless (Attack the invincible living pine tree)
*Crazy bastard (Get called a crazy bastard)
*Master Pigfarmer (feed the pigs by placing the seed somewhere other than the mud)
August 28th 2014, 04:37 AM
knight.gif
KrisKnox
Peasant He/Him United States
The site's resident Therian (Dire Wolf, Dragon) 
Okay, that last one made me laugh.
August 28th 2014, 04:38 AM
spike.gif
Ooh, that's a fun thought experiment. I can think of a few:

*I'm NOT a pig farmer (murder all the pigs before feeding them)
*Watching paint dry (wait for the entire screen to turn red after beheading ducks)
*FIRe! (burn all fir trees in the entire game)
*Indiscriminate lover (make sexual advances on your aunt)
August 28th 2014, 05:09 AM
knight.gif
KrisKnox
Peasant He/Him United States
The site's resident Therian (Dire Wolf, Dragon) 
*Cherry Tapping: Kill at least one monster by punching them without Herb Boots.
*Cold-Blooded Murder: Kill Libby (Or whatever her name is, in the village.)
*I'm Telling the Truth!: Brag to the guys at the tavern.
*Hey There, Hot Stuff: Hit on the tavern wench.
*A Simple Job: Help the thief.
*Undying Gratitude: Save Nadine's daughter.
*Every Nook and Cranny: Find every collectible ever.
*What Are You Waiting For, Christmas?: Idle for an hour.
*Absurdly Powerful: Reach max level.
*Cherry Tapping Combo X2: Kill Seth with Herb Boots.
*Cherry Tapping Combo X4: Kill Seth with your bare fists without Herb Boots.
*Cherry Tapping Double Mobius Reacharound: Kill EVERYTHING with your bare fists. (Don't use any other weapon to kill.)
*A True Pig Farmer: Throw seeds at Seth.
*A Farmer at Heart: Throw seeds at the Darklands pig.
*Dragon Farmer: Throw seeds at a Dragon.
*Pillbugs on Speed: Clear Smilestein's farm of the Pillbug.
*Steroids Are Bad: Kill the giant pillbug.
*Rise of the Machines: Punch every save machine.
*You dink(As in the curseword): Kill the kind Goblin.
*More Dakka: Use a bomb.
*Who The Hell is Charlie?: Read Charlie's sign.
*Karl Marx Hates your Guts: Sell an Alk nut.
*Do You Smell Bacon?: Acquire Hellfire.
August 28th 2014, 03:40 PM
custom_coco.gif
CocoMonkey
Bard He/Him United States
Please Cindy, say the whole name each time. 
Ha, some of these are pretty clever.

Would it be possible to have an "achievement" popup in the game? It would be easy enough to have it appear, but I don't know how you would keep it from disappearing when you switch screens.
August 28th 2014, 03:49 PM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
Those popups are part of the overlay.
August 28th 2014, 06:04 PM
knightg.gif
DackFight
Peasant He/Him United States
Making Topics off-track faster then you can say it 
Wasn't there one dmod video that had some pillbug picture achivement in the corner?
August 28th 2014, 06:06 PM
knight.gif
KrisKnox
Peasant He/Him United States
The site's resident Therian (Dire Wolf, Dragon) 
I think you're thinking about the race.
August 29th 2014, 12:15 AM
custom_coco.gif
CocoMonkey
Bard He/Him United States
Please Cindy, say the whole name each time. 
What I meant was, is there a good way to put it in the original game without it disappearing when you switch screens?

Here's an actual screenshot of a little test I made.

August 29th 2014, 12:31 AM
sob_scorpb.gif
ThePunisher
Peasant He/Him Australia
(Tag Line) How long is this line. 
Why was my post deleted?
August 29th 2014, 03:29 AM
dinkdead.gif
Why would you want that to stay? A few more achievements and they cover the screen... maybe I'm misunderstanding.

Punisher: Because of two of your achievement names. I'm sure you can work out which two
August 29th 2014, 03:48 AM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
So you get the chance to read them before they go away by leaving the screen I guess? Though I don't know why they'd go away any faster than they do by default if we got this game greenlit.
August 29th 2014, 03:58 AM
knight.gif
KrisKnox
Peasant He/Him United States
The site's resident Therian (Dire Wolf, Dragon) 
Third one from the top, Pun.
August 29th 2014, 05:09 AM
knight.gif
KrisKnox
Peasant He/Him United States
The site's resident Therian (Dire Wolf, Dragon) 
Either I'm too used to proper spelling and grammar, or that was completely illegible.
August 29th 2014, 05:52 AM
custom_magicman.gif
magicman
Peasant They/Them Netherlands duck
Mmmm, pizza. 
So basically, what you want is:

Achievement-message pops up, sticks around for a second or two, then disappears again? And while it's sticking around, you should be able to screenchange without it disappearing.

Eh, tricky one, that. Sprites can't really be set to survive screenchange, so you'd have to detect those yourself in some way, and re-create the pop-up when a screenchange is detected.

Here's some code that I haven't tested, but something like this would be my first attempt:

// achievement.c
// You'll call this procedure with external("achievement","achieve");
void achieve( void )
{
  // Somehow fill those missing values in. You could probably pass in &frame as an argument, or something.
  // Brain of 95 does the same as 0, but we can use it to get back at this sprite without storing its number!
  create_sprite(&somewhere_x,&somewhere_y,95,&seq,&frame);
  spawn("achievement");
}

// This code is run because of spawn() above. Didn't feel like putting it in its own script.
void main( void )
{
  int &chievo;
  script_attach(1000);
  &some_juggle_global = &current_script;
  int &timer = spawn("timer");
checkloop:
  // Here's that magic brain of 95 again.
  &chievo = get_sprite_with_this_brain(95,1);
  if (&chievo < 1)
  {
    // No brain-95 sprites while in the checkloop: we've changed screens.
    &chievo = create_sprite(yadda,yadda,95,yadda,yadda);
  }
  wait(50);
  goto checkloop;
}

void remove( void )
{
  &chievo = get_sprite_with_this_brain(95,1);
  if (&chievo > 0) {
    // Alternatively, do something fancy.
    sp_active(&chievo,0);
  }
  run_script_by_number(&timer,"kill");
  kill_this_task();
}

// timer.c
void main( void )
{
  // If only we could spawn() with extra arguments. Oh, well.
  int &script = &some_juggle_global;
  // Or wait however long you want the message to appear.
  wait(2000);
  run_script_by_number(&script,"remove");
}

void kill( void )
{
  kill_this_task();
}


In this case I'm detecting a screenchange by seeing if there's still a brain-95 sprite on the screen. Another common way is to keep a variable around that stores the last known value of &player_map, and when it's different from &player_map, we know a screenchange has occurred. Either method works.

I also expect the above code to go wrong when two achievements are unlocked at the same time. Because then you'll have multiple brain-95 sprites that need to disappear at different times (and possibly need to appear on different spots). But it's a start.

Threads like this is why I make dev files, btw >_>
August 29th 2014, 07:46 AM
dragon.gif
Quiztis
Peasant He/Him Sweden bloop
Life? What's that? Can I download it?! 
achievements.dmod!
August 29th 2014, 01:13 PM
custom_coco.gif
CocoMonkey
Bard He/Him United States
Please Cindy, say the whole name each time. 
I've tested that. It (or something very similar to it) works pretty well, at least for just one achievement at a time. Getting two achievements within five seconds of each other would cause weirdness that I can't predict at the moment. I can probably figure out a way around that... probably.
August 29th 2014, 03:43 PM
custom_coco.gif
CocoMonkey
Bard He/Him United States
Please Cindy, say the whole name each time. 
I guess I might as well admit that I'm working on a "DMOD" of sorts called Dink Smallwood: Achievement Unlocked Edition. I have 27 achievements planned. Almost all of them are based on suggestions from this topic. If all goes well, there will also be a few extras that are unlockable by earning achievements.
August 29th 2014, 06:43 PM
pillbug.gif
pillbug
Peasant He/Him United States
Love! True love! 
The D-Mod I'm working on (Happy Sunshine Land 2) has an achievement system! I made my own little popups as well. I'll get a screenshot so I can show what they look like.
August 29th 2014, 07:18 PM
custom_magicman.gif
magicman
Peasant They/Them Netherlands duck
Mmmm, pizza. 
Glad to hear that's still alive!
August 29th 2014, 11:27 PM
pillbug.gif
pillbug
Peasant He/Him United States
Love! True love! 
Glad to hear that's still alive!
Barely, but I still find the motivation to get some work done on it every now and then.

Here are a couple of photos of the system. The first one is of the achievements page (unlocked achievements have an icon, hovering over them shows the popup you get when you first unlock it, clicking on them shows text with a description of the achievement and the reward you got). The second is the achievement popup in-game. Unlocking one plays the "secret" WAV file and the popup starts small and grows to normal size.
August 30th 2014, 12:24 AM
custom_coco.gif
CocoMonkey
Bard He/Him United States
Please Cindy, say the whole name each time. 
Oh wow, your achievement system looks a lot nicer than the one I'm implementing. Oh well >_>
August 30th 2014, 01:16 AM
knights.gif
DinkKiller
Peasant He/Him United States
The world could always use more heroes 
Hey, pillbug! Will it take the release of my D-mod to fuel the release of yours, just like last time?
August 30th 2014, 01:24 AM
pillbug.gif
pillbug
Peasant He/Him United States
Love! True love! 
Oh wow, your achievement system looks a lot nicer than the one I'm implementing. Oh well >_>

Expected release date for my D-Mod is 2105 so if you'd like to combine ideas I can elaborate on the system and send you the scripts and such. I'm sure you'll make more good out of them faster than I will!

Hey, pillbug! Will it take the release of my D-mod to fuel the release of yours, just like last time?

It's a definite possibility! Though I'm pretty far from being done with it
August 30th 2014, 11:37 PM
custom_coco.gif
CocoMonkey
Bard He/Him United States
Please Cindy, say the whole name each time. 
I came up with a little solution for having two achievements happen at once.

//first, let's check to see if an achievement is already displaying right now
checka:
int &check = get_sprite_with_this_brain(95, 0)

if (&check > 0)
{
//Already a banner up! Let's wait a second and try again
//And since we're waiting, let's make sure this script doesn't die in the mean time.
//Not sure this is necessary, but it can't hurt.
script_attach(1000)
wait(1000)
goto checka
}


With that at the beginning of achievement.c, if you get two achievements at the same time, the second one will wait around until the first one is gone and then display as normal.
August 31st 2014, 02:22 AM
knights.gif
DinkKiller
Peasant He/Him United States
The world could always use more heroes 
It's a definite possibility! Though I'm pretty far from being done with it

Don't worry, mine has been sitting at about 30% completion for almost a year now. It'll be a while before I decide to finish mine as well.

On a side note, I like this achievement system you guys are working on. Maybe I could use this too
September 1st 2014, 07:58 PM
custom_coco.gif
CocoMonkey
Bard He/Him United States
Please Cindy, say the whole name each time. 
"Achievement Unlocked Edition" will be done soon. Would anybody like to test it? I'm pretty sure it all works as intended, but you never know, do you?
September 2nd 2014, 03:15 AM
custom_coco.gif
CocoMonkey
Bard He/Him United States
Please Cindy, say the whole name each time. 
OK, now it's completely done. Does anybody want to test it or should I just release it and work out any bugs people find afterward?
September 2nd 2014, 04:53 AM
dragon.gif
Quiztis
Peasant He/Him Sweden bloop
Life? What's that? Can I download it?! 
Release it for us!
September 2nd 2014, 07:48 AM
knights.gif
merder
Peasant He/Him Netherlands
The Voice in the back of your head! 
i would like to test if you deem it needed but think could be released too
September 2nd 2014, 03:56 PM
custom_coco.gif
CocoMonkey
Bard He/Him United States
Please Cindy, say the whole name each time. 
Ah, what the hell, I'll release it. It's not a terribly complicated thing at any rate. Here's hoping it doesn't blow up when people play it.
September 2nd 2014, 04:59 PM
slimeg.gif
metatarasal
Bard He/Him Netherlands
I object 
I hate to be negative about somebody else's work, but personally I totally don't care about achievements. In most games I find them to be totally superfluous additions that are usually pretty hollow. Achievements for Dink might be cool for the gadget value but they're just not for me.

Of course I hope some people feel differently
September 2nd 2014, 05:12 PM
custom_coco.gif
CocoMonkey
Bard He/Him United States
Please Cindy, say the whole name each time. 
You know, the funny thing is that I'm not that into them either. In most games I won't go out of my way to get achievements.

But I think this could be a cool way for people to revisit the original game. Also, earning achievements unlocks extra features in the mod I've made, so they're not as pointless as they typically are. Oh, and there are two sets of text to go with the achievements - for when they have and haven't yet been earned. I tried to be clever in some of the text, so that's something that might be of interest.
September 2nd 2014, 06:35 PM
knight.gif
KrisKnox
Peasant He/Him United States
The site's resident Therian (Dire Wolf, Dragon) 
Achievements can be useful of world building. Like, you get an achievement for reading every book of lore acquired, or it unlocks a page in the menu that has supplementary information about gods and goddesses.
September 2nd 2014, 11:01 PM
pillbug.gif
pillbug
Peasant He/Him United States
Love! True love! 
I consider myself an achievement hunter so I love just about everything about them. But in this case I like them just because I have so much fun coming up with different gadgets for D-Mods. I've put a lot of things in my D-Mod that I'd consider pretty cool, if only for the sake of being pretty cool. Plus making your own lets you weight them as heavily as you'd like. Simply getting points doesn't seem very useful for Dink, but stat boosts or items could make it worth hunting them down.
September 2nd 2014, 11:24 PM
wizardg.gif
leprochaun
Peasant He/Him Japan bloop
Responsible for making things not look like ass 
Damnit Pillbug your gamer score beats mine.
September 4th 2014, 07:40 AM
knights.gif
merder
Peasant He/Him Netherlands
The Voice in the back of your head! 
same here i'm a achievement hunter tho some are beyond my skill i definitely go out of my way for 'm and tho most just for showing off for me good ones add challenge and best part about it is they are optional if you aren't a hunter (even if story progress ones still granted it is not like you are forced to get all)
September 4th 2014, 08:28 AM
spike.gif
I don't particularly care for achievements. I never try to get them, although I've been pleasantly surprised by some clever ones; the kinds that pop up when the player thinks outside the box, or does something silly, like defeating the final boss naked or something. On the flipside, I despise obvious achievements, such as completing the tutorial. WTF? That's no accomplishment, that's just... achievement spam.

For Dink, though, I think achievements are pretty cool at the moment. If only for the novely factor. Once every other dmod starts featuring achievements, I'll change my mind right quick.
September 4th 2014, 01:40 PM
custom_coco.gif
CocoMonkey
Bard He/Him United States
Please Cindy, say the whole name each time. 
Well, I submitted it two days ago now... guess everybody's busy.

While I wait for it to come off of the pending list, here is a screenshot.