Announcement

Collapse
No announcement yet.

Help! Monster-master Quake development!

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

  • Help! Monster-master Quake development!

    Okay, so I'm digging into Quake C with this idea:

    What would Coop quake be like... if the monsters were all placed, directed, and managed by a living human being in real time.

    Mods that let players 'summon' monsters don't seem difficult on their most basic level... but what I have in mind is a bit more complicated.

    Basic functionality:
    -Choices between a DM player and a normal quake marine (class system, not too hard, but I'd like to have it so not everyone could play a DM on the same server)

    -"Encounter point" system, basically the fuel for the DM's fire. I'd like to see it calculated and given to the DM at the start of each level like so:
    0 + X + Y + Z + P
    X being the collective total of all the monsters that would have spawned normally in the game, but did not since there was a DM player active
    Y being the number of players, likely adding a 0.5x or 1x multiplier for each additional player active
    Z being the difficulty setting, at a multiplier similar to the number of players.
    P being the number of players the DM has killed so far - floats between levels :3
    For game balance, the DM has only so much, so he's not spamming shamblers and shit

    -Each monster worth a certain number of encounter points
    Grunts and dogs - 2 pts each
    Knights, Tarbabies - 3 pts each
    Scrags, Enforcers - 4 pts each
    Hellknights, Fiends - 6 pts each
    Shamblers, Vore - 8 pts each

    -the DM is not visible in the game world, - like an observer, and has no 'attacks' to use on players. The monsters by default do not follow him around

    DM Abilities:
    Possess monster: should be self explanatory. I'd like to see the DM able to possess the monsters he's summoned. The exact physics of posessing the monster seem difficult to manage, though...

    Stay monster: The monster sits tight, but will attack any foe he sees normally

    Calm monster: The monster stops fighting, and wont fight again until told, on a toggle

    Direct monster: I've seen, on some mods, a bubble that could be illuminated and was, in essence, a laser sight - it would follow your view-angle. I'm wondering how I could create a "Follow the bubble" command for monsters in the DM's range of sight - or so they would automatically do so if within a given radius - so they would chase the bubble wherever you directed it, holding position at its last known location.

    Drag\drop monster: Lets the DM reposition monsters. While being 'dragged' they are inert, and when they drop, they um, become active again :3 This could use a tractor beam code, couldn't it?

    Command bubble: Taking direct monster a step further, would it not be sweet to be able to direct monsters by hovering that bubble over them and issuing the commands, and any monster within a certain radius of the bubble would obey? Would make monster-commanding on the fly SO much easier.

    Sit still: Makes the monster stationary, but they'll still attack foes and look in their direction (or in the direction of a command bubble, for example). Would also make placements of ranged-combat monsters um... well, more effective.

    Chill: Makes a monster attacking allies knock it off.

    Run: Makes a monster flee from players.

    Report: hovering over monsters with the bubble gives a report of the monster (or player) remaining health

    Any help would be vastly appreciated - this may take a while, but I think it could add a lot of spice to co-op games!
    Last edited by SpectrumVixen; 11-06-2008, 02:19 PM.

  • #2
    More complicated QuakeC topics have a better chance of getting good answers at the Inside3d.com forums where there are a lot more people with QuakeC knowledge, especially in regards to single player.
    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


    • #3
      I'd certainly be in to this sort of project, something that's crossed my mind from time to time since I first played dungeon keeper. Another tangent to that thought was the idea of creating an AI overmind to strategically control the monsters.

      Having a possess command would also be really cool.
      Qoetia B4 == 1.93Mb

      Expo Booth '08
      !AXATAXA! == 355.24 Kb Want to take on Quake with only your axe?
      Hunting shamblers since 1996.

      Comment


      • #4
        handling powers:

        Right now, I'm just writing the code itself, making the bells and whistles work, you know? So here's my vision on the playability of the DM and how it works in my head.

        The command bubble is, by default, invisible, but it can be made to appear, glow, and glow while invisible as well. It follows the player's view like a lasersight.

        Hovering the CB on a creature displays its health and current target (if its a monster)

        using the attack key without a specific command selected makes all monsters under the DM's control within line of sight light up. If I can figure out how, this would be so only the DM can see this - it's supposed to make it so you can find your monsters easily, even in dark places.

        Commands are handled a bit like weapons, and have two modes - directed, radius, and commanded (targeted, in a radius around the bubble, and in-general-line-of-sight, respectively) Definately, though, I'll set it up so you can access each version by impulse.

        Also, the DM should be able to set up *how big* the CB's area of selection is.

        Illuminate is weapon 1

        Chase-the-bubble is weapon 2 (as in, the held-down primary fire makes the monsters affected chase it. Perhaps with an alt-fire, I could set up a waypoint system by placing markers for the monster to follow. Shouldnt be too hard, right?)

        stop - as in, "just chill here a sec and kill the first sumbitch that walks past here that isnt one of us" is weapon 3

        Chill - Turns monsters passive, because nothing fucks up an encounter like a hyperactive fiend that decides it'd be funny to pounce the rocket-man and excite his lil buddies mid-setup. Its weapon 4

        Hold still! - Don't move, but by all means, attack anything you can from there. Great for lines of cheap minions that like to shoot things. This is weapon 5.

        Attack this - weapon 6 - orders all monsters able to respond to attack this spot. If its a creature selected, they'll become aware of it instantly and count it as foe. Weapon 6. point fire makes them accurate - they'll all aim for this spot once (and target anything they find). Area-select makes them bombard the CB's area. Issued command makes them attack - EVERYTHING - in that general direction. Monsters attack a lot faster when ordered directly.

        GIT! - The monster makes for the level's exit or beginning. If it reaches either, it ceases to exist and returns its points to the DM. If an enemy creature is targeted though, monsters will avoid it. Weapon 7

        Comment


        • #5
          Senban, you're assembling a mod on your own, aren't you? I'm mostly wondering - what should I do to make this code the cleanest, most repeatable possible. One of my methods-of-operation is that I want this to be repeatable, since I want this stuff to be used in other mods, not just be gimmicky. As much help as I can have would be wonderful.

          That said, any ideas on how I can streamline this, anyone?

          Comment


          • #6
            void() Make_Comments; // metch add comment

            Comment


            • #7
              I had an idea something like this (well monsters controlled by players) which kinda went like this:

              Two teams starting at opposite ends of the map. Humans at START, and Monsters (player chooses which one) begin at the END. The basic idea is for the Humans to make it to the END! But, if you are killed by a MONSTER, you become one of THOSE monsters and your job is to kill the remaining HUMANS
              Monsters win the "round" if they a.> kill all humans or b.> make it to the Start.
              Same as for humans... but obviously in reverse

              The player controlling the monster sees the world thru it's eyes and can only use attacks originally included in the original Quake game. There could be weapons scattered throughout the map for the humans like normal Quake. This would almost feel like COOP mode except players can choose to be on the monsters or the human side
              Last edited by R00k; 11-11-2008, 09:52 PM.
              www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

              Comment


              • #8
                Originally posted by SpectrumVixen View Post
                Senban, you're assembling a mod on your own, aren't you? I'm mostly wondering - what should I do to make this code the cleanest, most repeatable possible. One of my methods-of-operation is that I want this to be repeatable, since I want this stuff to be used in other mods, not just be gimmicky. As much help as I can have would be wonderful.

                That said, any ideas on how I can streamline this, anyone?
                My code is covered in comments like: //SUPERCOOP: AP NAILS
                (SuperCoop being a working name for the project). Almost (but not quite all) my changes are noted in this way with sub projects and grafts of other peoples code given different names. Along side this I never delete the original code I just comment it out to show exactly where bit's go. One thing which would be useful with hind sight, particularly if you want to make the code user friendly to others would be a directory.txt of all the sub projects which lists which .qc files to search the exact line to search for and a description of what the code does.
                As far as documentation goes it's so much easier to write about coding than it is to write code (even when thing's go really well you still have to compile and test) that you might as well, and when you come back to it a month later thinking "HTF did I do that?" you'll be glad.

                Originally posted by R00k View Post
                I had an idea something like this (well monsters controlled by players) which kinda went like this:

                Two teams starting at opposite ends of the map. Humans at START, and Monsters (player chooses which one) begin at the END. The basic idea is for the Humans to make it to the END! But, if you are killed by a MONSTER, you become one of THOSE monsters and your job is to kill the remaining HUMANS
                Monsters win the "round" if they a.> kill all humans or b.> make it to the Start.
                Same as for humans... but obviously in reverse

                The player controlling the monster sees the world thru it's eyes and can only use attacks originally included in the original Quake game. There could be weapons scattered throughout the map for the humans like normal Quake. This would almost feel like COOP mode except players can choose to be on the monsters or the human side
                If I could get advice/tutorial/code examples for doing more interesting things with spawn points this might be a direction I'd open up in Qoetia, my own thinking was team vs team coop where you have two teams of players with a base full of monsters between them meat-grind their way to a final show down in the middle, but having done that I could add in code from mon_dm09 and Team Fortress and we'd be in business for some gloriously asymmetric warfare.
                Qoetia B4 == 1.93Mb

                Expo Booth '08
                !AXATAXA! == 355.24 Kb Want to take on Quake with only your axe?
                Hunting shamblers since 1996.

                Comment


                • #9
                  Start small, by trying to set up spawnpoints for 1 type of monster. Once you get that confidently accomplished, add more, or create your own "info_monster_spawnpoint" to your maps... The thing about coding any mod, is that it's not about how fast you can slap it together. But taking the required steps to make it functionally fun! www.inside3d.com has a great deal of QuakeC code examples.
                  www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                  Comment


                  • #10
                    Adding spawn points to maps is the easiest way to do it code wise but means players need to download a bunch of new maps. I'm sure that changing the code to generate spawn points inside a exit door or around a slip gate could also be made to work, there are various potential problems with this, which might make coding it quite hard although if I can identify a common area to all the standard maps which four players can fit inside that's a start.
                    Qoetia B4 == 1.93Mb

                    Expo Booth '08
                    !AXATAXA! == 355.24 Kb Want to take on Quake with only your axe?
                    Hunting shamblers since 1996.

                    Comment


                    • #11
                      “He who fights with monsters might take care lest he thereby become a monster. And if you gaze for long into an abyss, the abyss gazes also into you.”
                      Qoetia B4 == 1.93Mb

                      Expo Booth '08
                      !AXATAXA! == 355.24 Kb Want to take on Quake with only your axe?
                      Hunting shamblers since 1996.

                      Comment


                      • #12
                        Only the server map needs the new spawnpoints. They also could be coded in quakec.

                        Comment


                        • #13
                          Originally posted by Zop View Post
                          Only the server map needs the new spawnpoints.
                          That's pretty cool. Can this be done with all items?
                          Qoetia B4 == 1.93Mb

                          Expo Booth '08
                          !AXATAXA! == 355.24 Kb Want to take on Quake with only your axe?
                          Hunting shamblers since 1996.

                          Comment


                          • #14
                            i think it can, i believe peg told me as long as you don't add any brush models, and you just edit some file [i think it was ".ent" file, but i think that's wrong] that you can have it on there server and it should work [o something]

                            Comment


                            • #15
                              Something like your idea has been done, Rook. I know, because I wanted to do it too. I'll have to find my old post on the FvF forums.

                              Comment

                              Working...
                              X