News | Forum | People | FAQ | Links | Search | Register | Log in
Updated Q1SP MOD - Arcane Dimensions 1.7.1 *PATCHED*
Sock has been beavering away behind the scenes to get a fully updated tweaked fixed and finalised version of AD. So here it is. One point SEVEN.

Download (220mb):
http://www.simonoc.com/files/ad/ad_v1_70final.zip

V1.7.1 Patch (see recent post below):
http://www.simonoc.com/files/ad/ad_v1_70patch1.zip


Readme:
http://www.simonoc.com/files/ad/ad_v1_70_readme.txt

Recommended Quakespasm 0.93:
http://quakespasm.sourceforge.net/download.htm

Past versions etc:
http://www.simonoc.com/pages/design/sp/ad.htm

In his own words:
"The AD zip file is getting a bit big and inconvenient to download and I think its time to start splitting stuff off into separate files. The AD map source files are not needed or viewed much and if anyone wants to see them, just drop me an email request.

This download contains all the previous maps, some new extra code and features, lots of bug fixes, some new mapper features (check documentation) and as a final bonus, a couple of extra maps hidden away in the main map hubs, good hunting!"


Screenshots:
http://www.simonoc.com/files/ad/ad_17_finish1.jpg
http://www.simonoc.com/files/ad/ad_17_finish2.jpg
http://www.simonoc.com/files/ad/ad_17_finish3.jpg
http://www.simonoc.com/files/ad/ad_17_finish4.jpg
First | Previous | Next | Last
Bug Or Unwanted Behaviour? 
AD sets EF_TRACER on certain of it's gibs to simulate a green blood trail.

I think it's quite evil to overload an EF_ like that. I'd prefer to see it define a new EF_ instead, so that engines which wish to modify existing effects needn't be concerned about unwanted or unexpected behaviours arising from unintended usage.

I'm just thinking that overloading existing stuff in such a manner is the path to Nehahra. 
 
is there a nightmare pillar in the 1.5 hub at all? I see it carries over from the previous hub, so i'm confused. 
I'd Tell You But... 
shssss.... it's a secret! 
You Have To Walk In To An Area, And Look Where No One Looks 
 
 
I found it by accident as I was falling from above lol. 
 
Is QSS fully compatible with AD? Regular QS (the one linked in this thread) crashes my whole computer after a few minutes.

Is there any way to make fence textures, sprites, particles and GUI graphics (minus conchars) be rendered using 8-bit alpha instead of 1-bit alpha, so their edges are properly smoothed when using texture filtering? 
@mankrip: Nope 
Fence textures use quake palette color 255 as the transparent color when prefix "{" is supplied in the texture name (just like Half-Life).

Sprites and gui graphics are also the 255 color Quake palette (.lmp files, .gfx, etc.) -- just like any standard assets in the entirety of standard Quake. 
Crashing System 
Argh, that is bad. So QSS doesn't crash your system, and regular QS 0.93.0 does?

I think the most likely way to crash the OS is an OpenGL driver bug or QS doing something invalid with OpenGL. Try launching with -noglsl which will restrict it to OpenGL 1.x features, it might work around the problem. What are your GPU / GPU driver version / OS version? 
 
I don't know yet if QSS also crashes, but I want to try it.

I'm using Windows 7 on a Dell N5110 laptop, which has an Intel HD Graphics 3000 chipset.

Maybe the cause is the FSAA which I've enabled recently... the performance was good though. 
#608 
any qss/qs stability difference is more likely to be down to 64bit vs 32bit, or SDL1 vs SDL2.
the only real engine change is that QSS doesn't do the whole glmesh thing, but instead simply always uses vertex arrays instead of glBegin for mdls. This makes md3s easier to support, and fixes potential crashes on large mdls, but also means that bugs are more likely to crash the drivers rather than less...

QSS is meant to be a super-set of QS. pr_checkextension 0 will disable the extensions that AD (safely) checks for, which is the main difference between the two engines.
FTE should also be able to run it, but AD dev tends to focus on QS instead so it should work but its not well tested (eg: you should probably avoid rtlights).

regarding fence textures - alpha blending has issues when it comes to the depth buffer. Technically speaking, a pixel that contains colour info from two+ blended fragments should have two+ separate depth values - but it can't. This results in halos and weirdness and screwed up depth.
This is why we use alpha testing (even with high-res replacement textures) - it might not look the best but its simply more robust.
There are a few order independent transparency techniques, but they're generally slow and overcomplicated. If you've a software renderer that's generating spans then you could make that support overlapping/nested spans or something fancy, but you'd need to use the same logic for everything including mdls and particles. 
 
Disabling FSAA on regular QuakeSpasm seems to have fixed it. 
Good To Hear! 
 
AD 1.7 Patch 1 
* Fixed logic problem with trigger_count and message/message strings
* Fixed trigger_count message problem in ad_ac and ad_sepulcher maps
* Fixed eddict crash in ad_sepulcher by reducing particle setups
* Fixed spelling mistake in ad_chapters for ad_ac portal entrance
* Added missing features (triggers/bbox/explosions) to func_pushable
* Added func_pressureswitch bmodel entity for extra puzzle logic
* Added func_insidevolume to detect player, monster, item & pushables
* Added trigger_doorstate to force func_door entities to open/close state
* Removed invulnerability frames from zombie/zombiek when using shadow axe
* Changed the behaviour of zombie/zombiek to be easier for knockdowns
* Added death message for Gargoyle minions (spawned from minotaurs)
* Moved all player death messages to relevant monster QC files instead
* Fixed brkmondmg entity key on func_breakables to work with projectiles
* Fixed misc_demon not resetting gib model names when switching gib models
* Removed info_stuffcmd as it was open to abuse from malicious mappers
* Added trigger_cdtrack to allow for custom music changes after map load
* Added trigger_skybox to allow for different skybox setups after map load
* Added client check for changed music/skybox to load/quickload functions
* Fixed respawn_time on all items to not instantly spawn, minimum is 1s
* Fixed frozen bug crash for gargoyle/gaunt when waking up from perch/statue
* Fixed monster_firetopboss to cope with skill 3 shambler group attacks!
* Fixed sighttarget to check for health/damage before creating a sight entity
* Added trigger entity state reset to func_button (will override wait value)
* Added Impulse 170 to toggle monster body fade/removal when playing a map
* Fixed player weapon animation issue with idle/fire states being wrong
* Updated DEF file for GTK/Radiant editors with new patch features
* Added FGD file for Jack/Trenchbroom editors by Dan "twitchy" Ellis
* Added V/G models for players weapons from Stas "dwere" Kuznetsov



http://www.simonoc.com/files/ad/ad_v1_70patch1.zip 
Sweet! 
Has anyone done anything with presdure plates yet? I see a good coop opportunity there...and pushables. 
 
Playing through the original first episode of quake after these maps is dissapointing. Even the few of the more fleshed out test maps in Arcane dimensions stand above the episode 1 levels in quake. 
 
I'd love to see the OG shareware episode given the full AD treatment in a jam or something. One can dream! 
Nice Changes 
Zombie change is really nice, being able to gib them without waiting out the i-frames is much better. Not sure when it was changed but standard grunt enemies seem to now take two shotgun hits like in vanilla rather than the one they did before, much better since they were a bit squishy IMO. 
@Kim 
I think the original game was 2 SG hits before too? I assume that the SG was just slightly nerfed back to original damage. 
@619/620 
The AD shotguns previously did a bit more damage as a tradeoff for being projectile weapons instead of the vanilla hitscan, this was rolled back in v1.70 according to the changelog:
* Removed extra damage (+4 per shot) from projectile shotguns (SG/SSG/WM) 
 
I can't believe I forgot that - especially as someone who used to complain about the discrepancy a lot. I imagine it was nearly impossible to balance ammo for people who used the impulse command to switch modes. 
Bug Report 
This is probably not the place to report bugs, but I thought I give it a shot. I'm fairly new here, e.g. lurking until now, I normally hang out in the ZDoom forums, please forgive my ignorance.

Anyway, rockets (not grenades) fired at zombies have a blast radius of zero/don't inflict splash damage. If you stand directly in front of a zombie and fire the RL point blank, you won't be harmed, same goes for anything else standing close to it. The only workaround for now is to kill zombies with the GL. 
 
Just checked for myself and I can confirm it's true. Weird! 
 
"Playing through the original first episode of quake after these maps is dissapointing. Even the few of the more fleshed out test maps in Arcane dimensions stand above the episode 1 levels in quake."

Well, that stands to reason with 20+ years of tools development behind us. :) They were building the levels with first generation, still being written, tools... 
 
I wouldn't want to try running AD maps on a Pentium 90 with 8-16 MB of RAM, which was actually one of the better systems you could have had when the original Quake was released. The game had to run on that hardware (usually worse), so there couldn't be many details in the levels.

As great as it is to see what became possible in Quake mapping after all these years, the classic levels remain timeless and really shouldn't be compared to what the community comes up with these days. 
 
Leptis Magna is one of my favorite AD maps. However, it has way too many encounters where we can just nail the enemies from very far away, which makes the enemies not react, because the enemies will only target the player if the player is close enough, even when the player is attacking them.

If the player is too far away for the monsters to target, the monsters should at least dodge the player's projectiles when they're hit. Get the angle of the projectile's trajectory, and make the monsters run in an orthogonal direction. 
 
or just run around randomly when hit 
 
With the Benny Hill Chase music playing. 
 
Giftmarchar's ad_e1m3 is fully playable, and is different enough from AD schupuler, so should be added. 
+1 
 
AD On Finnish Game Magazine 
I discovered recently that AD was featured in the March 2018 issue of Pelit, (probably) the largest game magazine in the Nordic countries! :D

Brace yourselves as I reminisce: Back in the day, before the days of the Internet, I used to read the magazine a lot in the elementary school (1995-2001) library when I was a wee lad. But as Internet became more widespread, and I grew up, there was a long time I hadn't read the magazine at all.

But once I graduated in 2014 and got a stable job, I picked up reading the magazine once again. And I noticed some of the journalists in the magazine were still around as in the nineties, so there's a lot of oldschool flair in the magazine, with a lot of love for old or retro games.

Some highlights from the article:

"Arcane Dimensions is Quake as it's painted in our memories. The building blocks are largely the same but the action has been beefed up and the architecture is from another world."

"The culmination of the mod is Forgotten Sepulcher. Despite the size everything is thought out and detailed."

"20 years of practice in map design has produced fruit, the seed of which id Software probably didn't realize it had sown."

"I was enchanted by AD from the first bite."

After a brief description of his run of Foggy Bogbottom the author states: "Not every map of the mod is an epic like that of Foggy Bogbottom, but it sums up what AD is at its best: feeling the map, horror, action, exploration, pacing, replayability, a little bit of everything."

(The author seems to like large open maps with exploration with side paths and backtracking.)

"The Triforce of speed, avoidable projectiles, and ever surrounding punishment shines bright"

"The game keeps you on your toes."

"The maps in AD are spiky Rubik's cubes that occasionally lock in places to show something, but are often just skillfully intertwined geometry, art for the sake of art. They evoke a lot of images, but often slip to the realm of the incomprehensible, which since the days of Lovecraft has been a good setting for a nightmarish feeling."

"Quake Champions has shiny graphics and polish, but in attitude AD dominates. Rough is beatiful."

The author states how many of the maps draw inspiration from FPS games throughout the ages and states: "AD is Quake with two decades worth of experience. A map pack, which makes the id maps look like preschooler tinkering. Not that the folks at id were bad at the time but knowhow has simply just increased since then."

"Subjectively I have an unhealthy fixation with the Quake framework. Objectively AD is one of the best things that people have done with the framework."

Screenshot of the article with the text hidden to respect the text copyright:

http://www.quaketastic.com/files/AD_Pelit_jpg.jpg

The text at the beginning says:

"AN ANCIENT GOD AWAKENS

In capable hands certain games just keep getting better over the decades. One of them is Quake." 
Thanks Esrael 
Seeing this is very humbling and exciting at the same time, I feel honoured to have contributed to this mod. :) 
Thx! 
Very nice to read this. 
#632 
Only skimmed what u wrote and that's great :) 
 
Sock also just retweeted a blog article by the same author, more about "pixel graphics" in general rather than only talking about AD: https://twitter.com/SimsOCallaghan/status/977864228118941697 
Quakespasm Not Full AD Experience? 
Hi,
Im running the later Quakespasm on a mac and looking at this video: https://www.youtube.com/watch?v=K8JWgsz8-lQ

I think Im missing the rain and some "smoke trail" with the torches and grenades maybe.

Am I missing some configuration? Im running a very clean config with just a texture 2 change and some joystick (due to handicap).
Thanks 
@daemonix 
Regular Quakespasm does not have those effects. You need to run AD with "quakespasm-spike-admod.exe" to get those special effects. 
I Forgot The Link 
@damage_inc 
may the gibs be in your favour! 
#637 
So, sock himself is using QSS to play AD. This should be enough reason to switch to QSS over regular QS for playing this mod. 
@mfx 
How can I contact you with a question about one of your maps? 
#642 
maikfranzxaver -at- gmail -dot- com 
Thanks! 
 
@mankrip 
FYI... QSS != quakespasm-spike-admod 
Ad_e2m2 
has anyone managed to find all of the new 10 secret triggers in ad_e2m2? there used to be only 3 before it was updated in 1.70. After hours of not finding any new secrets i didn't recognize from 1.60 I noclipped around the entire map still and couldn't find the last 2 anywhere, which is kind of weird since there should be rooms of some kind for them, but there don't seem to be. is this a bug or am i just too stupid to see them? 
Ibueac 
nevermind, i'm stupid. 
Shoot The Boards 
Or was that for swampy. If you are having too much trouble, switch to an engine that supports drawing EVERYTHING when outside the level bounds...oh wait you can't because QS/QSS and QuakeDroid are the onlyones that support AD lol. 
Co-op 
is there any way to configure coop to work properly? it keeps dropping packets and a lot of things like bullets and particles aren't showing up on the client. 
 
The packet size limit of Quakespasm is fixed at compile time (DATAGRAM_MTU 1400), I've tried raising it to 32000 for testing coop and it worked OK, but routers/internet are not required to deliver large packets from what I understand.

try Quakespasm-Spike; it has a new network protocol which is supposed to be better for coop: http://triptohell.info/moodles/qss/ 
@ericw 
thanks, the datagram thing totally worked.
there's one weird quirk though, maybe you can tell me what causes it.

most maps load on client, but synchronization problems get really bad as they get bigger and water of any type is completely unrendered. sepulcher doesnt load at all on client, host says "sz_getspace: overflow" when client is trying to connect. adjusting r_wateralpha once on client makes the water reappear, performance is way better and sepulcher actually loads, but you have to do it every time after connecting. lava and portals seem to be unaffected by whatever is causing this. 
 
thanks, the datagram thing totally worked.
cool!

most maps load on client, but synchronization problems get really bad as they get bigger and water of any type is completely unrendered.
Not sure what's going on with the water, or synchronization problems in general (could be packets are being dropped).

Turning off AD's particles ("temp1 0" in ad/quake.rc) is a good idea because each one is an entity and they generate a lot of network traffic.
I think if you use QS-Spike they no longer use entities, but I'm not 100% sure.

sz_getspace: overflow - This is the "signon buffer overflowed" message. Not sure why it would show up in coop but not singleplayer, maybe there is some extra info that gets sent in coop for some reason.

Quakespasm-spike should have this limit removed entirely so that would be what I would recommend trying next. So what made the "sz_getspace: overflow" error go away again, wouldn't just be changing the r_wateralpha cvar on the client? 
 
i made a mistake. i tested it at least a dozen times and it always worked after adjusting it, and never when i didn't. but apparently that was just coincidence.

once i tried connecting 3 times in a row without changing anything and it actually connected on the third, but i haven't been able to replicate that again and now it either connects first try or never until i restart everything. then i was sure it was related to connection quality, since it seemed to always work on a wired connection and only sometimes on wireless and there was a huge difference in network performance, but then it eventually refused to connect on a wired connection aswell, with the same overflow error.

i also don't really understand whats going on with the water, there are 3 different scenarios for the client. either it is completely invisible, but if you check r_wateralpha it has a value that should be visible. sometimes it is totally opaque and r_wateralpha reflects that accurately with a 1, and other times it simply carries over the value from the previously loaded map. sepulcher is supposed to have 0.6, and start has 0.65, so the client will sometimes have 0.65 while the host has 0.6 when i changed the level after connecting.

i tried spikes version but that has the exact same problem, only worse for some reason. it happens for much smaller maps like magna at a rate comparable to sepulcher in regular quakespasm with the limit removed.

can the signon buffer size be increased as easily as the packet size limit? i'd like to test that in my quakespasm build to see if it makes a difference. 
Sz_getspace: Overflow 
With QSS as a server, set sv_gameplayfix_spawnbeforethinks 1. This prevents PlayerPreThink etc getting called on player entities that have not actually been spawned yet, thereby preventing AD from spamming at the worst possible time.
You should then be able to connect just fine, every time.

However, I fucked up such that the above cvar doesn't do its job on map changes. Reconnecting will work fine until the next map change, thankfully most AD maps have shotgun starts so this shouldn't be too annoying beyond the hassle of it.

@sock
the overflow comes from spammed v_cshift stuffcmds (somewhere inside PlayerPostThink) to players that haven't even been ClientConnected yet, this then overflows the waiting signon data.
Normally I'd say its just an engine bug, but it goes all the way back to vanilla (so applies to more than just QS[S]) and the general policy is to not break other mods that actually depend on weird legacy behaviour (hence the gameplayfix cvar defaulting to 0). 
@Spike @sock 
the overflow comes from spammed v_cshift stuffcmds (somewhere inside PlayerPostThink) to players that haven't even been ClientConnected yet,

It looks like like it's coming from this ResetDebuffSystem() call (the internals of that do the stuffcmd unconditionally.)

//----------------------------------------------------------------------
// Core debuff function, run every frame from client.qc
//----------------------------------------------------------------------
void() ClientDeBuff =
{
// If player is dead or intermission running, turn everything off
if (intermission_running > 0 || self.health < 1) {
ResetDebuffSystem(self);
return;
}


Probably adding a (self.flags & FL_CLIENT) check should do the trick? 
@ericw @Spike 
yup, totally does the trick.

thanks for the help, both of you :) 
Elevators 
why are some of them so janky and others just fine? most of them you clip into a little bit like the two in start, very few are completely fine like the first on tfuma, and others are really bad making you jump up and down like the second one on crucial. 
Speeds And Clip Brushes 
First, make sure you aren't playing with max fps set higher than 72 (60 might be more consistent). Quake has a long standing physics bug that isn't framerate dependent.

The clipping might have to do with making a func_plat that also includes clip brushes. Some elevators have invisible brushes to make them into a solid rectangular box so players don't get trapped under the lip and get their heads bonked. 
 
A "smooth out stair step ups" engine change may also resolve this. In view.c: https://github.com/id-Software/Quake/blob/master/WinQuake/view.c

Change "oldz += steptime * 80;" to "oldz += steptime * 160;" and a lot of elevator jankiness goes away.

This change is in Bengt Jardrup's engine, but what's not clear is how he knew to make the change nor where he got the figure of 160 from. 
 
Elevators (and ramps) that are inside a trigger_fog or other trigger that does a stuffcmd every frame defeats the movement smoothing.

I debugged it a bit and cl.onground was getting set to false after each stuffcmd, which disabled the smoothing, but I didn't track down how cl.onground is linked to the stuffcmd-ing. Quakespasm-Spike's new protocol avoids this, but I'm not sure what change is responsible. Do you know what's going on, Spike?

test cases:

jittery:

temp1 0 # enable the stuffcmds inside trigger_fog
map ad_swampy.bsp
notarget
setpos -67 1368 840
noclip


smooth:

temp1 2048 #this disables the stuffcmds inside trigger_fog
map ad_swampy.bsp
notarget
setpos -67 1368 840
noclip


you need to walk off the plat and step back on. Look at the floor (plat surface) to see the jittering. You might have to ride the elevator a few times to see it jitter, but the "smooth" case is always smooth. 
 
Ok, did a bit more debugging (quakespasm / protocol 666), and it seems the client gets a net message with just svc_stufftext, and no svc_clientdata. onground gets set to false on every received network message unless there is svc_clientdata in it, so that is how the stuffcmd causes the stairstep smoothing to be reset. Not sure about the bigger picture like why does PF_stuffcmd result in a standalone net message without a svc_clientdata?

I guess the best solution assuming qc changes would be to use fitzquake's built in fog interpolation over time, which would avoid spamming the network with fog changes. 
@661 
svc_clientdata is normally present in every single _unreliable_ packet (the exception being nop packets).
Unlike Quakeworld, in NQ all reliable data (like stuffcmds) is sent in separate packets. hence why you're getting a packet that contains only a stuffcmd. This is true even for DPP7 and QSS.

There really is nothing specific to stuffcmd here. there are many other ways to trigger small reliables without svc_clientdatas.


FTE/QSS's network protocol considers the onground flag to be part of entity state, and doesn't even use svc_clientdata any more.
I don't recall any particular reason why you can't just do similar, and set/clear it only on reception of svc_clientdata (and CL_ClearState). I probably ought to do just that in QSS. Flagging the player as offground can affect things like bobbing, but its better to make sure any such unwanted effects are disabled by map changes, pause, or whatever, instead of potentially breaking on random reliables. 
Thanks Again Everyone 
i changed it to 160 and it's smooth as butter now.

completely unrelated, my save file somehow got corrupted in the most bizarre way i have ever seen. all the detail prop models have been shuffled. lit candles are now shell boxes, unlit candles are fire, and fire is a health kit. the zombie knights are invisible except for their swords which attack you without any sort of animation, and the shadow axe is duplicated and doesn't disappear when picked up. everything goes back to normal when you change level or restart.

would be super impressed if someone could explain how this might have happened. have a look at it yourself if you're curious, there's even more weird shit like the fire that gets abducted into the ceiling immediately.

https://drive.google.com/open?id=1jFNJH3Z84DfK56GrWRFpNpm1sqHBJWQx 
Edict List Offset By 1 
Quake stores all the models in an edict list on map load (or was it game start, whatever). If you load a saved game in a different mod or different version, the edict list could be different amd thus the referenced model for each object is off from where it should be in the list. 
@662 
Thanks! That explains everything. set/clearing cl.onground only on reception of svc_clientdata sounds like a reasonable change. 
@664 
it has nothing to do with edicts.
its the model indexes. precaching models in a different order can and will result in the model indexes referring to different models.

there are all sorts of ways to trigger the issue, from updating a mod or map between saving+loading, to mods that just use non-deterministic precaches such that they all get renumbered on reload.
If the mod ever uses random() in order to decide which model to precache then the mod is buggy.

FTE+DP+QSS are meant to write out the precache list so that it can be restored properly afterwards, which should allow non-deterministic mods to reload games properly.
Don't expect to be able to fix the game by just loading your existing save with one of those engines - if the saved game doesn't include the data then it'll have to be made up somehow - which means guessed, which means buggy. 
AD Co-op? 
I would really like to know if there is a way to play Arcane Dimensions (v.1.70 patch 1) in co-op using Quakespasm (0.93.0). I tried to make it work but I'm always getting some kind of connection problem message. Is there a tutorial for that anywhere? 
@Berzerk 
Scroll up a bit to #649, I asked the same thing a few days ago.

Right now you either need to compile Quakespasm and AD with the minor changes to the source code mentioned above, or use Spike's version of Quakespasm (QSS) and set "sv_gameplayfix_spawnbeforethinks 1" in the console. If you're going to play over internet I would recommend just going with QSS, it will perform much better. 
What Does The Angry Spawnflag Do? 
The documentation and editor description led me to believe it makes the entity aware of the player right away regardless of distance and sight obstruction, which is exactly what I need for my map. I tested it with multiple monsters and it doesn't seem to make any difference at all, flagged entities are still idling until attacked or within the detection radius. 
@mwyah 
I think you need to specifically trigger them IIRC. 
Or... 
it's only useful when they spawn in. 
 
It's funny that just searching for "serpent runekey" brought me here. Anyway, thanks for the hints, they were much appreciated. I felt like an idiot after finally finding the secret. I tried so many things. 
 
Possible to add monsters to Bastion, Marcher, and Masque to turn them into AD maps? 
 
Hey anyone know if/when/how sock's new map is getting released? The one with the huge sword piece. 
Issue With Ad_s1m1 The Slipgate Conundrum 
While I am not sure if this is an issue or normal behavior of the map, but I recently noticed this playing AD with QuakeSPASM 0.93: once you finish ad_s1m1, you are being teleported on Castle of the Damned map... Shouldn't it teleport the player back to Episode map? 
 
I think it's intended. It does the same for me in Qrack. I believe Sock made the map as an alternate for the original e1m1 not ad_e1m1. 
First | Previous | Next | Last
Post A Reply:
Name:
Title:
Body:
message
question
exclamation
idea
flame
noflame
error
skull
beer
moon
pent
rocket
sheep
pacman
pig
cheese
worldcraft
gauntlet
crate
pitfall
pimp
smile
cool
sad
frown
oi
yay
tongue
evil
wink
neutral
q1
q2
q3
ut
hl
cs
doom
dkt
serious
cube
Website copyright © 2002-2018 John Fitzgibbons. All posts are copyright their respective authors.