Saturday, February 28, 2009

Plague 3.16

  • stopped another weapon drawing bug that allowed drawing on unseen used weapons
  • can only pickup one of each weapon type now (no point in being greedy for the current game feature set)
  • fixed bug where soldiers didnt know they had ammo
  • fixed bug where survivors didnt share weapons
  • fixed bug where guns couldnt be picked up after they had been dropped
  • transferred player weapons over to new maps (in a ugly way, but it was quick)


sean said...

Pretty good stuff all around. The harder levels are a nice touch and the fire runs a lot better. Around level 4, it will barely run over 5 fps with 400+ zombies stumbling around, but it sure is a kick throwing grenades into a pack of 50.

Did you make any changes to the level generation? It seems the rocks tend to form rooms and caves much more often now. Very nice stuff.

A few bugs I ran across:
- Guns don't always get transfered between levels. Sometimes they all make it, sometimes a handful of them will randomly disappear.

- Survivors sometimes path to a gun that (I think) they already have and will just stand there for the rest of the level.

I have a few new graphics that I'll upload sometime tonight or tomorrow, and I've been playing around with animations a bit so with any luck the survivors might have legs in the near future.

Benedict Carter said...

Hi Sean,

Yeah, I got up to level 5 (and that was when no guns transferred believe it or not!) and things were pretty slow. Quite fun though, just seeing how far I could go. What was your score?

I did change the level generation, there was a weird bug with the new NumPy generation (not that I'm complaining, its so nice and fast), I also like all the caves.

Will look into that gun transfer bug and AI gun pickup bug, thanks for that.

I'm so looking forward to the new graphics. Cheers!

Benedict Carter said...

Hi Sean,

If you want a quick fix for the gun pickup bug change line 362 or to

if item.sim_type in self.object.inv.list_types():

sean said...

Thanks for the fix, it seems work great. With the guns not getting transfered bug, I think they might be getting handed to another survivor. I've noticed that when it happens, once they (inevitably) die, they seem to drop all the guns I used to have. Also, my ammo very frequently doesn't get transfered, but grenades always do.

One time I noticed my ammo level counting down instead of up while I was standing on a gun pickup, but I had no luck reproducing it.

Yesterday I made it to level 5 or 6 with around 380,000 points before I had to leave. I don't think there's any way I could get past level 4 without the laser/chain gun/gauss rifle though.

sean said...

I put some animations together here.
There's a description of what's sort of going on in the zip. If it looks OK, I'll do up some new art for the survivors.

Anonymous said...

I can confirm sean's problem where other survivors take your guns. That happened to me in a game I was just playing. I spawned, and I was surrounded by survivors who took all my guns. I don't mind if they take some of my guns, but it annoys me when they take my best gun.

Also, I notice that the maximum number of zombies doesn't change unless all of the hives are destroyed. I suggest that the maximum number of zombies should be set like this: current_max_zombies = maximum_zombies * (current_number_of_hives/maximum_number_of_hives) That way, each destroyed hive takes away a portion of the maximum number of zombies, so that you don't always have to deal with a couple hives at the end of the level which are surrounded by zombies.

Other than that, the game's pretty fun now. It runs quickly, at least until there are hundreds of zombies and everything freezes up.

Benedict Carter said...

Hi Sean,

Cool, I'll go through that tonight after work.

Hi Anon,

I agree that is annoying. I'll add a drop current weapon key and make the player exempt from sharing.

Scaling the number of zombies to the number of hives is a good one. I'll put in the next release and we'll see how it play tests.

I also think I might decrease the number of zombie hives, or place them differently, so that start of levels (4+) arent so insane.

I've almost got "squads" working, so the next release should be pretty cool.

sean said...

It turns out the laser recharges while the game is paused, but for the time being, I'd say it makes up for the fact that none of the other guns are loaded or have much ammo to start the level. Limiting the max number of zombies to something around 400 to 500 helps the fps out a bit on level 4+. Once they form a solid carpet a few hundred more don't make as much of a difference.

Benedict Carter said...

Hi Sean,

Thanks for the test feedback, changed Plague for the next release.

Animations: They TOTALLY work for me. Looking forward to more artwork, everytime you add something Plague noticeably improves.

Not scaling the images is kinda fun. PlayerZilla crush puny zombies! :)

I'll fix up the scaling issues and the 50pixel issue - why did you have to make the image 50 pixels?

I'm going to move the anim code under Sim so that everything inherits from it.

sean said...


I did the testing on a 70x70 frame and just coppied some of the art over. 50x50 was what fit without any extra work so that's about the only reason I used it. It does give some more room to stretch out the legs, but if it's a lot easier to stick with 40 it's not a problem.

Benedict Carter said...

Hi Sean,

40 works better for me. I've built Plague to handle an arbitrary number of pixels per meter (40 in this case), but then I'd have to rescale all the other art.

I note that you make the images by stamping torso images onto the leg frames. Would it be better to have them separate so that legs can run right/left of torso while strafing? Also, if there are reloading/firing animations then stamping will lead to n*n images instead of n+n.

Of course the problem with this is that sims would then have multiple images to control. Thoughts?

sean said...

I'll make sure they're at 40 when I fix them up sometime this week.

The legs were stamped on for simplicity since there's only 2 layers. It'll probably make sense to separate them once there's more to work with (that's the way I originally wrote it anyway)

As for the legs turning, if they rotate more then ~30 degrees from the shoulders it starts to look weird. Generally, I feel like keeping them in-line gives enough illusion of movement for a minimum of CPU/developer time. Once everything else on the todo list is taken care of, I'll get the zombies to break-dance when they catch fire ;)

Would it be easier if future patches were done with bzr?

Benedict Carter said...

Hi Sean,

Cool. Yeah, I think legs in front are good - I was happy with no legs! I also think simplicity and speed of development are best and your current method gives great bang for buck.

I didnt have any probs with the changes you submitted - the change list you wrote made it easier to integrate for me than I've had with bzr and my own patches. (I probably dont know enough about bzr though).
So anyway you want I guess is my position - I can learn more about bzr.

小小彬 said...