Announcement

Collapse
No announcement yet.

RQuake Coop - New Maps?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • RQuake Coop - New Maps?

    Hi all,

    This is possibly more a question for the likes of Baker, LH, Rook, RocketGuy, Spike and the like, so my apologies if the following bores people to death , but... put as simply as I can... How difficult is it to get a typical SP map to work with the RQuake Coop server? For example, as a proof of concept would it be a case of ensuring that the appropriate bsp file is on the server and the client and then use changelevel [Insert MapFileName].bsp to load the map? or are there modifications required to the individual mapfile itself (such as adding extra spawnpoints) that are required?

    The reason I ask is that like many players I like the mod and have played the RQuake map set to death and wondered if it was a relatively simple task to add new maps. I was toying with the idea of adding a select map (eg. intro3) to enable easy selection but if its a case of having rip the RQuake codebase apart to this then it's almost certainly not going to happen.

    Any constructive ideas, comments, thoughts are welcome.

    Kind regards

    Monty
    Mr.Burns
    "Helping to keep this community friendly, helpful, and clean of spammers since 2006"
    WWW: Quake Terminus , QuakeVoid You Tube: QuakeVoid
    Servers: Quake.shmack.net, damage.servequake.com

    News: JCR's excellent ctsj_jcr map is being ported to OOT

  • #2
    I don't know about RQuake Coop, but for vanilla the only difference between a single-player map and a coop one is that ones that also support coop have info_player_coop spots.
    this isn't normally a huge issue if you're okay with spawn-fragging, but be aware that there are maps that break if you need to respawn in various places eg: a room that locks the door until you kill the monsters or hit a switch - dying before that is done can leave you unable to reset it and thus complete the map, which means you'll need an admin to get it to move on to the next map or something.

    there's also an issue with which map to load afterwards.

    but yeah, worst case is that you need to make an .ent file to add whatever ents are needed (or add a reset timer to those traps). only the server needs that, clients can just use the original bsp.
    Some Game Thing

    Comment


    • #3
      You'd need to find someone who knows their stuff in QuakeC.

      Or you could do it yourself, but you'll need to do a lot of text searches to find all the evil voodoo in that mod that does fun stuff. RocketGuy did a lot of cool tricks, but that means lots of hardcoded per map stuff. There is also hardcoded per map stuff to make good but slightly uncoopable maps into a coopable map in a very handwritten and case-by-case entity-by-entity basis.

      It also manually adds spawnpoints to maps on a map-by-map basis to support at least 6 players.

      Short version: Can it be done? Of course. You'll have to be determined like badger to do it though --- it will be tedious and hard and probably requires someone of at least intermediate level of QuakeC and knows their coop and knows how to use "showpos" or "viewpos" in their engine. RocketGuy was a bad ass.

      Originally posted by Spike View Post
      but yeah, worst case is that you need to make an .ent file to add whatever ents are needed (or add a reset timer to those traps). only the server needs that, clients can just use the original bsp.
      The custom engine that is required to run RQuake didn't (and doesn't) have .ent support. It is done in the QuakeC itself, however RocketGuy did that. There's some onerous stuff in the code.

      You can't use just any engine with RQuake, it needs single player entities to appear in deathmatch -- which must be coded into the engine otherwise the standard Quake engine will strip those.
      Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

      So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

      Comment


      • #4
        Thanks for taking to the time to come back to me guys. It is as I feared but that said it's food for thought and as always it is very much appreciated,

        Kind regards

        Monty
        Mr.Burns
        "Helping to keep this community friendly, helpful, and clean of spammers since 2006"
        WWW: Quake Terminus , QuakeVoid You Tube: QuakeVoid
        Servers: Quake.shmack.net, damage.servequake.com

        News: JCR's excellent ctsj_jcr map is being ported to OOT

        Comment


        • #5
          Originally posted by Baker View Post
          The custom engine that is required to run RQuake didn't (and doesn't) have .ent support. It is done in the QuakeC itself, however RocketGuy did that. There's some onerous stuff in the code.

          You can't use just any engine with RQuake, it needs single player entities to appear in deathmatch -- which must be coded into the engine otherwise the standard Quake engine will strip those.
          Can be done in Darkplaces with .ent files. This process will be tedious as noted:

          Code:
          !(this bit list) : Entity appears in all game modes.
          256 : Entity doesnt appear in Easy mode.
          512 : Entity doesnt appear in Medium mode.
          1024 : Entity doesnt appear in Hard mode.
          1024 : Entity doesnt appear in Nightmare mode.
          2048 : Entity doesnt appear in Deathmatch mode.
          1792 : Entity __only__ appears in Deathmatch mode.
          If you dont care for difficulty settings - just remove all spawnflags 256 - 2048, while leaving the rest - this is a mask off.
          Most additional spawnflags are < 256.

          In theory removing bit 2048 _should_ put everything in dm.
          This is going to very tedious because you will have to extract an ent file for every map and check every spawnflags entity.

          However, there will be doors, plats, func_walls and such. Which you do or dont want, depending on what they do and how the map is played in this version of coop.



          This next part is a bit more technical and involves a platform I'm currently developing.

          Originally posted by Baker View Post
          It also manually adds spawnpoints to maps on a map-by-map basis to support at least 6 players.
          So, I made this tech to "build" a big map out of small bsp chunks.
          I am calling it "maphack".

          This tech could easily add a few coop spawns to any map with an existing singleplayer or coop spawn.

          One issue I faced was making target->targetname sets unique.
          After I solved this issue I discovered it can load _every_single_ quake one map.

          Well, I needed a few tweaks. One was singleplayer respawn, which is the start point on each map.
          For that I needed a trigger and some extra qc. I added to my pre-spawn code (SV_OnEntityPreSpawnFunction darkplaces qc extension)
          modify and copy functions, run by autoexec.cfg script:

          Code:
          // play in coop as sp
          
          set		mh_sp_coop_hack			2			"make coop look like singleplayer - hack"
          set		mh_coop_nospf			1			"remove coop player - player spawnfrags"
          
          
          // converting quake map set into a contigous playable level, heh heh
          set 	__mh_trigger_changelevel				1		"mod trigger_changelevel"
          set 	__mh_trigger_changelevel_classname				"trigger_teleport"		""
          set 	__mh_trigger_changelevel_target				"<map"		""
          
          set 	__mh_info_player_start				1		"mod info_player_start"
          set 	__mh_info_player_start_targetname				"$MHN"		""
          
          set 	__mh_info_player_start2				1		"mod info_player_start"
          set 	__mh_info_player_start2_targetname				"ostart2"		""
          
          set 	__copy0_info_player_start				1		"copy of info_player_start"
          set 	__copy0_info_player_start_classname				"trigger_multiple"		""
          set 	__copy0_info_player_start_target				"s300_"		""
          set 	__copy0_info_player_start_wait				"5"		""
          
          // rest all have normal gravity
          
          set 	__copy1_info_player_start				1		"copy of info_player_start"
          set 	__copy1_info_player_start_classname				"trigger_setgravity"		""
          set 	__copy1_info_player_start_gravity				"101"		""
          
          // give e1m8 the lighter gravity
          
          set 	__e1m8_trigger_setgravity				1		"mod e1m8 trigger_setgravity"
          set 	__e1m8_trigger_setgravity_gravity				13.5		""
          
          // trigger for sp respawn on each map segment
          
          set 	__copy2_info_player_start				1		"copy of info_player_start coop - sp respawn"
          set 	__copy2_info_player_start_classname				"trigger_respawn"		""
          set 	__copy2_info_player_start_model				"progs/oldone.mdl"		""
          This fixes all the start issues - changing trigger_changelevel in to a teleport, setting up the respawn point (reason it runs under coop -
          you dont get the DM stuff, but you can still respawn and keep playing).

          This can copy or modify _any_ map entity. Including change spawnflags on the fly to allow dm stuff in singleplayer.

          While you could get out of creating a ton of .ent files and painstakingly going through and modifying the spawnflags, it wont be any easier.

          You will still have to understand (very deeply) how quake ents work and how to modify them with this new complex scripting language. That I am still inventing.

          Plus I have yet to release the maphack platform code.
          numbersix - Mod DB [_] Six Gaming

          Support free code and get credit! - Hint "Pledge 24" comes with extra releases.

          Comment


          • #6
            Q-one

            Forgot to include the qone link.

            If you want to see how this tech works.
            numbersix - Mod DB [_] Six Gaming

            Support free code and get credit! - Hint "Pledge 24" comes with extra releases.

            Comment


            • #7
              The data is already in the maps, the engine modification I was discussing with Spike is about 3 lines of code in the engine. Your solution is the way wrong tool for the job. You have a hammer, but that does not make everything a nail.

              You like QuakeC and seem to be very interested in it and I bet at some point you'll make something great.

              (If RQuake were ever to be revised, the code would be modified to allow the players to pass through each other using movetype_solidcorpse until they leave the spawn area, eliminating the need for manually adding spawnpoints.)
              Last edited by Baker; 09-21-2016, 09:46 PM.
              Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

              So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

              Comment


              • #8
                Originally posted by Baker View Post
                You have a hammer, but that does not make everything a nail.
                LOL

                I've been a stage carpenter - if I have a big hammer, lots of things tend to get broken.

                Once I get this code set I'm in right now cleaned up, I want to do some kind of new game with it. (I.E. not quake related.)

                I was thinking of a puzzle / shooter based on C64 / Atari Crossfire. This would likely be some type of puzzle solver / shooter.

                I am seeking fresh ideas...
                numbersix - Mod DB [_] Six Gaming

                Support free code and get credit! - Hint "Pledge 24" comes with extra releases.

                Comment


                • #9
                  Originally posted by numbersix View Post
                  I was thinking of a puzzle / shooter based on C64 / Atari Crossfire. This would likely be some type of puzzle solver / shooter.

                  I am seeking fresh ideas...
                  Have you played Explore Jam 1?
                  ♪ I'm skiiiiiiinnin' in the pain, just skiiiiiiinnin' in the pain ♪
                  ♪ What a glorious feelin' I'm haaaaaaappy again ♪

                  Comment


                  • #10
                    Originally posted by bfg666 View Post
                    Have you played Explore Jam 1?
                    I have not.
                    The map sure looks interesting.
                    I'll put it in my fifo stack of things to check out.
                    numbersix - Mod DB [_] Six Gaming

                    Support free code and get credit! - Hint "Pledge 24" comes with extra releases.

                    Comment


                    • #11
                      Sock always makes things interesting! You said you were looking for ideas, I figured it might give you some inspiration. Good luck with your project.
                      ♪ I'm skiiiiiiinnin' in the pain, just skiiiiiiinnin' in the pain ♪
                      ♪ What a glorious feelin' I'm haaaaaaappy again ♪

                      Comment


                      • #12
                        Hey Burnsie! A few years ago I started picking out and testing maps for a new Runecoop map pack. Of course I did all this without knowing anything about programming or how to implement it. Anyway, I think I still have the files somewhere if someone has an interest in doing this. We went through testing for things like traps that would break the map if people died.

                        Comment


                        • #13
                          Originally posted by spooker View Post
                          Hey Burnsie! A few years ago I started picking out and testing maps for a new Runecoop map pack. Of course I did all this without knowing anything about programming or how to implement it. Anyway, I think I still have the files somewhere if someone has an interest in doing this. We went through testing for things like traps that would break the map if people died.
                          If you get the chance, would be great to post that info here.

                          The RQuake took a lot of trial and error to discover maps that break in coop and then fix them to not break in coop.
                          Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

                          So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

                          Comment


                          • #14
                            Hi Spooks,
                            Long time no see
                            Unfortunately based on the well respected opinions I'm hearing in this thread, the RQuake solution sadly seems to be just that little bit out of my grasp due to the QuakeC modifications required and my very limited understanding of QuakeC. However, that aside I'm always a big fan of keeping quake revitalised with new, interesting and unusual maps so please feel free to point me in the right direction to access them. The server admins at NYC, Damage, Bigfoot and NEwDM are always keen to keep it fresh with new ideas and even if RQuake is not an option we could always investigate alternative ways to use good maps.

                            Just one thing, by "RuneQuake Coop" did you mean RQuake or some other mode of RuneQuake only Slot and the inner circle of fragmonsters are aware of ?



                            Kind regards (and thanks)

                            Monty
                            Last edited by Mr.Burns; 10-03-2016, 11:05 PM.
                            Mr.Burns
                            "Helping to keep this community friendly, helpful, and clean of spammers since 2006"
                            WWW: Quake Terminus , QuakeVoid You Tube: QuakeVoid
                            Servers: Quake.shmack.net, damage.servequake.com

                            News: JCR's excellent ctsj_jcr map is being ported to OOT

                            Comment


                            • #15
                              Alright, I'll see what I can unearth on my harddrive. My quake folder has accumulated a lot of detritus after 18 years. Might take me a little while.

                              Burnsie, there's only one runecoop mod that I know of, it's the one with the matrix-based map selection map where the tiles go up and down, and has the same runes as Slot's runequake.

                              Comment

                              Working...
                              X