Any chance I could prompt you for some good old fashioned jackrabbit mating smut? Mainly, Bunny courting an oblivious Jack leading up to his rut in hope of making Jack his mate/doe. Thanks, I love you, bye! <3
So I couldn’t make it a one shot… But here is the beginning. I’ll add more to this as I get it written. Hope it’s to you liking! Smut is still to come!
Wandersong’s a musical adventure game about a bard, where you use singing to solve the world’s problems. It’s made in GameMaker Studio. And it has a big emphasis on story, with a lot of characters and unique scenes. People often ask me how I implement all that behind the scenes, so I figured I’d share my tools a bit.
(Above: a typical conversation, and some of the code that drives the scene)
The basics are pretty straightforward. There’s a cutscene manager objects who hangs out invisibly in every screen of the game. When one of the special cutscene scripts is called, it passes instructions to the cutscene manager, who always keeps a list of instructions running. And whenever the cutscene instruction list has anything in it, the cutscene manager broadcasts that a cutscene is happening, and processes the instructions in its list one by one, until they’re done.
The most important detail of this implementation, I think, is that it lets me write cutscenes inline with the rest of the game logic, and it’s all very natural and fluid, so I can focus on being creative and making it as I go. Other games will often separate the writing and scene stuff into separate files or systems, like an XML data file or a LUA interpreter or something, so that it’s easy to collaborate with a writer without them having to deal with programming, and it can be exchanged later with translated versions. But since I’m also doing all the programming and animation anyway, it’s easier for me to put it together all at once. I’m pretty far along on a solution for translations, too, but that’s for another time…
I’ll share some nitty-gritty on how I make it work specifically in game maker below.
Here’s a typical cutscene script, marked up a bit. All of them follow this structure, which, right out of the gate, is pretty hacky, heh heh. There’s actually two completely different uses for each script, one for when it’s used by the scene manager (red), and one for when it’s used by anything else (blue). The blue part is the one that happens first, so I’ll start there.
The blue part is basically identical in every cutscene script, actually, and I always make a new scene script by duplicating an old one because of this. First, it adds the name of the current script to the objSceneManager’s “scene” list. In Game Maker the name of resources like scripts, sprites, sounds etc. are automatically special words that let you point to them (for example, when you want to play a sound file, typically you’ll tell it the name of the sound so it knows which one to play). So the script basically adds itself to a list somewhere.
Second, it makes a new list that contains all of the “arguments” passed to it. This script is for setting the position of an object during a cutscene, and I give it the name of an object, an x position and a y position… so all those values are stored into a list, and then it adds that list to objSceneManager’s “scene_args” list. Lists of lists might sound kind of silly, but this game is full of them behind the scenes, and they also excite me in ways I don’t fully understand.
This little pile of code is the key that makes the rest of it run, basically. The line underlined in red is the big one. The scene manager tracks where it is in the cutscene with a variable called “scene_moment,” and every frame it looks at that spot in the scene and scene_args lists and runs all the instructions left there. The arguments we passed to the scene initially are stored in lists, and we pass those lists back to the script when we run it from the scene manager. Scene scripts when run from the scene manager always return a true or false, to let it know if they finished their job or not. The scene manager runs them from a “while” loop, which goes forever until it gets a “false” from one of these or runs out of them. The blue section shows what happens when it runs dry… basically it just clears and resets everything.
Back to here, now, looking at the red section… this is how it runs from the scene manager. Instead of looking at arguments, we look at the list passed to us in argument, and evaluate the contents of that list like arguments instead. Then we do a little code and return true. Actions that take time or need input, like a textbox or a “Wait for x amount of time” command, will return false until their conditions are all met, at which point they return true. This way I can have many actions parsed in the same frame, like a camera movement and a sound being played, and other times I can create timings by adding in pauses and stuff.
Ta-da! That’s it. I hope it wasn’t too hard to follow. I’ve done a number of games with lots of text and scenes before, but this basic system was a new idea for this game and it’s been by far the most useful and flexible system I’ve been able to work with. Feel free to lift the structure wholesale and make sweet cutscene-filled games with it. And also, feel free to send me questions if I wasn’t clear enough about something.
Upd8 Thoughts: Why is Everyone Acting So Strangely? Alternatively Titled “Vriska is a Thief of Light”
So, like many of you, while reading this upd8 my first
thought was basically “what the fuck” followed by “no” and then “NO” and then “STOP
NO THIS IS NOT OKAY.” And for a moment I was freaking out because what happened
to all my lovely characters? What happened to Karkat’s aggressive need to be a
leader? What happened to Rose’s need to be a complete know-it-all? Why is
Terezi acting nigh submissive towards Vriska? What happened to Dave’s need to be
And as I read, I realized that all of these things had one
thing in common: Light! Once Vriska stepped in, all of the characters lost
VRISKA: Sorry to steal all the timey
thunder from the gr8 “Knight of Time”, end quote, 8ut someone had to
take the initi8tive and go on a fact-finding mission. DAVE: no its cool DAVE: you can have
that thunder if you want it
TEREZI: 1 S4Y W3 BR1NG TH3M B4CK! VRISKA: Terezi,
please. Let’s not 8icker in front of the party. VRISKA: We need to
8e showing solidarity here! TEREZI: W3 DO? VRISKA: Yes. We are
equally important to the party as its overarching executives. The ones with the
most experience in the department of guile and ruthlessness. VRISKA: I may
project my voice louder than you, and 8orrow the spotlight for a little longer,
8ut you were always the soul of Team Scourge! VRISKA: I couldn’t
8e doing this without you. I wouldn’t even want to! TEREZI: 4W TEREZI: Y34H, OK TEREZI: YOU'R3
R1GHT… 1’M B3H1ND YOU 4LL TH3 W4Y!
DAVE: vris yo nobodys arguing with
you on that everybody here thinks hes pretty cool ARQUIUSPRITE: DAVE: like just
enough freakshow steps removed from being my bro i guess enough to make me not
feel like- VRISKA: Dave, don’t
interrupt either. VRISKA: No8ody’s allowed to interrupt me when I’m talking up
Arquiusprite! That’s the rule.
ARQUIUSPRITE: But if I may suggest, neigh, perhaps, command? ARQUIUSPRITE: You should prototype the two royal bloods and be done with
it ARQUIUSPRITE: They deserve it VRISKA: No!!!!!!!! VRISKA: Arquius,
your reserv8tion is noted, 8ut the hemospectrum is 8ullshit. VRISKA: It’s not
going to factor into this decision! ARQUIUSPRITE: I STRONGLY disagree, but also, sort of don’t care ARQUIUSPRITE: As you were
TEREZI: 1 KNOW W3 T4LK3D 4 LOT OF
STR4T3GY 1N 4DV4NC3, VR1SK4 TEREZI: BUT 1 R34LLY
DON’T R3M3MB3R YOU M3NT1ON1NG 4 PL4N TO PROTOTYP3 OUR FR13NDS’ CORPS3S TEREZI: M1GHT H4V3
B33N N1C3 TO G3T 4 H34DS UP! TEREZI: UM, NOT TO
M4K3 4 B4D PUN, ON 4CCOUNT OF TH3 F4CT TH4T MOST OF TH31R H34DS W3R3 L1T3R4LLY
S3V3R3D >:[ VRISKA: Yeah, sorry! VRISKA: I had a lot
of logistics 8uzzing around in my 8rain. VRISKA: It’s hard to
keep you apprised of EVERYTHING that crosses my mind.
DAVE: karkat DAVE: yo karkat KARKAT: WHAT!!!!!! DAVE: oh my god DAVE: dude were you
just not listening to any of that KARKAT: TO WHAT? KARKAT: WHAT KARKAT: WHAT’S
HAPPENING NOW? DAVE: hahaha DAVE: man how long
have you been tuning all this shit out DAVE: i mean i
literally just said i dont give a fuck about any of the shit vriska is saying
so maybe im not one to talk but at least i had the decency to actually be
joking about that
KARKAT: HEY, LOOK KARKAT: I KNOW I’M
NOT CONSIDERED “IMPORTANT” ENOUGH TO BE “IN THE LOOP” ON
CERTAIN KEY TACTICAL DECISIONS ANYMORE KARKAT: AND THAT I
DON’T REALLY KNOW WHAT’S GOING ON MOST OF THE TIME AND THEREFORE AM FORCED TO
TAKE ANY BULLSHIT THAT HAPPENS WITH A GRAIN OF SNACK MINERAL BIG ENOUGH TO
BLUDGEON A MAN TO DEATH KARKAT: BUT IF IT’S
NOT TOO MUCH TROUBLE VRISKA, MAYBE YOU COULD TAKE A MOMENT TO EXPLAIN WHY
TAVROS IS NOW A SPRITE?!
DAVE: it sounds like youre just like DAVE: being the
leader now cause you want to DAVE: and making all
the plans because nobody else wants to or really cares DAVE: i mean not
that i even care either i just want to set the record straight
WOW! HAHA, HA, HAHAHAHA! ME LEADER?? TOO
FUNNY! KARKAT: I AM
ENTIRELY AND SINGULARLY BAFFLED THAT IT COULD STILL EVEN *OCCUR* TO ANYONE TO
ENTERTAIN THE NOTION THAT I MIGHT STILL BE PLAYING *ANY* ROLE EVEN WITHIN
SNIFFING ORBIT OF A LEADERSHIP POSITION OF THIS RIDICULOUS PARTY. KARKAT: WHEN WAS THE
LAST TIME I DID *ANYTHING* OF A LEADER-LIKE NATURE, WITHOUT BEING TRUMPED BY
VRISKA’S MACHIAVELLIAN LIMELIGHT GLUTTONY? KARKAT: OR FOR THAT
MATTER, WHEN WAS THE LAST TIME THERE WAS ACTUALLY ANYTHING LEADERY *TO* DO,
THAT DIDN’T INVOLVE SNUGGLING UP ON THE COUCH TO WATCH “GOOD LUCK
CHUCK” FOR THE FIVE HUNDREDTH TIME?! KARKAT: I HAVE SERIOUSLY
JUST BEEN ASSUMING HER COMPLETE TAKEOVER OF ALL LEADERSHIP DUTIES WAS SOME FAIT
ACCOMPLI SHIT FOR THREE SOLID YEARS, AND HAVE SINCE BEEN ENJOYING THE PEACE AND
QUIET OF ZERO RESPONSIBILITIES, WHICH IS WHY QUITE FRANKLY, I HAVE BEEN ABLE TO
KEEP MY BLOOD PRESSURE DOWN, AND NOW RESEMBLE THE LIVING EMBODIMENT OF PEACE
AND FUCKING TRANQUILITY WHICH PRESENTLY BASKS BEFORE YOU IN A STATE OF
FROTHING, EUPHORIA-HOBBLED TURDVANA!!!!!!!!
I could go on and on with the examples, and these are only
from the first few pages! It just continues—the characters are losing their
Light, and are becoming steeped in Void. And why might that be?
Vriska Serket is a Thief of Light! It’s in her job
description—she steals Light from others and takes it for herself. Now Vriska is the leader, now Vriska is the one in the spotlight, now Vriska is the one who knows what’s
happening! We’ve never seen her take on this kind of Light before—before, she
focused on stealing the spotlight, yes, but not in this way! She stole Luck and
treasure, but not agency, or at least not in this quantity! Over these three
years, she has drained the team of their Light.
Why? I can’t say for sure. At a guess, I would say that it
happened slowly, no god tier majyyks involved here. After the events of Cascade,
my bet would be that the kids and trolls were pretty freakin’ worn out. The
kids had just had a tumultuous couple of days (or weeks, for Dave), constantly
running around, dying, becoming possessed, having their family members killed…who
wouldn’t need to have a break? And the trolls, the trolls! They’d finished
their session extraordinarily rapidly (I forget the exact amount of time), and
then had been plunged straight into time shenanigans, and not to mention, horrorstuck!
Again, pretty traumatic, even for trolls. So, while the kids and trolls want to
ease back, just for a little bit…Vriska doesn’t need to. And at first, I’m sure
that they’d be happy to let Vriska take care of things while they got their shit
together, but Vriska is a Thief, and she kept that agency that they gave up.
And slowly, slowly, she took more and more until they were all stumbling in the
Void, looking towards her as a beacon of Light.
BUT! I don’t think that all is lost for our precious
children. Because we may have a Thief of Light, but we also have…
A Rogue of Void.
The Thief of Light steals agency and importance from others,
yes, but what does the Rogue of Void do? The Rogue of Void takes irrelevance
and meaninglessness from those who have too much of it…and redistributes it to
those who have too little.
I believe that Roxy and John’s appearance will trigger a
shift of events, sudden or insidious, that will begin to transfer the lack of
agency that the others have to the agency-heavy Vriska, so that everything
evens out. How? I’m not quite sure, but I’m fairly certain that it is gonna
play out something along those lines.
THANK YOU FOR 260 FOLLOWERS aaa ;-; To celebrate that, here is a small gift for you guys. Really glad I’m part of this small fandom //u v u//
Now now I know some of you guys would really want that thumbnail as your desktop picture, I would be posting a full picture tomorrow (24 hours after this post) so you can download it and stuff! So… Merry Christmas guys! T v T!
A Kacho sprite! From what it sounds like, players in Japan will be able to unlock the Game Center CX host’s skin by completing the stages he created for NicoNico Cho Kaigi, according to Kyle McLain. It’s rad to see more content (Famitsu’s mascot will also receive a Mario skin) being released for the game!
You can watch Arino kill himself in Super Mario Maker below: