Index | FAQ | Search | Memberlist | Usergroups | Profile | Log in to check your private messages | Log in | Register

Not showing the console on startup Goto page 1, 2, 3 Next

| Inside3d Forums Forum Index -> Engine Programming

View previous topic :: View next topic
Author | Message
--- | ---
Baker Joined: 14 Mar 2006 Posts: 1538 |

Posted: Sun Jun 06, 2010 10:44 pm Post subject: Not showing the console on startup |

Start Quake and normally it shows the console on startup with the usual console messages. And then it plays the demo. DarkPlaces for ages hasn't done this ... maybe since 2002. Which looks a lot better for a total conversion. The Kurok engine for the PSP (but not the Windows version) does this as well.
In the Kurok PSP host.c does it in host_init:

Code:
void Host_Init (quakeparms_t *parms) { scr_disabled_for_loading = true; /// Baker <------------- disabling load and don't draw console if (standard_quake) minimum_memory = MINIMUM_MEMORY;
else
minimum_memory = MINIMUM_MEMORY_LEVELPAK;
if (COM_CheckParm ("-minmemory"))
parms->memsize = minimum_memory;
host_parms = *parms;
.
.
.
Cbuf_InsertText ("exec quake.rc\n");
Hunk_AllocName (0, "-HOST_HUNKLEVEL-");
host_hunklevel = Hunk_LowMark ();
host_initialized = true;
scr_disabled_for_loading = false; /// Baker <------------- ok, back to normal
Con_Printf ("Loading ... Please wait ...\n");
Sys_Printf ("================ Kurok Initialized ===============\n");
}

I'm not sure if this is an ideal method, it does briefly draw the console very late in the process and I'd prefer to not see the console at all.
I'd like to add a cvar which, like Half-Life by default, simply does even have a console available on-screen (in Half-Life you need to do something like -dev in the command line).
_________________
Tomorrow Never Dies. I feel this Tomorrow knocking on the door ...

Back to top |

Sajt Joined: 16 Oct 2004 Posts: 1026 |

Posted: Sun Jun 06, 2010 11:25 pm Post subject: |

No, you don't want to do that! If you're concerned about people accidentally hitting tilde, just do the Doom3 thing and use ctrl+shift+tilde or something... _________________ F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.

Back to top |

Dr. Shadowborg Inside3D Staff Joined: 16 Oct 2004 Posts: 726 |

Posted: Sun Jun 06, 2010 11:39 pm Post subject: |

Sajt wrote:
No, you don't want to do that! If you're concerned about people accidentally hitting tilde, just do the Doom3 thing and use ctrl+shift+tilde or something...

Sajt +1000000000
I HATED Half-Life for doing that. As a result whenever I play it, I ALWAYS run half-life (which isn't very often) with the "console enabled" shortcut.
Besides, with quake this is an absolutely horrible, evil, terrible, bad thing to even consider doing, especially when you consider the aspect of not being able to customize your "customize controls" menu. (read: no access to binding / aliases for keys, etc.)
_________________
"Roboto suggests Plasma Bazooka."

Back to top |

frag.machine Joined: 25 Nov 2006 Posts: 728 |

Posted: Sun Jun 06, 2010 11:50 pm Post subject: |

Dr. Shadowborg wrote:

Sajt wrote:
No, you don't want to do that! If you're concerned about people accidentally hitting tilde, just do the Doom3 thing and use ctrl+shift+tilde or something...

Sajt +1000000000
I HATED Half-Life for doing that. As a result whenever I play it, I ALWAYS run half-life (which isn't very often) with the "console enabled" shortcut.

Same to me. Definitively not a good behavior to copy from Valve engines.
_________________
frag.machine - Q2K4 Project
http://fragmachine.quakedev.com/

Back to top |

Baker Joined: 14 Mar 2006 Posts: 1538 |

Posted: Mon Jun 07, 2010 12:01 am Post subject: |

I'm not talking about Quake, per se. For Quake it is absolutely essential for several reasons. First the defaults are terrible, most modified engines have undesirable things enabled by default and such. And most engines have a deficient menu system and if it isn't deficient, then it is overly complicated (ezQuake's menu system is a great example of this).
A question for you to consider: assuming adequate hardware is mainstream, what reason is there ever for a user to need to use the console in a well designed mod provided it is supported by an engine with a good menu system for a standalone single player mod?
(I understand this description doesn't describe Quake with the inflexible menus and I understand true total conversions are mighy rare using the Quake engine.)
_________________
Tomorrow Never Dies. I feel this Tomorrow knocking on the door ...

Back to top |

Dr. Shadowborg Inside3D Staff Joined: 16 Oct 2004 Posts: 726 |

Posted: Mon Jun 07, 2010 12:20 am Post subject: |

Baker wrote:
A question for you to consider: assuming adequate hardware is mainstream, what reason is there ever for a user to need to use the console in a well designed mod provided it is supported by an engine with a good menu system for a standalone single player mod?

Depends on how "good" the menu system actually is.
Also, it's a VERY grave mistake to assume ANYTHING when it comes to "adequate" hardware. (there actually HAVE been instances where more "modern" video hardware is actually inferior to "older" hardware, and or does things differently in a manner that will break things...)
That stated, it generally is NEVER a good policy to take away something that a user may need to use, however unlikely they may actually be to use it all for the sake of making something "pretty" to some people's eyes. (I for one actually LIKE seeing the engine doing something, all on the console. It adds to the game's appeal, and lets me know the damn thing isn't hanging the system or something else that's equally evile.)
Just do like Sajt suggested with Doom3's unlikely key combos if your that worried about accidentally bringing up a console.
_________________
"Roboto suggests Plasma Bazooka."

Back to top |

mh Joined: 12 Jan 2008 Posts: 910 |

Posted: Mon Jun 07, 2010 1:39 am Post subject: |

Baker has a point - hiding the console during startup is to my mind the right thing to do (getting rid of it entirely would be a step too far; too much legacy baggage, too much rearchitecting needed, too much risk of breaking things). It needs to be remembered that tech-heads and command-line-freaks are actually very much in the minority here, even for a game as old as Quake. You only need to look at QuakeOne.com or elsewhere any day of the week to see the horrendous difficulties that something as simple as installing and loading a mod can cause. The people who it causes trouble for aren't stupid, they're just fish out of water. Anyone who perseveres and eventually gets there deserves credit.
Regarding menus, I'd say that the critical things to include are map loading, game changing and resolution changing. These are needed, and will on their own go a long way towards resolving 90% of the troubles that people have. It's OK for someone to prefer to use command-line options for them, and command-line options and the console can be retained unmodified for those people, but the majority of folks do not want them.
The default menu options in Q1 also badly need changing. They're a hangover from the old days when users were switching from 2.5d (Doom) to 3d, and things like lookspring and lookstrafe made sense then. It's 2010 now, so kill them, add in freelook instead (and for crying out loud have it enabled by default), and even if there's someone who will always hate your guts for removing lookstrafe from the menu, you can be certain that such a person would have no difficulties setting it from the console.
The trouble here is that Quake as-is forces you to use the console and the command-line. There's a bit of a Unix weenie mentality to this, don't you think? The console and command-line should become what they're meant to be - power tools for experienced users. The average player who couldn't care less should never have to even be aware that they exist.
_________________
DirectQ Engine - New release 1.8.666a, 9th August 2010
MHQuake Blog (General)
Direct3D 8 Quake Engines

Back to top |

Dr. Shadowborg Inside3D Staff Joined: 16 Oct 2004 Posts: 726 |

Posted: Mon Jun 07, 2010 2:25 am Post subject: |

mh wrote:
The console and command-line should become what they're meant to be - power tools for experienced users. The average player who couldn't care less should never have to even be aware that they exist.

Without a doubt they are power tools for experienced users, however I disagree with "The average player who couldn't care less should never have to even be aware that they exist." statement, finding it to be somewhat shortsighted and elitist in nature.
Just because they couldn't care less about the console being there doesn't necessarily mean they don't want it to be there either. (or for that matter "even be aware that they exist")
Additionally, "experienced" users have to come from somewhere, and if you take away the knowledge that it even exists, (let alone bother to document it, because YOU feel "most people aren't going to care") you aren't exactly going to GET those "experienced" users. Just imagine where quake would be WITHOUT the knowledge that the console even existed. (arguments of quake requiring the console to exist ignored.)
_________________
"Roboto suggests Plasma Bazooka."

Back to top |

Spike Joined: 05 Nov 2004 Posts: 944 Location: UK |

Posted: Mon Jun 07, 2010 3:11 am Post subject: |

How To Tailor Your Quake Engine To An Average User. Step 1: change command input to require a / for commands, leave out the slash and the engine will assume its chat. Step 2: Use a different keymap. One that doesn't have a forward slash. Congratulations. You now know how it feels like to be a user. You know its possible... You just don't know where the right button is!
Personally, step 1 on its own is enough to annoy me. :)
Can I just say that I hate using the console for chat with most NQ engines? 'say lol' - almost tempted to do "alias lol \"say lol\"".
On a more serious note, requiring some kind of 'type this randomly generated sentance before you can use commands' would be a nice way to remind you just how many console commands you type. :)
Baker: From what I remember, key_game forces the console down. Without that, you end up with the background not getting redrawn. Change it to force the menu up instead if the client isn't connected to a server/demo/map, and if it is connected to something, just show a dummy background or loading screen but otherwise stay on key_game without forcing the console up.
Demonstrating that its key_game that forces the console can be done by removing the startdemos line in quake.rc and replacing it with menu_main.
If the engine starts up with a demo/menu/connect/map command, then the periodic code in key_game (actually part of screen rendering setup) should never decide that it is not doing anything, and should never decide ohnoesIneedaconsole.
Really there shouldn't be a key_console value, just an extra flag to say if its wanted or not...
Course, Quake generates a lot of messages all over the place, and you would likely need new menus, of a sort, that basically say you got disconnected/timed out, and if you want to reconnect or just go back to the main menu.
I agree that engine coders should make engines that don't require consoles, but that pretty much all existing mods+engines require it.
It all needs a revamp. :s
_________________
What's a signature?

Back to top |

Sajt Joined: 16 Oct 2004 Posts: 1026 |

Posted: Mon Jun 07, 2010 3:56 am Post subject: |

Hiding the console except when activated is good. I still don't like in Darkplaces when the console comes down between map changes, and if you try to move forward before the new map actually starts, the console intercepts it and you get "wwwww" in the console.
But don't require a command-line switch to unlock the console. This is a problem similar to the "sv_cheats" console command. Sometimes a developer doesn't know that he needs to cheat/use the console until he's already in a game.
_________________
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.

Back to top |

Dr. Shadowborg Inside3D Staff Joined: 16 Oct 2004 Posts: 726 |

Posted: Mon Jun 07, 2010 4:10 am Post subject: |

Spike wrote:
How To Tailor Your Quake Engine To An Average User. Step 1: change command input to require a / for commands, leave out the slash and the engine will assume its chat. Step 2: Use a different keymap. One that doesn't have a forward slash. Congratulations. You now know how it feels like to be a user. You know its possible... You just don't know where the right button is!
Personally, step 1 on its own is enough to annoy me.
Can I just say that I hate using the console for chat with most NQ engines? 'say lol' - almost tempted to do "alias lol \"say lol\"".

I thought we were talking about average users, not below-average-look-like-a-real-dead-potato-with-mushrooms-growing-on-it users.
I mean, seriously. You could, like just press "t" (or whatever you've bound your "talk" key to which can usually be found in your "customize controls" menu, quake excluded but is normally bound to "t" by default anyway) type your message, and hit enter. But no, I guess we ARE talking about below-average users who have zero experience, and zero inclination to even learn a basic amount of how the hell to play the game because they've been playing too many retarded console games and feel reading the readme.txt file that actually commands them to read it by being named readme.txt to begin with (and incidentally probably tells them how the hell to even start the mod) is beneath them...
Don't mind me though. I'm just one of those old fashioned types who believes in having things like a spare tire, jack, and tire iron in my vehicle, with the knowledge of how to change a tire, just incase I have a flat or something in the desert miles away from any assistance. (This is however why I will one day conquer the world, and rule with an iron fist.)

Sajt wrote:
Hiding the console except when activated is good. I still don't like in Darkplaces when the console comes down between map changes, and if you try to move forward before the new map actually starts, the console intercepts it and you get "wwwww" in the console.
But don't require a command-line switch to unlock the console. This is a problem similar to the "sv_cheats" console command. Sometimes a developer doesn't know that he needs to cheat/use the console until he's already in a game.

This I can live with.
_________________
"Roboto suggests Plasma Bazooka."

Back to top |

gnounc Joined: 06 Apr 2009 Posts: 120 |

Posted: Mon Jun 07, 2010 5:35 am Post subject: |

The only things I have to say have already been said: Hide console during startup, by default. Good. For mods? Better. Making it difficult to find..not good. Usecase: I'm playing a quake mod ala Urres car game, and I want to use a controller. I already have the controller button universally tied to the spacebar. I need to bind an action to the spacebar.
Thats a good case where an average to below average user would need
the console. No its not an everyday circumstance, but to be fair the paramaters HAD been set to mods in specific so I think its a fair argument.
That being said, I absolutely flip a bitch in console games when I cant remap keys or do other seemingly arbitrary things.
Thats a benefit pc games have over console games, and I would really hate to lose that.

Back to top |

Spike Joined: 05 Nov 2004 Posts: 944 Location: UK |

Posted: Mon Jun 07, 2010 9:29 am Post subject: |

in gnounc's case, they should be able to use a binds menu. Also don't kill it completely as its awesome for chat. what sajt said. _________________ What's a signature?

Back to top |

Baker Joined: 14 Mar 2006 Posts: 1538 |

Posted: Mon Jun 07, 2010 11:02 am Post subject: |

The need for the console in Quake existed largely originally due to the need to type +mlook and all the other odd deficiencies in the original Quake. And then GLQuake with emerging 3D graphics cards that couldn't handle a lot of settings and needed tweaking.
And THEN modified engines with features that add effects that are desireable in some circumstances and then sometimes not and maybe you need to turn them off and then on either because you get 5 FPS or it looks wrong in a certain mod or you hate one or more of the author's defaults.
In case 1, you have bad game design. But that's fine, Quake was born in a transitory period. And a bit rushed.
In case 2, you have variable hardware capability. But that's fine, Quake was born in period where 3D acceleration was in its infancy.
In case 3, you have modified engines with experimental concepts of adding layers of complexity to the engine for users to play with. That's fine, that what you are supposed to do when you have the source code and mentally explore ideas.
But, let's say you have a total conversion using a modified Quake engine.
Case 1: that's no excuse. Needing to type +mlook in the console (or other such lack of foresight) would be absurd.
Case 2: that's no excuse. Hardware is stable.
Case 3: well, that's no excuse either. Pick the engine settings, effects and features for the representation you want [or will settle for].
If you design the total conversion correctly, in that event the console is really a developer tool. You can't eliminate the need for the console for multiplayer including LAN (without extraordinary effort) but for a solely single player modification and if you control both the engine and the QuakeC the need for a console in single player is rather trivial. I never used the console in single player for Half-Life except to use cheat-codes, for example.
@Spike: In my head I think the key is con_forcedup or whatever it is called in the engine code. If the console is forced up (no map running or a host error or what not) I guess that makes sense to show the console. I must be too old school to appreciate "chat in the console" and still like the idea of T to talk [and for modern knobsters accustomed to chatting in the console, I'd say "tough".]
(Speaking of T to talk ...
Nexuiz's "Magic Ear" entity is of extreme interest to me. The uses in single player are rather interesting .... i.e. what if you had a door guarded by an invulnerable NPC who would not open the door unless you gave him the password ...)
@Sajt/Shadowborg: Expert users do come from somewhere of course, but the lack of a default console in Half-Life didn't seem to stop them from developing expert users. I'm not saying unreasonable existence of a console is good, but just that it is not necessarily desirable.
_________________
Tomorrow Never Dies. I feel this Tomorrow knocking on the door ...

Back to top |

Downsider Joined: 16 Sep 2008 Posts: 478 |

Posted: Mon Jun 07, 2010 11:15 am Post subject: |

A button to enable/disable console in the options menu is ideal.

Back to top |

Display posts from previous:

| Inside3d Forums Forum Index -> Engine Programming | All times are GMT Goto page 1, 2, 3 Next
Page 1 of 3

Jump to:

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Powered by phpBB © 2004 phpBB Group