Building mod downloader/installer/menu
Moderator: InsideQC Admins
27 posts
• Page 2 of 2 • 1, 2
dreadlorde wrote:What would be the point of specifying multiple gamedirs though? I thought quake didn't 'stack' like that, or does it? What progs.dat would be used, the one in the last gamedir? I'm not sure I completely understand what you're saying.
Multiple gamedirs are needed for some mods.
Some mods use the hipnotic weapons or the hipnotic HUD. Warpspasm has its own gamedir plus uses Quoth content. There aren't maybe 25 such mods, but some of those 25 are among the best ones out there.
With multiple gamedirs, it is the final gamedir that the progs.dat is run from. But sbar, models and sounds maybe be used from the lower priority gamedir.
Hipnotic and Rogue have their own hardcoded HUDs in sbar.c --- I think hipnotics has an extra weapons slot or ammo slot.
Of course it would be optional and the more hands-on approach should be retained for those who prefer it, but if Baker's thinking what I think he's thinking (and I think he is) then this is going to be something of worthwhile and genuine benefit.
This is small stuff and the Quake Injector is quite good, but I don't like Java or restarting an engine.
Now something that will need addressed: Mod categorization.
For instance, there is no good reason to throw 950 single player maps in a player's face.
Furthermore, a new player would be better off playing casual play single player maps with 30-50 monsters. AND they would be better off playing mods very similar to Quake as far as the game mechanics and the controls.
I love Slide. In the past, if some extra guys showed up at a Slide server, they'd be like "How do I move?".
I'm thinking easy to pickup maps and mods that don't require learning or a big commitment are more suited to new players, so things like AirQuake with 50 impulses or Prydon Gate or even Slide aren't close fits. They should be available, obviously. But I'm talk the Func_Msgboard motto of 1 degree of game change is the best fit.
Likewise, Marcher Fortress or ARWOP or other maps with 300 monsters aren't a good fit because a new player probably isn't interested in a map that will take 1 week to finish.
I think a 15-20 minute single player maps without super hard puzzles would be a better starting point.
Now the trick is going to be ... how do you do this in the user interface making everything available but front-lining a finite numbers of "entry level maps and mods to a player" to the forefront.
Probably with category checkboxes.
The night is young. How else can I annoy the world before sunsrise?
Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
-

Baker - Posts: 3666
- Joined: Tue Mar 14, 2006 5:15 am
Ah, ok. Got it.Baker wrote:Multiple gamedirs are needed for some mods.
Some mods use the hipnotic weapons or the hipnotic HUD. Warpspasm has its own gamedir plus uses Quoth content. There aren't maybe 25 such mods, but some of those 25 are among the best ones out there.
With multiple gamedirs, it is the final gamedir that the progs.dat is run from. But sbar, models and sounds maybe be used from the lower priority gamedir.
Hipnotic and Rogue have their own hardcoded HUDs in sbar.c --- I think hipnotics has an extra weapons slot or ammo slot.
Ken Thompson wrote:One of my most productive days was throwing away 1000 lines of code.
Get off my lawn!
-

dreadlorde - Posts: 268
- Joined: Tue Nov 24, 2009 2:20 am
Baker wrote:Now something that will need addressed: Mod categorization.
For instance, there is no good reason to throw 950 single player maps in a player's face.
Furthermore, a new player would be better off playing casual play single player maps with 30-50 monsters. AND they would be better off playing mods very similar to Quake as far as the game mechanics and the controls.
I love Slide. In the past, if some extra guys showed up at a Slide server, they'd be like "How do I move?".
I'm thinking easy to pickup maps and mods that don't require learning or a big commitment are more suited to new players, so things like AirQuake with 50 impulses or Prydon Gate or even Slide aren't close fits. They should be available, obviously. But I'm talk the Func_Msgboard motto of 1 degree of game change is the best fit.
Likewise, Marcher Fortress or ARWOP or other maps with 300 monsters aren't a good fit because a new player probably isn't interested in a map that will take 1 week to finish.
I think a 15-20 minute single player maps without super hard puzzles would be a better starting point.
Now the trick is going to be ... how do you do this in the user interface making everything available but front-lining a finite numbers of "entry level maps and mods to a player" to the forefront.
Probably with category checkboxes.
That's not a bad idea. There's also room for episodes like Beyond Belief or Zerstorer here; ones that largely retain the original (or similar enough) gameplay and style, but offer something more than the quick gratification of a single map, and in more easily digestible chunks.
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
We knew the words, we knew the score, we knew what we were fighting for
-

mh - Posts: 2292
- Joined: Sat Jan 12, 2008 1:38 am
I hope you are not talking about hardcoding "easy install" support for certain mods into the engine. But instead of using some external metadata (like the Injector does). So it would not matter what mods you would ultimately include.
It would surely be nice to have the Quake Injector functionality built into the engine, but I can't see that happening in a user-friendly way with the current menu situation.
I actually disagree about only giving people "simple" mods. It is the extreme mods that interest and fascinate many people the most from what I gather. It depends what part of Quake you want them to experience.
It would surely be nice to have the Quake Injector functionality built into the engine, but I can't see that happening in a user-friendly way with the current menu situation.
I actually disagree about only giving people "simple" mods. It is the extreme mods that interest and fascinate many people the most from what I gather. It depends what part of Quake you want them to experience.
Improve Quaddicted, send me a pull request: https://github.com/SpiritQuaddicted/Quaddicted-reviews
- Spirit
- Posts: 1031
- Joined: Sat Nov 20, 2004 9:00 pm
Spirit wrote:I hope you are not talking about hardcoding "easy install" support for certain mods into the engine. But instead of using some external metadata (like the Injector does). So it would not matter what mods you would ultimately include.
This is the only way I'd see it working. Something like the Quaddicted list would be a good baseline. Existing web download code in certain engines could be used to grab an XML file (talking off the top of my head here) and all it would need then is to be stuffed through a parser to get the necessary info out.
It would need some extra metadata to correctly resolve dependencies of course, but a large amount of what's required is already there in one form or another.
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
We knew the words, we knew the score, we knew what we were fighting for
-

mh - Posts: 2292
- Joined: Sat Jan 12, 2008 1:38 am
space-separated+quoted > xml
as its much simpler to parse :)
By mods, what is meant? total conversions, maps, texture packs, model packs, popular configs? When you start to get texture packs and model packs, the most-recently-installed one should have priority over the old, or should partial packs take priority over exaustive packs?
Do engine extensions count as dependancies?
Ultimately it needs to be kept simple... So don't let me design it!
FTE is meant to have a downloads menu. most of the time its sitting in some completely broken state of disrepair, but the basic idea is that the user can just walk a list of sites to get their content. The central authority can add new sites as a submenu (recursively so), with versioning information maintained by the final linker. It keeps track of what's meant to be installed via a text file with an identical format to downloaded packages (mostly only really needed to show which things are old).
But yeah, you can configure it to provide a list of pak files that contain other interesting stuff, but what it really needs is a proper choice of available packages through it. :)
It is not presently tied in to the game server's gamedir (which doesn't download paks/pk3s anyway). If a server can say packages X+Y+Z and the client can find the correct place to get them from then yay.
as its much simpler to parse :)
By mods, what is meant? total conversions, maps, texture packs, model packs, popular configs? When you start to get texture packs and model packs, the most-recently-installed one should have priority over the old, or should partial packs take priority over exaustive packs?
Do engine extensions count as dependancies?
Ultimately it needs to be kept simple... So don't let me design it!
FTE is meant to have a downloads menu. most of the time its sitting in some completely broken state of disrepair, but the basic idea is that the user can just walk a list of sites to get their content. The central authority can add new sites as a submenu (recursively so), with versioning information maintained by the final linker. It keeps track of what's meant to be installed via a text file with an identical format to downloaded packages (mostly only really needed to show which things are old).
But yeah, you can configure it to provide a list of pak files that contain other interesting stuff, but what it really needs is a proper choice of available packages through it. :)
It is not presently tied in to the game server's gamedir (which doesn't download paks/pk3s anyway). If a server can say packages X+Y+Z and the client can find the correct place to get them from then yay.
- Spike
- Posts: 2892
- Joined: Fri Nov 05, 2004 3:12 am
- Location: UK
Spike wrote:space-separated+quoted > xml
as its much simpler to parse
And a nightmare to handle if you're doing more than just simple key/value operations.
A good compromise would be to use JSON strings. They're a bit more sophisticated than plain text and there's tons of libraries to handle it in a transparent, generic way.
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC
(LordHavoc)
-

frag.machine - Posts: 2090
- Joined: Sat Nov 25, 2006 1:49 pm
frag.machine wrote:Spike wrote:space-separated+quoted > xml
as its much simpler to parse
And a nightmare to handle if you're doing more than just simple key/value operations.
For the purposes of what we're talking about here it's fine though. I just said XML because there are parser libraries available too, as well as the fact that it can also be used as a source for displaying the same mods list in a standard web page.
Normally I would vote very strongly in favour of COM_Parse format - every other textual content in Quake uses it, and the world doesn't need yet another text format which needs it's own parser in an engine otherwise.
There may well be more superior formats which offer better flexibility (and are sexier to write code for) but consistency with an existing standard is more important IMO.
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
We knew the words, we knew the score, we knew what we were fighting for
-

mh - Posts: 2292
- Joined: Sat Jan 12, 2008 1:38 am
JSON is already a well-stablished standard among web development (the ECMA-Javascript language and any AJAX framework out there are heavily based on it, just for a start), is really simple to read and parse (without the clumsy XML DTDs and schemas) and has support libraries for almost 40 different languages (of course, C/C++ included).
But what is the real advantage over the COM_Parse support ? Well, for start with JSON you can create arbitrary and hierarchical data trees and arrays (entity serialization anyone ?). Good luck doing the same with ye olde COM_Parse.
But what is the real advantage over the COM_Parse support ? Well, for start with JSON you can create arbitrary and hierarchical data trees and arrays (entity serialization anyone ?). Good luck doing the same with ye olde COM_Parse.
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC
(LordHavoc)
-

frag.machine - Posts: 2090
- Joined: Sat Nov 25, 2006 1:49 pm
We use XML for the Injector. And I dread importing all the stuff in key/value (as in SQL). That's why Quaddicted is lacking a lot of functionality and the Injector "database" has not been updated for ages...
http://www.quaddicted.com/reviews/quadd ... tabase.xml (careful visiting that with your browser)
Of course this all depends on the functionality you are after.
SQLite might be an option (yes, please, do the work for me
). That was proposed as engine feature bounty once, if there is support of that idea I would be able to make it one soon.
http://www.quaddicted.com/reviews/quadd ... tabase.xml (careful visiting that with your browser)
Of course this all depends on the functionality you are after.
SQLite might be an option (yes, please, do the work for me
Improve Quaddicted, send me a pull request: https://github.com/SpiritQuaddicted/Quaddicted-reviews
- Spirit
- Posts: 1031
- Joined: Sat Nov 20, 2004 9:00 pm
json/sexp>xml
Ken Thompson wrote:One of my most productive days was throwing away 1000 lines of code.
Get off my lawn!
-

dreadlorde - Posts: 268
- Joined: Tue Nov 24, 2009 2:20 am
Spirit wrote:I hope you are not talking about hardcoding "easy install" support for certain mods into the engine. But instead of using some external metadata (like the Injector does). So it would not matter what mods you would ultimately include.
I plan on both hardcoding mod support and not hardcoding it and having it download the list and data via the download capability.
First, someone learning engine modding could benefit more from the simple hardcoding example.
Second, I am more concerned about the presentation and user experience than I am the actual list. So this means I care about the look, layout of the screen and how the choices are presented, etc.
Spike wrote:By mods, what is meant? total conversions, maps, texture packs, model packs, popular configs? When you start to get texture packs and model packs, the most-recently-installed one should have priority over the old, or should partial packs take priority over exaustive packs?
Do engine extensions count as dependancies?
Ultimately it needs to be kept simple... So don't let me design it!
For me, mods = standalone Quake experiences. Frikbots, DSMP, X-Men, single player stuff, Hellsmash, Lardarse's red keys mod, Slide (too bad the Slide maps are real ugly by today's standards --- someone should summon teh mapperz).
It would be cool to have a way in the engine to switch out on the fly replacement models and HUDs in a graphical menu.
The night is young. How else can I annoy the world before sunsrise?
Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
-

Baker - Posts: 3666
- Joined: Tue Mar 14, 2006 5:15 am
27 posts
• Page 2 of 2 • 1, 2
Who is online
Users browsing this forum: No registered users and 1 guest