Chryssalids, Zombies, and Silacoids, oh my!

by Kyzrati on 20120618 , under ,

Okay, maybe not the silacoids. Who really cares about them? They're fun and all, but certainly not dangerous.

Chryssalids are of course a completely different story. These bad boys are now out there seeking panicking civilians to zombify. Then there's the zombie spawn out for some fresh soldier meat. You'll be up against the undead hordes in a new scenario planned for the next release (which is still quite a ways off, btw). Bring your Molotovs!

Here are some log excerpts from one of my tests. Louis spots a zombie shambling toward him and uses his quick soldier reflexes to try and mow it down before it can get in close. Unfortunately Igor decides to join in with his rocket launcher and while he does manage to blast the zombie, he also takes out his nearby squadmate in the process. Of course there's now a chryssalid on the lose. Good luck guys.

Then Paul shows up and, apparently having forgotten to prime his alien grenade, uses it instead to bash the chryssalid in the face. Not smart Paul.

You'll make a good zombie, Paul--they don't need brains.

Because we don't want the silacoid to feel lonely, here's a screenshot of the alien terror unit after giving someone a crappy lawn job (terrifying indeed!):

Note that because the silacoid ability is set to deal incendiary damage, as it moves it naturally sets flammable terrain on fire, instead of just burning that area of the ground. I can't recall whether they actually set fire to the ground in the original (I don't think they did), but it would be a simple change in the ability script to turn that off. I rather like it.

Speaking of the ability scripts, here's a shot of the new specialabilities.xt file as it appears in notepad++ (click for full size):

As for modifying the silacoid's abilities as mentioned above, all you'd have to do change the "IN" (incendiary) in the "DMG_TYPE=IN" effect data string to some other kind of damage that wouldn't cause fires, like "PL" (plasma).

The Unstable Compound ability on the list was something I was using to test volatile items. Now if only Paul had smashed the chryssalid with *that* he could've at least gone out like a man! (Volatile items explode pretty easily, including when smashed against something. Oh man this game's gonna be fun once I actually get to designing the content...)

The chryssalid zombify effect was somewhat annoying because it's not supposed to take effect immediately, only on the target's death or once the chryssalid stops attacking it, so it didn't fit very well into the system and ended up requiring a "special case" MUTATE_DELAYED effect. Makes sense from a gameplay perspective, though, since that would mean a group of armored troops would be less likely to fall as quickly to a chryssalid as unarmored troops would (especially since chryssalids zombify their target even if their melee attack *misses*, and the special effect completely disregards the defender's armor!).

About the implementation, I spent a lot of time hesitating over details, trying to design the system so that it's flexible yet not prone to errors and overcomplication, but complex systems have a natural tendency to defy being forced into a simple design...

After days of bouncing back and forth between a smaller and larger scope for the special abilities, I settled on a system somewhere in the middle. In hindsight, there really should've been a lot more planning and testing before putting it to code, but the lack of concrete progress started getting to me after a few days of nothing but brainstorming and taking notes. Besides, no matter how robust it may seem, I'm sure creative modders will be able to break it. I'll just have to resolve to fix issues as they pop up, since I'd probably drive myself insane before managing to account for all the emergent possibilities. The engine does perform a lot of data checks on startup to make sure the abilities don't include any combinations that don't fit internal parameter restrictions, so we can hope the number of problems should be minimal.

Now that it works, I'll continue expanding the number of supported keywords before moving on to special items like the motion scanner. Much later on there will still be some kind of separate map-centric trigger system for terrain- and mission-related scripting; this one was focused on the game's more dynamic objects, especially entities (units).
10 comments more...


  • Sambojin Bojin-Sam

    Oh yeah, we'll break it for you if we can.

    Did you end up getting most of the things you wanted into it, or just the more X-com'ish bits for now? It's got to be hard doing the engine and the game at the same time. So much random, extra stuff to make the engine cool, so much content that is specifically just for an X-com remake, where to draw the line on time and resources used?

    Anyway hope it turned out well. Looking forward to R7 so I can begin chopping up your work and see if I can get it to stop working properly. :)

  • Kyzrati

    Hehe. Right now all I've got in there are the basic abilities for X-COM. Those weren't too difficult, and there aren't really many. I'll be spending the next batch of coding sessions adding support for many of the neat abilities that will bring X@COM way beyond X-COM. I'll post about the triggers and effects I add when they're mostly done and working.

    You're almost sure to break something if you fool with R7's data, since there still won't be a modding manual by that point :)

  • Sambojin Bojin-Sam

    Hey, I managed to break R4 and R5 by playing around with stuff. I haven't even started with R6 yet on the file or hex editing. I know it's not meant to be moddable yet, or rather, it's not designed to be easily moddable like the finished product will be, but it's still fun :)

    This isn't a bad comment towards you by any means, so I hope you don't take it as such. But as you said, the basic Xcom abilities are pretty limited and probably fairly easy to get going in the engine as it is. How close to the original are you going for, and how quickly? The X@com engine is probably (in some ways) already more powerful than the original's engine, if only because it is still being developed. So I guess it's not so much a comment as a question of development direction. So much cool stuff, so many options, already more "content" options added compared to original Xcom (in a way, different aliens, weapons, moddable etc). Are you going to fast-track the Xcom side or make sure the X@com engine is wide and robust? I'm a fan of the latter, but in the end, it is meant to be a remake, not a re-balance or a wish-list.

    I'm loving where you're going with it. But if you do get stuck, or it feels like there's not enough progress for your work, just chuck in some Xcom'y stuff (which in theory is kind of easier than new developments) and be done with it. It's not as though anyone will ever complain about not having the ability to be orbitally bombarded after being back stabbed as the squad was chasing a will-o-wisp that they could hear in the distance. New releases are always good.

    (this is actually a compliment. Every release so far has had some new, cool stuff. Just hoping you don't get bogged down in things like posts from an idiot like me).

  • Kyzrati

    Ah, cool, didn't know anyone was actually playing around with the data, since I haven't heard of any results/reports. As long as you find it fun, by all means go ahead! Modding will eventually be a much more pleasant experience once there's a manual, map editor, and adequate data integrity checks.

    "Are you going to fast-track the Xcom side or make sure the X@com engine is wide and robust? I'm a fan of the latter"
    Me, too, and that's what I'm doing. If I was only trying to remake the original, I'd be much further along by now. I'm designing a rather expansive engine of which X-COM is a subset, and while all the extra features are optional and can be disabled to play a very close replica of the original, my personal goal is to have a much bigger game. So the remake's first, then we'll venture into wish-list territory, though I am at this point making sure the game can support lots of interesting features to make the later stages easier.

    Feel free to try and "bog me down" all you want--anything I can't do now is at least copied into the design doc for future reference. Orbital bombardments have been on my design doc since last year :) They'll make it into the extended version in some form or another.

    "New releases are always good."
    Agreed! The release schedule is a lot slower these months because I've had less time to work on it, and next month I'll be on the road with pretty much no coding time at all :( There is a chance, however, that a year out or so I may go for crowdfunding and work on this project full time if the interest is there. Been knocking that idea around for a while now. No promises yet, though--will first have to see what Life has in store before then... It would also require that I rebrand the game to avoid IP issues, but it'd be worth it and in the end I'm going for something bigger anyway.

  • José Mourinho

    Can we have both? :D

    First the xcom themed and simpler, followed by the bigger one with the full engine capabilities built in?

    Even if the xcom one were reduced to a couple of missions/scenarios ala Laser Squad: city terror, base invasion, Mars assault, zombie infestation, crashed ufo. Even if less modifiable, as a randomly generated roguelike it would be great.

    Then the second one could be rebranded and expanded, having many new kind of aliens and such :)

    But of course, if we can have the full xcom, I wouldn't mind at all, and it's well worth the waiting.

    Keep up the good work!

  • Kyzrati

    Thanks! And I believe that no matter what happens, you could still have both, since the full original X-COM would always be possible as a "mod" to X@COM (which would at that point get a name change). If/when money is involved, though (even if it's supposedly not for profit), I couldn't openly support the mod. Re-branded X-COM games on the other hand seem to be legally safe, a la Xenonauts.

    In any case, these other possibilities will be up for discussion next year, perhaps. For now I'm just sticking with the same direction I'm headed in now: "X-COM+", the complete original game with only minor fixes/adjustments. Much of the weird stuff I've got in the demo scenarios right now will not be in 1.0, but will find their way into later versions (post 1.0).

  • Sambojin Bojin-Sam

    Thanks for the clarification. With all the stuff you've got planned, I think it's going to be great. But yeah, there'a always life, work, family, friends and everything else that makes playing (or in your case, making) computer games come a distant second on priorities.

    I can see a group-funding thing working down the track when there's more to show prospective investors/buyers of the game. Until then, keep up the good work. Can't wait to play an ascii-xcom-like with all the bells and whistles of the original. Then all the swings, merry-go-rounds and duck-shooting of the full engine's functionality to play with afterwards.

    I'll muck around a bit in some fairly basic chop-job-modding in R6 to see what I come up with. If there ends up being anything particularly cool come out of it, I'll let you know.

  • Kyzrati

    Yeah, I haven't even had much time to play games at all these past several years... though whatever it takes, I *will* definitely be making some time to play MechWarrior Online, only at a tiny detriment to X@COM dev time, promise ;) (I can't code well late at night, anyway, so might as well give my 'Mechs a workout on the battlefield!--I'm a huge fan of BattleTech, btw.)

    About crowdfunding working somewhere "down the road", out of interest to see exactly how much monetary support there might be for an indie roguelike, I've been following a roguelike called "Cult". It's still in early development but has jumped on the Kickstarter bandwagon, and with very, VERY surprising results. Despite his lack of experience, and the fact that after a couple years of coding he's got less of a game to show than even the X@COM demo, he has been pulling in $1k/day for the first 17 days of his fundraising campaign based mostly on promises of a game world that will take many years to develop.

    If only I had the guts to sell my vision of X@COM based on grand promises ;) Not to dis the guy at all--I hope he can pull it off--but seriously, I would go the more concrete achievable-sometime-this-decade route. In any case, his campaign is perhaps showing that it might be possible for other roguelike games (or roguelike-likes, including those with less of an emphasis on graphics, e.g. X@COM) to gather enough funding to make full-time development feasible. If only there weren't three hedge words in the opening of that sentence!

    R7 is going to be a lot more fun to mod around, assuming you can figure out how to use the special ability scripting system on your own. It's actually not too complicated, and the data parser already enforces a majority of the rules, but there won't be any descriptions of the additional possibilities.

    I've been getting pretty excited over what this system can already do, yet still have a lot of new features to add. It's ending up being a much bigger diversion than planned, but it'll be worth it. Bells and whistles are complete, now time for the swings, merry-go-rounds, and duck-shooting. Well, I may not start with those specifically--will teleporting, mutating, modifying the environment, and all manner of spawning suffice for now? ;) Come to think of it, I suppose literal playground objects are already possible--you could just add them to the map as props and give them a USE-activated special ability that shows a log message saying "So-and-so spins around on the merry-go-round" whenever soldiers USE it.

    The next demo scenario is going to be fairly non-traditional, and come with a small concentration of fun test objects/entities just to show off the new system.

  • Sambojin Bojin-Sam

    Nice. You know that I'm now obligated to muck around with the system until there is a slippery-slide for my soldiers to go down. :)

    On the kickstarter of Cult. Yeah, I followed that a bit too. Wow. It's nice to see that there's that sort of support for the ascii/roguelike genre. I'm pretty sure that X@com would do alright on it. But $25k isn't exactly enough to pay the bills for a year, even if you could get the game out the door in 6 months of full-time coding. But still, it's a worthwhile thing to look into. At least you're not saying "Yeah, for sure I can back all my promises/features/whatever." It's Xcom, in text, which won't be unachievable. There'll be plenty more under the hood than that, but at least you KNOW that you could deliver the game in a certain timeframe.

    It depends on your targets and goals, both financially and for X@com as a release. I personally would keep my day job, because it's a damn reliable form of income. But funding isn't exactly a bad thing for any project. I wander if I could Kickstart my next pub visit? I'll be, errrrmmm, developing a new and dynamic version of table-footy, as a, ummmm, multiplayer tabletop boardgame. With coins and rules and stuff. Totally IP legit, and not in any way related to the fact that I get bored when I'm drunk sometimes and like playing table-footy at all. And I would like people to assist me in funding development of such a project. Yeah. That's it. For sure. Could be ready by next payday really.

    /sarcasm. I tend to think Kickstarter gets used a little bit too regularly for otherwise unprofitable projects that would be completed as a past-time by the developers anyway.

    Oh, and as a question, what graphic/tile formats do you want X@com to end up using? Because, if you could slot it in within the next few release schedules, could we have .gif availability? Because scripted animations of ascii graphics can never be wrong. Even in 256 colours. I've been wanting it in DF for years. Simple bit of code, so many possibilities.

  • Kyzrati

    About crowdfunding the game, I work freelance, so my time and income from regular work are all rather flexible--I can easily adjust coding time as necessary based on the level of funding. It's true that I'll eventually finish X@COM on my own time as a hobby, but it could take a while to do everything I hope to. In any case, I'd much rather be spending all my time on development, but despite my willingness to forgo sustenance in the meantime, my dependents are not of the same mind ;) (For the record, though, 25k is actually plenty to enable me to put in a YEAR's worth of full time. Not all of us live in expensive countries!) Maybe I can raise my son as a programmer and make up for lost time that way--maybe even have a few more and put a whole dev team together :D

    Anyway, this is not something I'd even be considering 'til next year at the earliest.

    About tiles, there will most likely be a sprite mode based on .png images, but I don't plan to add it until around 0.25~0.35 (by then we'll probably be at about R12).

    Animated .gifs aren't compatible with the engine, but you could still animate projectile and explosion images through the particle system, and I could add the ability to script animations for terrain without much difficulty. You'd just have to put the frames into the spritesheet yourself and reference them by position. For an example of how the sprite/tile system might work, check out Cogmind, which comes with a simple modding guide and is based on the X@COM engine. I added sprites to that game pretty quickly.

Post a Comment