Game Jam! Twin Blade Tango!

The theme of the jam is “It takes two to tango” a ton of multiplayer/couch co-op games were made, so try all the jam games with a friend! Twin Blade Tango is 2-player only, and requires at least one controller. I hope to add a cpu player for single-player experiences.

Animation Setup

We (four animators and two programmers) made great use of the AnimationTree, I learned a ton about animation pipelines. A small state machine like this one, proved super powerful.

2024-10-02-123611_605x305_scrot

Surprisingly tough to keep a scene tree and it’s node names consistent between Maya, Blender, and finally Godot; Maybe there is some way to rename the node on import? Custom animation tracks could solve this, but the custom tracks were consistently overriden when reimporting/editing animations.

Code Sample

I was able to remap controller inputs with a P1 and P2 action set, changing the device ID based on which controller pressed a button.

const input_strings: PackedStringArray = [
	"P%dLeft",
	"P%dRight",
	"P%dForward",
	"P%dBackward",
	"P%dAttack",
	"P%dThrow",
]

# in _input()
for a in input_strings:
	var b: String = a % for_player
	for e in InputMap.action_get_events(b):
		if e is InputEventJoypadButton or e is InputEventJoypadMotion:
			e.device = event.device # remap device id

Our healthbar uses a subviewport on a Sprite3D, this needed a script to get the path once the player is instantiated into the scene, since it requires a path from the root and the subviewport texture fails to create one correctly as assigned.

The enemies were originally very aggressive, at the last minute in a sleep deprived whirlwind I added two randomly timed timers to make them loiter. The waiting added a lot of character and made the game much easier, though I’m still not sure exactly how the code works, it certainly can be simplified.

Screenshots


I am really happy with what we made! Join game jams! Make friends! Wooo!

2 Likes

Nice game! Good for 2 players, I will play it with my friend-like brother when he will come. Otherwise I think you can make it more stylish in graphics.

I not tried the game because I not have any controller, but I will try in the next week.

Yes, it is great to make friends by doing a game jam. But actually I like to program all by myself. Just the blender is like a nightmare for me, so I invite members to create art, sounds, etc for my game.

I am glad to see you have created many games for Steam. I just spent 2 yrs learning Godot now I am finally making a big game with a team for Steam.

Keep it up!

1 Like

Most certainly! Level design and environment assets were not our strong suit; we downloaded available assets from sketchfab I think? I prefer OpenGameArt since it’s usually game-ready assets with easy to use licenses, but we have a lot of clashing art in the level.

We also accidentally downloaded a lidar-scan of an arch (the white ones in the screenshots), this was billions of polygons but Godot must’ve LOD it to a reasonable amount cause we only noticed the file size! I reduced it in blender to about two thousand polygons.

I’m so glad to hear adventures on steam! I’ve seen you around plenty, and love how your body cam game is looking! Push it to the limits!!

1 Like

Singleplayer mode has been added! A CPU partner was fun to program, basically follows a path tracking the player’s progress; attacks nearby enemies.

1 Like

But can you make it keyboard support?

It has keyboard and mouse support, kind of secret, not mentioned in the character select screen (or anywhere else); if you press a key instead of a controller button it will play.

1 Like