Page 1 of 6
Viral Resistance
Posted: Fri Jul 30, 2010 10:00 pm
by yufra
This is the official announcement of my T-Engine 4 module, Viral Resistance. The inspiration pulls from Fallout and Zombieland, although it may take a while for it to truly show. The project is found here:
http://code.google.com/p/viralresistance/, and feel free to use the issue tracker to submit bugs/suggestions.
To install the module you need to either checkout the Mercurial repository or download and untar the most recent version of the code into the T-Engine 4 modules directory. After this run T-Engine and "Viral Resistance" should show up under the "Play a new game" menu.
I am taking DG and other's advice to start small, so I am working on a single chapter that will highlight the outbreak of the zombie-fying virus. The chapter will emphasis the story rather than leveling, and the number of talents/classes will probably remain quite low in this stage. The first download (v0.1) is a four-story building with identical floors and random placement of zombies and the ever trusty Glock pistol to give any early testers something to do. Wish me luck!
Re: Viral Resistance
Posted: Fri Jul 30, 2010 11:50 pm
by darkgod
You forgot to mention it wont work in beta7 due to you using the patch you submited to me

It'll work in beta8.
I have glock'ed some zombies yeah !!!
You should make grids provide a tooltip to know what they are, and update to ToME mouse bindings (I do need to update the example module too, I'll see if I cant make it generic enough to be an interface)
Anyway good start, indeed start small, build big !
For the anecdote the first "playable" version of T4 had a random BSP level with dragons inside whose AI could only go right

Re: Viral Resistance
Posted: Sat Jul 31, 2010 12:26 am
by yufra
Whoops, good point DG! I will upload a different tarball that will work with b7 later today.

Re: Viral Resistance
Posted: Sat Jul 31, 2010 6:38 am
by yufra
Ok, I have uploaded a new tarball and updated the repository to be T-Engine beta7 compatible. I also added some hospital staff to get in the way of the zombies in the starting hospital ward.
Re: Viral Resistance
Posted: Tue Aug 03, 2010 5:32 pm
by Flitvious
I played a while and must admit that shooting zombies is immensely fun! Not to mention "omg, it just ate a nurse" thing

Re: Viral Resistance
Posted: Tue Aug 03, 2010 5:52 pm
by yufra
Thanks Flitvious! I am updating to use the new interfaces in T-Engine b8 and will probably release a new version in the next few days. You can look forward to the viral damage actually doing something, and if you enjoyed the zombie eating the nurse wait until the nurse turns into a zombie.

Re: Viral Resistance
Posted: Tue Aug 03, 2010 9:11 pm
by yufra
This is the official announcement for
viralresistance 0.1.2.
Changes include:
- upgrade to T-Engine b8 interfaces, specifically PlayerMouse and GameTargetting
- upgrade to T-Engine b8 Projectile system for guns
- humans turning into zombies if their viral load grows too high (watch out for those patients!)
- blood particles upon death (what is a zombie game without a bit of gore?)
- added some basic medicine and the corresponding medical talents (doctors aren't useless anymore)
I have some storyline planned but have been focusing on features up until now. Feel free to post your ideas here!

Re: Viral Resistance
Posted: Tue Aug 03, 2010 9:53 pm
by darkgod
Ohhh I love the blood splash !
It seems I cannot run because it always says I'm taking damage, but I dont see it :/
Nurses are nasty they ganged up on a poor zombie and killed it! (and then turned into zombies ;> )
As for ideas: make a player display, it's annoying to not see your own life/viral load.
Re: Viral Resistance
Posted: Tue Aug 03, 2010 9:58 pm
by yufra
The run "bug" is because you are taking viral damage (if there is viral load in your system it increases over time). I will disable that in the run check, but still need to figure out a way to prevent someone from running to their death. Maybe a level check?
The blood splash is simply a re-colored acid splash, so thank you for the particles. I admit I haven't quite figured out how the Particle system works and will probably leave it for the time being.
Player display, check!
Re: Viral Resistance
Posted: Wed Aug 04, 2010 7:22 am
by Flitvious
- room signs are great, would think twice before opening 'morgue' or 'biohazard' room.
- zombie patients crawling out of their beds are great too
- being hit now means being dead 100 turns after (only cure is to have anti-virus and take it early, or levelup).
- viral resistance talent has no visible effect - viral load still increases rapidly with time.
What about adding some hospital facilities? Security post, morgue, helipad at the rooftop, conference room full of zombified managers

.
Re: Viral Resistance
Posted: Wed Aug 04, 2010 7:38 am
by darkgod
And more types of zombies!
Maybe you could display the viral load of the player by gradualy turning their @ from white to green ?
Re: Viral Resistance
Posted: Wed Aug 04, 2010 7:45 pm
by yufra
Thanks Flitvious and DG for your comments. Zombie and room diversity are definitely in the plans and is probably what I will be working on next. I whipped together a basic player display and then spent a few hours working through the Quest and ActorQuest system. I am proud to announce that the starting quest is now completely playable/winnable, although balance-wise it is very skewed towards the Policeman. I removed the random zombies and object to highlight the quest, and you can check it out
here.
Changes include:
- completed the starting quest for the doctor (everyone uses that quest for now)
- fixed the viral damage run bug
- added a simple PlayerDisplay
- rebalanced the rate of viral increase and effectiveness of Viral Resistance
I like the idea of linking the player @ character color to viral load, and was surprised when the following code in the Player.act function did not work:
Code: Select all
-- Update the color
self.color_r = self.default_r + (self.vload / self.max_vload) * (colors.GREEN.r - self.default_r)
self.color_g = self.default_g + (self.vload / self.max_vload) * (colors.GREEN.g - self.default_g)
self.color_b = self.default_b + (self.vload / self.max_vload) * (colors.GREEN.b - self.default_b)
print('[COLOR]', self.color_r, self.color_g, self.color_b)
I get the "[COLOR]" printing to stdout, but the color on the screen does not appear to be changing. I am guessing there is some sort of caching and will wait for DG to chime in if he knows off the top of his head what is going on.
Re: Viral Resistance
Posted: Thu Aug 05, 2010 4:50 am
by yufra
In case people find the above post when developing their own module, here is the answer from DG I received while the forums were down:
Indeed there is caching done.
All entities have a list of "map objects", map objects are C structs that contain:
* one texture
* a position
* a z-index
* a zoom factor
* a tint
* flags that determine when to display it (on seen, on remember, on unknown)
* an OpenGL shader (or none)
The texture is generated by the engine.Tiles class.
Each entity can have more than one MO, trees for example have two to four MOs:
* one for the grass
* one for each tree
This is what allows me to make the forests look "un-tily"
So when you change the color (or other display stuff) you need to "invalidate" it's current MOs so that they get regenerated.
For simple entities with only one MO you can just do:
Code: Select all
if e._mo then e._mo:invalidate() end
I'll add a method later to invalidate complex entities
The map has to then be updated using:
Re: Viral Resistance
Posted: Thu Aug 05, 2010 7:24 am
by darkgod
Voila

Re: Viral Resistance
Posted: Thu Aug 05, 2010 7:51 pm
by Flitvious
Quest is good. So, player turns to be the only contaminated person who passed through biohazard doors
By the way, that purple biohazard doors seem to be transparent - zombies can be seen through them.