Tuesday, March 1, 2016

Round 9 - Anaglyph Quake!

Quake




A game that is very familiar to we who have a history rooted in PC gaming.

It was nothing short of revolutionary at the time.. Being one of the first FPS games with mouselook, and one of the first with fully 3D levels. It seems like not a big deal now, but the fact that you could actually go into a room that is above another room was pretty unique at the time!

For this round, we're going to throw a little something extra in there and play Quake in Anaglyph mode, which means with Red/Cyan 3D glasses. Something similar to this:



The game will look like this without glasses,



but of course it will look ALIVE with them  :)


Here's a little info on Anaglyph configuration settings.

From Quakeone.com forums:

You can play Quake in 3D

All you need are anaglyph stereo glasses. It even doesnt matter wich one. All those work:
- red/blue
- red/cyan
- red/green


Use the according cvar to activate the effect.
Then you can finetune the effect to match your eyes.

These are the cvars:

r_stereo_angle is "0" ["0"] separation angle of eyes (makes the views look different directions, as an example, 90 gives a 90 degree separation where the views are 45 degrees left and 45 degrees right)
r_stereo_redblue is "0" ["0"] red/blue anaglyph stereo glasses (note: most of these glasses are actually red/cyan, try that one too)
r_stereo_redcyan is "0" ["0"] red/cyan anaglyph stereo glasses, the kind given away at drive-in movies like Creature From The Black Lagoon In 3D
r_stereo_redgreen is "0" ["0"] red/green anaglyph stereo glasses (for those who don't mind yellow)
r_stereo_separation is "4" ["4"] separation distance of eyes in the world (negative values are only useful for cross-eyed viewing)
r_stereo_sidebyside is "0" ["0"] side by side views for those who can't afford glasses but can afford eye strain (note: use a negative r_stereo_separation if you want cross-eyed viewing)

And a little more useful configuration details from A-Lin:

You need to type
1. r_stereo 1
2. r_stereodepth DEPTH
The right DEPTH depends on your screen size and your distance from it. What you do is, remove your red-cyan glasses, start with 5, get close to a wall and find the point where 2 images matches perfectly (no redish-cyanish divergence), if the distance from the wall in the game matches the distance from your screen, then you're good! If not increase the value by 5.
What works for me is 30.
You also probably want to put more brightness (in Quake's video menu), for me 50% seems to work.
The round will go probably close to 2 months, to give us plenty of time to attack this deep game. We will be playing Quake 1 Episode 1, for nostalgia purposes, and then we will be playing the user level Honey, by czg. It is a level with cavernous indoor areas, much bigger than were ever possible on the original Quake 1 engine.

Honey by czg


These days, many of the newer source ports allow for much larger levels.

As for source ports, it appears that A-Lin will be using Quakespasm, and organic io will be using Dark Places.

Round starts as of this post, although if our desks and keyboard/mouse configurations aren't finalized yet that's OK. At least the round will be ready once we get everything set up!

As far as determining who won... If both players complete a challenge, then tiebreaker information would be needed. I think it would be good to just use the stats at the end of levels (number of kills, secrets, etc). So be ready to take screenshots of your end-level stats!

Also we'll be playing everything on "Hard" difficulty.

I think that's everything. Let's go go go!!!

P.S.. I forgot to add that there's a nice cross platform level launcher utility called Quake Injector:

https://www.quaddicted.com/tools/quake_injector

24 comments:

  1. Just wanted to start a conversation about a couple of FPS related things, which I thought would be too much info for the top post.

    1st: Mouselook - Do you prefer "normal" or "inverted"? This can cause heated debates among FPS enthusiasts. Personally I only play "inverted", where moving the mouse forward makes you look down, and moving the mouse back makes you look up. Apparently I'm in the minority. I've looked up some online surveys and it's about 75% normal and 25% inverted.
    I guess the reason I prefer inverted is because I played Descent for over a year before I ever played Quake, so I was already used to flight sim controls. It makes natural sense to me.

    How about you?

    The other topic I wanted to address is Cardinal directions. Since Quake doesn't have an automap like DooM did, how do you know which way is North, and/or does that matter?
    For me personally, my brain and memory are really tied into directions and I can't process information without them. Like literally, if you don't tell me which way is North in a game, then my mind will automatically assign it and that will "feel" like North. I don't know for sure but I think I'm in the minority here too.
    When I was playing a lot of Quake on the Macbook, and playing user levels, I had a setup like this: I had a random number generator set from 0-3. 0 being North, 1 being East, 2 being South, 3 being West. Whatever the generator would come up with, that would be the direction I was facing when the game started on that map. That way I would have a predictable way to know the directions of the level without having to arbitrarily define it during the course of playing.

    Does that make any sense? :)

    ReplyDelete
  2. I couldn't get fullscreen to work properly in Dark Places or Fitzquake, they were both off center of the screen for some reason. But I downloaded Quakespasm and it works wonderfully. There is no option in the menu to show framerate, but I found if you type at the console "scr_showfps 1" it will show the framerate :)

    I didn't want to have to type that every time, so I typed "bind f "scr_showfps 1"" and now I just press f to enable framerate.

    And finally, the crosshair was stupid small at 1680x1050, so I discovered that "scr_crosshairscale X" will change the crosshair size, with X being an integer between 1 and 10. I thought 4 was pretty good.

    ReplyDelete
  3. Just a little more info about how R_stereo works on Quakespasm/Fitzquake:

    r_stereo {-8...8}
    If nonzero, the scene will be rendered once in red, and again in cyan, with the two views shifted slightly. If you have 3D glasses you can appreciate this (assumes that the left eye is red and the right eye is cyan.) The value of r_stereo sets the eye separation. If your glasses have red on the right eye, use a negative value to flip the views. Default 0.

    r_stereodepth {32...1024}
    Sets the distance at which the two views will converge when stereo rendering is active. Default 128.

    ReplyDelete
  4. With a higher value for r_stereo meaning more separation

    ReplyDelete
  5. I've discovered the r_stereo separation as well while reviewing the code, cause I thought "geez, there must be a way to add more separation!".

    Regarding mouselook, I just go with the default. But I remember going from inverted to normal (I forgot from which game to which game) and it felt unnatural, even stupid, but then I got used to it.

    Regarding knowing the north, I think most FPS I've played would give me the north, and yeah it must help, I forgot Quake doesn't have a map, I don't know how I will deal with that yet.

    My desk isn't ready yet, hopefully tomorrow or after tomorrow. But surely feel to get a head start.

    Cool we're playing on "hard" ;-)

    ReplyDelete
  6. Apparently someone made a compass mod. A little info here:

    ftp://ftp.fu-berlin.de/pc/games/idgames2/quakec/misc/compass.txt

    Put progs.dat in a directory called compass under your Quake dir.
    Put compass.cfg in the same place.
    Start Quake using the "-game compass +exec compass.cfg" options.

    ----------------------------------------------------------------

    I just hope it works in Quakespasm. I'll try tonight.

    ReplyDelete
  7. Though, it appears that it is a separate "game", just like a user made level is. So I don't know if it would be possible to launch it at the same time as one of the user levels or not.... I will try.

    ReplyDelete
  8. What r_stereo value do you use? It seems for me r_stereo 6 works best. I've got a 32 inch monitor, and I'm standing something like 60cm from it. Man, I started playing (with the keyboard only for now), and the sense of immersion is incredible!!!

    ReplyDelete
  9. I haven't actually played it with the 3d glasses yet! So far I've just been adjusting mouse settings. My mouse has 4 settings for DPI, so I wasn't sure whether it is better to turn the DPI all the way up and turn the game sensitivity down, or what.

    Also I read that it is best to leave the Windows mouse sensitivity on the default setting in the middle, because changing it "reduces accuracy" because it is "trying to guess", something like that. Also best to disable mouse acceleration. Unfortunately I use the fastest setting with my touchpad and I didn't want to have to change the settings back and forth all the time. I found a program called "Automatic Mouse Switcher" which allows profiles where it automatically changes the settings when you plug in the USB mouse. Pretty cool.

    So I've got Windows settings on default, mouse on highest DPI setting, and Quake mouse sensitivity is near the lowest setting.

    I tested out some levels last night, mainly Biotoxin:
    https://www.quaddicted.com/reviews/czgtoxic.html

    A nice short level, but a good one.

    Unfortunately I started to get kind of motion sick after only about 30 minutes of testing last night. I hope this trend doesn't continue.

    I'll try out the 3d glasses tonight and see how I do, and I'll let you know my settings! 15 inch laptop screen here and also about 60cm from it.

    ReplyDelete
  10. Also, someone responded to me on the quaddicted forums with a solution for the compass issue. He says:

    "Quakespasm 0.91.0 has "r_pos 1" which prints your position and heading (the "yaw" value, in degrees).
    It's more of a developer option so you might find it a bit obtrusive, but at least it'll work with any mod/map."

    I tried it out, it is a bit obtrusive, but that's OK because the main reason I'll need it is at the beginning of a level to get my bearings. It appears that the yaw value is like a compass, 0 degrees is north, 180 is south, etc.

    I assume you haven't gotten your package yet? Let me know when it comes!!!

    ReplyDelete
  11. No package yet (no kidding, I dreamed about it, but when I woke it was gone :-) I'm still having to finish my desk anyway.

    Also I'm wondering do we allow watching longplays to find out secrets? I searched the entire first level and discovered only 1 secret out of 6, it puzzles me...

    ReplyDelete
  12. Still no package :-( So I decided, meanwhile, to clean my old yellow mouse and start playing. It doesn't work extremely well but maybe I just need a good mouse pad.

    Standard shipping can be quite slow, so there is still hope, but I think there is also the possibility that it may be lost. My local postal offices don't have any trace of it. I sincerely hope it will come!

    That aside, Stereo Quake is really awesome, I actually play about 30cm away from the screen, with a separation of 6.6, so I almost feel as if I was in there!

    So far I've reached nearly the end of level 2. I've decided to watch some walkthrough to understand where the hell these secret places where and discovered that I can shoot things to open secret passages.

    I nearly don't recall anything, it is as if I'm playing a new game. Sure it's was over 20 years ago, but I don't think that's the reason. I think the reason is save states, that made you rarely revisit most parts of the game. No save states this time. :-)

    ReplyDelete
  13. Oh man I'm sorry it didn't get there yet. :( I also wondered the other day if it might just be lost. I decided this: If it doesn't get there by the time I get my tax return (bunch of money we get back from the government here in the US), then I will paypal you the money to buy one over there. Unfortunately I don't think it can be the same mouse, the only place I know they sell one I sent you is Walmart, but you can get something else that is nice.

    I think I should be getting tax return a week from now. So we'll get the ball rolling shortly after that. I feel like I still owe you for all the generosity you have shown me over the years, so it is no big deal :)

    Also next time I send you something, I will definitely get a tracking number!!!

    ReplyDelete
  14. Oh Man, from Walmart, I'm sad, I mean Walmart is one of these things from the US (controversies let aside, I don't care). Anyway, let's wait, it might just come, standard shipping timings are extremely erratic, I remember waiting for an entire month for something shipped from France, so from the US, over a month shouldn't be extraordinary.

    BTW, I found that Dolphin has also support for anaglyph, that could be cool, assuming our eyes aren't completely destroyed after the quake round. :-D

    ReplyDelete
  15. Dolphin, the Gamecube emulator? I never had much interest in Gamecube but there were a couple of games I wanted to try for it:

    Kururin Squash (sequel to Kuru Kuru Kururin games for GBA)
    https://www.youtube.com/watch?v=35dMXj7brwQ

    Donkey Kong Jungle Beat
    https://www.youtube.com/watch?v=W-3aA-ZmmTw

    Chibi Robo
    https://www.youtube.com/watch?v=8Ez9bAqhhbE

    :)

    ReplyDelete
  16. Me neither, I don't think I've ever played a Gamecube game in my life. But there might be some good stuff.

    Quakewise, I managed to get to level 3. That's where the hell really starts. Extremely difficult but deeply addictive.

    I tried to play with the screen on my face (10cm away). No correction glasses to compensate for the accommodative/convergence ratio (I'm myopic). I feel I am there, in the game, it's pretty astonishing. However the resolution starts getting lower. So there is this tradeoff to find between high res and immersion.

    ReplyDelete
  17. A little update. I realized specifying the stereo seperation and depth isn't enough, you also need to adjust the fov to get something even more convincing (in theory at least). I've come up with the following formula:

    2 * arctan(HORIZONTAL_SCREEN_SIZE / (2 * DISTANCE_EYES_SCREEN))

    and of course you need to convert the result in radian to degrees.

    Here's a 1-liner using gnu octave (which has a Windows port)

    2*atand(HORIZONTAL_SCREEN_SIZE / (2 * DISTANCE_EYES_SCREEN))

    that outputs directly in degree.

    ReplyDelete
  18. Alright evil genius :) I didn't do very well with math in school... But I guess I could give this a try.

    Question 1: What unit of measurement are we using? Inches or cm or?

    Question 2: Usually screen sizes are measured by diagonal. For example my laptop's screen is 15 inches. Does this mean I need to take a tape measure and actually get just the horizontal distance which will be less than 15 inches?

    I never liked to mess with fov on fps games much, it seems like 90 degrees is a kind of standard value and usually seems comfortable. I think half life 2 was only 75 degrees and I didn't mind it. Apparently a lot of players prefer 120 so they can see more...

    Check this craziness out:

    http://strlen.com/gfxengine/fisheyequake/compare.html

    With the fisheye lens, you can set it to 360 and see behind yourself :)

    ReplyDelete
  19. Math was the only class I wasn't completely sucking at school.

    Yeah, I've seen a video in 360, pretty wild!

    So, the answer of question 1 is: whichever measure you want, since what matters is the ratio between screen size and distance.

    The answer of question 2 is: according to my understanding of quakespasm code I'm pretty sure it is the horizontal, not the diagonal. So yes you need to take a tape measure.

    So the ideal settings would be

    r_stereo EYES
    r_stereodepth EYE_SCR
    fov 320 * arctan(HOR_SCR / (2 * EYE_SCR)) / pi

    EYES is the distance between your 2 eyes
    EYE_SCR is the nearest distance between your eyes and the screen
    HOR_SCR is the horizontal size of the screen

    I think it is in cm, I can't tell for sure, it doesn't seem to be documented the quakespasm code, but it is consistent with what I observe.

    ReplyDelete
  20. Relatedly http://www.dxx-rebirth.com/ :-)

    ReplyDelete
  21. I actually know about that well :)

    Descent is my favorite game of all time. Surprisingly, there are still people who play it competitively, quite active actually...

    http://www.descentchampions.org/

    I'm part of the community there, even though I don't actively play. I'm kind of the oddball because of that fact.

    Actually the weirdest thing ever, about a month ago I found a match of ME playing Descent on youtube, from 2002...

    https://www.youtube.com/watch?v=mQc72R4PUP8

    (I was playing as Goldie.. Adopted the name from the drum&bass musician)

    It's super low quality, but to find that video online was totally insane, because not only is it me playing, it was one of my most memorable matches... I almost won to the guy who was #1 on the ladder at the time. Then afterwards he accused me of cheating :(

    Anyway yeah, Descent... I love it, it goes really deep for me... But I haven't played in forever and I'm not sure if I'd be able to start playing again or not.

    ReplyDelete
  22. Well maybe playing it with anaglyph glasses could motivate you!

    https://www.youtube.com/watch?v=Bv5BZIcaZX4

    Apparently he got that working with TriDef 3D (and OpenGL to Direct3D hack). I'm wondering if I could obtain that with Linux. Also I noticed YouTube shows a side-by-side here

    https://www.youtube.com/results?search_query=Descent+D1X+Rebirth+[3D+Stereo]

    I noticed other videos are the same, they are showed side-by-side in the search results but play in anaglyph. Would my linux system automatically convert side-by-side to anaglyph!!!???

    I've never been into that game yet I know I'm missing out so I would be open to have round, eventually.

    ReplyDelete
  23. Man, I'm bringing anaglyph support to dxx-rebirth! :-D

    https://github.com/dxx-rebirth/dxx-rebirth/issues/193

    ReplyDelete
  24. I've complete the episode 1 of Quake!

    https://www.dropbox.com/s/t9qvvjmyo08vjsp/quake-episode-1-level-1.png?dl=0
    https://www.dropbox.com/s/9dcdwnwy34mhxov/quake-episode-1-level-2.png?dl=0
    https://www.dropbox.com/s/7b0haljfvlt980h/quake-episode-1-level-3.png?dl=0
    https://www.dropbox.com/s/derrcg9nf6snbi1/quake-episode-1-level-4.png?dl=0
    https://www.dropbox.com/s/44eq3oectuluv1g/quake-episode-1-level-5.png?dl=0
    https://www.dropbox.com/s/7zd4qrua8s9e6q7/quake-episode-1-level-6.png?dl=0
    https://www.dropbox.com/s/j7yrbknq6rdyhex/quake-episode-1-level-7.png?dl=0
    https://www.dropbox.com/s/e6e486q38pmlwow/quake-episode-1-level-8.png?dl=0

    I'll wait for you before starting the user level Honey. I'll probably play the other episodes.

    ReplyDelete