sine.wav - various graphical

Got something that makes Armagetron look shiny? Post it here.
Post Reply
User avatar
sinewav
Graphic Artist
Posts: 6413
Joined: Wed Jan 23, 2008 3:37 am
Contact:

Post by sinewav »

I forgot I made a moviepack for CTF last year. It's pretty bleak, but so was I at the time. This design was inspired by the Fortress moviepack and has a "functional" floor texture. It shows the position of the flag when not at the base (very helpful) and the shortest distance between the flags and bases (if you are in a hurry!).
Attachments
ctf_moviepack.zip
The floor texture is a huge fps killer! It will slow you down for sure.
(1.42 MiB) Downloaded 30668 times
ctf_2.png
ctf_1.png
User avatar
sinewav
Graphic Artist
Posts: 6413
Joined: Wed Jan 23, 2008 3:37 am
Contact:

Post by sinewav »

I really thought I was done making these stupid moviepacks, but inspiration comes at strange times and you have to see it through, no matter how ridiculous it seems. This time it hit me while on lagtest.net. It's a "Wild West" theme with a train model and steam engine sounds. It's surprisingly relaxing to play this mod with the incam.
Attachments
train_wars.zip
(1.75 MiB) Downloaded 27378 times
twScreenComp.jpg
User avatar
wrtlprnft
Reverse Outside Corner Grinder
Posts: 1679
Joined: Wed Jan 04, 2006 4:42 am
Location: 0x08048000
Contact:

Post by wrtlprnft »

OMG.
There's no place like ::1
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Post by Jonathan »

Armagetrain! :D
ˌɑrməˈɡɛˌtrɑn
User avatar
Z-Man
God & Project Admin
Posts: 11585
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

Now we just need to make it so that the trail texture is attached to the cycle :)
User avatar
wrtlprnft
Reverse Outside Corner Grinder
Posts: 1679
Joined: Wed Jan 04, 2006 4:42 am
Location: 0x08048000
Contact:

Post by wrtlprnft »

That could be an interesting option for moviepacks :-)
There's no place like ::1
User avatar
sinewav
Graphic Artist
Posts: 6413
Joined: Wed Jan 23, 2008 3:37 am
Contact:

Post by sinewav »

Jonathan wrote:Armagetrain! :D
OMG I wish I would have thought of that!
User avatar
Tank Program
Forum & Project Admin, PhD
Posts: 6711
Joined: Thu Dec 18, 2003 7:03 pm

Post by Tank Program »

This latest one is brilliant. If we ever work out how to support stories, I bet a good one could be written around it.
Image
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Post by Jonathan »

A little hack:

Code: Select all

$ diff armagetronad-0.2.8.2.1\ 2/src/tron/gWall.cpp armagetronad-0.2.8.2.1/src/tron/gWall.cpp
966a967,973
> 
>                       REAL true_ta = ta;
>                       REAL true_te = te;
>                       if(cycle_) {
>                               true_ta -= cycle_->GetDistance() / SEGLEN;
>                               true_te -= cycle_->GetDistance() / SEGLEN;
>                       }
978c985
<                 RenderNormal(p1,p2,ta,te,r,g,b,a);
---
>                 RenderNormal(p1,p2,true_ta,true_te,r,g,b,a);
983c990
<                     RenderBegin(p1,p2,ta,te,
---
>                     RenderBegin(p1,p2,true_ta,true_te,
992c999
<                                 ta+(te-ta)*s,te,0,
---
>                                 true_ta+(true_te-true_ta)*s,true_te,0,
995c1002
<                     RenderNormal(p1,pm,ta,ta+(te-ta)*s,r,g,b,a);
---
>                     RenderNormal(p1,pm,true_ta,true_ta+(true_te-true_ta)*s,r,g,b,a);
armagetronad-0.2.8.2.1 2 is the original, AKA simply extracting the archive again after modifying the first.
Attachments
armagetrain.mp4.gz
Excuse me for recording this on the aging PowerBook which is like falling apart. I do have some better hardware now. :)
(1.94 MiB) Downloaded 28816 times
ˌɑrməˈɡɛˌtrɑn
User avatar
wrtlprnft
Reverse Outside Corner Grinder
Posts: 1679
Joined: Wed Jan 04, 2006 4:42 am
Location: 0x08048000
Contact:

Post by wrtlprnft »

I guess this would take a little more work with display lists in place, although you might get away with changing the texture transformation matrix before calling the list.

Here's a bigger movie with the spaces between cars made transparent: http://armagetron.at/~mathias/wildwest.avi (excuse my poor passing-magic-flags-to-mencoder-that-make-it-smaller-without-loss-of-quality skills) It makes it quite temting to try and go through the (nonexistent) holes, though.
There's no place like ::1
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Post by Jonathan »

wrtlprnft wrote:I guess this would take a little more work with display lists in place, although you might get away with changing the texture transformation matrix before calling the list.
Yeah, I thought of that, but it Worked For Me (tm) even with display lists enabled. At least in 0.2.8.2.1 (I just picked a release to work on, the first one SourceForge gave me).

Using the texture matrix would require rearranging or at least getting a grasp on much more code.
wrtlprnft wrote:Here's a bigger movie with the spaces between cars made transparent: http://armagetron.at/~mathias/wildwest.avi (excuse my poor passing-magic-flags-to-mencoder-that-make-it-smaller-without-loss-of-quality skills) It makes it quite temting to try and go through the (nonexistent) holes, though.
Beats trying to fit it in 2 MB. :) It was kinda hard to see the cars move in my video.

BTW, I think you did something else to your code. My cars still have that funky shape where the wall normally 'grows' out of the cycle. I figured that looked better than a full-height wall sticking out of the engine. But then with my code the cars compress in that section. Edit: duh, forgot to change a te to true_te:

Code: Select all

            else{ // complicated
                if (ta+gBEG_LEN>=time){
                    RenderBegin(p1,p2,true_ta,true_te,
                                1+(ta-time)/gBEG_LEN,
                                1+(te-time)/gBEG_LEN,
                                r,g,b,a);
                }
                else{
                    REAL s=((time-gBEG_LEN)-ta)/(te-ta);
                    eCoord pm=p1+(p2-p1)*s;
                    RenderBegin(pm,p2,
                                true_ta+(true_te-true_ta)*s,true_te,0, // <-- HERE
                                1+(te-time)/gBEG_LEN,
                                r,g,b,a);
                    RenderNormal(p1,pm,true_ta,true_ta+(true_te-true_ta)*s,r,g,b,a);
                }
            }
Last edited by Jonathan on Sun Mar 01, 2009 5:43 pm, edited 1 time in total.
ˌɑrməˈɡɛˌtrɑn
User avatar
2020
Outside Corner Grinder
Posts: 1322
Joined: Thu Dec 29, 2005 9:21 pm
Location: the present, finally

Post by 2020 »

nice stuff here
sine
didn't know it was happening :)

thought about opening up a design competition kind of thing
for completely new ideas about bike design
i see you have explored one or two branches
what do you think?
hold the line
User avatar
wrtlprnft
Reverse Outside Corner Grinder
Posts: 1679
Joined: Wed Jan 04, 2006 4:42 am
Location: 0x08048000
Contact:

Post by wrtlprnft »

What i did in my code was apply a texture to the line that's rendered on top of every wall so they don't look weird with those gaps in them :-)

I just tried adding train tracks to the floor: http://wrtlprnft.ath.cx/arma/?min=744

Maybe I should have made a bigger texture, though, this one looks a little too repetitive.
Jonathan wrote:Yeah, I thought of that, but it Worked For Me (tm) even with display lists enabled. At least in 0.2.8.2.1 (I just picked a release to work on, the first one SourceForge gave me).
0.2.8.2.1 doesn't have display lists (at least not for non-cycle stuff).
Attachments
floor.png
There's no place like ::1
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Post by Jonathan »

When someone designs a larger floor texture, make it so you can reach any part of track without reversing or jumping onto another track. Makes driving a la screenshot 750 more fun.

Also try limiting wall length to something relatively small. Makes it even more like a grid train, if grid trains have finite length.
ˌɑrməˈɡɛˌtrɑn
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Post by Jonathan »

I got rid of the growing and put a small invisible section in its place. Near the end of gNetPlayerWall::RenderList you'll see some stuff centered around gBEG_LEN. Just remove the RenderBegin parts, leaving only RenderNormal, set gBEG_LEN to 0.5, and add gBEG_LEN to true_ta and true_te. Beware, it stays invisible when the train dies (edit: no, stupid presumption, shows how much I know about the wall code).

A disadvantage is that walls must be of length 5n+1.25 instead of the much more common 5n for textures to line up nicely.
ˌɑrməˈɡɛˌtrɑn
Post Reply