Cosmic Chaos

A 2D space shooter with a twist

This was made in a rush (it's also my first jam), I spent several hours on this and wish I could've spent longer.

The ships follow the cursor, and left click fires bullets.
Clones can be used as a shield from enemy bullets, or as a way of increasing firepower, although clones do less damage per shot compared to the original ship.

It (theoretically) gets pretty chaotic with loads of clones. Ships + Chaos = 2 themes out of 3

You ship's core is unstable, and frequently duplicates itself, dividing its health between itself and the clones. If your original ship (with yellow markings) dies, it's game over!

The executable was created after the Jam, but it is the same game, with no changes to gameplay etc (except more points are awarded per kill).

The post-AKJ version, which is currently being improved can be found here

Voting results

This game entered in the Solo competition (24 entries).

Comments (10)

 • 6 months ago • 

For a start game works quite well! Challeging how you have no clue how the clones move but it makes it worthwile when somehow they go where you want them to.

 • 6 months ago • 

I allways get really annoyed at how the clones move and how I am constantly dying, however this keeps me playing. I allways want to play just one more time to beat my high score. Overall I really enjoyed this great game!

 • 6 months ago • 

A simple and nice game.
A good advice would be making the enemies move in a simple pattern. It would make easy to shoot them without taking damage.

 • 6 months ago • 

An interesting concept with the self-cloning ship, it certainly helped filling the screen with a chaos of bullets :) As well as having them double as both extra firepower and shielding.

A few comments:

  • It seemed that the clones sometimes blocked movement, so that the main ship could not follow the mouse cursor - at some point I got stuck at the bottom of the screen for a while.
  • As katuiche mentioned, having the enemies move in a pattern would make the fighting more varied.
 • 6 months ago • edited • 

The executable version is only for Windows, so on Linux I'm trying to run from source. But what version of Python and PyGame do I need?

  • 6 months ago • 

@thomastc I built and tested it using python 3.8 and pygame 2, although it should work with pygame 1.8. It may even work with earlier versions of both python and pygame, but no guarantees :)

 • 6 months ago • 

As I'm on Arch Linux, it's usually later versions I'm worried about ;)

$ python --version
Python 3.8.5
$ python
pygame 1.9.6
Hello from the pygame community.
... I click Play ...
Traceback (most recent call last):
  File "", line 13, in <module>
  File "/tmp/cos/scripts/main/", line 6, in main
  File "/tmp/cos/scripts/main/", line 80, in run
  File "/tmp/cos/scripts/main/", line 105, in handle_logic
  File "/tmp/cos/scripts/game/", line 245, in logic
  File "/tmp/cos/scripts/vfx/", line 78, in logic
    draw_circle(self.copySurface, self.GREEN, self.circlePos, (self.timer**6)*self.surface.get_width())
TypeError: integer argument expected, got float

Edit: fixed by replacing that line by:

            draw_circle(self.copySurface, self.GREEN, list(map(int, self.circlePos)), int((self.timer**6)*self.surface.get_width()))

Now the game starts, but sprites drawn are never erased. Any idea where I could add a clear call and what that should look like?

  • 6 months ago • edited • 

@thomastc Other people seem to be having this issue, I think pygame 2 doesn't mind floats which is why I never had that problem. I will try and fix this, but for now if nothing else works then try using pygame 2.

 • 6 months ago • 

I feel like the idea has great potential to be mechanically interesting, but the hitboxes on the ships made things a bit frustrating to work with. When new ships would spawn in, it would cause my ship to teleport (sometimes into danger).

I have 2 major suggestions. First, it'd be nice if the clone behavior were changed so that they followed you in more of a line-like pattern without hitboxes so that you could make a shield in front and quickly get behind. Second, it'd be nice if the enemies had different firing patterns in terms of angles, numbers of shots, and spacing between shots.

While the execution of the idea could use some work, I definitely enjoyed how the concept made me think about the game in a way that's unlike anything else I've played.

  • 6 months ago • 

@DaFluffyPotato Yes, I found that the clones often blocked the player from moving, and sometimes jumped around unpredictably (probably due to the way I was handling collisions while still trying to move all clones to the mouse pointer). I have somewhat fixed this issue in my post-jam version (, so that the clones now form a line along the screen, but still move to the mouse's y coordinate. I have also made the enemies move more unpredictably, but I definitely think they need more work. Thanks for your suggestion for different firing patterns, number of shots etc, I'll try and implement that in the post-jam version (I'm thinking of adding more enemy types too, so maybe different firing patterns could relate to different enemies…?)

If, after viewing the pos-jam version, you have any more suggestions on clone movement, I would greatly appreciate feedback.

Login to comment

Links link