Tuesday, September 8, 2009

Fort Zombie

Wooooo. Kerberos are making a zombie game that I want to play (which is what Plague will eventually be)


If you like Plague, it might be worth keeping an eye iout for Fort Zombie, I certainly will be waiting to give it a play.

Tuesday, August 25, 2009

Plague 3.39

Not much in the way of changes from 3.38 from a players perspective - I've just recoded some of the engine stuff - treat as a beta-ish release since all manner of bugs can crop up (although I think I've squished them all so far). Main reason for release is so the dll pack isnt needed.

Tuesday, August 18, 2009

Plague DLLs

I've just uploaded a 1Mb zip file of dlls for the windows version of plague. Unzip them into the same directory as the plague.exe. This fixes the missing "mixer" error message.

This seems to be caused by developing on Win7 - weird. It's kind of ugly having all the dlls there, so I will probably compile on winxp from now on (doesnt seem to be a quicker answer for sorting this out, but I'm happy to be proven incorrect).

Sunday, August 9, 2009

Plague 3.38

So I've just picked up Code Complete, and I'll be reading through that before working on Plague - see if I can learn some stuff to reduce the complexity in Plague to increase the speed of development.

I'll probably then refactor/recode large amounts of Plague with better coding practices which will mean no visible development for a while - hopefully there will be speed improvements though and the end product should be much easier to continue development on.

The plan is then to stop working on the "battle" simulations and get onto the strategic game layer. Adding features to the battles can resume once theres some more context for them.

I've also picked up a couple of AI programming books. Once I've worked through those I'll upgrade the AI infrastructure from a state machine.

As always, if anyone wants to work on this, feel free; either drop me a line in the comments or send me a gmail to benedictnz.

One thing that would be particularly good is a fast implementation of an A* like pathfinder - I've got one written in python, and its good (and since its written in python, easily modified) but with 10AI using it things get kinda slow.

The other issue thats been bothering me for a while is the simulation will "pause/lag" for a fraction of a second every couple of seconds when doing grunty calculations (eg: calculating partitions during the tech demo). I have no idea why. Does this happen to you? If so, do you know why? If so, can you provide advice or a fix? If it doesnt happen to you, can you let me know your system specs and OS?
  • Finally fixed annoying ammo bug (I think) - still some other bugs to do with removal of shrubs and rocks, but not worth worrying about right now.
  • Added smoke trail to Rocket Launcher.
  • Altered petrol dispersal from molotov grenade.
  • Updated "kill" method of Sim.check_boundary()
  • changed the way sim command destinations are updated (to decrease and distribute cpu cost)
  • corrected 2 errors in resources.py that led to incorrect images for memorised pistols and shotguns
  • improved manual map building functionality
  • rocks create smoke when destroyed



Monday, August 3, 2009

Plague 3.37

  • Fixed Bug: items could be dropped from inventory after they had been removed, leading to AI bugs where the AI would try to pick up the item (but it wasnt possible, so they'd become stuck). Similar bug (to do with blocks/hives/shrubs) may still be present... nasty bug!
  • Survivor AI: Will now turn and fight if pressed too hard by zombies
  • Ammo: Ammo generated as part of level recharges (eff. ammo crates)
  • Survivor AI: Will now not try to pick up ammo which is mostly empty
  • Rocket launcher now has a min_dist before explosion
  • Survivors now start all over the map
  • Floating point maths error with shadowing fixed (so shadowing always work properly now)
  • Tweaked flamethrower stats
  • Saved survivors now join your squad (max 4 for speed)
  • Improved demo to include survivors and zombies (battle but without the player)
Todo:
  • Need to reduce path finding updates (/or some other path finding speed optimisation)
  • continue removing stupid ammo and block bug (grrr)


Thursday, July 23, 2009

Plague 3.36

Well, Plague seems to be fairly stable, so heres another playable release. I wont get to work on it for the next week at all, so the next release will probably be two weeks away.

There is a desperate need for some better artwork for the Rocket Launcher (RT) and Flame Thrower (FT), both images and sounds. If anyone wants to help out (with that or anything else), please feel free.

Changes:
  • Flamethrower (oh so much fun)
  • city type level generation
  • random level type
  • level generation paramerisations randomly picked to increase level unpredictability
  • Changed collision checking to be event based (speed op)
  • Removed various bugs (sorry, cant remember, too tired)
Todo in the near future:
  • cave system type level generation
  • RL_bullet bug - sometimes explodes straight away as it collides with RL (need to add a min safety dist check)
  • tile based background
  • doors
  • add more survivors, less weapons and make them start at random locations
  • check shadowing algorithm for bugs (sim removal sometimes removes too much shadow)
  • human corpses
  • zombies drag corpses back to hives
  • refactor level generation as a state machine to control level generation outcomes

Sunday, July 19, 2009

Weekend update

I havent posted Plague 3.36 yet as I'm still working on randomising level generation. The new flamethrower is pretty fun and I've rewritten collision detection to be much faster. Should have a new release in a few more days (as I dont get much time per day to work on it).

Sunday, July 12, 2009

Plague 3.35

I didnt get as much as I wanted to do done today, due to unforseen events. That said, I:
  • Added end of level stats showing your cumulative kill count etc (I'll put in discrete kill count as well next time)
  • refactored: simobject rmeoval to remove a bug
  • refactored the cellular simulations for heat and shockwaves to take time as an input variable, and made them update at varibles rates (trading accuracy for greater speed)
  • increased sim sight radii - need to see further for explosions - Plague is probably too easy right now, dont worry, I've got something planned that you'll either love or hate :)
  • improved smoke art - it was uuuugly.
  • turned off pre-processing of line of sight by default (turn on in options if you want)
Stuff I didnt get done that I'll try for next weekend:
  • Flamethrower (now I've sped up the fire)
  • cave system type level generation
  • city type level generation
  • random level type
  • level generation paramerisations randomly picked to increase level unpredictability
  • add more survivors, less weapons and make them start at random locations

Tuesday, June 30, 2009

Plague 3.34 redux

I'm just uploading 3.34 again. I was mucking around with the smoke and opaque smoke costs a ridiculous amount of CPU time. I have therefore set smoke opacity to zero, and now Plague runs nice and fast - smoke is just eye candy now. Gutted. Anyway, if you get the source version you can put make opaque smoke (simdata.py line 1499).

Monday, June 29, 2009

Plague 3.34

It's been a long time since my last release! (I've been playing Gothic3. Sacred2, Prototype, Viking, Too Human in my weekends). That said, I think I'm through most of the games I want to play, so we should be back on track for regular development of plague.

Plague 3.34 changes:
  • Survivor AI now essentially event based where possible
  • Survivor squads added back in (use "V" to issue orders). It's not perfect, but it works good enough for this release.
  • I've added a Rocket Launcher (so much fun) - it needs decent art and sounds...
  • I've added smoke to explosions that is (poorly) physically modelled - yeah, it's really slow, but its kinda cool to look at and it obscures vision (I need to cleanup the collision code to become event based to help speed this up)
  • Survivors now dont bump "hard" into each other, and I'm reasonably satisfied with the friendly collisions now
  • Survivors dont get hurt by bullets, and they dont check their fire. This means you can shoot safely past friends, which is a major change. I basically got sick of trying to sort out formations not blocking your line of fire and decided this was an easy quick fix. I might change this back in the future once formations work well again
  • Loads of small code fixes/cleanups
  • I've changed the players avatar color to be easier to differentiate (I was finding it hard).


Monday, June 1, 2009

Plague 3.33

The survivor AI has had a comprehensive rewrite. Survivors now remember the state of the map and utilise this information while they prioritise actions, and they plan their journeys accordingly.

I have disabled survivor formations and orders for this release (I'm out of time this weekend). I'll add that back in the near future.

I'm not convinced the state machine I've designed is the best one possible (I'm fairly sure there's a couple more rewrites from me as I gain more experience/need more performance). If anyone has experience with writing state machines or planning state managers and wants to help out with designing and/or coding, I'd love to hear from you.

Sunday, May 24, 2009

Plague pathfinding

I added pathfinding to Plague last night (Eli Bendersky's python algorithm - thanks Eli), so survivors and zombies can be a whole lot smarter. It'll take a little while longer to re-engineer the AI to take advantage of that, and then I'll post a new release.

Sunday, May 10, 2009

Plague 3.32

  • Game mode system is now functional - allows the user to resume games (eg: after going back into the options menu). 
  • Improved survivor graphics from Sean Lange.

Friday, April 24, 2009

Plague 3.31 update

I fixed the mem leak, but I didnt add the cleanup code to the game, just the test environment (Whoops!). This release of 3.31 removes the major mem leaks from the battle scenario as well.

Thursday, April 23, 2009

Plague 3.31

  • Fixed mem leak
  • garbage collection debugging code added by Droid - thanks!

Sunday, April 12, 2009

Plague 3.30

  • Changed shadowing algorithm - removed artifacts, nice clean code
  • bugfix: shrubs now leave behind burnt shrubs when burnt - not sure when I broke this
  • bugfix: AI sims try to pick up guns (again)
  • bugfix: AI sims now switch weapons if they run out of ammo (again)
  • tidied for world.add_sim so that force is used where appropriate, and other checks removed
  • added a key (j) so you can see the new shadow maps - I think they are kinda cool  (and they were good for debugging) .

Saturday, April 11, 2009

Plague 3.29

This is a minor bug fix for the current shadowing algorithm to remove some pretty common artifacts. It would be possible (and easy) to make sure there are no artifacts by blindly recalculating everything from scratch whenever something changes, but thats computationally expensive, so I have tried to do something more selective but this can (and does) lead to artifacts. In doing this and accounting for all the weird and wonderful things that can go wrong I have learnt three things:
  1. The code is becoming ugly due to all the checks
  2. There are an arbitrary number of things that can go wrong, so there will ALWAYS be artifacts
  3. A fundamental re-design is required somewhere
I have decided on the redesign. I can change from using "sets" to "dicts" to store shadow info and this should lead to no artifacts (by adding shadow "depth" to each square instead of just seeing if it is in shadow). I will start coding that up now, but I thought I'd put up a minor fix to the current shadow algorithm.

One of the neat new things that shadow depth can do is differentiate between "completely visible" and "completely occluded", so Plague will be able to have things like smoke/bushes that gradually blocks LOS. Thats going to be pretty sweet. 

It's actually been really good having these artifacts since it never would have occured to me to come up with this new implementation if I hadnt had to tackle them, and Plague likely never would have gotten partial occlusion. I was chatting with Tom Forsyth a few months back and he asked me if Plague could have partial line of sight through shrubs, and I said it would probably lead to spaghetti code (which is what I have now anyway due to artifact removal) or a redesign (which I wasnt keen on since I had no idea how to redesign it better at that time) and so I stored that idea in the "too hard basket". It's funny how things work out. I'm also now wondering if my new "additive" shadow solution is fairly well known to the games industry... anyone know?
  • Changed the way the game checks for the addition and removal of shadows. 

Friday, April 10, 2009

Wednesday, April 8, 2009

Plague Line of Sight

So I was talking with a friend, Rowan, and he suggested that I store line of sight data on the grid instead of calculating it for sims. This is an obviously good idea so I've been spending my evenings coding that up. 

It's done now, and Plague is substantially faster than before - to put some numbers behind that, I used to get about 3fps with 400 sims, now I get 14fps.
The grid code has also been substantially tidied up which is nice because it used to be a bit convoluted. I'll be tidying up the remaining parts of the code tomorrow night. I'll upload v3.28 when thats done. 

After that I'll retackle the problem again seeing how much I can pre-calculate and store as a data file so that calaculations at runtime are minimised. I'll also add an option (in the options menu) to calculate map LOS during map startup - at the moment stuff is only calculated on an as needed basis, which is nice, but pre-calculating leads to the fastest Plague experience when you are playing. 

Friday, April 3, 2009

Plague 3.28

I've finished the new LOS algorithm based on squares as opposed to sims. Plague is faster now in general, and realtime calcs can be made pretty small by precalculating the majority of the level (as level geometry is relatively static in comparison to the number of movings sims). Theres also more options in the menu options and some other minor tweaks.
  • New LOS algorithm that is more speedy and much more flexible (bug reports welcome!)
  • Weapon recock bar now only shows for "manual" weapons.
  • Shotgun is now more like a double-barrelled shotgun to provide weapon differentiation.
  • You can now pick the screen resolution you want (yes, you can enter non-integer values...)
  • You can now pick the volume you want (only in the options menu though for now)
  • Shrubs now only partially block sight as opposed to rock which fully block sight.
  • Added an option in the options menu to pre-calc Line of Sight (takes some initial time, but Plague is fast after that).  
    1. A max sight radius of 15 takes 30 seconds on my computer, max sight radius of 30 takes 386 seconds (youch!). Theres still an ocassional slowdown, not sure why, help tracking this down would be appreciated. 
    2. I've just done a bunch more precalculation, now the LOS pre-calcs takes 74 seconds for a max sight radius of 15. Hmmm. The precalc time is kinda annoying now.
    3. Further improvements around precalculation to come like pre-calcing all combinations and storing results in a file. 
    4. Suggestions welcome!

Monday, March 30, 2009

Plague 3.27

Hi all,

Plague has gotten a bit easier with the last few releases. 
  1. Any ideas on what would make it more challenging for you, while retaining/improving the fun factor?
Changes:
  • Made plague harder by lowering threshold for more zombies, and scaling initial zombies to score
  • Feat: Added health, sprint and ammo bars
  • Feat: Replaced text for grenades with "g" so players (hopefully) know to use g to change grenade
  • Op: Added a frame counter so that UI text is updated every few frames
  • Fix: Changed laser to dump heat into cells instead of temp (more realistic)
  • Current values shown next to selected menu option
  • Editted menu option in green
  • Grenade UI text prettied up
  • Other code changes to menu/options to make the code more intuitive
  • Options menu now shows default values
  • Survivors now have many small health bars (instead of one big one). If a bar is partially filled, it recharges reasonably quickly. If it is completely depleted, it can only be replenished by a medkit. The GUI has been updated to reflect this.
  • Recock time for weapon is now shown in a white bar (good for sniper/gauss rifles).

Saturday, March 28, 2009

Plague 3.26

I've had a busy weekend of intensive car hunting (still ongoing), so I havent had much time to spend coding. 

Thankfully, Rene Dudfield has and now Plague runs noticeably faster than the previous already very snappy version! Sean has sourced a new font (MyUnderwood) so the previously more suitable but less than readable text has been replaced.

Other minor things: I've rejigged the weapon drop probabilities again (I thought I had previously done this)  so you get more fun guns to pick up, tweaked the formations again and fixed some bugs.


Wednesday, March 25, 2009

Plague 3.25

  • Op: AI code sped up by factor of approx 10* (thanks Sean).
  • Op: Control code sped up by being event based (thanks SanityImpaired)
  • Op: Simobject.py controls moved to controls.py
  • Op: onfire checking code now only applies to sims with AI.
  • Op: Timer code sped up by selective updating (thanks Sean).
  • Op: Timer code now uses sets
  • Op: Bullets the bounce too often are now killed (removes massive FPS drop spikes).
  • Op: LOS speed optimisation turned back on by default (leads to artifacts)
  • Starting zombies now a separate parameter to num_zombies
  • Made background color darker
  • Reduced sim sight radius (so that at full zoom in you see to edge of screen)
  • Allowed AI sims to share ammo
  • Changed all fonts to boston (thanks Sean)

No update tonight

I've been uploading versions of Plague so often recently that it feels weird to not do one tonight, but there aren't really any substantial changes from a user perspective so it doesnt really seem worthwhile. 

Instead I've spent most of my time reading open source licences again and mucking about on the SourceForge page for Plague that has finally come through. It'll be good to get stuff like a forum, an open web bzr repository, bug tacking lists etc. I havent even scratched the surface of what SourceForge can do, so it'll probably be a few days before any stuff starts appearing there. 

Tuesday, March 24, 2009

Plague 3.24

Minor bug fixes, still havent tackled the CPU-killing-AI issue.
  • fixed sprinting bug that stopped players form sprinting when an enemy was visible
  • fixed walking animations so it doesnt update while the game is paused
  • changed options check so options can be >= 0 (allows zero hives at game start)
  • removed a bug that would cause the game to crash when a gun was fired and there was no target_location.

Monday, March 23, 2009

Plague 3.23

Plague is beginning to look quite respectable now that it has a menu screen and an options menu. This has been on the todo list for months now. A big thanks to Sean Lange!
  • Sean Lange has added a main menu and an options menu. You can edit a few game variables here - it should allow you to customise Plague to a sufficient degree for now.

Sunday, March 22, 2009

Plague 3.22

I havent had much time this weekend for coding, so the only real difference this release is the addition of issuing commands with "v" (go, follow). At the moment I have still made it so that sims that cant see you pick a new leader and wander off, but I think I'll make it so that if you have issued a command they will keep it util you let them go.  Thoughts?

I've also toned down the difficulty (quite a lot really) by giving some starting pistols as weapons.

The other thing is I've made a project page at PyedPypers, should be good for using the forum there instead of the comments here. It's still pre-release so some things aren't working quite right, but it looks very promising.
  • Allowed player to issue stop/go commands with “v”. v toggles between “go” and “follow”. Followers will go to where the mouse cursor is. 
  • Gave sims starting weapons (pistols for now). Game is much easier now. Will make it harder later again by reducing the number of starting guns. 
  • Changed map creation parameters to give (what I think are slightly) better maps.

Friday, March 20, 2009

Plague 3.21

SanityImpaired made lots of suggestions for Plague today that I've been meaning to get round to for ages (like, months now) and some new ones (that make Plague much more difficult, so credit/blame him not me :P ), and somehow I've managed to do them all in one night. Thanks SanityImpaired, that was excellent motivation!

Plague seems to be getting slow again. I think I've squeezed too much AI into a polling package, and I need to rebuild it to be more event based and poll far less often (like once every second instead of 30 times a second). I've started that work, but I thought I'd just push this out tonight anyway.
  • changed weapon probabilities to be harder 
  • limited player to one grenade 
  • decreased ammo, weapons in map creation. Yep, its REALLY hard now 
  • allowed ai survivors to sprint, in all sensible scenarios I have thought of so far (if you think of some more, or something doesnt seem right, let me know) 
  • allowed zombies to form swarms with leaders 
  • leader zombies can now notify squads of targets (no they dont issue move commands) 
  • respaced survivor formations again to make them tighter 
  • made it so that survivors try not to crowd each other.

Thursday, March 19, 2009

Plague 3.20

  • separated survivors from your start position so others cannot “steal” your guns. 
  • Added line and chevron formations (and renamed the old line formation to column) 
  • Fixed an ammo bug where ammo would not be created and crash the game 
  • Removed an intermittent bug where guns dont update their images. 
  • Rebalanced weapons a bit (made them a little weaker). 
  • Changed spacing in formations so you are less crowded 
  • (hopefully) fixed ammo bug where survivors try to get ammo that they dont pick up.

Tuesday, March 17, 2009

Plague 3.19

  • added back end code to allow me to add arbitrary game objects easily. Will be useful in the future when players design bases. Use cursor keys to pick/place/remove. Only works in “test mode”. 
  • Removed some debug print code I shouldn't have left in (whoops!) 
  • added UI text so the player can see the formation (and placeable game object) 
  • sped up world partitioning algorithm, so it takes 2500ms instead of 5000 ms to partition an average level (speeds up map creation time by 33%). 
  • fixed the way sims pick up ammo and drop ammo – should get rid of weird ammo related bugs introduced in version 3.14.

Saturday, March 14, 2009

Plague 3.18

Not a huge amount done this week, I've been busy with other stuff. This release has tidies up some loose ends from last weeks release.

  • improved “fire_escape” ai algorithm
  • added Sean Lange's burnt shrubs art
  • zombie_fast now has a burnt corpse, thanks to Sean Lange
  • allowed the player to pick the formation (use key “c”)
  • added wedge, line, None formations (previously only ring formation)
  • changed shotgun number to 3 (better than SMG, worse than AR)

Sunday, March 8, 2009

Plague 3.17 comments

Survivors now have "squad" AI, and will spontaneously form squads. I've built the framework for multiple formations, but I'm out of time to add functionality to let you pick the formation you want.

Sean Lange has added some deft footwork, and a framework to add more animations.

I've also let you drop weapons voluntarily, but there seems to be an intermittent bug with this where the picked up weapon sometimes keeps its unused image, and sometimes isnt responsive.

The (doable) changes requested in previous comments have been incorporated by and large.

I've seriously run out of time this weekend to do more. I'll try to find the time after work this week to add in multiple formation options, kill the weapon bug, and start letting zombies form mobs. The first and last parts should be straight forward, so with any luck there will be a new release out shortly. I'll also use Seans "burnt" art as well in short order, should make burning down a forest even more interesting to watch.


Plague 3.17 - changes galore!

  • survivors now can have squad behavior and formations (extensions to come)
  • Sean Lange has added walking animation for Survivors
  • survivors now avoid heat (they run away from fire)
  • guns now start with a full clip of ammo
  • capped the number of zombies and hives to stop massive slow downs
  • scaled the number of permissible zombies to the number of remaining hives
  • removed a bug where survivors try to pick up a weapon they already have
  • fixed a bug where the laser charged while the simulation was paused
  • made the player exempt from sharing weapons with other survivors
  • added a drop weapon key (x), drops your current weapon and switches to another weapon if you have one (I know there is an intermittent bug with this, bug reports welcome)
  • have not added all of Sean Lange's additional art (I'm out of weekend).

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)

Friday, February 27, 2009

Plague 3.15

Two major changes: 
  1. My thanks to Michael Stone for speeding up the fire simulation - it is really fast now (it uses Numpy). Thanks Michael, you've made my day.
  2. Plague keeps your score between games and the higher your score, the harder Plague becomes. Post your high scores on the blog (until I do something more clever - suggestions welcome).
Detailed changelog:
  1. Michael Stone integrated NumPy into Plague leading to a very decent speed increase in cellular simulations – fire simulations are much quicker now, playable even. Thanks very much Michael!
  2. incendiary grenades leave behind phosphorus that continues to burn after the initial flash of heat.
  3.  guns dont automatically reload unless they are currently being used 
  4. stopped guns from being drawn when they werent visible to the player 
  5. made concussion grenade shockwaves hurt more and push less 
  6. your score is conserved between battles 
  7. the larger your score, the harder the game gets (more hives and more zombies) 
  8. started adding leaders and followers

Saturday, February 21, 2009

Plague 3.14

Lots of backend changes have been made (which also impact gameplay). I think I've found all the bugs, but if you find anything, or anything that doesnt seem to work "quite right" or as expected, let me know. Cheers, and enjoy!
  • changed survivor sim ai so that they change to the best gun they have (ammo permitting)
  • nerfed sniper rifle a little
  • nerfed the zombies a little – it was too hard
  • added more of Sean Lange's artwork, and his implementation of a shotgun.
  • Implemented inventory for sims
  • rebalanced grenades and guns a little
  • changed the ways guns and ammo interact
  • made laser make its own (non-universal) ammo

Saturday, February 14, 2009

Pygame 313 known issue

I changed the way bullet trails were drawn at some point, because of the new way I was handling bullet physics, and it has introduced an "error" where it looks like bullets bounce off fog. They dont, thats just the visible part of the trajectory being interpolated (incorrectly, I need two separate draw lines). 

I'll fix it eventually, but I really want to concentrate on getting action RPG type stats into the game instead.

Plague 3.13 - much delayed

I really should've released this version 2 weeks ago. I've spent the last two weeks doing work thatI wanted as part of the 313 release, that hasn't paid off. Gutted. Stuff that makes a diff to the game in bold below.

Stopped using JSON and started using pickle as file saver/loader. Pickle, being part of core Python, just worked.
Altered draw_image code and image class to internalize elevations of images – so I can pull images as part of an inheritance diagram
Changed physics constants so that they are referred to in a attrs dictionary instead of as attributes of the sim
Fixed shockwave physics so that energy and momentum aren’t carried along the edge of the map. Energy and momentum are now carried off the map. 
Fixed sim shadowcasting so that the tile you are in does not block sight. Allows LOS as originally intended (there has been a kludge in there for ages).
Added “excludes” to make_win_exe as TKinter started being included as well as numpy – don’t know why.

Saturday, January 24, 2009

Holiday time

I'm going on holiday for 8 days, so I won't be updating Plague during that time - this build seems to be bug free and is pretty fun (no one has complained yet...) so it seems like a good place to leave it for a week or two. 

I will however be reading up on NumPy, with a view to using it for my fire and explosion algorithms when I get back. Hopefully this will alleviate the worst CPU hog. After thats done it'll be time for adding lots of new fun stuff!

Monday, January 19, 2009

New Plague 3.12

The previous release had an error (from an incomplete copy/replace) that didnt allow it to make a main game. Odd since I tested that last night. Fixed now anyway.
... (2 days later)..
OK, so its fixed and UPLOADED now... ... enjoy!

Plague 3.12 - fun and speedy changes abound

  • optimised connected sets algorithm to calculate optimal cells only – builds maps faster 
  • made CA_tech demo more fun by letting player burn stuff and delete rocks, etc. 
  • “easter egg”: press “o” on the main screen for the test map. You can deposit stuff using numpad keys. Fun for making your own map and populating with soldiers, zombies, ammo, etc. 
  • Renamed Connected_sets to Partitions 
  • made zombie_normal slightly slower 
  • made zombie_massive turn slightly slower 
  • made bullet currently_penetrating only for blocking sims 
  • fixed logical error in bullet_collision. Bullets now interact with more than the first sim (eg: sniper rifle bullets kills MULTIPLE zombies in one shot).

Saturday, January 17, 2009

Plague 3.11

  • tweaked bullet properties to try to reduce computational load and weird looking reflections off blocks.
  • Realised I wasnt using melee_arc to determine whether or not something could be meleed. Now fixed. Zombies and survivors can now only melee things in front of them.
  • Realised is was calculating melee distances incorrectly. Fixed. Now zombies and humans will consistently correctly melee. This has the effect of making zombies more deadly.
  • Game is too easy – increased zombie_normal and zombie_fast health.
  • Zombies now react to being shot – they will run towards direction of incoming fire.

Plague 3.10

  • additional sprite art from Sean Lange
  • made zombie_hive counter decrease when zombie_hives destroyed
  • fixed creation of remains – this crashed python when uninfected humans were killed
  • added a timer to ai to make sims pick another destination after a few seconds (stops them getting stuck indefinitely)
  • added comments to sim “add sight tiles” code
  • (last version, whoops!) made it so that health and ammo “tick up” as you stand over them, no longer instant refills
  • increased animal burn_max so that zombies and survivors burn for a little longer

Friday, January 16, 2009

Plague 3.09

  • Code rewrite to make code more readable, use inheritance more, and do things in smarter ways
  • Some nice new sprite art / sprite improvements from Sean on www.blogger.com
  • Rest of sprite art upgraded to match Seans work.
  • Changing drawing order so UI drawn last
  • Reduced bounciness of some bullets (where the gun has a high fire rate) to decrease computational load
  • calculated bullet draw paths without physics_locations – new list: draw_locations made
  • fixed add_sim so that “effects” are always drawn

Wednesday, January 14, 2009

Plague 3.08 bouncy bullets

So bullets are now more bouncy, but unfortunately they now bounce off more stuff, causing more calculations and this generally slows the game down. Painfully so when you have the minigun... I'll review this with the 3.09 release.

Thoughts?

Sunday, January 11, 2009

Plague plans

I'm planning on working on backengine stuff for the next few days, which wont culminate in anything visible to the player, but will make Plague much more expandable so I can start adding more game objects MUCH more easily; neat things like mines and the like. Hopefully there will be some speed increases in there as well.

If you find any bugs, or have any suggestions, please leave a comment and I'll see what I can do for the release after next.

Saturday, January 10, 2009

Plague 3.08

As always, download from here: http://sites.google.com/site/plaguelike/Home

Wow this was a whole lot of work and time for little visible gain...
  • stopped reloading if sim has no ammo
  • improved sim panicking when on fire
  • improved sim searching when exploring
  • removed “sim not moved check” as should be irrelevant
  • improved square project to interact with circles
  • increased bullet elasticity so they can be bounced of blocks better (more fun)

Thursday, January 8, 2009

Plague 3.07 - mainly bug killing

  • made zombies and survivors panic and flee when on fire
  • grenade sprint throw “bug” removed
  • make incendiary the default grenade
  • fixed control bug where player would stop receiving input because input was not “fresh”
  • changed bullet physics so that embedded bullets actually embed all the time
  • reduced laser_pule_temp from 5 to 50 (necessary because embed bug fixed)
  • added 2000 burn damage to laser pulses
  • fixed text – I dropped some brackets when rewriting it...
  • reduced num_zombies to 60 again for speed
  • reduced zombie sight radius to 8 for speed
  • reduced soldier sight radius to 14 for speed

Tuesday, January 6, 2009

Plague 3.06 - now with no memory leak

  • Eval is evil – it has a “memory leak” and its not as fast as a lambda function
  • removed eval from entire code base (whew!)
  • set battle game scale to 1 so players knew that there was a game to play (it was too zoomed out)
  • made zombie_massive more red to distinguish from zombie_fast and made it larger
  • increased sight radii to tempt players to zoom out
  • changed control scheme (mouse wheel weapons and QE zoom) – see instruction help page for more information
  • changed zombie_massive health from 5000 to 2000

Plague 3.05

  • Deleted unused game_states
  • updated ReadMe for typos
  • removed grenade dropping when player is dead/None (only added for my testing)
  • randomised shrub health
  • made zombie_hives bleed when shot
  • decreased gauss_rifle_bullet so it doesnt destory concrete_blocks instantly
  • fixed square_project so it doesnt automatically stop all things
  • decreased grenade health to 0.5seconds – more satisfying
  • increased normal and fast zombie speeds
  • decreased normal and massive zombie melee arcs
  • investigated massive zombies seemingly not taking damage – no error found
  • battle would not restart (while True loop with no exit) - fixed

Saturday, January 3, 2009

Plague 3.04

Today is a productive day!
  1. made zombie_massive turn faster
  2. draw_overlay for game_state and sims (bars, paths, indicators, etc)
  3. added health bars for zombie_hives
  4. reinstated sim indicators (as people dont like hunting zombies for ages), will make an option in the future so purists can turn indicators off
  5. stopped corpses going through blocks (turned on collision detection)
  6. made pickups square_project with blocks in collision
  7. added in trees to tech demo
  8. add fire to the tech demo


Plague v3.03

Should be faster (by quite a bit) and hopefully more enjoyable as well.

Friday, January 2, 2009

Plague v3.02 is out

The major change here is the addition of game states (so there is a title screen, help screen, etc) which will pave the way to option screens and scoreboards (and a strategic game state). 

The other neat thing is a "tech demo" where you can see rocks being desposited and my connected set algorithm find the "connected sets" of squares (which is part of why it takes so long to create a level).