Two Years of X@COM
by Kyzrati on 20130608 , under
![]() |
| Two years of development squeezed into "one" image. Imagine that. Okay, no imagination necessary--it's right there. |
It might change at some point soon (if/when I move), so here's a shot of the X@COM dev station as it's remained since the game's inception:
![]() |
| For the curious. |
The IDE scrollbars are especially useful, since they show the code formatting/indentation and other important information for reference. Here are some examples, because they just look neat by themselves:
![]() |
| X@COM source! Sort of. |
Do it for the Earth!
by Kyzrati on 20130601 , under
The project will be going on two years soon. Wow.
Interestingly enough this is the result of a... slight deviation from the original plan. I started with the intention of making a simple, quick X-COM project--after all, the game mechanics are widely documented, and I could've made a complete clone in a year if I stuck to that plan.
But after only the first few months of development it became apparent that this could be much more epic, and therefore much more meaningful (on its own, an exact remake in ASCII has gimmicky appeal at best). So it's taken a while to get to this stage as I created a flexible engine and tested it with a long series of increasingly feature-rich demo missions. While there's still a long way to go, we now have a strong foundation to build on and the potential is evident.
And there's been a lot of fun along the way--the semi-regular blog posts have been well-received, and at least some of you have already gotten many hours of enjoyment out of the alpha demos. I know many more are waiting on the sidelines for the geoscape and sacred 1.0 release. We'll get there.
In the meantime, I'm finally opening the project to donations. Check out the new "Donate" page for more details. Tell your neighbors! Tell your parents! Tell your rich uncle! On second thought, tell people who might give a damn ;p (Later that day...: Okay, I changed my mind for now. No donations. They were available for about a nine-hour window but fortunately (?) no one took advantage of that, so this change affects approximately 0 people. After thinking it over some more, I don't think donations will be significant enough to enable me to continue putting lots of time into development (big assumption but I don't want to take the chance), and a lack of progress would rub people the wrong way. So from here on out things might slow down a bit while I work on something that will actually be at least a little profitable for a change. But hey, though short-lived at least donations were a good reason to finally put up the associated post containing my first geoscape mockups--now back to that post...)
And because I do try to have something visual for you with every post, here's a little peek at what I've been researching lately. (Plus it was a good tie in for a post title :) Keep in mind these are MOCKUPs (and rough ones at that) thrown together with a combination of REXPaint and Photoshop. The geoscape still doesn't even exist in the source code aside from that global pointer I wrote in when I first started the project. (FYI: It is currently NULL ;) The geoscape will most likely end up looking very different from these, but hey, they were fun to make!
The geoscape isn't a near-term development goal, mind you, but it's definitely something I've been researching a lot lately because getting it right will take some time--there are a lot of issues to consider, mostly surrounding how to best store and display Earth data (everything else is trivial by comparison).
I'll start an in-depth discussion of the geoscape once the forums are up and running.
In case you haven't seen it yet, there is an ongoing discussion regarding a new name for X@COM. See the previous post, and the Bay 12 thread starting here.
Interestingly enough this is the result of a... slight deviation from the original plan. I started with the intention of making a simple, quick X-COM project--after all, the game mechanics are widely documented, and I could've made a complete clone in a year if I stuck to that plan.
But after only the first few months of development it became apparent that this could be much more epic, and therefore much more meaningful (on its own, an exact remake in ASCII has gimmicky appeal at best). So it's taken a while to get to this stage as I created a flexible engine and tested it with a long series of increasingly feature-rich demo missions. While there's still a long way to go, we now have a strong foundation to build on and the potential is evident.
And there's been a lot of fun along the way--the semi-regular blog posts have been well-received, and at least some of you have already gotten many hours of enjoyment out of the alpha demos. I know many more are waiting on the sidelines for the geoscape and sacred 1.0 release. We'll get there.
And because I do try to have something visual for you with every post, here's a little peek at what I've been researching lately. (Plus it was a good tie in for a post title :) Keep in mind these are MOCKUPs (and rough ones at that) thrown together with a combination of REXPaint and Photoshop. The geoscape still doesn't even exist in the source code aside from that global pointer I wrote in when I first started the project. (FYI: It is currently NULL ;) The geoscape will most likely end up looking very different from these, but hey, they were fun to make!
![]() |
| There's the obligatory terminal green map. While simple, it's nice that all the important dynamic stuff is easy to spot. |
![]() |
| This one just looks neat. And besides, land is where most of the important stuff is anyway (this not being TFTD), so having it clear is helpful, too. Unless of course you want terrain details... |
The geoscape isn't a near-term development goal, mind you, but it's definitely something I've been researching a lot lately because getting it right will take some time--there are a lot of issues to consider, mostly surrounding how to best store and display Earth data (everything else is trivial by comparison).
I'll start an in-depth discussion of the geoscape once the forums are up and running.
In case you haven't seen it yet, there is an ongoing discussion regarding a new name for X@COM. See the previous post, and the Bay 12 thread starting here.
Taking the "X-COM" out of X@COM?
by Kyzrati on 20130527 , under Brainstorm
Well, yes and no.
What I mean is the game is going to be re-branded with a different name and content while keeping the same mechanics and premise--you'll still be leading an organization tasked with defending Earth against aliens; soldiers, battlescape, geoscape, bases, craft, and all. This will enable more freedom in both design and fundraising. (If you *really* want to play the original in ASCII form, I'm sure a mod will be able to help you with that--we more or less have one already, minus the geoscape.)
We don't really need another X-COM clone, anyway, which X@COM is already decidedly not, so... first thing's first: we need a new name to
While X@COM is not a clone and does/will include lots of additional features, it obviously has its roots in X-COM (as well as some of the trunk as well, considering core mechanics and gameplay), so I preferred a name that still embodied those roots (okay, trunk), hence the 'X', and "Com..." (cleverly reversed, mind you!)
In 1973 a close group of respected scientists exploring the entertaining possibility of alien life on Earth made an important discovery. Although based purely on a confluence of soft evidence, it appeared that aliens really could be responsible for a series of unexplained and seemingly unrelated events across the globe in recent years.
While they couldn't take their views to the public without risking their reputations in the scientific community, they were convinced that given more time and information it might be possible to piece together enough evidence to prove the Earth was in fact under alien surveillance for an unknown purpose.
They called themselves "The Company," a joking reference to not being alone on the planet.
Uniquely positioned to gain access to normally restricted data, The Company slowly pieced together behavioral profiles and hypothesized about technological advancements behind various unnatural phenomena, all rooted in real science. For several years they silently investigated and monitored suspected alien activity, even developing technology capable of detecting Unidentified Flying Objects and tracking them for a short distance.
It is now the year 1985, and the aliens are becoming more aggressive. No longer are incidents limited to brief sightings and random abductions. Inexplicable small-scale attacks have begun to shake the public psyche even as governments are quick to initiate cover-ups and attribute them to terrorists.
The Company decides it's time to act.
Through one part pattern analysis, one part behavioral science, and two parts luck, they successfully predict the next target site. Acting in coordination with local law enforcement contacts, they have an entire squad of officers briefed and waiting in ambush when two armed aliens arrive at the scene, immediately surprising and subduing them before they can react.
Major world governments are impressed at the group's success, and unanimously agree to fund them as a new independent initiative tasked with combating the alien threat in all its forms. Knowledge of the alien threat is not yet ready to be brought before the public, thus the deal is kept secret and for now the group appears on government defense ledgers as simply "Company X."
The term "Company" can be taken in the military, economic, or even "group" sense. Obviously you're leading a paramilitary organization, as well as essentially a company what with manufacturing and selling equipment on the side to supplement income...
The story is not incredibly unique, just another possible way such an organization could be formed that covers most of the necessary bases while keeping it generic enough that it could play out in any number of ways from your starting point.
More or less this same news was first posted yesterday on Bay 12, so you can check there for other responses if interested.
Unfortunately while the name fits the theme, series, and story fairly well, it isn't all that amazing on its own as a name, which is definitely a drawback. I've also come up with an alternative which stands on its own pretty well and you may prefer instead: Xenocorps.
The good thing is, either name could essentially use the same logo concept I'm rather fond of (which is really just a modified X@COM logo, at that):
What do you think about all this? (Before you suggest it, just this afternoon I was thinking of other names and already came up with Hot Pink Elephants From Space Ate My Pajamas. I'm a little on the fence with that one.)
This re-branding is not happening right now, but will come eventually once the project enters the refactoring stage where I clean up all the crap I've been stitching together just to keep the project playable and fun while new features were added.
What are the specific implications? I'm glad you asked, because you'll get...
In time there will be plenty of room for discussion regarding the new content and overall game design. Before then, once the new name is determined we'll likely have a new general forum to help direct future development and provide a place for players to interact.
Several days ago I had a nice post ready to publish, complete with geoscape mockups and all, but the focus was the announcement of donation support and I discovered only at the last minute that PayPal donations aren't allowed in my country (seriously, they told me to "start a company and sell a product or service"...), so... we're suddenly talking about this instead.
What I mean is the game is going to be re-branded with a different name and content while keeping the same mechanics and premise--you'll still be leading an organization tasked with defending Earth against aliens; soldiers, battlescape, geoscape, bases, craft, and all. This will enable more freedom in both design and fundraising. (If you *really* want to play the original in ASCII form, I'm sure a mod will be able to help you with that--we more or less have one already, minus the geoscape.)
We don't really need another X-COM clone, anyway, which X@COM is already decidedly not, so... first thing's first: we need a new name to
- preferably represent what the game will be (or at least some aspect thereof)
- get at least a little further away from "X-COM"
- be easier to search for, '@' characters not being all that search engine friendly
- be pronounceable ;p
While X@COM is not a clone and does/will include lots of additional features, it obviously has its roots in X-COM (as well as some of the trunk as well, considering core mechanics and gameplay), so I preferred a name that still embodied those roots (okay, trunk), hence the 'X', and "Com..." (cleverly reversed, mind you!)
In 1973 a close group of respected scientists exploring the entertaining possibility of alien life on Earth made an important discovery. Although based purely on a confluence of soft evidence, it appeared that aliens really could be responsible for a series of unexplained and seemingly unrelated events across the globe in recent years.
While they couldn't take their views to the public without risking their reputations in the scientific community, they were convinced that given more time and information it might be possible to piece together enough evidence to prove the Earth was in fact under alien surveillance for an unknown purpose.
They called themselves "The Company," a joking reference to not being alone on the planet.
Uniquely positioned to gain access to normally restricted data, The Company slowly pieced together behavioral profiles and hypothesized about technological advancements behind various unnatural phenomena, all rooted in real science. For several years they silently investigated and monitored suspected alien activity, even developing technology capable of detecting Unidentified Flying Objects and tracking them for a short distance.
It is now the year 1985, and the aliens are becoming more aggressive. No longer are incidents limited to brief sightings and random abductions. Inexplicable small-scale attacks have begun to shake the public psyche even as governments are quick to initiate cover-ups and attribute them to terrorists.
The Company decides it's time to act.
Through one part pattern analysis, one part behavioral science, and two parts luck, they successfully predict the next target site. Acting in coordination with local law enforcement contacts, they have an entire squad of officers briefed and waiting in ambush when two armed aliens arrive at the scene, immediately surprising and subduing them before they can react.
Major world governments are impressed at the group's success, and unanimously agree to fund them as a new independent initiative tasked with combating the alien threat in all its forms. Knowledge of the alien threat is not yet ready to be brought before the public, thus the deal is kept secret and for now the group appears on government defense ledgers as simply "Company X."
The term "Company" can be taken in the military, economic, or even "group" sense. Obviously you're leading a paramilitary organization, as well as essentially a company what with manufacturing and selling equipment on the side to supplement income...
The story is not incredibly unique, just another possible way such an organization could be formed that covers most of the necessary bases while keeping it generic enough that it could play out in any number of ways from your starting point.
More or less this same news was first posted yesterday on Bay 12, so you can check there for other responses if interested.
Unfortunately while the name fits the theme, series, and story fairly well, it isn't all that amazing on its own as a name, which is definitely a drawback. I've also come up with an alternative which stands on its own pretty well and you may prefer instead: Xenocorps.
The good thing is, either name could essentially use the same logo concept I'm rather fond of (which is really just a modified X@COM logo, at that):
What do you think about all this? (Before you suggest it, just this afternoon I was thinking of other names and already came up with Hot Pink Elephants From Space Ate My Pajamas. I'm a little on the fence with that one.)
This re-branding is not happening right now, but will come eventually once the project enters the refactoring stage where I clean up all the crap I've been stitching together just to keep the project playable and fun while new features were added.
What are the specific implications? I'm glad you asked, because you'll get...
- new races!
- new weapons!
- new... everything!
In time there will be plenty of room for discussion regarding the new content and overall game design. Before then, once the new name is determined we'll likely have a new general forum to help direct future development and provide a place for players to interact.
Several days ago I had a nice post ready to publish, complete with geoscape mockups and all, but the focus was the announcement of donation support and I discovered only at the last minute that PayPal donations aren't allowed in my country (seriously, they told me to "start a company and sell a product or service"...), so... we're suddenly talking about this instead.
XCOM2GIF.exe
by Kyzrati on 20130517 , under
So... now that I've got some ASCII art lying around, I figured I'd see what it looks like in the actual game, where it is in fact intended to go one day...
After writing a simple base class for importing and displaying images from REXPaint (*.xp), I decided it was pretty boring just throwing the images up there on the console. Our UFOpaedia's going to need a little more pizazz than that. What to do...
I know, why not integrate the image display class with the particle system? All we need are commands that particle scripts can use to interface with the various components of a REXPaint image (ASCII, foreground/background colors). Done. Particles are now capable of drawing their data from images, and thereby manipulate their appearance.
Here are some simple examples recorded from a test console running in the game:
And those examples use only one image layer, while the system is capable of reading each layer of the image individually, some of which could be pure color/ASCII effect layers designed in REXPaint to enable a mixture of procedural and designed art. Theoretically the system could be used to create some far crazier effects, or even animate images (though I don't imagine going that far myself).
After writing a simple base class for importing and displaying images from REXPaint (*.xp), I decided it was pretty boring just throwing the images up there on the console. Our UFOpaedia's going to need a little more pizazz than that. What to do...
I know, why not integrate the image display class with the particle system? All we need are commands that particle scripts can use to interface with the various components of a REXPaint image (ASCII, foreground/background colors). Done. Particles are now capable of drawing their data from images, and thereby manipulate their appearance.
Here are some simple examples recorded from a test console running in the game:
And those examples use only one image layer, while the system is capable of reading each layer of the image individually, some of which could be pure color/ASCII effect layers designed in REXPaint to enable a mixture of procedural and designed art. Theoretically the system could be used to create some far crazier effects, or even animate images (though I don't imagine going that far myself).
Paint Me an Alien Invasion
by Kyzrati on 20130511 , under
REXPaint is ready for use/abuse.
For any of you interested in the modern computer-aided impressionism/abstract art scene, and I'll bet there are at least 0.63 of you, this announcement should be cause for an immediate download! :)
I've set up a separate blog for it here where you can download the latest release and read about the features, find more screenshots, etc. All further REXPaint related news will be posted over there.
Here's the main paint mode interface in action, along with a floater for all of your ASCII floater needs:
Check out the REXPaint blog for more.
For any of you interested in the modern computer-aided impressionism/abstract art scene, and I'll bet there are at least 0.63 of you, this announcement should be cause for an immediate download! :)
I've set up a separate blog for it here where you can download the latest release and read about the features, find more screenshots, etc. All further REXPaint related news will be posted over there.
Here's the main paint mode interface in action, along with a floater for all of your ASCII floater needs:
![]() |
| You can see earlier stages as I worked towards the "final" design (though not really final--just me doodling). |
Mod: "Terror"
by Kyzrati on 20130504 , under Mods
10101 has done it again and brought us another mission from the original X-COM. Remember scurrying through malls, shops, gas stations, and warehouses searching for civilians before the aliens found them, only to hear the screams of their death when you're too late?
Yep, it's a terror mission.
Like the Farm mod it has high replayability given that you can start with different squads and craft, and face off against different randomly chosen races (intel will tell you which at the outset, in case you'd like a different opponent).
While it's probably not too difficult to at least survive this mission, getting a reasonable score is an entirely different matter.
One advantage you'll have compared to the original game is you can press 'n' when a soldier is facing a civilian to have them follow that soldier, and even lead them to an evac zone if you want to get them off the map (to make room for bigger explosions, of course ;p).
Another change from X-COM is that the Lightning squad can carry sniper rifles, described here by 10101:
10101's Farm mod has also been upgraded to X@COM R9.1, which fixes the ambient sound bug on restarts.
REXPaint update: X@COM's ASCII art editor is almost complete--the only bit remaining is its built-in file browser, so the next post will most likely introduce the new development tool and its features.
Yep, it's a terror mission.
Like the Farm mod it has high replayability given that you can start with different squads and craft, and face off against different randomly chosen races (intel will tell you which at the outset, in case you'd like a different opponent).
While it's probably not too difficult to at least survive this mission, getting a reasonable score is an entirely different matter.
One advantage you'll have compared to the original game is you can press 'n' when a soldier is facing a civilian to have them follow that soldier, and even lead them to an evac zone if you want to get them off the map (to make room for bigger explosions, of course ;p).
Another change from X-COM is that the Lightning squad can carry sniper rifles, described here by 10101:
- Light Sniper Rifle:
Weakest of the sniper rifles. Only slightly more damage than a normal rifle. Slow but accurate aimed shot and a snapshot like the rifle, but slightly slower (best snap of the sniper rifles). Eight shots per clip.
- Laser Sniper Rifle:
Superior to the light sniper rifle in everything but the snapshot which is horribly inaccurate as you have to aim while waiting for the beam to charge. Damage ranges between laser rifle and heavy laser. Unlimited ammo like all laser weapons.
- Heavy Sniper Rifle:
The mother of all sniper rifles. Due to its bulk the snapshot is both innacurate and slow. Aiming takes even longer than with the other sniper rifles (90% TU) and you have to load each bullet seperately. On the other hand it is the third most accurate weapon in the game (after the blaster launcher and the HWP-blaster) and its damage is as high as other explosive weapons (approximately equivalent to an alien grenade or small launcher).
![]() |
| We've so got this--an Avenger carrying four tanks, and two mutons with their backs facing us... (First tank rolls down the ramp and is shot to pieces by plasma fire from a different angle.) |
10101's Farm mod has also been upgraded to X@COM R9.1, which fixes the ambient sound bug on restarts.
REXPaint update: X@COM's ASCII art editor is almost complete--the only bit remaining is its built-in file browser, so the next post will most likely introduce the new development tool and its features.
If Picasso Sprited X-COM
by Kyzrati on 20130427 , under Brainstorm
The next stage of development is focused on re-working and fleshing out the interface, and you'll notice on the roadmap that among the new elements is the UFOpaedia database. As I imagine it, you'll be able to access the database directly from the battlescape for detailed information about items, creatures, terrain, and more.
Ideally each entry will be accompanied by an image, albeit drawn as ASCII art. Note this does not mean conversion of images to ASCII (which doesn't count as "ASCII art" in the same way that simply lowering the resolution of an image doesn't qualify it as "pixel art"). According to the current plan, images will be comprised of the standard 256-character code page 437, probably including at least some use of background colors as well.
ASCII art fits well with roguelikes since both tend towards abstract representation of objects,
so I figure that many RL players can also enjoy ASCII art. That said, enjoy these samples I've been working on while testing concepts and tech/tools:
I'm still a beginner at this ASCII art thing (this being my first attempt ever), but your discerning eye should be able to recognize them. One can hope.
When doing RL GUI mockups a few years back I used ASCIIPaint and WEPaint over on the TIGForums, but they suffer from clunky interfaces and are a pain to use, especially when compared to eigenbom's ASCII Paint fork which I discovered only recently. He's done an awesome job of making this type of software relatively user-friendly, and his fork is what I used to draw the above images.
I used only the colors provided in his standard libtcod palette, which was in some cases limiting (sure there's the whole "limitations breed creativity" idea but in this case I was missing a few shades that would've helped a lot). The point of my tests was elsewhere, anyway: Attempting to determine whether ASCII art looks good enough at large sizes using a square font, the main issue being code page 437 is traditionally represented using the non-square IBM font, and trying to force it into square cells tends to result in far too much empty space that can impact the density and thereby cohesion of an ASCII image.
Obviously we want the art to work at any size X@COM can be scaled to, so I drew the above with a 16x16 font, then reloaded them with a smaller font to test their appearance. What do you think? Both look viable to me.
Having said all that, I'm pretty sure that my next task here will be to take a quick detour and code a new ASCII editor, one that will write to a format that X@COM can read and display directly in game. While the main purpose is to create a tool to streamline creation of the game art, and there is a chance it will later be used to create multi-cell UI pieces that could be a component of for map overlays (though at this point I'm not sure whether that will be necessary), and it will also be useful for drawing UI mockups in the near future. I also enjoy seeing what creative works users come up with, as seen in the TIG thread (there is some cool-looking stuff over there), though it would seem that by now everyone is kind of ASCII'd out so I'm not too hopeful on that front.
The editor of which I speak, likely titled REXPaint after the engine it's based on, is feature-wise more or less eigenbom's fork minus a few elements I don't need, plus a few I do need that it lacks.
On the new/different side you'll be able to
Below are some REXPaint UI mockups, not exactly feature complete (or even correct, since I've changed my mind on a few parts since drawing these up). The second one includes the concept for a browsing mode interface.
The color choices aren't too important at the moment, since re-skinning the interface will be very easy.
Ideally each entry will be accompanied by an image, albeit drawn as ASCII art. Note this does not mean conversion of images to ASCII (which doesn't count as "ASCII art" in the same way that simply lowering the resolution of an image doesn't qualify it as "pixel art"). According to the current plan, images will be comprised of the standard 256-character code page 437, probably including at least some use of background colors as well.
ASCII art fits well with roguelikes since both tend towards abstract representation of objects,
so I figure that many RL players can also enjoy ASCII art. That said, enjoy these samples I've been working on while testing concepts and tech/tools:
![]() |
| ASCII concept art, who would've guessed... |
I'm still a beginner at this ASCII art thing (this being my first attempt ever), but your discerning eye should be able to recognize them. One can hope.
When doing RL GUI mockups a few years back I used ASCIIPaint and WEPaint over on the TIGForums, but they suffer from clunky interfaces and are a pain to use, especially when compared to eigenbom's ASCII Paint fork which I discovered only recently. He's done an awesome job of making this type of software relatively user-friendly, and his fork is what I used to draw the above images.
I used only the colors provided in his standard libtcod palette, which was in some cases limiting (sure there's the whole "limitations breed creativity" idea but in this case I was missing a few shades that would've helped a lot). The point of my tests was elsewhere, anyway: Attempting to determine whether ASCII art looks good enough at large sizes using a square font, the main issue being code page 437 is traditionally represented using the non-square IBM font, and trying to force it into square cells tends to result in far too much empty space that can impact the density and thereby cohesion of an ASCII image.
Obviously we want the art to work at any size X@COM can be scaled to, so I drew the above with a 16x16 font, then reloaded them with a smaller font to test their appearance. What do you think? Both look viable to me.
Having said all that, I'm pretty sure that my next task here will be to take a quick detour and code a new ASCII editor, one that will write to a format that X@COM can read and display directly in game. While the main purpose is to create a tool to streamline creation of the game art, and there is a chance it will later be used to create multi-cell UI pieces that could be a component of for map overlays (though at this point I'm not sure whether that will be necessary), and it will also be useful for drawing UI mockups in the near future. I also enjoy seeing what creative works users come up with, as seen in the TIG thread (there is some cool-looking stuff over there), though it would seem that by now everyone is kind of ASCII'd out so I'm not too hopeful on that front.
The editor of which I speak, likely titled REXPaint after the engine it's based on, is feature-wise more or less eigenbom's fork minus a few elements I don't need, plus a few I do need that it lacks.
On the new/different side you'll be able to
- browse through all art assets from within the editor itself and switch over to painting mode at the press of a button
- do in-program palette editing and manipulation (with a true color picker)
- use layers for easier tweaking (and possibly other advantages later)
Below are some REXPaint UI mockups, not exactly feature complete (or even correct, since I've changed my mind on a few parts since drawing these up). The second one includes the concept for a browsing mode interface.
The color choices aren't too important at the moment, since re-skinning the interface will be very easy.
X@COM Fans
Tags
- Brainstorm (8)
- Mods (6)
- Progress (26)
- Release (10)
- Screenshots (21)
- Video (10)














