Forum

Populist Features

Discuss programming topics for the various GPL'd game engine sources.

Moderator: InsideQC Admins

Populist Features

Postby Baker » Sat Apr 09, 2011 3:54 am

They both do matter and don't matter. But mostly, they do.

A ton.

Identify the 12 real-world features that an average player really would like to have or admire. And then consider how many of these features are implementing in any engine (or progs.dat).

Quake isn't limited by modding efforts. We've never even been there (for the most part). And this is 2011.

I raise this topic solely for the purpose of illustrating the very limited nature of engine modding up to this point. I almost have to say "except Spike" to be honest [Spike has almost a curiously linear feature list in FTEQW].
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby FrikaC » Sat Apr 09, 2011 5:34 am

I can't speak for Joe the Player.

Things I want are modding-centric because that's what I do. Things mappers want are mapper specific because that's what they do. Things QW players want are things that make their QW game more unfair..err...I mean 'fun'....yeah. Things engine coders want are crazy tech to make their engines stand out.

If Joe the Player wants features maybe he should go code them.

I don't say that to sound callous, but in my experience the Joe the Players of this world tend to want a more plain, less modded experience to begin with. I'm all about modification. But maybe I'm wrong. I'd like to hear your list.
FrikaC
Site Admin
 
Posts: 1026
Joined: Fri Oct 08, 2004 11:19 pm

Postby leileilol » Sat Apr 09, 2011 7:55 am

Besides the usual rendering fixes for getting the GL part up to Quake v1.00 visual standards (overbright, fullbrights, npo2, model light matrix dropped, waterwarp) i'd say, coming from a player perspective to streamline Quake:


1. Freelook enabled right off the bat through the menu. Death to autoexec.cfg +mlook workarounds

2. Reverse cycle weapon in the controls menu (jon camrack forgot to add this in 1.06)

3. An easy custom map picker

4. Fake CD tracks. Face it, red book is dying pal.

5. Less 'fatal errors'. Manage the damn memory and die it all to the console where possible.

6. More trusty window management. you don't want to run the engine to see it suddenly load some old config file to pull a fullscreen 640x480x16 on you while you multitask or test. Starting it unfocused could lead it to start in a window (like Unreal engines)

7. Positional audio. this is a highly underrated aspect in engine modding these days, one that is useful too. 5.1 support isn't hype.

8. Allow sv_aim to be 2 right through the menu. Not a lot of engines let you easily disable the autoaim by the interface.

9. Exploit drag and drop functionality for bsps and folders (to load as -game)

10. master server list picker, but done with legible built-in variable width fonts with margins so it's not looking like a big confusing mash of saved games.

13. rag doll face tech form hl2 beta to put in my cool psp game so i can win teh psp game macking contets

Fortunately most competent engines have most of these features.

What happened to QSB? Is it back to square one dead horse beatdown round 3 again?
i should not be here
leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Postby Baker » Sat Apr 09, 2011 3:27 pm

#1 I myself have always thought New Game should next lead to selecting the gamedir or map.

Things players want are things that make their game more unfair..err...I mean 'fun'....yeah.


Well, that's why you don't let the inmates run the asylum and I don't believe that is the majority of players, I think that is just the "win at all costs" players with their ego wrapped tightly around their heads.

And generally "elite players" don't code, mod or host servers ... I personally don't think the niche interests of "elite" multiplayer types override common sense.

But #2 on my list would be easy, good peer to peer coop that doesn't involve typing anything in the console.

9. Exploit drag and drop functionality for bsps and folders (to load as -game)


I've kinda sorta been thinking of that lately.

#3 on my list .... the engine can already display models, since gfx customization is one thing that is rather widespread (QRP, Quake Reforged, etc.) I think some of that should be able to be done on-the-fly.

#4 No one reads the readme. Well, shouldn't the engine let you read the readme?
Last edited by Baker on Sat Apr 09, 2011 3:41 pm, edited 1 time in total.
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby mh » Sat Apr 09, 2011 3:40 pm

I actually went to a lot of effort to set DirectQ up as a "player-friendly" engine, but I believe that the term "Populist Features" covers maybe 3 main categories.

Stuff that acts as a barrier to new players

Face it, Quake has some poorly chosen defaults. Now, a lot of these may have been reasonable in 1996, but in 2011 many of them make zero sense whatsoever. +mlook, a tiny default heapsize, needing to use the console and command-line so much; these all can and should be addressed.

Thing is that a lot of people can look on this kind of thing with scorn. Experienced players who don't need it don't see the value in it. Others get the wrong end of the stick entirely - I had to go to considerable effort to explain to one person that the fact that you don't need to use the command line in DirectQ doesn't mean that I've removed the command-line. You'd almost think that some people want to assume the worst. Sheesh.

Every engine coder should read through some of the problems people have with using Quake for the first time on the QuakeSrc.org forums. These are the high-priority show-stoppers that should be fundamental features of every engine.

Value-added good stuff

A lot of the multiplayer features in ProQuake fall under this category. You don't actually need these to play the game, but having them enhances the experience a lot. This can also include SP stuff like auto-reloading your last save when you get killed.

Other things I see as belonging in here include the ability to record demos at any point in time, possibly JPEG screenshots, definitely showing a screenshot of the save point in the save/load menus, enhanced TAB completion, etc etc etc.

It's all "polish" in other words. Extra nice things that you don't need but that do bring benefit.

Gratuitous Junk

These are, I believe, the "crazy tech to make their engines stand out" things that FrikaC referred to. I've also seen them referred to as "engine faggotry" elsewhere. Leaving aside the fact that lumping everything that engine coders do into this category is mildly offensive, what do they include?

Half-Life BSP support is here. It seems popular, but going through the maps and mods list on Quaddicted, how many of them actually need HL BSP? Something like none?

I'd personally place enhanced particles, r_shadows and r_mirroralpha here too. In fact the latter two were firmly in this category in the original GLQuake; the former is just eye-candy that serves no purpose. It can be very nice eye-candy for sure, but it remains eye-candy. My "amazing revolving 3D HUD" thing that I used to do 6 or 7 years ago also goes here.

Sometimes a feature that's currently Gratuitous Junk moves up the list. If HL BSP started becoming widely used by mod teams it would become pretty damn essential. LIT files might be here, but if a mapper supplies a LIT file then you must work on the basis that using the LIT file gives you the mapper's intended look, so they're also in the essential features bucket.
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Postby Baker » Sat Apr 09, 2011 3:47 pm

mh wrote:Half-Life BSP support is here. It seems popular, but going through the maps and mods list on Quaddicted, how many of them actually need HL BSP? Something like none?


Well wait ... that isn't quite fair.

Remember, Quake is an engine but it doesn't have to be a Quake engine.

If I create a standalone single player mod that doesn't require Quake, it doesn't really matter to me whether or not anyone else is using the features or not.

One nice thing is that there are things like Nexuiz and Open Quartz and you can quickly assemble enough GPL content very quickly to make total conversions.

Most people don't make total conversions, but then again the level of knowledge you have to have to get there is a bit steep. You really need to know engine coding too --- for example, if I am going to bother to make a total conversion, I want control over the engine too.

And to make a total conversion, you have to have the basics from QuakeC to mapping to working with models and sounds.
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby mh » Sat Apr 09, 2011 4:21 pm

Oh don't get me wrong, I've nothing against the concept of adding support for formats like HL BSP, and I've nothing against a mod team deciding to build something new that isn't Quake using these formats. But that's going off the page and into something that isn't Quake anymore, so it's probably too off-topic.

Where I'm coming from is the perspective of a general purpose Quake engine designed to play existing and upcoming Quake content. In that kind of context I do think it is fair to label HL BSP support as "gratuitous junk".

I should also add that adding support for what I've labelled "gratuitous junk" can be a worthwhile goal on it's own terms. You can learn a lot about how the engine is structured, where and how components fit together, and how the various formats work. Even building support for a different format can teach you something about current formats through the process of working over what's different.
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Postby Baker » Sat Apr 09, 2011 4:58 pm

I agree with you in that sense and I can agree with calling the HLBSP support gratitious junk simply because I think Q1 BSP tools need extended and I think we need a new improved map format that retains some of the obsolete crusty stuff we expect in a Q1 bsp format without some other crusty stuff that doesn't apply :D Still, Avirox did quite a nice job that resulted in a good set of Quake Christmas presents from HLBSP stuffs.
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby leileilol » Sat Apr 09, 2011 10:23 pm

HLBSP has been in Quake since 2000. No one has ever used it for real.

LITS for good old BSP29, on the other hand, are used for real.

I'll take the latter.

Don't forget the usage rights around the tools used to assemble HLBSP files.

Also wasn't this thread about the player? I doubt anyone new will ever open up Quake and say "now i want to run halflife maps".
i should not be here
leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Postby Spirit » Sun Apr 10, 2011 8:57 am

-Players want anything that makes the game look different. Coloured lights, different textures, realtime lighting, different models.

I am serious about this. I was the same. GLQuake looked different from Quake.exe so it was something new and fresh => better. Then I was into Telejano and all the fancy n3og3n3sis monster skins. Telejano had some overdone effects and those skins were awful. But they made me feel like I "enhanced" the game. Then Tenebrae of course ("amazing technology!"), thankfully it ran too slow. Then I played around with replacing sounds (I used some from Counterstrike). I also have bound the spacebar to a slow-motion host_framespeed(?) setting since then. Well, let's say I really like Matrix and so the nailgun got its damage increased and a silenced machinegun sound and I slowmo jumped around corners and felt like a total bad-ass killing some ogres who looked like they had all grainyness of their skins peeled off while the background looked like molten wet plastic and the whole level flashed in brightness synced to my shots.

I do not feel that way nowadays (ugh), I am not saying that engines should support this. But if you want players to use your engine, then this is the way to go. Take a look over at Quakeone.com some day. They attract the random google searches so you get John Doe over there. Then see how Tenebrae/Darkplaces/QRP is teh shizzle for them.

:(

PS: In QuakeWorld I still like doing things like this (and please leave your silly OMG ITS CHEATING off this thread). Competitive multiplayer Quake is a whole different game to me though.


-Mouselook should be enabled by default nowadays. I cannot think of any valid reason against it.

-The barrier for map/mod loading is huge for non-nerds.
Hell, I am using Linux so using a terminal is normal. Still I hate having to remember a directory name and/or a specific .bsp if I just want to play some random map. Hence the Quake Injector. I think an engine cannot get anywhere near the Injector without a serious rewrite of the whole menu design and feel but they could definitely be more newbie friendly. On the other hand, a directory name is not the title of a mod, a bsp file name is not the title of a map (and even extracting its title from worldspawn often leads to gibberish). Unfortunately there were and are no standards for those.
Improve Quaddicted, send me a pull request: https://github.com/SpiritQuaddicted/Quaddicted-reviews
Spirit
 
Posts: 1031
Joined: Sat Nov 20, 2004 9:00 pm

Postby r00k » Sun Apr 10, 2011 9:27 am

built-in quakeC editor/compiler :D
...|-multi-layer consoles...
...|-search function
...|-full cursor movement -or- mouse support
...|-line numbers
...etc...

built-in .ent file editor

dp7 compatibility for games between North America and Europe.
r00k
 
Posts: 1110
Joined: Sat Nov 13, 2004 10:39 pm

Postby goldenboy » Sun Apr 10, 2011 5:29 pm

What happened to QSB? Is it back to square one dead horse beatdown round 3 again?


No. I want RMQ to get behind this, and collaborate with a few key people to make it real. Since RMQ is probably a good reference implementation, in some ways. Including an improved BSP format. But this isn't the right place for it. Making a ruckus about it will just cause 999 people to post their wishlists again. :-/

I also think Urre's list is already largely obsolete or implemented.

Identify the 12 real-world features that an average player really would like to have or admire.


I'm not the average player. More of a content maker. From what I see at quakeone.com,

1. Eyecandy

2. More eyecandy

3. Free download of Quake

4. Autodownload for everything

5. Anticheat

6. Kickable gibs

ummm.... you get the idea. I think no one here is the average player.
User avatar
goldenboy
 
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel

Postby Baker » Sun Apr 10, 2011 7:13 pm

mh wrote:Experienced players who don't need it don't see the value in it. Others get the wrong end of the stick entirely - I had to go to considerable effort to explain to one person that the fact that you don't need to use the command line in DirectQ doesn't mean that I've removed the command-line. You'd almost think that some people want to assume the worst. Sheesh.


I've had various players with config issues send me their config. Now, ProQuake puts the command line in the config as a comment. That way, if I have someone's config, I don't need to ask them anything else. The ProQuake config not only has the command line in comments, but the video card and Quake path.

I've seen parameters in the command line that are literally DOS-only things like -mpath and redundant settings and misspelled parameters. I think only a very small percent know what they are doing with settings and command line stuff. As a result, I think the engine should default "best" settings (and that means deathmatch best -- to ensure fairness, like bobbing and roll angle stuff off) with the option to set things to Quake-default in the menu. Still, I really think single player should be played with the default settings, aside from having mouselook and always run on by default obviously.

possibly JPEG screenshots


You know, at times I wonder if I am too conservative because I kind of favor PNG shots because they are lossless. Still, if I post a screenshot I save it as JPEG before upload. Being objective, I think JPEG ought to be the default format.

Side Issue: Where should screenshots REALLY be saved on a Windows Desktop? %APPDATA%\Quake\Screenshots ? And how should the screenshot be named? Maybe GAMEDIR_MAP_DATE_KILLEDMONSTERS_TOTALMONSTERS.jpg like:

nehahra_start_20110411_45_of_60.jpg

Maybe for an online game:

multiplayer_dm6_20110411_(servername)_(player score).jpg

[Sure, a minor issue but I hate how having fitz0001.tga, fitz0002.tga, etc. makes it a pain to figure out what a screen shot actually is and doesn't give me context of the screenshot environment.]
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby Baker » Sun Apr 10, 2011 7:24 pm

Spirit wrote:-The barrier for map/mod loading is huge for non-nerds.
Hell, I am using Linux so using a terminal is normal. Still I hate having to remember a directory name and/or a specific .bsp if I just want to play some random map. Hence the Quake Injector.


Funny how a few years ago, I could have 70% of Func_Msgboard mad at me for saying how hard it is for a newbie to play a single player release. :D

Ironically, for most of the NQ online players, most of what they know about custom single player maps is from the RQuake server:

Image

So the NQ guys all know about Insomnia and all the other classics, but I would bet that 75% have never actually played the maps in single player offline and wouldn't know how.

Now this just normal, I never played a custom single player release until 2005 because I didn't actually know what do to do ... and it was an older version of the Quaddicted site that made me think, I really need to quit procrastinating and download some of these and play them. Probably played 200 of them within a few months.

I wasn't aware of Func_Msgboard until 2005. Funny that back just 5-6 years ago, there was poor awareness of what all the Quake sites were. I had someone point me to Inside3D back in 2003 about a QuakeC question, didn't recognize anyone and was afraid to post, haha :D
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby mh » Sun Apr 10, 2011 7:35 pm

Well Quake's default locations for stuff don't really correspond to where they should be on either Windows or Unix, but that's a legacy of the DOS days and I'd personally be reluctant to make such a radical change.

Screenshots - putting them in a "screenshots" subdir off the gamedir is as far as I'm willing to go, and it helps keep the game dir clean (same applies to save). I favour JPEG over PNG because I get this feeling that nowadays if anyone is going to take a screenshot the reason why - 9 times out of 10 - is going to be to upload it somewhere. (DirectQ still defaults to TGA because I suspect that even if following this logic there will always be someone who will complain.)

Neat idea on the config thing by the way; I've something similar that dumps out 3D card capabilities but I keep on forgetting to make use of it.

Defaults - I don't know. For an MP-only (or MP-primary) engine you can get away with defaults tuned for what most people would want for DM. The same counter-argument could be made for SP, and people who want to use a more general-purpose engine for either will complain if the defaults are tuned for the other. Seems a case of "when in doubt do what ID Quake did" to me.

You also need a robust way of getting around that "exec default.cfg" that runs at startup. Of course for new cvars you can pick whatever you want, and I think you'd want to be pretty far gone to make the argument that free look should not be enabled by default (the exception to "when in doubt..." occurs when "...what ID Quake did" is clearly and unambiguously crap from any perspective).
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Next

Return to Engine Programming

Who is online

Users browsing this forum: No registered users and 1 guest