Ultimate Survival Lab by Reaperguy
So.. my first game jam and first game ever are just finished!
I'm very pleased with the result, even if there are still a lot of features I want to add and the graphics are pretty bad(made them in ten minutes in Photoshop).
Here is a quick recap of the game:
--You need to survive as long as possible avoiding spikes, rockets, and lasers. After ten lives, you die.
--The lab is always evolving: every ten seconds, something happens: gravity changes, obstacles get added etc.
Move with WASD and pause with ESCAPE.
Survive as long as you can and have fun!
I'm very pleased with the result, even if there are still a lot of features I want to add and the graphics are pretty bad(made them in ten minutes in Photoshop).
Here is a quick recap of the game:
--You need to survive as long as possible avoiding spikes, rockets, and lasers. After ten lives, you die.
--The lab is always evolving: every ten seconds, something happens: gravity changes, obstacles get added etc.
Move with WASD and pause with ESCAPE.
Survive as long as you can and have fun!
| Post-compo version | http://www.fastswf.com/NQ5um_U |
| Web Flash | http://www.fastswf.com/CCvAoz4 |
| Source Github | https://github.com/Reaper-guy/UltimateSurvivalLab |
| Original URL | https://ludumdare.com/compo/ludum-dare-27/?action=preview&uid=25597 |
Ratings
| Coolness | 100% | 1 |
| Overall | 3.14 | 471 |
| Audio | 3.14 | 225 |
| Fun | 3.24 | 314 |
| Graphics | 2.52 | 785 |
| Humor | 2.11 | 633 |
| Innovation | 3.04 | 503 |
| Mood | 2.63 | 630 |
| Theme | 3.07 | 656 |
But what does this have to do with the theme..?
The small icons represent what will happen next.
-@TeddyNashor
Good job ;)
Yeah that was planned, i will still work on it for five days dor the GiTD contest by adding upgrades, better graphics, more effects, etc. and after it's finished I will upload it on Kongregate
like every 10 seconds!
I did get stuck somehow on my first playthrough. I was near a corner when the gravity shifted. Then, somehow my guy disappeared. I think he may have been shifted into the wall somehow? Not sure.
But i see you put a lot of effort in it, so keep going!
Also I found a bug when the gravity changes from right to the default down. If you stand in the bottom corner you fall out of the map and can't be destroyed.
Online high scores would have been nice.
Hmm, somehow the player has disappeared with two lives left and the game is continuing...
Very good concept. For some reason the level/art/game reminded me a little bit of N (from metanet)
Two things that would make the game better in my opinion:
- Instant-death instead of 10 lives. Being hit carries not much meaning right now in the beginning.
- Interesting events that change the environment of the lab. Maybe I was just unlucky, but everything I got was more of the things that were already there: Spikes and Rockets.
That's a pretty great "first game ever"! Congratulations!
It felt like the difficulty was rising too slowly at the beginning. And there are often safe spots in the map where you can just hide until the next gravity switch/rocket that spawns right next to you. The gravity switches could be more frequent, as they require you to adapt your strategy, so that you can't do the same thing over and over again.
My theory is that somewhere in your code it is resetting Game.player.vy to zero on every update! So the next update will be using (0) - (.8) instead of (30) - (0.8) as vy!
Otherwise, it could be that "this.vy += this.gravity;" is not doing addition assignment but assignment only??
It's pretty clear what the problem is, but I just can't find it in your source code! This is so weird...
If you write some code to print out the player.vy at different places in your program for debugging, it might be possible to find where the problem is!
Inside player.as you have:
private var friction:Number = .8;
Then at the end of player.update():
this.vx *= friction;
this.vy *= friction;
Your friction is very high for player and will only restrict maximum downward velocity, but not upward velocity!
On the way up, you have:
vy = -30, (-30+0.8) *0.8, ((-30+0.8) *0.8)+0.8) * 0.8... so on until player is going downward
which is = 30, 23.36, 18.048...
But on the way down you have:
vy = (0 + 0.8) * 0.8, ((0 + 0.8) * 0.8) + 0.8) * 0.8... So on, but only until vy == 3.2
Because (3.2 + 0.8) * 0.8 == 3.2 !!
Your vy downward can never exceed 3.2, but your vy upward is way higher than that, like 30, 23.36, 18.048...!
That's why you have a very fast jump upward, but very slow fall downward!
If you change the player's friction so that
0.8 / (1-friction) >= 30
which is:
friction >= 0.973333333...
Then your current code will produce a nice parabolic jump!
this.vx *= friction;
this.vy *= friction;
from player.update() altogether and just set your initial jump speed and your gravity to something lower.
Your jumps will look a lot more natural!
Thanks, man! That was indeed what was wrong. Didn't even notice that the jump was odd after having played it so many times.
Well... you deserve at least a place in my credits(i added a map for them) and your games will be the first i will play in all next LD! Thanks again
(Impressive that you understood something about the source code, even I don't understand anything anymore)