Paramilitary Intelligence
by Kyzrati on 20130629 , under Progress, Screenshots
Holding different number keys will identify visible objects by name. Here you can see labels popping up for enemies, then soldiers (much more fun with sound):
![]() |
| Your soldier names can also be color-coded by their remaining health. |
Also use labels to quickly check what items your soldiers are currently holding, and those that are lying on the ground (for stacks of items, it will cycle through them as you hold down the key):
![]() |
| Your soldiers' armament is also color-coded by percentage ammo remaining, where applicable. |
Any number of types of labels can be displayed simultaneously, depending on how many keys you want to hold down.
Explosives will be (somewhat) safer to use, now that you can see their area of effect without resorting to square counting. It works for both firing explosive projectiles and throwing primed explosives, and uses brighter colors for higher damage--the blaster launcher calculation looks like... a super nova :) Here's a small rocket:
![]() |
| The animation will properly predict explosion dampening by various obstructions based on their material. |
There's also a new (proper) grenade priming interface that replaces the old (okay, ancient) placeholder input method.
Since there's rarely reason to prime a timer to anything but 0, that will be the default behavior (skipping the window entirely) unless you press an extra key to manually open the priming interface.
Props and items can now be animated, though I don't plan to go crazy with the feature myself, as it could get distracting. UFO power sources do have a gradual glowing effect now, and explosive devices primed by your soldiers and thrown or left lying in the open will glow, too.
Missiles/8.6 Away!
by Kyzrati on 20130203 , under Screenshots
So as discussed in the previous post, I've postponed parkour and plowed through a series of quick features while clearing up the near-term to-do list in preparation for the Next Big Thing.
While these new features come with R8.6, uploaded today, some of them consist of engine support for future content and mods, not something you'll immediately have access to in the game. Nonetheless, I'll mention them here so that you know what's going on, and so I have an excuse to put up some related screenshots :)
Hand-held light-emitting items will now illuminate the nearby environment (I'm talking mechanics here, not some new visual style). This means little to X-COM right now since their own unit-based light is equivalent to that given off by an electro-flare, but it could have some interesting implications for mods where you might not have so much light available and have to carry a source of light (which may not last forever, like a lit torch). Varying amounts of light may also be emitted by armor itself.
Pathfinding has been slightly modified. I believe most players will prefer the more predictable direct route when allowing the game to take you to a chosen destination (as in X-COM), even though that route generally costs a tad more TU due to extra turning costs. I could add an option to disallow this behavior, but if you're in a tight situation where a few TU will really matter, you can always move in shorter sprints (which you should probably be doing, anyway) or use the keyboard. Do note that if the direct path (meaning a straight line towards the destination) is blocked, the normal pathfinding calculations will take over and will always take the cheapest path, which is not straight.
Burst fire weapons now support numbers of projectiles other than three, so some weapon could theoretically go full auto on a target with six shots, or more. For even scarier stopping power, burst mode supports a "salvo" setting that fires *all* those projectiles at once. Of course, my first inclination was to make a launcher that fires 12 large rockets simultaneously. Just a test, mind you ;p
![]() |
| X-COM sends primitive village back to the stone age? |
![]() |
| Hope there aren't any civilians in those buildings... |
![]() |
| The aftermath. This is what 12 rockets can do for YOU! |
Finally got around to adding ammo counters to the inventory window. This was postponed a looooong time ago when the original inventory window didn't have much room because it used the full-width font. Now you can actually identify at a glance what weapons are loaded with how much ammo, and the amount remaining in each clip in your inventory without having to remember / check all these values manually. Always one step ahead of the aliens, we are! (I also went ahead and made the HUD prioritize the display of remaining ammo, even though we'll be getting a new HUD in a few versions.)
News:
- Rookie's Tale has been updated with a few fixes and a new sword (Vampiric Blade).
- 10101 has again updated the Aggression mod, this time with a huge garrison. Woe to the orc raiding party that runs into that thing (10% chance; you'll know at the beginning there's one nearby because you'll hear the commander's call to arms at the end of your first turn--keep retrying with F10 until you get it if you've played before and are just interested in the garrison).
Around the corner: A bit of optimization, and sound++.
Psi-ched Up
by Kyzrati on 20121006 , under Progress, Screenshots
It's national Adopt an Alien Pet Day!
The psi-amp is ready. I.e., you'll now be able to mind control aliens if you're good enough. The AI will not yet use the the psi-amp on you, as it would be incredibly unfair given your limited resources in the demo missions. I did, however, throw in a psi-amp... "somewhere" in Area 51 and Cataclysm. Of course, it wouldn't be much use without some skill, and there's no base for training yet, so all your units start with a random psi-skill of 2.5~5.0x their base value.
As planned, the psi-amp fit right into the special abilities system, which just needed a menu to enable selection from multiple abilities on the same object, as seen above, though the system is capable of handling much, much more than that. For example:
Yes, those are actual scripted abilities I was playing with to test the system, and they do exactly what they look like they do. (Adding each one only takes a single line of script that sets about ten variables.) So now the engine does intrinsic abilities, and X-COM agents could theoretically one day be learning all manner of psionic skills like firestarting, telekinesis, teleportation, unaided mind control, and MIND BULLETS! Well, whatever you can think of, really.
With the psi-amp done, where mechanics are concerned the X@COM battlescape is now capable of everything seen in the original! (Not to mention all the other features I've added.)
I decided against releasing another R7 update and instead pushed the previously mentioned modding features back to a modest R8, which is on the horizon and closing fast.
What's on Your Mind?
by Kyzrati on 20120826 , under Progress, Screenshots
Actually, it would be fun (useful, even) to later use this or other similar devices to actually get some insights into what a sentient being is thinking (AI hints, flavor text, etc).
The window is nicely animated, but again I'll save the video for a UI compilation that I'll put out with R7, which is scheduled for ARRP 2012.
Of course the same screen is also used to examine your own unit stats, so the long list of extraneous stats has been removed from the HUD since they can be accessed here:
I may at some point add the ability to choose a stat and compare its value across all your squad members, if anyone would find that useful. Also, I'd like to limit the mind probe to sentient units only (which could be easily scripted through the text files using the new object traits system combined with effect conditions), but right now it's like the original X-COM: any target goes. A separate device could be designed for analyzing mechanical targets.
You'll notice that I've resurrected the melee stat which was included in the original X-COM code but not actually used in the game. If you weren't following early development or haven't tried the demo yet, you may not know that pretty much *any* item can be used for a melee attack.
The default data I'm using right now (not necessarily balanced properly) has most items with 100% base accuracy (note that by X-COM rules that doesn't mean you always hit) and take 30 TU (unique melee items and terror unit melee attacks are different, of course). It only works if you are adjacent to the enemy, duh. The damage done by the default melee attacks depends on the attacker's strength, though again this can be overridden for special items. I also added some common damage types (bludgeoning/slashing/piercing) that can be used to define melee attacks.
Melee is generally not as deadly as actually shooting a weapon, of course, but it allows for lots of fun new mechanics, like dedicated melee weapons (e.g. knives, light sabres, etc.) and bashing down weak terrain (or even sturdy terrain like walls using a sledge hammer!). Melee attacks can also cause knockback on the target if your strength is greater than theirs, and if your strength is also great enough to smash through whatever is behind the defender, then you'll smash them right through it. So you can, for example, whack an alien with a baseball bat and send him flying out a third-story window so he hopefully falls to his death from impact damage. In fact, if you had superhuman strength, you could theoretically smash aliens right through walls, and if it collapsed part of the structure the debris would even fall on them, which would be pretty funny... Of course, you have to watch out for powerful aliens doing the same things to you.
Now that the mind probe is done, that leaves only one item from the original X-COM yet to be implemented: the psi-amp. The effects are already possible through the current system, all that's missing is a menu to select from a list of usable abilities when an item has more than one. I'll save that for R8, though, since I need to get to adding new items and content for the next scenario.
Warning: Wall of semi-technical text follows.
In other news, a couple days ago I also finally added particle templating! Meta-programming (or in this case "meta-scripting") is incredibly useful for rapid development, enabling easy creation of multiple variations on a concept. In this case, the engine can now read in particle template data from the text files and, while parsing particle definitions, automatically generates all necessary variations of a given particle to meet template specifications.
While quite simple to implement, it becomes a huge time saver during the content design process, making it possible to more easily create multiple particle variations by detaching design from general behavior (i.e., great for lots of different effects with minor changes from a base design). In practice, it's mostly useful for recoloring, but can be used in other creative ways. This got me really excited--doing things like this always seems to tickle my geeky side (perhaps my biggest side).
I'd been thinking about adding this feature for a while, but it hadn't really become necessary yet. However, with the numerous colors you see in the profile window, templates make a lot of sense: What would've taken almost 200 particles to implement ended up taking only 8 (!) with templates.
This reminds me of back when I was rushing to finish Cogmind for 7DRL 2012 and had to quickly recolor a bunch of X@COM particle effects to match the many types of weapons available in Cogmind--lots and lots of copy and paste, which could've been avoided completely had particle templates been ready back then!
So I've also gone back and rewritten other X@COM particle systems to use templates as well--just the blip particles used in the motion scanner were collapsed from their original 42 long lines of particle parameters to 6 long ones and 8 short ones (the latter a tiny chart used in combination with the six template particles to generate a full set); the text typing effect originally required six lines for every new color, but now it's six lines to define the behavior, and one for each additional color! Yay!
Here's the entirety of the script lines needed to animate the typing as it's currently done in the game (the red template chart defines the colors):
Templates also make for better design by allowing you to concentrate on what's different about the particles, instead of wading through endless rows and columns of data looking for those specific little differences.
Gimme the Drugs
by Kyzrati on 20120819 , under Progress, Screenshots
The oh-so-indispensable Medi-Kit is ready to patch up and treat your panicking, bleeding and otherwise not-so-happy-to-be-dying-to-WTF-WAS-THAT soldiers. It'll be much better than what you've had to face so far: Seeing critical wounds as more or less an unavoidable doom counter.
I'd like the UI to be a bit more flashy, but for now I'm sticking to a more utilitarian design and simple color scheme so these elements are at least available in game. So this is what you get:
I would have gone for a slightly more visual representation of the target's body, but the interface needs to be compatible with any kind of anatomy that could potentially be created through the dynamic body part system, so critical wounds are just shown through a list of parts. The window is animated and I added a new sound, too, but I'll save the video for a UI compilation once there's more to show.
In related news: The Special Ability Framework is COMPLETE! That pretty much explains where I've disappeared to these past weeks, and I'm sure one day it'll have been worth it--because for now it was definitely overkill for implementing just the standard X-COM content, e.g. chryssalids, silacoids, motion scanners, medi-kits, etc., which all could've been hard-coded in no time.
The framework doesn't yet include absolutely every trigger and effect that might eventually find its way in there, but 41 triggers, 47 conditions, and 30 different effects is already enough to create a mind-boggling amount of Fun Stuff. Some of said Fun Stuff you will see in R7.
As I've described before, it's a very flexible framework that allows modders to mix and match triggers and effects complete with text messages, particle effects, sounds, and of course effects on game objects. In fact, while testing the medi-kit I was able to pretty easily (took less than a minute...) add some extra functions for fun: a "poison" function that instantly kills the patient, and a "zombify" function that mutates the patient into a mindless zombie. The medi-kit interface dynamically builds itself based on what abilities the text files give the medi-kit (or, actually, any item with the "open medi-kit" trigger, since you could technically create other items that have medi-kit-like functionality), so the functions I added appeared as new buttons that I could use to kill or zombify targets... Much more useful functions could be created using the MOD_ENT ("modify entity") effect, which has 19 sub-effects for modifying unit stats on the fly.
Other things I played with to test the system:
- phase-shifting aliens
- amorphous aliens that divide in two when shot
- aliens that emit a deadly toxin which kills any humans who get too close
- aliens that trigger periodic cyclones which pick up small objects and fling them around (oops, did you throw that grenade over here? hah!)
- alien gun that shoots out smaller aliens (here, have a facehugger!)
- controlled teleports
- items that can transform into other items
- potion of strength (quaff it, really)
- staff of destruction (disintegrates everything within a certain radius of target position)
- a med station that heals user when "manipulated" (<--a new command that allows units to "use" terrain objects--could be used for computer terminals or whatever)
- (approx. 30 more test abilities...)
Next I'll be working on the mind probe interface (which won't take very long) and a few random other housekeeping tasks before putting the next scenario to code. Actually, before that the HUD needs a temporary mini-log so you don't always have to open the full combat log to see what's going on, since the new ability system means you'll occasionally need more detail about what's going on than what you can see on the map.
Chryssalids, Zombies, and Silacoids, oh my!
by Kyzrati on 20120618 , under Progress, Screenshots
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.
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).
Help!
by Kyzrati on 20120603 , under Progress, Screenshots
The game is starting to get rather complex, and that complexity will jump yet again in the near future with the addition of more special items and their UI elements, so I decided to go ahead and add context help before going any further.
The first time a new help topic is available (one that hasn't already been seen before), the game will pop up some text to give an overview of how to use a particular function or window. Here's what you'd see when opening the inventory window for the first time (click for full-size image):
The entire system is very dynamic and ready to simply drop in new text (it comes from an external file) and give it a target area or console. That said, the help I've got in there now is limited mostly to UI elements, not gameplay. Eventually there should be more tutorial-style help as well to help new players understand the X-COM mechanics, but for now the majority of players probably know what they're getting into, so I'm holding off on that.
Hitting F1 or '?' on any window will also bring up the list of commands associated with that window. Here's the command list for the map/HUD screen:
A command list screen did exist before, but it was a temporary solution hacked together for the first release as part of last year's ARRP. Now it's mouse accessible, is properly animated, and has been integrated into the primary UI control system. The inventory and log windows have their own command list, as will all future windows. (For now mouse access for the main command list is through a tiny button found near the bottom-right corner of the HUD, since the that part of the UI has yet to be designed.)
So with another good chunk of the [somewhat boring yet essential] internal stuff behind me, up next are probably special items and Chryssalids/spawning. As with the other mechanics, the latter will be implemented using a pretty dynamic overarching system that will enable creative modding while still being capable of modeling the original X-COM mechanics. Weapon attacks (e.g., Chryssalid bite) will become capable of special effects on the target, one of which will be to cause the target to die and spawn another unit (e.g., zombie) of a specified faction. A greater variety of spawning will also be possible, so instead of just spawning a single unit, you could have the effect be to spawn multiple units nearby (xenojelly/ooze?), or even have a unit that naturally spawns duplicates of itself, or some other specified unit, at certain intervals. Think of all the possibilities! (No, really, think of possibilities you might like to see and tell me about them, so I can make sure they'll be supported.)
I Want My Mommy
by Kyzrati on 20120525 , under Progress, Screenshots
Check out the results of a total berserk rage as described in the log:
There you can also get a glimpse of the log coloring (which is available in the current release, R6, but I never put up a screenshot showing how it looks, for those of you who aren't downloading the intermittent dev builds).
Despite the thoroughness of UFOpaedia.org, some questions remain as to how the system works, which I resolved using what I guess are the most likely and appropriate methods:
- How much morale is lost by an individual unit when it is only injured? (I have it set to use half the value of an ally death.)
- How do non-X-COM, non-alien factions (e.g. civilians) fit in? (I have this handled on a per-faction basis, whereby it affects only the individual shooter, and X-COM soldiers lose morale for killing civilians, while aliens gain it. This behavior is easily moddable, of course.)
- What are the precise alien equivalents for the human ranks where morale calculation purposes are concerned? (The data I've got now sets alien "leaders" equivalent to colonel, and "commanders" equivalent to X-COM commanders, and all the remaining applicable aliens are squaddies, except where N/A.)
- How much stamina is drained for fleeing units, if any? (I left it as normal, though I believe the original doesn't actually deduct TU/stamina for panic movement.)
- Do fleeing units trigger reaction fire before they reach their destination?
- Exactly how many TUs do berserking soldiers get? (I've got it set at 125% their normal TU, which makes some sense--UFOPaedia says they get an absolute 255, but that can't be right since it would enable units to fire a ridiculous number shots..., and no one has confirmed that value for certain. From what I remember, I think they are only restored to full (100%) TU before berserking, but I would have to go back and play the game [yet] again to confirm it. Still have yet to do that, but I'll definitely need to set aside some time for it eventually to make sure I get everything right.)
Some of the strangeness in the original has not been carried over, of course:
- Fleeing units will not always head southeast
- Fleeing units behave according to normal movement blocking rules (i.e., no walking through other units)
I'm not going to put these extended options in the game yet, but some ideas for the future of panicking:
- Out of ammo? Charge up to an alien and repeatedly bash it in the face with a rifle butt. That would be great...
- Could also have different actions based on varying degree of panic
- Civilians jumping out of high windows to escape aliens (not unlikely), most likely plummeting to their death (for anyone who didn't already know, units jumping through windows and other fragile terrain has been possible for a while now, but civilians won't normally do it yet)
Morale effects are optional and can be turned off, like just about everything else. By necessity/extension, unit rank was also coded and actually means something now.
Below are a few more log screenshots of a game played in Area 51. Nothing exceptional, really, and these excerpts don't show much of the possible unique text and interesting events, but I haven't had enough time to gather a collection of fun logs yet.
Tune Up
by Kyzrati on 20120511 , under Progress, Screenshots
Several months back I was fretting over what to do about the low readability of square fonts when you have long text strings or even a paragraph to read. After all, it's hard for the eyes to quickly parse that kind of unusual arrangement of characters--too much empty space. Eventually I threw out the idea of multiple fonts as not necessarily worth dirtying up the elegant and extremely efficient console-handling code in the engine.
Then a little while back jday brought it up again over on #rgrd and reminded me how important the text is in X-COM, so I started to think about it again, and realized that if it's not done now, it ain't gonna happen. Well... it's already happened, so I don't have to worry about that anymore!
Seeing as how it's going to revolutionize the upcoming UI, I had to fit it in now or the entire layout would have to be redesigned in the future. And revolutionary it is... think about all that extra info which can fit in there! The HUD will be twice as informative; the in-game log will be easier to scan; reading descriptions and stories won't torture your eyes; map overlay text will be a lot more readable, and more readily distinguishable from the map ASCII... the list goes on.
In order to keep the speed reasonably fast, the engine restricts the narrow text font width to exactly half that of the square glyphs so it lines up nicely for the rendering system--a bit limiting, but it still works out. Compare the appearance of these windows:
The command list. Though this particular window eventually won't exist in this form, it's a good example of how much easier it is to scan a list written using a narrower font.
...is now...
The log window. You guys haven't even seen this one yet! Text message work is still ongoing, and I haven't chosen colors yet, but this is a prime example of how reading a bunch of wide text would be quite annoying. In case you're wondering what the hell is going on, this is an X-COM rookie deathmatch in the sandbox =P
...is now...
Note that the specific fonts shown here are of course just something thrown together for testing.
One advantage of the new system is that the game now supports an unlimited number of fonts, which the engine organizes into sets that can be easily modded in through a configuration file. So the UI will now be able to introduce different individual fonts for different purposes, wherever it happens to work well aesthetically.
Look for a modest R6 soon.
In other news, I see that Xenonauts is kicking butt on Kickstarter after only the first couple days. Makes me jealous, and has also gotten me fantasizing about doing something similar with X@COM one day. Thinking realistically, there's not quite the same potential fan base for a non-graphical remake, but it doesn't hurt to dream! It'd be pretty amazing to attract enough money to develop X@COM full-time for a bit. Of course, to get on Kickstarter I'd have to rebrand the game (and perhaps instead tack on the original X-COM content later on as an unofficial "mod"). Not really a big deal, since it's just a bit of text, and my ultimate goal is to take this far beyond the original anyway. Meh, who knows.
***Okay, maybe not just a little slower... The required changes ended up dropping the REX rendering loop to something like 40% of its original speed. Sheesh...
R5: "Alpha Genesis"
by Kyzrati on 20111219 , under Release, Screenshots
So I bring you 0.10. The changelog isn't all that impressive, but this is actually the biggest release yet in terms of modifications, most of them internal as the game is now powered by a brand new engine. Let alpha development commence!
At least now you can try out the new inventory system. With full inventory access you'll also be able to keep those grenades out of your off-hand for better accuracy with two-handed weapons, and carry spare ammo for heavy weapons to make them a lot more useful.
Remote detonation of explosives is now supported. This marks the debut of the 'u'se command, which will be for all sorts of special functionality in the future. Priming your remote charges will create a detonator, which can then be activated at any time by using it. The original X-COM didn't have remote charges, but it's a commonly requested feature, so I've added them since it was easy and the vanilla mode can simply leave them out. Later on when aliens can pick up weapons, it would be amusing if/when the dumber ones happen along and pick up your primed remote charge...
To make downloading the release a little more worthwhile, I added a new scenario: Exodus. You get to assist the National Guard during the evacuation of a city overrun by aliens. This mission shouldn't be too difficult to "successfully" complete, although there's potential for a much higher score if played well. Replayability is high as the city layout and opposition forces are randomly generated. You have a smaller squad this time around, but they're better armed (and armored). You'll also face a new alien species, a weaker precursor to the upcoming Chrysalid (minus the zombies).
Here's a shot of a generated city (revealed):
"Looks quiet. Also looks like we've arrived a bit late..."
During one of my test runs, a huge group of civilians came swarming my way, and right before they reached safety, a blaster bomb came out of nowhere and toasted them all... poor civvies.
Oh, and being a city, I upped the map height to 6, so you can have some pretty tall buildings out there.
The older scenarios have also been modified/updated, mostly to give you a little more firepower and flexibility since now you have inventory access. Area 51 might be slightly easier since there's enough explosives stocked about to level the entire base. Just try not to be in it when that happens.
Your rookies should be ever so slightly more effective now, since while overhauling the armor data format I discovered that the armor value application (a temporary hack for the demo) was overriding all rookie armor with zeroes... So at least now they have that minute amount of armor (which we all know they so desperately need).
I noticed the annual Roguelike of the Year competition is being held right now. There have already been a fair number of votes cast for X@COM (I was pleasantly surprised when I first opened the page and saw several dozen votes), but let's try to get that number higher! Obviously X@COM won't (and shouldn't) win, but the extra awareness would be good, so go put in your vote! (Of course, that assumes you're reading this because you like what I'm doing here.) Don't forget to check out the other entries, too; I voted for DCSS, DF, Infra Arcana and MageGuild. Oh yeah, and myself :)
The next release will come some time next month and should include at the very least medkits (stop bleeding already!), UI sounds (ooooh), and a main menu (not really all that essential yet, but I might as well..). Other things high on the alpha list that will be appearing in the next few releases:
- sounds
- proper message system
- special units (Chryssalids, Silacoids)
- special items (motion detector, mind probe, psi amp)
- morale
- psionics
- battle recording?
I should also spend some more time on HUD design/planning, and there will probably be another post dedicated to it that provides some HUD content proposals which can hopefully attract input.
Quickdraw
by Kyzrati on 20111015 , under Progress, Screenshots
Actions now trigger reaction fire (opportunity fire) from enemies that have spare TU. The system is almost identical to the original, though a few of the small quirks were removed to keep it as straightforward as possible--there aren't any strange exceptions to the way it works.
Melee reactions/counterstrikes are also possible. Out of ammo when that sectoid rounds the corner and starts firing at you point blank? As long as you've got the time left you'll just whack him with your rifle, or whatever you happen to be holding. Heck, find a sword and intentionally have your ninja-reflex soldier wait around corners for unsuspecting aliens--the heads will roll!
About the mechanics: I can't recall whether X-COM units actually turns around as part of reaction fire to shoot aliens after being hit in the back (probably because you rarely survive hits from behind by alien weaponry, anyway...). Either way, that behavior is a per-unit setting in the data files, so it's easily changed. For now I have X-COM *not* turning around.
You can reserve TU for any major action (snap / burst / aimed / melee / throw), and also intentionally deplete a unit's TU with a single command so you don't have to worry about those freaking reactive snap shots with a rocket launcher (unless you want them, of course).
Check out the video below for the ultimate showdown between X-COM and aliens. This battle is 100% based on opportunity fire! Reaction fire on this scope wouldn't normally happen in the game, but I added a third "overwatch" faction which triggers the exchange and tweaked their TU so they won't interrupt the battle; meanwhile, all the other units have full TU and are just staring at each other until someone moves... (HD + fullscreen strongly recommended, otherwise it can be hard to see what's going on)
Explosions are now simultaneously animated from the side, as seen here:
Parabolic projectile trajectories are also possible now. This feature was implemented primarily for the celatid spit, which is apparently the only projectile in the game which does that, but now any projectile can be designed to follow a parabolic trajectory, so you can add mortars etc. Be sure to kill celatids from a distance--or be killed (they've got the deadliest projectile in the game). There's now a max range setting for projectiles, also implemented for celatids, since parabolas don't inherently limit range like they did in the original. You don't want them spitting that stuff at you across the map! All other projectiles currently have unlimited range, of course.
In other news, those alien saboteurs (see 2x2 post) sure are persistent. My motherboard malfunctioned yet again. Lost a PCI slot and BIOS decided it wanted to try to overclock the CPU without my permission. Thought I was going to have to build a new rig to replace this 5-year-old dev machine, but after a cleaning and rearrangement of parts it's chugging along, again. Point is, fooling around with dying hardware ate up enough of my spare time that I probably won't get to push a new release this weekend.
All the new systems are debugged and ready to play, but I want to add a scoring system and new environment/scenario for the next (and last) pre-alpha release: Area 51.
2 x 2 = A Lot of Work
by Kyzrati on 20111002 , under Progress, Screenshots
First time spending this much time on any one part of X@COM (even the particle engine only took a little over a day); had to parse a big chunk of the code since large units touch on a little bit of nearly everything--display, body item mechanics, FOV/LOF, pathfinding... Those weren't actually much of a pain, though. Implementing the effects of gravity on these guys was the annoying part--proper displacement by falling objects, bumping into each other while tumbling through the air, etc... In the end it was definitely worth it (not to mention necessary for any self-respecting X-COM remake!).
First sighting: Reaper!
So in the next release you'll be able to stomp--oops, I mean get stomped by--some large units. Don't worry, you'll have tank support! Too bad we all know X-COM tanks tend to suck. I suppose I'll be generous and give you a well-armed rocket tank or something like that, but it won't save you...
Not from...
Hell yeah!
That's a bit excessive though, you won't see anything quite that big in the demo.
But anyway, as you can see, unit sizes are actually arbitrary--they can be any dimension you like, even taller than one cell! Why not, the code is the same regardless of size. Not necessary for vanilla X-COM, but could lead to some interesting mods :)
Since it's somewhat related to large units, next up is terrain smashing: Any units with strength exceeding the integrity of a terrain material can smash right through it (for a TU cost). So soldiers can jump through windows, tanks and strong aliens can push down walls, and massive units could walk right through buildings. Obviously like anything else not X-COM, this will be an optional setting you can turn off in case you *don't* enjoy jumping through windows or surprising aliens by driving your tank through the side of a house.
After that is tank/natural weapons. That'll be a quick addition, then I can get the next release out.
In other news: ALIENS HACK X@COM!
They must've found out about X@COM and are afraid us Earthlings are developing a training program to devise ways to repel their imminent invasion!
Okay, what really happened is the ASCII mapping code was a bit off and turned the help screen into some alien language. Under the new mapping scheme, a virtually unlimited number of tiny images can be added to the resources and attached to any terrain, unit, etc. This was necessary to make it possible to draw the 2x2 units using special characters. Until now I was relying on hacks to get the unit triangles, but now they and the normal ASCII characters are easy to work with, even from the text files.
12K Release!
by Kyzrati on 20110924 , under Release, Screenshots
I've uploaded a new release with some minor enhancements to the ARRP demo.
Here's the changlog list for those too lazy to check:
* ARRP: HUD more informative
* ARRP: To improve cover, reduced amount of open space and added a new orchard terrain area
* NEW: Light affects unit visibility
* MOD: Non-keypad movement scheme (arrows) more flexible, allows full range of movement
* MOD: Keyboard input more responsive
* MOD: ESC cancels priming action
* MOD: Right-click cancels firing/throwing
* MOD: ESC/Right-click stops movement
* MOD: Units may fire at targets beyond obstacles
* MOD: Auto doors close at end of turn instead of immediately when unoccupied
* MOD: Previous saved games no longer invalidated by adding/moving objects in data files
* FIX: Errors caused by AI misbehavior will be corrected without crashing
The biggest change: Light now affects unit visibility, so if you thought the demo was tough already, now you're really going to be slaughtered on the night missions (as it should be). I added another flare among the starting equipment; try not to blow them up--you've only got two.
Mostly been refactoring and trying to clear my workspace of notes/TODOs accumulated during the coding frenzy leading up to ARRP. Work should start on some new feature this weekend.
Here's a screenshot of a squad disembarking at the landing site near an orchard at night:
What goes up must come down... and preferably explode
by Kyzrati on 20110906 , under Progress, Screenshots
You can now toss things around. The throwing model pretty closely follows the X-COM strength/weight-based range system, with one major (and no doubt highly-anticipated) exception: you won't encounter problems caused by limited arcs.
The game will first try the "ideal" peak for your throw (according to distance) and plot a parabola through that. If the path is blocked, it will successively attempt worse and worse peaks until it finds an unobstructed one (if any). This flexibility isn't free, of course! The further away you are from the ideal peak, the lower your accuracy. So while you can theoretically try to throw your grenade like a fastball straight across the entire map, you're probably going to miss. And missing can be a big deal with a primed grenade, since the miss trajectory could send it bouncing off a nearby wall or ceiling to land not far away...
Here are some normal throws (the side view of course comes in very handy for checking your throwing trajectory):
A throw onto a roof:
A throw from a roof:
One exception to the friendly arcing system is the map ceiling, which unfortunately does limit your throws--fortunately throws from high positions to other high positions (which are the only ones really affected) aren't very frequent. You can still try your throw from building-top to building-top, but thrown objects cannot leave the map so you'll have to risk a pretty straight trajectory (the drawback is negligible if it's close, so don't worry about that). Throwing from a high position (even at the top of the map) to a lower one usually won't be affected much by the ceiling, since the peak will be quite low, generally even level with you.
(On a technical note, throwing makes no attempt to use actual physics or gravity modeling; it actually just picks a peak and two midpoints and draws up to four lines between them.)
Oh yeah, and thrown objects can crash through windows:
That probably wouldn't mean much if windows were simply holes, but in X@COM they're of course made of glass so you can enjoy shooting them out :)
The game is not, however, quite to the point where you can play hot potato with primed grenades--grenade priming is coming next, though currently any grenades that require no priming (i.e., smoke) will go off instantly.
Any item can now be attached to both/either/none of a "firing" explosion (usually for explosive ammo) and "throwing" explosion (usually for grenades), so it would be pretty easy to make interesting objects like alien bodies that explode when you throw them, or a kind of explosive ammo that can also be thrown to make it detonate... Imagine some super buff soldier grabbing a rocket and literally tossing it at a group of aliens :)
See the Light
by Kyzrati on 20110831 , under Screenshots, Video
The last set of YouTube videos were pretty fuzzy, small, and unimpressive-looking, so I've made a new one that includes most of the same material, but in a larger format and zoomed. Check out the smoke-filled incendiary extravaganza below (you can use HD/fullscreen):
There's no sound yet, so I added some music instead. Not all that X-COMish, but it's the first thing I thought of. The game itself won't really feature much in the way of music--ambient sound/music at the most (like the original)--there'll be an emphasis on sound effects (with lots of interface sfx).
By popular request, here's a screenshot showing damage distribution from a large rocket, as impeded by brick walls:
(Okay, it was just Creepy who mentioned it, but seeing as how few people know about X@COM, he does make up a good percentage of the readership :)
I've also added a page containing the full changelog, which will be updated with every new version (whether internal or released). See the link at the top of the blog.
Probably going to work on parabolic trajectories next, to enable throwing and the potential for weapons like mortars (obviously not something to be included in the initial core game, but they could appear in a later mod).
Ka-boom!
by Kyzrati on 20110811 , under Screenshots
Okay, so I haven't added the sound system yet, but I can just hear it already as I test the explosion code. Everything seems to be working nicely--explosions are propagating damage as expected, terrain is blocking the force of explosions based on its stats...
No animation yet (that's coming up), but below is a shot of the results when a small rocket is fired into a hillside. The rocket hit the second level from the ground, and you can see how the grass is blown away and the dirt caves in.
On the right is some debugging info, showing the relative damage on each level (0, 1, 2). Unlike X-COM, explosions are in 3D, though I've made them a fair bit weaker in the third dimension, so they would technically be more of an elliptical shape if viewed from the side. Vertical explosion effects are completely optional, and can be deactivated to preserve the original X-COM explosion effects (same level only).
You may notice another difference from X-COM: blast patterns. X@COM uses a more rounded pattern, rather than the squarish patterns of X-COM, so your explosions will include a few extra squares. This difference is most noticeable for smaller blasts.
And now on to what I've been waiting for... Time to unleash some serious firepower on that house. Here it is, awaiting destruction, with roof view on (remember, it's two stories):
First we'll pull out our rocket launcher and smack the front door with a small rocket.
But that's not enough! Who has time to fire a few small rockets just to bring down a house? You desire a more effective way to level that thing... How about a large rocket fired through an open door (explosion in middle of first floor):
Still, they have a FENCE left! And someone even managed to survive! Okay, okay--here it comes... the Blaster Launcher!
Soldier-boy there singed his eyebrows with that one!
Let's check out the damage distribution (floor 0, 1, 2):
As you can see, hanging around anywhere outside a window, even in the air far away from ground zero, would be a bad idea when that bomb goes off.



















































