Posted January 30, 2023 by cagibidev
The other week, the Godot Wild Jam #53 happened!
There were a lot more games than on my 1st Godot Wild Jam. Instead of 20-something games, there were 178 of them! And the results for Uproar were pretty good too!
Originality #2 (very very high score, I've probably stumbled on the right idea at the right time, I guess I have to continue it now)
Overall #3 (yay, bronze medal!)
Controls #4 (surprisingly well received, I had a lot of problems on that mini-game and other inputs)
Audio #5 (also surprising, considering the soundfont weight limitations)
Fun #8 (yay)
Accessibility #9 (the only problem was font readability, for some players)
Graphics #9 (impressive for a four-color theme!)
Theme #18 (it was "Assembly required", "Assembly" fits, though "required" less so)
The OST is on youtube now! https://www.youtube.com/watch?v=KutFH_xZS60
There's also a bonus track near the end (a remix of the heated debate track). Very satisfying if you're tired of those low-bit instruments (which I am, after one week working with them).
Many of you did compare the game to an Ace Attorney episode. I wasn't sure how to do a parliament game, and the closest game series I played was this one, and its courtroom antics. (Also Danganronpa was mentioned, but I didn't play it). I mostly imitated two things from AA:
- The musical structure: opening theme, low-energy debate, low-energy objection, suspense/truth theme, high-energy debate, pursuit/high-energy objection. Tying one music to one emotional milestone helps a lot towards building narration. The only missing music is a lobby theme, but I don't need it, for this chapter at least.
- The entire closing argument gameplay. In some of the latest games, you could hear the jurors and compare their statements. Because of its many-people-no-evidence structure, shoving it into a parliament game made a lot of sense.
There are a lot of things that only apply to courts. Due to the lack of an evidence record, there's no connection between point-and-click investigations and debates in Uproar for now (maybe that could change?). At least, Ms. Aphid's story served as a defending case of sorts.
Some players really liked the dynamic palette, so there is the code (GDScript) and shader (GLSL).
In a Globals singleton:
var palette: Gradient = preload("res://effects/palette_gradient.tres") var heat := 0.0 setget set_heat func set_heat(new_heat: float): heat = new_heat palette.colors[0].h = 0.6 + heat / 300.0 palette.colors[1].h = 0.2 - heat / 1500.0
You need to cover the whole screen with a rectangle with the following shader. It's simple because it only works with grayscale graphics.
shader_type canvas_item; uniform sampler2D gradient; void fragment() { lowp float lum = texture(SCREEN_TEXTURE, SCREEN_UV).r; COLOR = texture(gradient, vec2(lum, 0)); }
And a texture parameter ("palette_gradient.tres"), which is a two-color gradient. I used #0e2d5c and #e6ff82, but this is a personal preference.
I am currently porting the game to Android!
That, with the Forminister boss, will make a somewhat complete chapter. I already published another game on the Play Store (Warhead Stroll), though it was completely free. Maybe Uproar will cost 1 USD if it looks good enough? Who knows.
Happy heated debating, and see you on the next one!