AI Overlord Runaway

AI Overlord Runaway

This game is from ldjam.com, which is currently unavailable.
You can try viewing the original page on Web Archive (may not load correctly).
overall: 3.60
fun: 3.65
innovation: 3.33
theme: 3.54
graphics: 3.46
audio: 3.74
humor: 2.25
mood: 3.29

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.
Found a bug?
Tell us on Discord