Game
Crossovertale: Murder Night at The Inventory

5 months ago

Crossovertale 01/01 Devlog


First of all, happy new year, thanks to everyone who's stuck with us for all this time, and to everyone who's taken interest since the new trailer, thank you so much! We hope to deliver something to you, as of this writing, our 1240 followers! What a milestone!

And now, to the point: What's been done since we last had a proper devlog.


New additions to our team

Please say hello to our latest composer: DirectalArrow!

He's responsible for the latter half of our trailer's music and Ezreal's theme. Check out his own project Deltarune: Internal Demons, also featured in Underevent 2023! We look forward to more of his banger music and I'd like to personally thank him for helping me being more clear as a director.

...Oh, I wonder who this Ezreal guy is...



ezrealmugshots.gif

This right here is Ezreal. If you know which game he's from, you know. If not, I'm just gonna say he's from the card game Legends of Runeterra and leave it at that for your own safety.

ctezreal.gif

Meeting him shortly after arriving at the mysterious labyrinth beneath The Inventory, Frisk butts head with this notorious tomb robber who will continuously bully and hinder his progress through Inven-Lana using his enchanted gauntlet and through the fact that he's older than Frisk.

What he lacks in actual archeological knowledge or common sense, he makes up in aim, as shown here. Big props to Draex for programming a library for tracking bullets! Ezreal won't be the only one aiming his shots to where Frisk is heading to, but he will be the poster boy for it.

Those sure are some complex animations for a battle sprite, huh? But before we get to that we need to talk about the Battle rewrite. Take it away, Eir!


The battle rewrite

coding_portrait_simple.gif

So! The battle rewrite! What is it? What does it do? Let me explain.

It's a "rewrite" of the battle system used by Create Your Frisk and older versions of Crossovertale. The new system aims to lean more into the way Unity scenes are meant to be set up - less screens full of hard-coded mess, more focus on game objects interacting with one another.

All encounters, enemies, waves, even bullets, are now prefabs. They can be edited in the editor itself, instead of through code only. Coming from a Create Your Frisk background, this is huge.

I've also designed a new class, BtlScript, a component that can be attached to a game object anywhere in a battle scene, and still receive events from the encounter, active enemies, waves, item use, player hurt, and so on. This is a fresh take on jam-packing a bunch of unrelated code snippets into one encounter event.

screenshot_20231226_021921.png
screenshot_20231226_023126.png

Everything being set up visually instead of solely through code will also help us with special effects a lot. It would be child's play to click an "add sprite" button, select an image, and add a custom BtlScript that rotates an image over time, or colors it based on the player's or an enemy's health.

Finally, the decentralization and cleanup of battle logic allows us to use other Unity conventions! Namely, the Unity 2D Animation system! It used to be that sprite animations were limited by what you could code, but those days are over, now that we can use an actual timeline graph and inverse kinematics. This will allow us to make legitimately stunning animation.

TL;DR: Most of the things in battles that required code and jank now require a lot less code, and have better ways to do them.

As for how it's going? It's almost done! Sometime within the next month or two, it'll become standard in our development process, and we'll use it exclusively from there on.

Now how would y'all like to see some of those animations I mentioned?

-Eir


Character Animation

Thank you, Eir!

Indeed, a big motivation for retooling the Battle System was making better animations possible. But how and why?

unity_18bwmmamyt.gif

Up until now, animations have been made in the only way CYF allowed: Through code. And while it's gotten some really nice looking results so far, there's been a few problems with it, to say the least...

pain2.png

Does this look pleasant to you?

No? Welcome to my nightmare.
And this is just for a single animated pose.

On top of the unintuitive, tedious-looking code, placing the rig's parts on the scene was always a pain, boiling down to just guessing the numbers and hoping you got the coordinates correctly and constantly opening, playing and closing the scene until you got it right.

And while the rhythmic and steady nature of a sine function results in very clean results, it is very limiting when it comes to portraying animations that amount to more than just bobbing up and down in place.

This plus many other issues led to many, many hours late at night spent painfully getting these animations to look just right. Was it worth it? Yes. Would I do it again? No way.

unity_rugnkglrkh.gif

Using Unity's 2D Animation features, we say goodbye to those dark days. Now we can animate characters as if we're using actual animation software instead of banging our heads against a wall of code and praying it doesn't break.

unity_pb0c4txcyq.gif

Without needing to exactly code and calculate where things are, we can now do more complex one-shot movements, such as flinching animations.

unity_ouuquksype.gif
imagen.png

Rigging manually takes a bit to fully setup, but once everything is ready we have a truly a fully working 2D rig that we can move to our liking! It even has Inverse Kinematics! (Fancy animator talk for "we can just move the hands or feet around and it will drag the entire limb with it")

imagen.png
imagen.png

A whole new set of possibilities on the kinds of poses we can achieve now with this. And you know the best part of it is? The component in charge of all this is 100% accessible by the new BtlScripts, allowing us to call upon them at will.

Frame-by-frame is still not out of the picture mind you. The ideal is to combine them both to get the kind of results that will look nice.

dustgirldie.gif

Because yes. Frame-by-frame animation is feasible (and looks rad), but given how time-intensive it is to produce, it's best we keep these for dramatic, visceral or important moments. Such as this death animation for Dustgirl.

If Frisk is not careful, he could be killing more than just monsters this time!


A retrospective on last year and moving forwards

2023 was a very rough year for most of us, but also one that led to a lot of self-discovery, gamedev related or otherwise. I for one learned about being more clear about directions and being more transparent when it comes to important decisions such as what to post and when to post these devlogs.

Participating in Underevent 2023 gave us renewed motivation to show off our previous work to a wider audience as well as working on new things. We'd like to thank the Underevent team for including us in the event, thereby giving us that extra kick in the pants. Crossovertale feels like a completely new thing compared to last year already!

But I'd say most importantly: having a clear goal, keeping and updating a list of things to do, writing things down in places other than Discord chat and bouncing ideas back and forth between us has made progress go by faster than ever before.

splat.png

...And yet, I often feel like it's still been too slow, even if it's been steady work this past year. There is a lot to do still and I'd be lying if feeling overwhelmed and burned out has not been an issue. Especially when trying to meet a deadline.

Game development is a marathon. All the different disciplines and tasks to do and refine so it all clicks just right take a lot of time and effort. Having a good script while juggling so many different characters has been especially tough to do (and the first draft is still not done!)

Not to mention, we can't work on this all the time. Self-care is important if we don't wanna go insane, we have duties and responsibilities outside of making the funny crossover game, and sometimes, life comes at you with a steel chair and it's best to worry about that first.

I won't make light of our efforts, I think we're doing pretty great, but we're few and could stretch ourselves thin without help.


HELP WANTED

idleminer.png

We have positions open we'd love more help with:

  • Overworld Level Design.

  • Assistant pixel artist.

  • Assistant writer.

  • Assistant animator.

  • Tile-set artist.

  • Background artist.

  • Sound design

  • Someone who knows how to code for rhythm games.

  • Bug tester.

This is strictly voluntary, we won't be able to pay you for this.

Click on the header or here to access the recruitment form!


Well! I guess that's it for now. Thank you for your support and patience all these years. See you on 02/02!

- heartlessmushroom



6 comments

Loading...

Next up

Crossovertale C# Rewrite progress (December)

11/11 Progress Report and Asset Showcase

Regarding Unity's announcement on "runtime fees" yesterday...

I am working on a Fangame, please check out it's progress.

https://gamejolt.com/games/Crossovertale/536870

Help Wanted!

Crossovertale C# Rewrite progress (June)

https://www.youtube.com/watch?v=ansCGZUhtVk

We are honored to participate in Underevent, touched by your excitement and eager to keep working on more Crossovertale going forwards!

Expect more devlogs in the future as well as updated gallery!

What's up with CT? Is it dead? What's the holdup?

Been working lately on lots of 'behind-the-scenes' boring stuff that no one really cares about, so here’s a guy playing the sax for some reason.

#screenshotsaturday