plexsoup / gwj53 Goto Github PK
View Code? Open in Web Editor NEWGodot Wild Jam 53
License: MIT License
Godot Wild Jam 53
License: MIT License
The scene StreetBattle01.tscn doesn't end after the player has killed all the mechs.
Verify fidelity and performance 1024x1024 environment art test asset rendered in engine.
after player gets hit, they should have a moment to recover, where they don't keep taking damage. (Normally called iframes).
Translate weapon art from cards into parts that appear on/attached to the mech.
Beam, AoE, Projectile?
Laser, missiles, auto-cannon?
NavigationServer2D, NavPolygonInstance with cutouts for obstacles so entities can pathfind around them
add shake_and_flash property in Global.
Add checks to all particles and knock back effects and camera shake.
(good for epilepsy and slow computers)
After defeating all enemies, you can still die to any remaining projectiles on screen, sending you to the junkyard.
Expected result
Player victory
Actual result
Player loses
Player impact
It can be frustrating to lose due to unfortunate positioning. Especially so when the player is locked in place after defeating the final mech.
If a player loses a match, they go to the junkyard before the mechBuilder.
If they win a match, they should go to a dialog screen.
Set up the Dialogic screen so designers can implement the dialog tree.
It's easy for players to mess up their keybindings.
Make a restore default button.
Tracked by https://docs.google.com/presentation/d/1Jb92QlMrf8zeSP-lPKnFi0Qnvu1gNCSONkcWnr_ncO0/edit#slide=id.p
The gameplay transitions between two stages, starting with the mech builder, and moving to the mech battler.
The player is induced to build a mech in the mech builder stage. They do this by spending scrap on cards which provide the player parts. The player attaches these parts to their mech and the do battle with it.
The battle phase is still in the design phase and is expected to be roughly 60-70% of the gameplay.
Verify fidelity and performance for 256x256 and 512x512 module art test assets rendered in engine.
What's the reward for completing a battle?
How, Where does that appear?
Must pass new parts to mech builder scene / parts inventory
How do we git hitboxes to line up with visuals?
Should each part have it's own hitbox?
levels are quite large. Player can find themselves without obvious enemies.
Need arrow pointing to remaining enemies or minimap.
Fix EnergyShield.tscn, which is linked to Head.tres.
It's butt ugly now.
Bosses will occupy mechs that the player discarded, or built previously, or something.
The AI needs to be able to operate the same mechs that the player might have used.
In addition to shotgun, missile, and laser, create 2 new weapon types.
In addition to Ice Ice Baby, create 1 new ability type.
make a shotgun that fires 3 projectiles instead of using an area2D for hit detection.
In no order of priority
basic missile projectiles only work with the line_of_sight flag enabled.
When line_of_sight is false, they should travel to the known cursor location, then explode, without harming anything on the way toward the destination.
lasers are super wide now, but they look weirdly stubby as a result. Make them much longer and reduce damage to compensate for game balance impact.
most games turn you into a ghost during iFrames.
parts collection
mech building
shootemup
rewards
upgrades / scavenging --> feeds back into parts
possible interactions with customers, but probably not
Generic spawners spawn waves of enemies. Once the waves are gone, the round should end.
Win condition monitor could count enemies killed, or it could be a time limit.
Something needs to end the scene, present a reward and return to the mech hangar for rebuilding.
Seems like mechs are waiting for their decisions timers, but it looks weird having them just stand there doing nothing.
Right now, weapon aim seeks Global.player_cursor.
It should seek mech/InputController/Cursor
Add a targeting cursor to enemy mechs (eg: ChaseMech02.tscn)
For accessibility, some people will need click-to-move instead of wasd.
(presumably along with auto-targeting)
Basic player controller, 8 way movement, shooting, lookahead camera.
Look at the pathfinding code,
look at the nav polygon,
look at their collision shapes.
Last resort, give them random back-up behaviour if they're immobile for too long.
Maybe give them a raycast and have them turn away from terrain.
James pointed out that guns all fire more or less simultaneously.
It might be more satisfying if they're staggered.
Add offsets to the initial load time, or give them random deviation so they drift over time.
move the code for movement into entity instead of legs.
Legs can provide get_velocity() instead of executing move_and_slide().
entity can add up all the velocities and apply some diminishing returns multiplier.
Add a button to settings to disable particle effects.
Many particle effects are currently hidden inside AnimationPlayer animations.
Track them down and set/unset them in code.
Player uses [parts] to build [mech] of their dreams.
2 levels for local battles with mooks and thugs
1 boss battle
--- MVP cutoff after this line is optional ---
additional levels as required / time permitting
Generate game SFX at https://sfxr.me/ for:
To-do:
Crowd noises (new ask)
crowd noises would really spruce up the battle scene. could we get the following noises?
pathfinder towards player, avoid peers, shoot at player, get hit, die
After winning the third match, we should have a win-game screen.
Setup a stub for dialogic.
Disable mech input while zoomed out, only spawn the mech in (or even just unhide) after zoom in.
To meet accessibility guidelines, we need to implement auto-targeting for some players.
Therefore, we should add an autotargetting toggle somewhere in the settings menu.
enabled: an AI cursor/mouse will automatically seek nearest enemy.
Right now, AI goes toward player. (PathfindToPlayer.tscn)
The design doc calls for 1v1v1 Battle-Royale style last man standing arena battles.
That means AI mechs need to be able to target each other.
Cards are broken up into following categories:
Whenever the player is delt a new hand of cards, they are guaranteed at least one card of each category.
Cards also posses other features:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.