An Experiment In Poor Design
WARNING: Product is not meant to be good.
I had some stupid ideas about how Godot's AnimationPlayer node was the most powerfully flexible tool in gamedev. My goal was to make a game in a day, using only AnimationPlayer for controlling everything. I don't think that's entirely possible, at least not for proper interactivity, so I also use Area2D.
The other idea was that a game did not need any external software to Godot. Not for graphics, not for music. Only Godot.
-All code relates to AnimationPlayer or Area2D, AnimationPlayer takes priority.
-The only other nodes that can be used are: [AudioStreamPlayer, Polygon2D, ColorRect, Label] I could have used Polygon2D for all ColorRect uses to make the list shorter but whatever.
-Only one small script to handle all game logic.
-Code relates: 100%
-Only the nodes: 100%
-One script: 50% I used a separate one for music.
-Small script: 66 lines with infinite expandability without more coding.
stacks of Polygon2D/ColorRect as far as the eye can see...
separate animations for horizontal and vertical movement
predetermined bullet paths
animated level scrolling
level animation autostarts so we check if its AnimationPlayer.is_playing() to determine level change. The next level to load is held in a label in the level scene because minimum script. Stupid way to do it? yes. Works? Also yes.
and reset position (also called when "bad" Area2D overlaps with "player" Area2D)
I mean, here's the whole code
add more scenes / animations and it becomes bigger with only this code.
And the sound is just the AudioGeneretor demo but with decay and random tones from a list (here they correspond to C,B,D,F,G) and since each octave up is twice as much as the previous, we can just multiply the whole thing to change the octave.
The whole thing is pretty terrible and not too efficient, but it meets the goals I set out. More than a day spent on it, maybe a designer who actually knows shmups, and it could like, be alright despite the stupid ways it was built with. Except it would still be grossly inefficient.
Leave a comment
Log in with itch.io to leave a comment.