Doom3: The Remake of the Remake

I learned how to make these textures with see-through parts, they’re actually sprites with some parts painted over with the “transparent” color (index 255).  I’m simply loading them into the map with RMQ’s misc_model entity – seems sprites are handled much like models. Guess this would work in standard Quake as well, you just have to make sure you set the sprite’s orientation to “oriented” (in Fimg2, for example, which is a pretty good software written by FrikaC). If you don’t use “oriented sprites”, the sprite will rotate to follow the player just like DOOM’s trees do. I set the rotation by way of a “mangle” key in misc_model, as usual.

Got the idea from Quoth2, so credit where credit is due, and Spike explained to me what an oriented sprite is.

I’m pretty sure you can make stuff like chainlink fences and spiderwebs with this, probably also grass, vines, hanging cables and so forth. Pineapple had a pretty good idea how to get a higher effective resolution with these, which I’ll keep to myself for now. Note: Sprites are usually fullbright in Quake, unless the engine supports an extension to light them properly – DP_LITSPRITES or something similar. And guess what, this is broken in DP. Haha. maybe we can unbreak it, so these actually get properly lit ingame.

The full 3-D “see through” effect of course only occurs when you’re moving while looking at these. So a screenshot doesn’t really do them justice.

As for the title, I love Doom 3, which is more a remake of DOOM than a sequel, and I’m kinda… umm… letting myself get inspired by it. To put it carefully. What I mean is, you might recognize some things in a certain map once you can all actually play this stuff. Oh frabgious day! Will we release by 2016? Bets, anyone?

Advertisements

9 responses to “Doom3: The Remake of the Remake

  • meTch

    I always wanted to do that with brush work but never could get it right, and for grass I always use an illusion brush with some green texture that kinda looks like plant life. Of course I don’t have any examples as my stuff is not safe for mass consumption by the people. 😉

  • kneedeepinthedoomed

    e1m2quoth has some grass sprites that work just like these. The kellbase1 map has some grates made from sprites.

    They’re not hard to make – you need a way to load them into the map though. I believe Quoth’s version is called mapobject_mesh. Needs Quoth 2.

    Maybe you could just use an info_notnull (or was it info_null) with a “model” key set to progs/mysprite.spr – I’m not sure.

    To make the sprites I just paint some index 255 on there in Wally, export as BMP, and import that into Fimg 2. Save as sprite, reload the sprite, go to File properties and set Orientation to “oriented”. Save sprite. Done.

    Like I said, only problem is to get it into the map 🙂

    You could use Quoth 2, or you can add a misc_model entity to your own progs. I’ll post the code on the Tutorials page or something.

  • kneedeepinthedoomed

    Turns out I can’t post well formatted code on this page… all the tabs get lost.

    /*QUAKED misc_model (.5 .5 .5) (-8 -8 -8) (8 8 8 ) ?
    Places a static model.
    Static models just hang at the origin.
    Static models don't collide (surround it with clip brushes, or func_nodraw
    if this is a problem).

    "model" Path to the model
    "mdl" Can also be used for path to the model
    "frame" Animation frame
    "mangle" X Y Z Orientation
    */

    void() misc_model =
    {
    if (self.model) // radiant does this
    precache_model (self.model);

    else if (self.mdl)
    {
    precache_model (self.mdl);
    self.model = self.mdl;
    }

    else objerror("mapobject with no model");

    setmodel (self, self.model);
    setorigin (self, self.origin);

    if (!self.mangle) self.mangle = '0 0 0';
    self.angles = self.mangle;

    makestatic (self);
    };

  • ijed

    I always remember the first time I saw these in a Quake environment – halflife1 chainlink fences.

    What’s posted in the screenshot seems a much better use – the fences always made me think ‘aha, an infinitely thin fence’.

    Normalmaps, anyone?

    In any case, nice stuff. I’m still playing catch-up 🙂

  • kneedeepinthedoomed

    I dropped the slipgrate*.spr ones in progs… they’re easy to setup. Anyway, if mh really goes and does the half-life thing, doing this with sprites will be obsolete.

    As to what works and what doesn’t, I dare say that id textures with rectangular cutouts of any kind should work well. Chainlink will be pixel-y because of the thin diagonals and the low resolution. It’ll not look infinitely thin when you put it directly in front of lights, or machinery, ala Doom 3. Sure, they use normalmapping there (but are still pixeled, hi-res in 2004 isn’t really considered hi-res anymore…)

    Once we can do this with textures, it might be possible to downscale bigger ones to cram more pixels into the same place. But then, scaling textures probably doesn’t work like that… but scaling models does.

    We haven’t seen the end of it 🙂

  • blob

    Awesome job you re doing guys !
    Great to see that you are posting on a regular basis, can’t wait to see some SP release one day ( hopefully I’ll still be around in 2016 ) since I’m not too big on MP for quake.
    Keep it up 🙂

  • meTch

    I think you may have thought of this but this sprite effect would be perfect for that texture with the faces stretched over the fire, just a thought.

  • kneedeepinthedoomed

    True.

    We might get an even better way of doing this, ie simply prefixing alpha-masked textures with { like in Half-Life and simply using brushes, letting the engine do the dirty work. Like mh said, this should really have been in Quake from the get-go and it should be a new standard. Doing it like in Half-Life, I mean.

  • ijed

    Faces over the fire tex – yeah, that’d be good.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: