No announcement yet.

Avarice, a DM-variant of Greed [BluePrint]

  • Filter
  • Time
  • Show
Clear All
new posts

    [PROTOTYPE] Avarice, a DM-variant of Greed [BluePrint]

    The following GameMode is in beta state, this means that it's feature-complete.
    Unintended behavior and glitches may still occur during play, but it should work as intended, most of the time.
    It has been heavilly optimized and has done away with most, if not all, the hacky/workaround methods.
    The code will still be always improved upon, and balance tweaks might happen from time to time, to ensure smooth gameplay.

    • The GameMode is played on DM/TDM Maps. Once launched, weapon bases will be replaced by neutral conduits.
    • Scoring is done by fragging other players, and by capturing skulls at any conduit.
    • When capturing skulls at a conduit, that conduit will temporarily lock and will not accept any further captures for 12 seconds.
    • Skulls have a lifetime of 60 seconds before they get automatically destroyed.
    • When players have picked up enemy skulls, skull-shaped particles will start orbiting around their player model. Players carrying many skulls can be easilly identified as high value targets.
    • When players get killed, they drop their skull and any other skulls that they might be carrying.
    • Players spawn with a designated health and armor amount.
    • Players start the round with all of the available arsenal that the map contains, redeemer excluded, at a designated ammo capacity. (for example, if the bio-rifle weapon pickup isn't available in the map, you won't get a bio-rifle)

    Game Customization/Variable Explanations:
    You can customize the GameMode (to a degree) to fit your needs, even without any blueprint knowledge.
    • StartingHealth (Integer, Default=100, Range 100-199): Controls how much health the players receive when they respawn.
    • StartingArmor (Integer, Default=6, Range 0-7): Controls what types of armor the players receive when they respawn.
      • 0 - No armor (0)
      • 1 - Small Armor (20)
      • 2 - Thighpads (50)
      • 3 - Thighpads + Small Armor (70)
      • 4 - Chest (100)
      • 5 - Chest + Small Armor (120)
      • 6 - Chest + Thighpads (150)
      • 7 - Chest + Thighpads + Small Armor (170)
    • StartingAmmo (Integer, Default=50, Range 20-100): Controls how much ammo (in percentage) the players receive when they respawn.

    To override any of the GameMode's variables listed above, all you have to do is append the corresponding variable name, along with the desired value, into the GameOptions string.
    Here is an example: ?GoalScore=10?TimeLimit=20?StartingHealth=150?StartingAmmo=75
    Do note that any variables that have been set incorrectly (e.g. letters where you are supposed to enter a number), set out of their allowed range, or haven't be set at all; will be assigned to their default values. The algorythm has been designed to be case insensitive, so it doesn't matter which capitalization you use.

    Known Issues:
    • If the HUD is turned off via the "showhud" command, the UMG overlay will not be hidden. (Relevant discussion can be found here)
    • The skull-shaped particles are not displaying for players that have picked up enemy skulls. (Probably one of the recent builds must've broken the particle-system replication)

    Reporting Issues:
    To report any issues/bugs that you've found with the GameMode, post in this thread, after making sure of the following:
    • You are running the latest version of Unreal Tournament and the latest version of Avarice.
    • You do not have any previous versions of Avarice in your "\Documents\UnrealTournament\Saved\Paks\DownloadedPaks" folder. (As it can cause conflicts when installing newer versions of the GameMode)
    • You are not playing the GameMode with bots. (Bots are not supported. Their behavior cannot be controlled through blueprints and no logic has been coded for them yet, as a result, they will yield undesirable behavior)
    • You have to be able to reproduce the issue in a consistent manner, and also provide a detailed explanation on how you did it. (Please also include your GameOptions string, your mutators/configuration, and any logs that you might have)
    • You have read carefully the existing issues, on the first post, and the one you faced is not already listed in it.

    • Q: Help! I do not understand how to play.
      A: If you have questions on the gameplay mechanics, take a look at the "Objective/Rules" section of this post. A tutorial video which explains how to play, will come at some point.
    • Q: Can I play this with Instagib?
      A: Yes, Instagib is fully supported. All you have to do is include it in the mutator list.

    Roadmap for Upcoming Features and Optimizations:
    • Include primitive bot support, so bots can at least pickup and capture skulls. (The more skulls carried, the more the urgency to do so)

    vlad.serbanescu11: Being involved in tight collaboration with me, providing me with crucial fixes (in the earlier versions), latest advancements, and debugging assistance needed for this project.
    frez: Providing the art for the GameMode badge that's used by the HUB UI.
    Zaccubus: Showcasing the GameMode during the 03/23/2016 UTea Forecast steam.

    Download and Cooking Instructions:
    You can grab the latest available blueprints/source from here.
    The archive also includes a test map, which I was using, to quickly test the game's logic.

    To cook it: Extract the above archive into your "\UnrealTournamentEditor\UnrealTournament\Content" folder. From there on out, you can:
    1. Open any of your maps and select "Avarice" as your GameMode Override setting (located in World Settings), then proceed by hitting Share > Share This Level. This will bundle Avarice inside your Map Package, and can be found under your "\Documents\UnrealTournament\Saved\Paks\MyContent" folder, once cooking completes.
    2. Open up a terminal, and then navigate to your "\UnrealTournamentEditor\Engine\Build\BatchFiles" folder, then issue the following command:
      RunUAT.bat makeUTDLC -DLCName=Avarice -platform=Win64 -version=3525360
      This will produce a package, which will contain only the GameMode, and can be found under your "\UnrealTournamentEditor\UnrealTournament\Saved\StagedBuilds\Avarice\WindowsNoEditor\UnrealTournament\Content\Paks" folder, once cooking completes.
      WARNING: Do note that if you go with this method, you will have to modify the -version argument to correspond to the network version of the currently available build.
      The paths and the commands might also differ, depending on your OS configuration and setup.

    A cooked version of the GameMode along with it's MD5 checksum, for those who can't or don't want to cook it, can be found here.

    Installation Instructions:
    • For single player usage:
      Place the cooked package under your "\Documents\UnrealTournament\Saved\Paks" folder, and then launch or restart your game. From there on out, you can:
      1. Start any DM/TDM map from the game, with Avarice as the selected GameMode. (This is faster, but will use the default GameMode configuration)
      2. Bring up your console and execute an open command.
        Here's an example (you can also squeeze in any of the GameMode customization variables here):
        open DM-DeckTest?Game=/Game/Avarice/Avarice.Avarice_C?GoalScore=60?TimeLimit=20?MinPlayers=2?MaxPlayers=8?BotFill=8
    • For dedicated servers:
      Place the cooked package under your "\UnrealTournament\Content\Paks" dedicated server folder, and then edit your server execution line/script accordingly.
      Here's an example (your binary may differ, based on your server configuration and setup):
      UE4Server-Linux-Test UnrealTournament DM-DeckTest?Game=/Game/Avarice/Avarice.Avarice_C?GoalScore=60?TimeLimit=20?MinPlayers=2?MaxPlayers=8?BotFill=0
      WARNING: Do note that the ability of the dedicated servers to transmit packages that do not contain maps, is unknown at this point of time. Therefore it's safe to say, that if you want to avoid any complications, the players which wish to join your server will need to have the package installed prior.
    • For hub servers:
      Place the cooked package under your "\UnrealTournament\Content\Paks" hub server folder, and then edit the corresponding files accordingly:

      Add the following lines in your Rules.json
      	"uniqueTag": "Avarice",
      	"categories": [ "DeathMatch" ],
      	"title": "Avarice",
      	"tooltip": "A DM variant of Greed.",
      	"description": "GameMode created by FrostbyteGR.\n<UT.Hub.RulesText_Small>Report any issues on the forums!</>\n\n<UT.Hub.RulesText_Small>TimeLimit : %TimeLimit% Minutes</>\n<UT.Hub.RulesText_Small>GoalScore : %GoalScore% Skulls</>\n<UT.Hub.RulesText_Small>Maximum players : %MaxPlayers%</>",
      	"displayTexture": "Texture2D'/Game/Avarice/GB_AV.GB_AV'",
      	"gameMode": "/Game/Avarice/Avarice.Avarice_C",
      	"requiredPackages": [ "Avarice-WindowsNoEditor" ],
      	"gameOptions": "?TimeLimit=20?GoalScore=30?MustBeReady=1",
      	"minPlayers": 2,
      	"maxPlayers": 10,
      	"bTeamGame": false,
      	"bCompetitiveMatch": false,
      	"mapPrefixes": [ "DM" ],
      	"maxMapsInList": 0,
      	"defaultMap:" "/Game/RestrictedAssets/Maps/WIP/DM-DeckTest",
      	"customMapList": [
      	"optionFlags": 65535,
      	"bHideFromUI": false
      Add the following lines in your Game.ini
      	RedirectReferences=(PackageName="Avarice-WindowsNoEditor", PackageURLProtocol="<URL_PROTOCOL>", PackageURL="<HTTP_PATH_TO_AVARICE_PACKAGE>", PackageChecksum="<AVARICE_PACKAGE_CHECKSUM>")
      NOTE: For proper redirecting/auto-download of the GameMode package from the hub to the clients, you need to:
      1. Replace <URL_PROTOCOL> with the value that your fileserver uses, https or http.
      2. Replace <HTTP_PATH_TO_AVARICE_PACKAGE> with the url that the Avarice.pak will be downloaded from.
      3. Replace <AVARICE_PACKAGE_CHECKSUM> with the MD5 provided above, or generate your own MD5 checksum if you did the cooking yourself.

      NOTE: You can also use the "-run=UTGenerateRedirect" commandlet, to automatically generate the redirect references for you.
      NOTE: For further customization of the rulesets and hub configuration in general, please review this thread which was kindly provided by RZE and JoeWilcox.

    Version History/Information:
    10/28/2015: Initial version.
    10/29/2015: Hotfix 1.0.1 Changelog.
    10/31/2015: Version 1.2 Changelog.
    03/08/2016: Version 1.3 Changelog.
    06/02/2016: Version 1.4 Changelog.
    03/11/2017: Version 1.5 Changelog.
    07/22/2017: Version 1.6 Changelog.
    07/23/2017: Hotfix 1.6.1 Changelog.

    Any sort of footage, testing, suggestions, feedback are more than welcome!
    Last edited by FrostbyteGR; 07-23-2017, 08:02 AM.
    > FreezeTag [Blueprint]
    > Reimagining of Greed [BluePrint]
    > Avarice, a DM-variant of Greed [BluePrint]

    A DeathMatch version also? I am just ecstatic! Will test tomorrow. Thank you!
    Running the Mega Hub for everyone to enjoy!


      I am having a problem with the server not pushing the next map. It actually kicks me out of the hub. When I rejoin the Match is still active. I did a check on the checksum. My WinMD5 is showing "85e74aaef3952f80f117d9244ae43655" instead of the MD5 Checksum: "205B8490276000038A97ECAF7A67F33F" you posted...can you confirm??
      Running the Mega Hub for everyone to enjoy!


        Hotfix 1.1 Changelog:
        • Fixed incorrect scale of dropped skulls.
        • Fixed incorrect collision profile of the skull mesh.

        @Megasporwic: Can you try with the updated *.pak?
        I use to grab the MD5 information for my packages. And so far they all work alright.
        Last edited by FrostbyteGR; 10-29-2015, 07:02 PM.
        > FreezeTag [Blueprint]
        > Reimagining of Greed [BluePrint]
        > Avarice, a DM-variant of Greed [BluePrint]


          I just used the CheckSum that I just posted and tested and it fixed the problem! Level changes with no problem now! However I am getting a major screen glitch upon picking up skulls. The screen jump on every pick up! Also on DM Deck it caused the elevator to get stuck ...some kind of encroach problem. I did recheck with the onlinemd5 and 205B8490276000038A97ECAF7A67F33F is correct for that first version. I will try the hotfix next.
          Last edited by Megasporwic; 10-29-2015, 05:57 PM.
          Running the Mega Hub for everyone to enjoy!


            Originally posted by Megasporwic View Post
            I just used the CheckSum that I just posted and tested and it fixed the problem! Level changes with no problem now! However I am getting a major screen glitch upon picking up skulls. The screen jump on every pick up! Also on DM Deck it caused the elevator to get stuck ...some kind of encroach problem.
            That's really weird, as the checksums from work fine for me.
            We've just tested a few maps with a friend, on my HUB, and I wasn't able to reproduce your issue. Nobody got kicked out during the map change.

            For the "screen jump" issue, I would suggest clearing any previous versions from your "DownloadedPaks" folder, as those might conflict when you download a newer version of the package.
            I've made a note of this in the first post, as it appears that it might have slipped my mind, when I was writing it.

            Yes, skulls will block the elevator's path, because skulls act as pickups. If you remove them from bellow, then it will allow the elevator to go down all the way again.
            Last edited by FrostbyteGR; 10-29-2015, 07:20 PM.
            > FreezeTag [Blueprint]
            > Reimagining of Greed [BluePrint]
            > Avarice, a DM-variant of Greed [BluePrint]


              New Version v1.2 Changelog:
              • Fixed players receiving 100 health, instead of the super health max amount (199).
              > FreezeTag [Blueprint]
              > Reimagining of Greed [BluePrint]
              > Avarice, a DM-variant of Greed [BluePrint]


                Wow, this is a really good gamemode. Very nice and clean concept, and very smooth execution in this early stage already.

                I have a suggestion that I think would make it even better: make a cooldown on the conduits.

                Right now it plays just like Deathmatch with a slight twist. You make some kills, maybe steal some skulls, score, repeat. Get a skull near a weaponbase (no that unlikely), score 1 point, continue. Now when there is a cooldown on the conduits, it will make you think twice before scoring. Will I score my 10 skulls now and make the conduits unavailable for me for X seconds (I'd say 90 seconds, but that is fully open to debate), or will I try to get the UDamage first, collect some more and make it 20 skulls? This will add a lot of tension and need for strategy.

                So just to be clear, as soon as you score, the conduits will change for you personaly and you will not be able to score. If you collect skulls, die, and another player that pickups your loot wasn't on his/her cooldown, he/she will be able to cash in the skulls.

                I'm serious, I'm very excited about this concept! Again, fantastic work, I love it
                Last edited by Basalt; 11-02-2015, 03:32 PM.


                  I can introduce such a cooldown on the player blueprint, with the simple usage of a flag and a timer. I will give it some thought, as you make an interesting point here.

                  Glad you're enjoying it!
                  > FreezeTag [Blueprint]
                  > Reimagining of Greed [BluePrint]
                  > Avarice, a DM-variant of Greed [BluePrint]


                    Avarice Is a Game type for UT4 that was created by FrostbyteGR!
                    The game play is similar to greed where you collect skulls of the enemy players and return them to any weapon base except the Redeemer base! This game type is played on any DeathMatch map!
                    Last edited by Megasporwic; 11-04-2015, 05:47 PM.
                    Running the Mega Hub for everyone to enjoy!


                      This is awesome! Bump so epic staff might see! <3
                      "Hey babe, are you set to godlike?"
                      "No, why."
                      "Cause your more attractive than a bot using the Link Gun's secondary"


                        Looks cool, but I really hope you plan on making the "conduit" more obvious. I suggest a larger base mesh, with a big arrow in that green color used for the skulls pointing down. Otherwise players online probably won't really understand what to do.

                        UT4 modding discussion: #UTModders
                        Contrib Digest | UT2341 - Henrik's UT4 Dev Blog | Twitter


                          Originally posted by Megasporwic View Post
                          My GameMode is Avarice, not Avarice-XR, that post is going to confuse alot of people. What's showcased in this video is NOT my GameMode, but a modification of it. And you need to be more clear about it.
                          I appreciate the fact that the source code is being used for study purposes, and that people have fun experimenting with it.
                          But, having a singular conduit where the redeemer used to be, is not reliable. Many maps won't even feature super-weapons, DM-ASDF and DM-Chill, are but a few examples.
                          As far as custom movement options, I think Epic spoke for themselves in which direction they want it. Maps are neither designed, nor are suitable, for double jump. (or any other sort of extended movement, I'm afraid)

                          Also, please keep projects or variants like these, in their own thread. People that see that video, will think that this is actual Avarice.
                          And while it's still close to the original, it's not the same. People are already getting the wrong idea.
                          Any videos posted on this thread, should be about Avarice, not variants of it.

                          Originally posted by GGaben View Post
                          This is awesome! Bump so epic staff might see! <3
                          I'm pretty sure they have noticed it already.

                          Originally posted by HenrikRyosa View Post
                          Looks cool, but I really hope you plan on making the "conduit" more obvious. I suggest a larger base mesh, with a big arrow in that green color used for the skulls pointing down. Otherwise players online probably won't really understand what to do.
                          Meshes, Sounds, Visual FX and Materials are WIP. If I find something better and more suitable, for anything in those categories, I will update it. I might also investigate putting flashing text like in CTF when you get a flag. I do want to make it more obvious.
                          The reason I went with such a small base mesh, is that I wanted the base to have the exact "footprint/diameter" as a weaponbase has. Reason is, that people might put ammunition next to the weapon bases, and I don't want it getting overlapped.

                          I'm glad you like it guys!
                          Last edited by FrostbyteGR; 11-04-2015, 06:20 PM.
                          > FreezeTag [Blueprint]
                          > Reimagining of Greed [BluePrint]
                          > Avarice, a DM-variant of Greed [BluePrint]



                            This looks like a lot of fun. I'll mention it to the rest of the team and see if they would be able to playtest it sometime in the near future.


                            This looks fun as well, but I think it would be beneficial to start a new thread if you plan on continuing to iterate on Frostbyte's version. This will make it easier for everyone to provide feedback on both versions without it getting all jumbled and confusing in the same thread.

                            Thanks guys, I am looking forward to trying these out


                              As far as mechanics go, personally I would prefer UT3-greed like mechanics, for example:

                              - You start with 100 HP
                              - After certain amount of skulls, you recieve a certain amount armor upgrade / powerup
                              - Tigh pads could be recieved after 5 skulls
                              - Armor Vest with 10 skulls
                              - Belt with 15 skulls
                              (see the relevance? 5 skulls 50 armor, 10 skulls 100 armor, 15 skulls and 150 armor )
                              - Amp with 25 skulls (the countdown timer still applies)
                              - Berserk with 35 skulls (the countdown timer still applies)


                              Because: the more skulls you carry, the greater target you get. People will start working together to take that guy out. The gain armor / powerup as you get skulls balances this out a little bit and further promotes teamwork even if it's DM to get out that high count skull carrier which puts an interest twist on DM (a bit "Betrayal"-like).

                              It's also more fun to collect skulls this way and makes it feeling more "dynamic".

                              I think the "Greed" mode in this UT could be a dynamic version that could be span both over DM/TDM/CTF and vCTF maps and it slightly alters it depending if it's DM/TDM or CTF/VCTF map picked but yea the basic rules of Greed could be quite the same. I think this is really something worth pondering about. It's too much the same to be added as separate modes, instead it should be seen as one gamemode, just the map type slightly alters the mechanic to either play as the classic greed or this slightly twisted greed mode.
                              Last edited by RPGWiZ4RD; 11-04-2015, 03:03 PM.