AI Overlord Runaway by Agecaf
README Quick Instructions
Main menu wall-text is just the story context
Press P at any time to Pause. This also gives you info on the controls and what does each power do.
Powers on the right are selected by clicking on the names, or with the number keys. They can be exchanged for power (battery icon) or for 1/2 armor (half-star icon).
WASD to move, J to focus, K to use power. Alternative controls are available in Pause menu.
Armor are the stars in the bottom. Power (Energy) the blue bar in the bottom. You lose when you run out of power, having no armor makes you lose power very fast.
Refresh (F5) to Restart. I forgot to give back powers when restarting normally :(
Good luck! Sorry it's a bit complex : /
Using Powers

Exchanging Powers (Abilities) for Armor, Power (Energy)

Hello
This is my third Ludum Dare, but it's been a while since my last time (LD 29, LD 30). I hadn't found the time with Uni.
This game is basically a test of fire for an idea I have, project "hope", which is about making bullet-hell where the game knows every bullet's position at all times from (essentially) the very beginning. This allows for some funky stuff -- mostly time shenanigans.
Links
Game HTML5 https://agecaf.github.io/ai-runaway/index.html
Source https://github.com/Agecaf/ai-runaway
Code Base https://github.com/Agecaf/studious-happiness
About the Game
You are an AI Overlord who decides to run away from (your position of) power. Alas, your processing power is so huge that the star drone you're escaping in is rapidly running out of power. Especially if you use your powers or lose your armor.
You can always exchange your powers for power or armor... But if you run out of powers, only fate knows what'll happen.
But what are your powers, you ask? Hmm, nothing special, just things simple like going back in time, detaching yourself from this plane of reality, warping the nature of space, and, probably the best in your arsenal, moving a bit faster.
Power Showcase
Want to see how the powers look like? Or do you want to see how "Lunatic" is not so lunatic with the right choice of powers?
https://www.youtube.com/watch?v=TlMHpF_jk4c&t=7s
It is really when you're using powers that the theme of this ludum dare comes in.
Easy Mode Showcase
Want to see how you can do Easy mode, even without powers?
https://www.youtube.com/watch?v=yJWmDr40pL4&t=3s
External Resources Used
I used my code base for project "hope" in html5 (https://github.com/Agecaf/studious-happiness). This contained the basic notions of poses (points with rotation and time), movements and bullets. None of the code from the demos was used, though one of the demos was used as inspiration for one of the boss' patterns.
I'm using font-awesome (http://fontawesome.io) for the icons (stars, battery) (They don't have a half-heart for some reason, which prompted the creation of our star drone).
I'm also using the Days One and the Nunito fonts (https://fonts.google.com/specimen/Days+One , https://fonts.google.com/specimen/Nunito).
Internal Resources Created for the Game
- All the art (using Inkscape and abusing the "create stars and polygons" tool)
- The music [Using sunvox + kiarchive samples. I wanted to add a boss song and sfx but ran out of time :'( ]
- All the damn level design. It was much more work than I expected. 600 lines of grambled code.
- All of the layout, except the canvas (taken from the codebase).
I also extended the codebase with a couple of useful or important functions, most notably compoundBezier and updateAtTime. They'll be added to the codebase eventually.
Inspiration
The game itself is clearly inspired by the Touhou Project, most notably by Impossible Spellcard for it's use of powers. Some of the powers are inspired by that game (Leave Ghost <-> Doll, Fast Forward <-> Cape, Warp Edges <-> Umbrella).
Though I'm not a big sonic fan, I have fond memories of my cousin playing Sonic Heroes. The music is inspired by City Escape. I started trying to play something like it, and then changed it until I had a melody I was happy with. It was appropriately named "Night Escape".
About Project Hope
I've been toying with functional programming, and wanted to make bullet-hell games with functional ideas. This basically means that each bullet is really an object that already knows its position at all time.
I then abstracted the idea that bullets are "things that have to be rendered" and "things that can hit you". So are bullet groups. So is the background (just that it never hits you). So is the text. Everything's a bullet!
So project "hope" is about composing building blocks to create "functional" bullets.
This has some benefits such as
- It is really easy to make time shenanigans. Almost as simple as
t -= dt; - It is easy to reason about your patterns ("It's bullet range with N bullets which are this sprite with linear movement...")
But also some drawbacks such as
- It is much harder to do time-step things such as player-centered gravity.
- It is much harder to do "bombs", i.e. selecting bullets by area and removing them. This also holds for "killing enemies".
Project "hope" has had three iterations, the first in Scala with libgdx, the second in javascript with HTML5, and the third (work in progress) in Lua with LÖVE.
I'm favoring the Lua version since I wanted to make it "moddable" (i.e. just pop in a file and get a level, possibly with the whole game changed), and Scala just has a horrible compile time, whereas in lua it's a breeze.
Scala's syntax and typechecks are just beautiful, so I might rework the Scala project to make it only for non-moddable games.
The HTML5 version is there mainly so that I have an online demo. It desperately needs changes to help with typechecks etc.
| HTML5 (web) | https://agecaf.github.io/ai-runaway/index.html |
| Original URL | https://ldjam.com/events/ludum-dare/39/ai-overlord-runaway |
Ratings
| Overall | 166th | 3.605⭐ | 45🧑⚖️ |
| Fun | 109th | 3.651⭐ | 45🧑⚖️ |
| Innovation | 234th | 3.326⭐ | 45🧑⚖️ |
| Theme | 319th | 3.535⭐ | 45🧑⚖️ |
| Graphics | 255th | 3.465⭐ | 45🧑⚖️ |
| Audio | 52th | 3.744⭐ | 45🧑⚖️ |
| Humor | 337th | 2.25⭐ | 38🧑⚖️ |
| Mood | 197th | 3.293⭐ | 43🧑⚖️ |
| Given | 43🗳️ | 63🗨️ |
From what I understand, you're trying to make an engine for bullet hell games? Sounds rad, hope you get to something easy to use for the average joe :)
The game itself: There's almost no feedback on gameplay - It's hard to tell when the ship's been hit, and that's really important to know. The three hearts in the corner of the screen isn't enough.
The whole interface to the right doesn't make sense, there's a list of names, you can click them to... turn them off? Then they have batterie things next to them, you click them to... use it? But then you have to still press keys? Not sure how it all works. It needs to be much, much clearer, and probably simpler, like click to deploy power. I'm not a fan of mixing control schemas (obviously the common FPS is the exception), but it seems like it might work here.
This game would've benefited greatly from a tutorial, but there was not much time for that... Instead the textwalls had to come. I certainly turned up the complexity a bit too far this time too, I'll keep this in mind for next time.
As for the engine, I too hope it gets easier to use, it certainly isn't at the moment : ( Especially when it comes to error messages, that could've increased my productivity by a lot.
Edit: I've added some gifs on the description. Could anyone tell me if they found them useful/confusing?
Some sound/other feed back on taking a hit would have been nice. Took a while to figure out that the energy bar was going down.
The powers were a nice touch (reverse time was easily my favourite), and the story was pretty interesting and unique, even though I never got to end. The best part of the game has to be the music though -- it's rare to see music of that quality in a decent Ludum Dare compo game. Good job!
Overall, my only suggestion for improvement would be clearer instructions on some of the more complicated gameplay mechanics. Keep up the good work, and I hope to see a project from you next Ludum Dare! :)
Many of the harder patterns are a breeze with, for example, Leave Ghost (Cause bullets no longer target you), which is much more power efficient, so you might want to consider which power up to use at each time : )
I enjoyed my plays, but if all the information was ordered and well executed (as a game design feature) this would be much better. Just ask yourselfs what are the mechanics that ths game NEEDS better than add a lot of options that hide the real good ones. Nice graphics and details. Good work!
There is a lot of great content here, especially all of the different abilities you have. The delivery of said content is a bit overwhelming though. You have so many different abilities but deploying them accurately is difficult because you're so focused on avoiding the bullets (I found the game difficult which didn't help). This meant that I just traded most of them for shields when I was trying to reach the end because I knew I wouldn't utilise them all. Perhaps drip-feeding the abilities to the player over a series of levels, then letting them equip 2 or 3 at once only, would make them more manageable for the player. Also, I'm still not sure what the focus key did, it didn't seem to restore my power, it just made me move slower; whatever it does, it could be made more obvious.
This does feel more like a tech demo than a focused game experience, though it does succeed as a tech demo; I'd like to see the content you have repackaged as a game. Nice music too.
I see the the previous reviews mentioned quite a fair bit, so i try not to repeat anything they say.
The music was surprisingly similar Touhou music and was really good overall, one minor nitpick I have about the music is that there isn't more/ another separate one for bosses and the current one is easily forgettable.
The powers were pretty unique for a bullethell game, but made the game have too many buttons and too easy on lunatic mode. Perhaps make the powers cycle-ble with 2 buttons.
The art was great, though the bosses could have more oomph.
I also found that switching between power in the heat of dodging bullet is quite hard and I tend to just stick with one power instead. Maybe allow player to pause the game which switching power would add more strategic element to it? but it might ruin the intensity of the bullet hell.
Overall, very nice game. Well done!
While initially confusing, once I got the hang of it switching powers became a breeze. Conserve energy, switch to slowmo, back to eco, then a few seconds of time stop, now leave a ghost... Brilliant stuff! I'm not a fan of the "super powers", but hey you can sacrifice them later. If only there was a hotkey for sacrificing too.
Here's an idea for that. You can set a priority number for each power. When you press H it will sacrifice the lowest priority power. Maybe even do it automatically if you run out of energy?
Challenging (and as such fun!). I didn't quite manage the normal boss yet, but I will keep trying. And you keep working on this; it is an interesting project.
One thing, you have added to many powers, 2 or 3 would suffice.
Excellent technical notes as well, super impressive for 24 hours!!!!
I loved the various powers. It was really interesting to see how they were all based on dodging elements, rather than defeating enemies. While I was intrigued by my abilities, I also found myself not using that many of the powers in a single playthrough, not only because of the power limitation, but also because there were just so many that it was hard to keep track of them all. Still, that just got me to replay several times so I could get a feel for them all.
The game is really great given the time restraints. There's a lot of potential to take this further. Although, if you would put this into different stages, it might be more ideal to introduce the powers in smaller groups per stage. Either way, I truly enjoyed playing this.
To be honest, as @Kodiqi found out, the game is pretty much a tech-demo-turned-game for an idea I've been playing with. At the cost of losing the ability to distinguish bullets individually (for damaging enemies, for example), you gain the power of messing with time almost trivially. I really wanted to showcase what was possible in the engine, which left the player with many powers to play with, but which couldn't be introduced at a tutorial-ish pace. In practice, I think you'd choose a character with a single power (or two), and you would unlock more characters as you play the game.
I think over this time I've gotten better at music and coding... But I forget about the basics of gamedev (I should have placed SFX...). I really ought to get back up to speed!
The weapon system was very interesting although I don't understand it the first time that I played. I may be wrong, but I guess that some powers are a little unbalanced. I beat Lunatic on second try (after played a little the Hard mode) only using the stop time power. I tried again only with Phantom Move and I only lose two lives. On other hand, I couldn't find a use to Fast Movement.
The life system make a little sense to me, since as far as I understand, exchange your power per energy was very more effective than per lifes.
The "Back to Main Menu" button needs a confirm dialog! I constantly mistake it with "unpause" button. I probably lost at least three games this way. I also get annoyed to do an F5 for reseting the game.
The graphics and music are good, but I missed the Sound Effects.