Last two weeks i've been slowly but surely making the DX frontend achieve feature parity with the open source frontend.
Namely, the sprite work is massive, compared to the relative easyness of creating weapons with just a new character on the ascii frontend. Here i started working on some weapons:
After getting them to a "good enough" state i copy them to the sprite sheet and complete the outlined on-the-floor sprite:
This process must be done for each sprite, as they need to look "complete" when on the floor but there's some Z-ordering going on in the marine's hands when in use. Then comes the trouble of picking the right colors for the weapons, because there's some hue-fighting going on with the marines' colors, and palette separation will be a must here. To make matters worse, each weapon will have around 8 variations of characteristics and about 6 colors, which are generated on the fly. Nasty.
Also i changed a little the fog representation and everything seems a lot smoother now:
The trick here is changing the magnification filter for the FOG/lighting texture to GL_LINEAR (so it becomes blurry) and then the pixels that are out of vision just slowly fade out from 1.0 (total visibility) to 0.0 (total fog). Also, the colors don't go completely grey, but rather they get a slight sepia treatment, so they feel more murky.
Began working on new enemy sprites (namely the drone and tracer, they are robots and so must seem mechanical):
They currently die and throw blood (even on the ASCII version) and leave a bloody corpse, that will be changed to more mechanical things.
The exploding barrels are in too, i'm changing the lighting of the sprites and tiles to a front left facing light (instead of the back left on the tileset) as it seems more natural from the point of view of the player, and that is causing some weirdness on the overall feeling of the game at the moment:
Animated sprites and particles are in too, with some big explosions showing their faces.
(In that image there's a bug whereas the enemies walk over walls, in reality those walls were destroyed and the tile is free to move).
Also, good part of the two weeks time, was solving a bug that came from implementing a naive mixer for the tiles. Fact was, the dropship tiles where being mixed with the floor tiles with the noisy mixing i implemented, and that wasn't very cool. Now i can switch mixing on a per-tile basis, letting the rendering engine know if it must mix or not.
(Btw, in the first gif of this post you can see the incorrect mixing of the dropship's tiles with the floor).
Last but not least, i'm trying to not kill myself in the process of making this game, so i'm trying to get to bed early, and changing a little bit eating habits... next up is getting me some excersice, which is happening to be hard to begin with :/ As a recent popular article made the rounds, dead men write no code, so edging ourselves to get the game done in the least amount of times usually is counterproductive to the process itself.