Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
the title got cut off by the website, it's supposed to say Aether, a high-performance "bullet hell" shoot-and-run in JS
And for my next trick...

I present to you, Aether!

wikipedia wrote:
A new type of shoot 'em up emerged in the early 1990s: variously termed "bullet hell", "manic shooters", "maniac shooters" and danmaku (弾幕, "barrage"), these games required the player to dodge overwhelming numbers of enemy projectiles and called for still more consistent reactions from players. Bullet hell games arose from the need for 2D shoot 'em up developers to compete with the emerging popularity of 3D games: huge numbers of missiles on screen were intended to impress players

Aether will have lots of projectiles, with at least 100 on screen at any given time. Don't worry about your computer, it's been stress tested with bullet counts well into the thousands and will be endlessly optimized as development goes on.

Currently, the game has collision detection between bullets and players/enemies, bosses (that don't spawn naturally yet, only the initial boss for testing is on there now), shooting, movement, and three different patterns that the bosses can fire in. The bosses will spray bullets everywhere, while the normal enemies will still spray bullets everywhere, just have less health and do less aesthetically pleasing patterns.

I hope to add the ability for users to create their own boss shooting patterns, I even have a little language for creating them all sketched out, and a compiler (into JS) for it created in python. I just need to add the interface for this, which will come in a later update.

Use WASD or arrow keys to move and spacebar to shoot.

Edit, I may as well share this early collision detection test with a bunch of projectiles.

I worked on this project a bit more today.

I added seeking bullets that explode after a timer and a little microseconds-per-frame counter. Depending on your system and browser settings it might not be perfect, but it's pretty good.

I also added a second boss to the screen just to show how intense it could get- this isn't even close to the amount of bullets that will be on screen at the end.

I'm not even close to done optimizing collision detection (heck, it's not even started) but I plan to do that soon.

Just as a bonus tidbit, you can open the console to check if you are going under the 30fps lower limit and to see if you were hit/hit the enemy.
For what its worth I'm getting an excessively variable frame rate from this.

Between like 40 and 120, depending on what phase its on
The large bullet phase has me stuck at 60 but the bunch of tiny ones gets me over 100fps Or something like that? Its weird.
Yeah, this doesn't surprise me- if you look at the code you will find it very unoptimized as far as algorithms go- the collision detection suffers from lots of bad code in particular. For example, I collision-check every bullet, but I only need to check bullets near the player, which is a lot faster.
I think I found a bug: if you kill a boss while it is still shooting, it shoots even after it is gone.

P.S. Great game so far Very Happy
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are GMT - 5 Hours
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum