Day 05: Plan is complete.
I still havent done any real work, but right now plan is basically complete in my head. only one thing missing there anymore.
I am taking approach from, hmm.. I wonder was it BurnerKnight who used this term in one previous speedgame of "Minimum Viable Product". Well, I dont think that term suits completely in this case, because I am more of aiming at minimum product that is good enough for speedgame release.
Minimum version is following:
Map is tile based.
Robots can attack buildings, weapons, humans.
Robot AI works with idea that it checks closest targets, and then randomly picks one of them. Closest as in plural meaning, since I mean to calculate the distance in squares, hence it is likely there will be several targets to choose from in same distance, which actually makes it seems like slight more random and intelligent, when it is actually the opposite of intelligence.
As example take this character explanation:
B . . . .
B . . . .
B. R . B
B . . . B
. B . B .
R is robot, B is building.
each dot surrounding robot is distance 1.
Next dots and Bs are all of distance 2.
For this reason, Robot could choose to attack any of those Bs as due to this square counting way, all are of same distance.
The human minimum AI is basically pretty much Pacman Ghost AI.
Whenever Human comes to a junction, it will randomly choose one of the directions, except for the direction it came from. If they happen to hit the safe zone (possibly out of screen), then they disappear and are saved from robots.
Only thing left here is to think about the defensive weapons, that how do they target robots and what kind are they.
If there is time, then I start making following changes:
Human AI:
Humans will know the route out of time and choose their direction based upon that. Humans would also be able to see if Robots are ahead of them attacking, if they see robots ahead, they turn around the opposite way. If all ways are blocked by robots, then they would choose the direction furthest from robots. Some Humans would also be inside a house. Inside house there would be 50/50 chance that humans stay inside house, or get out and try to flee the map. Also, all humans would start from walking state. When they see robots or other running people or something similar, that is when they would start running. That would also give chance for things like alert sounds, that when robots cross some certain guard, there would come alert sound, and people close enough to alert sound would react and start running out of screen.
Robot control: In addition to just basic possibilities, I am thinking of being able to pick options like if Robots should be faster or more cautious, three options there. Cautious, Fast, and half-way. When being cautious, this would give them some sort of defence system, that if they are under fire from something, then they would survive for longer under fire. This would make player decide if he kills more people by losing more robots, or he saves more robots for next level by playing more cautious. Also, I am thinking of "shoot anything" option, which makes no difference between humans, buildings and weapons.
And naturally the weapons that defend cities and attack robots. This is part I dont have clear thoughts on yet, as I have been thinking how should this be done. One thought I was thinking is that there should be trap locations in cities, that some humans are hiding in building with rocket launchers and when Robots come close, they suddenly come out seeable and start shooting. Some humans could actually be even baits for these, that instead of trying to get out of city, they would try to get robots to come to these traps.
Anyway, I have been thinking of fixing other things in place first, since these weapons are probably easier to figure out and set in place, after I know how much AI humans and Robots have. For example, no point in making a weapon where idea is you have to play with fast-caution idea, if there is no fast-caution in controls.
Levels will be maybe 8 levels and they will go complete level 1 get to level 2. Minimum version is this.
Aim is that still go like a train, but surviving robots get to next level, and some more robots come too for next level. Then you could play previous levels again in hopes of being able to save more robots for other levels. In addition, I am also thinking that you get XP based upon how many kills you get. When you have enough XP, you can level robots up. Maybe with options like "more powerful weapons", "better accuracy", "faster", "+10 robots".
Graphics wise the minimum I am going to use is by using two different colored rectangles, maybe yellow for robots and light green for people. My hope would be to change people into different colored balls, depending upon how many people are inside that ball, and even sizes could be different, and robots I would like to have some sort of actual robot animation for them. Weapons I havent thought about yet, maybe red rectangles or something.
Basically thats it. Now if I just get on to making it actually.
Oh, and that reminds me. I came to conclusion that Hollywood languages basic options might not offer enough power to make possibly hundreds of rectangles moving around screen at same time, hence I am also going to take my first steps into trying out one of Hollywood Plugins, either RebelSDL, or GL Galore (Open GL) to do the job. Good it is so flexible as to offer these plug in options, just have never used these, so I wonder how much extra difficulty and time these will make me having to learn them from beginning.