Viral Resistance

If you have a module that you'd like comments on or would like to know how to create your very own module, post here

Moderator: Moderator

Message
Author
yufra
Perspiring Physicist
Posts: 1332
Joined: Tue Jul 13, 2010 2:53 pm

Viral Resistance

#1 Post 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!
<DarkGod> lets say it's intended

darkgod
Master of Eyal
Posts: 10750
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen
Contact:

Re: Viral Resistance

#2 Post 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 ;)
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)

yufra
Perspiring Physicist
Posts: 1332
Joined: Tue Jul 13, 2010 2:53 pm

Re: Viral Resistance

#3 Post by yufra »

Whoops, good point DG! I will upload a different tarball that will work with b7 later today. :oops:
<DarkGod> lets say it's intended

yufra
Perspiring Physicist
Posts: 1332
Joined: Tue Jul 13, 2010 2:53 pm

Re: Viral Resistance

#4 Post 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.
<DarkGod> lets say it's intended

Flitvious
Low Yeek
Posts: 9
Joined: Tue Aug 03, 2010 1:21 pm

Re: Viral Resistance

#5 Post 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 :D

yufra
Perspiring Physicist
Posts: 1332
Joined: Tue Jul 13, 2010 2:53 pm

Re: Viral Resistance

#6 Post 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. :)
<DarkGod> lets say it's intended

yufra
Perspiring Physicist
Posts: 1332
Joined: Tue Jul 13, 2010 2:53 pm

Re: Viral Resistance

#7 Post 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! :)
<DarkGod> lets say it's intended

darkgod
Master of Eyal
Posts: 10750
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen
Contact:

Re: Viral Resistance

#8 Post 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.
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)

yufra
Perspiring Physicist
Posts: 1332
Joined: Tue Jul 13, 2010 2:53 pm

Re: Viral Resistance

#9 Post 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!
<DarkGod> lets say it's intended

Flitvious
Low Yeek
Posts: 9
Joined: Tue Aug 03, 2010 1:21 pm

Re: Viral Resistance

#10 Post 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 :D
- 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 :lol: .

darkgod
Master of Eyal
Posts: 10750
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen
Contact:

Re: Viral Resistance

#11 Post 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 ?
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)

yufra
Perspiring Physicist
Posts: 1332
Joined: Tue Jul 13, 2010 2:53 pm

Re: Viral Resistance

#12 Post 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.
<DarkGod> lets say it's intended

yufra
Perspiring Physicist
Posts: 1332
Joined: Tue Jul 13, 2010 2:53 pm

Re: Viral Resistance

#13 Post 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:

Code: Select all

game.level.map:updateMap(x, y)
<DarkGod> lets say it's intended

darkgod
Master of Eyal
Posts: 10750
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen
Contact:

Re: Viral Resistance

#14 Post by darkgod »

Voila :)
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)

Flitvious
Low Yeek
Posts: 9
Joined: Tue Aug 03, 2010 1:21 pm

Re: Viral Resistance

#15 Post 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.

Post Reply