XCOMRL

If Picasso Sprited X-COM

by Kyzrati on 20130427 , under

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:

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)
I have a more detailed design doc outlining features-to-be, but those are the highlights. Feel free to make suggestions or feature requests. Besides saving to the X@COM art format (*.xp), the editor will export PNG images so it's perfectly possible to use it as a general purpose stand-alone ASCII art editor.

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.
8 comments more...

Mod: "Farm"

by Kyzrati on 20130422 , under

Remember those eerily vacant farms? Wading across cornfields and searching barns while looking for the UFO crash/landing site? Modder 10101 has done an excellent job of recreating that experience in his aptly-titled mod "Farm".

This mission varies widely in scale since your squad lands in either a Skyranger, Lightning, or Avenger and begins with tech-level appropriate equipment as you face off against any of the possible UFO types including the scout, harvester, supply ship, terror ship, or even a massive battleship. (It's an impressive job considering the current limitations of the modding system.)

HQ will notify you of the class of UFO at the site (which may be either crash-landed or on the ground carrying out its own mission) and you can opt to press F10 to randomize the mission. As usual, beware facing off against against psionic races since they won't hesitate to mind control your soldiers with perhaps dire consequences for squadmates...

While the experience should be very similar to the original, at least one tactical difference I noticed while playing is that you'll be able to smash through hedges instead of always shooting your way through (jumping over low walls and fences would've been another option, but we decided to postpone the parkour functionality). Then of course there's the fact that we have gravity in X@COM, so you can literally bring down an entire barn with explosives if you like, or collapse upper floors by shooting out lower walls.

Get it on the files page, of course.

Can you guess what's on top of those four round things?


0 comments more...

R9: "Sound Like a Hero"

by Kyzrati on 20130401 , under

Hear that?

It's the
hum of nearby power cores,
the twittering of alien terminals,
the footsteps of soldiers making their way across a lawn, pushing their way through foliage, and trampling crushed glass as they investigate a decidedly large opening in the side of a now-abandoned house, or the sound of aliens sneaking down a wooden hallway towards that very opening. Or not sneaking. You'll definitely know a sectopod when you hear one--let those mechanical steps strike fear into the heart of many a brave field commander!
It's the
charging of powerful laser cannons,
brick walls crumbling from an explosive impact,
spent shells rattling across the concrete,
bullets ricocheting off UFO hulls,
grenades bouncing down the hall (if you're close enough to hear this one, um, was nice knowing you),
glass storefronts being blown out (try the pressurized gas explosion of a small launcher for the coolest effect--since it just gets the windows ;p)
falling furniture smashing into a lower floor,
a growling reaper that must be right around the corner,
and the roar of a massive... well, you'll hear it when you do (hopefully before you see it so you still have time to run).

And that's just the beginning.

Weighing in at 850 sounds, R9 is the true beginning of creating the sense of immersion I envision as being core to the X@COM experience.

It's been a while since we had a nice whole number release following the modding bonanza that was R8 (which resulted in some very beneficial iterative development).

The highlights of this release are a super fast (relatively speaking) engine refactor (old post) and, of course, the new sound system, which I've posted a bit about recently, but here's a quick overview:
  • Ambient sounds are sourced from objects in the surrounding environment (area-based ambient sound will come at a later time when the map generation supports it)
  • Volume is distance-based, and allows for different falloff models depending on what makes the most sense
  • Weapons and explosions currently use a temporary set of sounds, a quick job meant just to cover the basic X-COM content
  • The system is, as usual, easily moddable: there are hooks in the data/code for weapons, destruction, various types of impact, death and injury, ambience, item interaction, etc.
  • Sound is also integrated with the event/ability scripting system, meaning just about anything can be audible if necessary

Among the smaller additions, melee attacks that fail to destroy terrain objects now show messages indicating how effective the hit was. This was a great community suggestion, since you generally don't have any idea whether what you're using to bash down that heavy door is going to knock it down anytime today. Later this will be slightly less of an issue once you can examine damage and integrity values in-game, but for now it could save you some time, especially useful in Rookie's Tale where melee items are the norm.

The log now implements message folding, so consecutive identical messages will just increase the count on the first one by using a suffix: "<x#>"

Proxy grenades now require priming as in the original. Don't drop them at your feet after priming them! Dropping them and picking them up again will deactivate them (of course you can only do that if you haven't moved from their location, or you use some kind of psionics to move them, entirely possibly one day as we've seen in Rookie's Tale--unlike the original, flying units cannot drop down to pick them up.) The game still supports grenades that auto-activate when thrown, for modding potential (that and X@COM smoke grenades still automatically explode).

On the scary side, aliens can use grenades! Oh my... This feature has not been retroactively added to old missions, though--it's only available in mods, and only where the modder intends it (by putting 'nades in alien hands ;p). At least there's only a *chance* they'll throw it at you.

So you want to finally hear all these new sounds? There are currently three ways:
  • The simplest (though not quite as fun) is to download the demo and run the sandbox, where you can play around with the weapons, shoot the house, etc.
  • You can also replay the old demo missions, but because game sounds are *deactivated* by default, you'll have to turn them on manually by editing the mission's .bat file: add the "-fullSound" command line switch. I recommend against this option since the experience will be fairly inconsistent given that they contain additional non-standard content for which there are no sounds.
  • Or... play this new mod created specifically to show off sound effects!
Welcome to Ground Zero.

So after years of playing X-COM you're a pro at taking on one landed UFO, sure, but how about multiple UFOs at once?

The weakest opposition you could face will be two medium scouts, plus whatever has taken up defensive positions in the surrounding structures, plus whatever else decides to show up depending on your performance. On average there will be around 3-4 UFOs, though, among them sometimes a large scout or even a terror ship.

As usual, expect some surprises along the way, though this is still a more traditional tactical mission, so don't bother using anything in the environment--I didn't go crazy with that system like I did when testing it in Rookie's Tale.

Beware of sectoid and ethereal leaders, since some of them may be capable of mind control (requires LOS though), and also try not to bunch up too much lest a well-placed alien grenade wipe your whole team out.

If you feel outgunned, Malachai can be a useful ally if you can find him early. He'll join you and follow around, hopefully covering your back with his minigun and super deadly skill with throwing knives (close combat only). Once he's joined, shift-f to highlight his position since he's an allied unit not under your control. (Malachai is one of our fans from YouTube whose enthusiasm for R9 has earned him a place in this mod =p)

Like exodus, completing this mission "successfully" shouldn't be too difficult (you could always hide, wait most of it out, and at least survive...), but scoring well will be quite difficult due to the various penalties for failure to achieve objectives.

Your primary goal is to take out power sources, and for that purpose you have a good number of remote charges. As a reminder of how to use them, (p)rime them with an empty hand to create a detonator, then place the charge and (u)se the detonator when ready to set it off. Make sure to place/throw them close enough to the power source to be able to destroy it!

This mod also includes a special new kind of remote explosive, the Hull Breacher, designed specifically for breaching UFOs and giving you a different point of entry for alternate tactics. Make sure you place them immediately adjacent to a UFO hull or wall, flip the switch, and surprise some aliens from behind!

Jackpot! Look at all those power sources...

So now's your chance to command a newly audible heroic squad to prevent the equivalent of a local Armageddon. Good luck if you're forced to land at night...

My advice: Move quickly, because the longer you take the harder it will get.

X@COM is finally getting some truly video-worthy content (sound makes a huge difference), and I was working on a Ground Zero compilation to show off this release, but lacking the time to edit and polish it I've put that aside for now. In any case, you can always download and play a round if you'd like to experience it now, or wait until I do get a video out there--now that sound is mostly in place the visuals/UI are going to start improving in leaps and bounds.

I'll be leaving for a couple weeks soon so there won't be any new posts for a while, but when I return in late April there will be a brand new sound-enabled mod ready from one of our modders.
15 comments more...

The Sound of Fluff

by Kyzrati on 20130319 , under

More than 750 sound effects later, I'm done (for now).

This phase of development only goes as far as implementation of the core sound system, and inclusion of a majority of the "generic" sound effects that we know we need:

  • bullets/projectiles colliding with different materials
  • spent shells hitting the ground (again, material based)
  • item throwing and colliding/landing/falling/dropping (not all the same thing)
  • melee swings and strikes (dependent on object struck--and whatever is swung, but for now that's mostly the same metallic objects)
  • door manipulation
  • grunts/screams from injury (pretty limited for now, esp. on the alien side)

So nearly none of the "unique" content you see in the demo scenarios has sound, instead all I've done so far are the parts that are sure to go into the final game. Obviously as you heard in the recent video there are sounds for the core weapons and explosions, for testing and, of course, fun :)

As for ambient sounds, while I had previously labeled them "unlikely", they are just so easy and beneficial to the atmosphere that I had to implement them, too. So now your soldiers can hear the pulsing hum of the UFO power core, beeping of terminals, wind in the trees, and fire. More will come later with the actual game content, although yesterday I couldn't help myself and added an event-based sound that plays on mission start if you have a Skyranger: the sound of the craft bay doors opening and lowering the ramp. Ambient sounds are heard by the currently selected unit, if any, and fade in slowly when selecting a new unit so as not to get too annoying while cycling through many units.

Check out this debug shot visualizing the volume of ambient sounds heard around a UFO:
Obviously you have the UFO power generating the strongest source of source in there (though it falls off quickly), with the terminals on the left chiming in. Outside is a tree, and if you're not too far away from it you'll hear a gentle breeze occasionally blowing through the leaves.
As mentioned before, sound volume is distance based, so the amount of control the engine now provides over falloff rates (attenuation) is useful for making different kinds of ambient sounds more realistic and changes in distance sound less harsh as units move nearer/further. The engine supports linear, logarithmic, reverse log, and inverse rates (you can read about them and see their graphs here). They don't work absolutely seamlessly, this being a grid world with discrete positioning rather than one with the more fine-grained resolution you'd see in a normal 3D game, but they get the job done well enough.

As with everything else, the entire sound system is controlled through text files. You just drop files in the audio directory, add their path to the sound definitions (along with their ranges and falloff model), and use them wherever in the data. The engine also supports the creation of sound channel groups for more precise control through particle script commands.

For the player, sound control is divided into three groups, UI, game, and ambient, which you'll be able to toggle and set volume for individually, though for now I'm not going to include commands for that since it will be handled through an options menu.

With this R9 is pretty much done, though I'm thinking of creating a quick mod that can better showcase the sound system, as all these cool new sound effects will be deactivated in the normal demo scenarios (you can manually activate them, but the overall experience will be inconsistent).
3 comments more...

Disaster Averted

by Kyzrati on 20130316 , under

So this "dark cloud" previously mentioned, the one that was threatening to hinder development in a big way (= stop it for a year), has thankfully dispersed! I'll still have to be away for a couple weeks next month dealing with related matters, but once that's done nothing will stand in our way!

Okay, maybe there is another little cloud brewing out there, just about the only other thing that could get in the way... like the funds to continue at a good pace.

To date I've put all my own money (+= lots and lots of time) into this project, but it just so happens that my current sources of income are drying up in a few months and rather than looking for more of the same type of work I've been considering using the opportunity to try something different. I'd love for that to be game development, but X@COM is probably not something that can really make money, and working on an alternative simpler game would essentially mean putting this project on hold, which we obviously don't want. So after a few months development may start to slow down depending on how the money situation develops.

I may open up the project to donations and see how that goes--who knows, maybe we'd be surprised. Given that the game is generally well-received, a full-on crowd-funding campaign (assuming the necessary re-branding of the content) would almost certainly be successful enough to work full time long enough to bring the project to completion, but non-U.S. citizens can't use Kickstarter which is still the only truly viable platform these days (barring a few exceptional projects), making that a non-starter for me.

We'll see what happens. For now it's back to regular development and we'll see about getting R9 out there before I have to take that short leave.

Progress: I'm still expanding the sound system, which is now almost complete and includes some great stuff, but I'll save the juicy details for another post when everything's in place.
5 comments more...

"Testing, 1, 2... *KABOOM*"

by Kyzrati on 20130307 , under ,

There's finally something new worth a video: sound effects! Hear footsteps, guns firing, shooting through windows, blasting down walls, a stompy colossus wrecking houses, and finally the almighty blaster launcher.


The video doesn't include all the new sounds (by far)--for that you can play with the R9 sandbox (when it's available).

The weapons and explosions you hear are quick placeholders I put together for testing, but footsteps, destruction, and impacts are about where I want them to be besides still needing to be expanded. Right now there are 372 sound effects that fall under the above types, with still more categories to be added.

Sound effect volume is based on distance from the nearest unit under your control (and the inherent range of the sound itself), but most of the action takes place up close so you won't really notice it here.
3 comments more...

Into the 4th Dimension

by Kyzrati on 20130223 , under

As we're all aware, atmosphere is an integral part of the X-COM experience, and an important element for building that atmosphere is sound. The sound of unfriendly footsteps echoing through the darkness; civilians screaming as the aliens find them before your squad does; hearing gunfire pierce the silence as unseen aliens fire on your position, but miss their mark so you still have no idea where they are. These add to the suspense, while also making the "hidden movement" phase that much more interesting (and informative).

This aspect of the game has been on the back burner for quite some time while we squared away the core mechanics, and with that done it's now time to decide what needs to be heard.

Items:
  • Weapon fire / attacks
  • Projectile impacts (projectile+material-dependent)
  • Explosions 
  • Throwing/landing (latter could be material-relative)
  • Dropping (essentially same as landing)
  • Picking up
  • Melee swings / misses
  • (Ammo loading/unloading probably unnecessary for now since only possible through inventory window, which has its own sounds)
Units
  • Footsteps (usually terrain-based, but units may override that in special cases, such as flight or huge stompy aliens)
  • Death
Terrain
  • Footsteps (us. material-based)
  • Door open/close
  • Destruction (us. material-based)
  • Falling prop impacts (unbroken, us. material-based)

Aside from the lists above, the sound system is already accessible through special abilities scripting, so sounds can be connected to just about any game element to create unique situational sounds like a terror unit roaring on spotting a target, or a chryssalid screaming on injecting a victim, etc.

Much of the functionality already exists, as particles and anything that uses them (attacks, explosions, throwing, melee...) are already capable of playing and controlling sounds (which is how the UI emits sound). We still need control for sounds related to non-particle objects, and to [elegantly] deal with various issues like the extreme cacophony that would result from huge explosions destroying wide areas of terrain, footsteps out of sight (it will slow down turns to always have NPC unit steps heard--not sure by how much), and many more I no doubt have yet discover.

After that it's mostly a question of putting together the assets, but I won't be doing all that now, just a core set used for testing/R9.

Fortunately I have handy a nice library of 157 footstep sounds I put together for an old game, so hopefully they'll work well for X@COM without too many adjustments (although I may have to edit them all--doh--to get them to work with the faster movement speed than the game they came from). Categories include dirt, grass, gravel, metal, mud, puddles, water, wood, rocky, snow, stone, and undergrowth. Because you need something other than my wall of text to look at, here's a color-inverted shot of one of the snow footsteps in Audacity (my primary sound editing tool):
*crunch*
Another issue at hand is to determine what level of control the player needs over sound. Besides the obvious option of muting the game entirely, will it be sufficient to split sound effect control into two categories, UI and game? That's what the plan is, in any case.

Other features under consideration (any opinions?):
  • Dynamic sound effect volume based on the distance of the source from the nearest unit under the player's control
  • Music isn't appropriate, but some kind of ambient drone or beat as heard in X-COM can help set the mood (as long as it's not too intrusive).
  • [Unlikely:] Very subdued map-wide ambient/background sound effects, like distant shouts and screams in a densely populated urban map, wind through the trees in forests, etc.
  • [Unlikely:] Environment sounds emitted by props, and heard only by the currently selected unit; examples would include fireplaces, gushing streams, machinery, alien facilities, etc.
  • Radio chatter?

I'm not going to press forward on all this immediately. First there are a few little items sitting on the to-do list that need cleared away while awaiting any comments/input you guys have to offer.
8 comments more...