So, for the fourth round of "The 20 Games Challenge," the options were Asteroids, Spacewar!, and Indy 500. I went with Spacewar because I already tried my hand at a not-so-great Asteroids clone a while back in a different engine, and Indy 500 just didn't grab me for some reason.

And here it is, fourth game down in this challenge! Seriously, if you're diving into game development I can't stress enough how awesome the challenge is. If you're stuck in tutorial hell or just spinning your wheels deciding what game to start with, check out the challenge page and jump in right now.

And if you haven't decided on which engine to use, give Godot a chance.

Back to Spacewar, once I got the basics down, I decided to extend it a bit more and experiment with some things I wanted to play with, such as having local multiplayer with more than two players, allowing customization of these players, along with a simple UI to facilitate it.

Try The 20 Games Challenge!


(!) torpedoes take a little time to arm, so they don't work at very close range

(!) Same-colored bots play on the same team


Controls:

  Movement; Shoot: 

Keyboard 1:  "A", "S", "D", "W";  "Spacebar"

Keyboard 2:  "Left", "Down", "Right" , "Up" Arrows; "Shift"

 Gamepad  "Left", "Down", "Right" , "Up" Axis; "X"

 "Escape" for in game pause menu

 * the "main", "options" and "pause" menus are mouse only


Goal:

  • Create two different ships. One player will control each ship. Ships can rotate and thrust. Thrusting will accelerate the ship “forward” in the direction that it is facing.
  • Add the ability for ships to fire torpedoes. The player ship will fire in the direction that it is facing. Torpedoes will disappear after a short while.
  • Enable collisions. If two players collide, both lose. If a torpedo hits a player, the other player wins. If two torpedoes collide, both are destroyed.
  • Enable screen wrapping. (Objects leaving the top of the screen should enter the bottom, for example)
  • Add a star at the center of the screen. Apply gravity (everything will slowly fall towards the star)
  • Add sound effects and particles!


Stretch Goal:

  • The original Spacewar! was multiplayer only, but feel free to add an AI opponent to face off against!
  • Alternatively, this might be a good time to try to make an online multiplayer game. (if that’s a skill that you intend to learn)



the Star and the Black Hole in the center, were made with the Pixel Planet Generator by Deep-Fold.

fonts by Nimble Beasts Collective

music: "Ossuary 7 - Resolve" Kevin MacLeod (incompetech.com)
Licensed under Creative Commons: By Attribution 4.0 License
http://creativecommons.org/licenses/by/4.0/


unfinished:

This time, I wanted to add keyboard control to the menus, but I'm kinda done messing with this poor game. Let's leave it for next time.

StatusReleased
PlatformsHTML5
Rating
Rated 4.0 out of 5 stars
(1 total ratings)
Authorcrowilly
GenreAction
Made withAudacity, Godot, Aseprite, GIMP
Tags2D, deathmatch, gamepad, Godot, Local multiplayer, Retro, Singleplayer, Space, Two Player
Average sessionA few minutes
LanguagesEnglish
InputsKeyboard, Gamepad (any)
AccessibilityHigh-contrast
MultiplayerLocal multiplayer
Player count1 - 4

Comments

Log in with itch.io to leave a comment.

Really fun implementation. Just want to keep playing. Good work

Well, thank you very much! I'm very happy.

Sounds and graphics are fun, but it feels very slow to rotate the ship, which is not. Gameplay is very chaotic, which I didn't really like with bots, but with tuned speed and some more chaotic elements I can see it being very fun with some friends

The rotation speed is now slightly higher, and I also added a bit to the acceleration. The bots were an added bonus in the development, surely not the best part. Anyway, as an additional feature, now bots of the same color play together.

I'll think about what could be added to sweeten the gameplay a bit. I really appreciate your feedback, thanks!

(1 edit)

Could you please change the control scheme for keyboard1? Pressing control+w closes the browser window

Done. Yes, that was silly. I didn't realize. Now it's the space bar for keyboard_1. I'm not sure if it's the most comfortable combination, but it's clearly better. Thank you!