Announcement

Collapse
No announcement yet.

Random Blueprint rants

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

    #31
    Off topic (wall-of-text)
     
    Spoiler
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

    Comment


      #32
      cool post. very enlightening. I will start digging around and learn how i learned from UE4

      Comment


        #33
        Rant #28
        Undo/redo is applied globally and does not work per-class, per-window/tab or per-workspace
        When working on a multi-class project and you change code parts of one class and other ones, but you decide you want to undo changes from a specific class, you can't. Undo (even if has it's own menu item in each single window/tab) does un-do the work on every tab/window. It also doesn't give a hint about un-doing stuff from another window/tab respectively changes you made in a different workspace.
        ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
        ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

        Comment


          #34
          Rant #29
          BP Delegates (dispatchers) cannot contain a return type. By-ref parameters do not work well (for instance when using an Event as bound function).


          Rant #30
          Serialized BP structures' keys are not properly named. They contain a hash suffix.
          This behavior is different to C++ UE4 structures. When saving an BP enum, a config entry would look like this
          Code:
          MyConfigProperty=(Name_3_3B984C712198F4EA129E053480F6A928="Some Text",AnotherProp_6_CB62098148F86C9B69F7F29C1E513F55=True)

          Rant #31
          Serialized BP enums' values are not properly named, instead the internal indexed name is used.
          This behavior is different to C++ UE4 enums. When having an BP enum with some enumerations like {None,DoSomething,DeleteMe} and using that enum for a config property (assigned to "DoSomething"), the enum (at least in a structure) is stored as:
          Code:
          MyEnumProperty=NewEnumerator1

          Rant #32
          Due to BP enums using indexed names internally, reordering enumarations can change code using these enums.
          When reordering enums in an BP enum, all loaded known classes using that enum will change their code, however if you have a non loaded class or ignore the changes mode to other assets automatically, all nodes using that previous enum change to the new enum at a given index when opening the asset. When having an BP enum like {None,DoSomething,DeleteMe} and using that enum in code for instance with a compare node "EnumEquality(*INTPUT*, DoSomething)" with "DoSomething" selected from the dropdown (on Equal or literal enum), that enum will change the value when re-ordering the enum to {DoSomething,DeleteMe,None}. It would then compare the input value to "DeleteMe": EnumEquality(*INTPUT*, DeleteMe).

          I could not property re-create that issue but it happened on my end.
          ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
          ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

          Comment


            #35
            Rant #33
            Clearing (array) config property and compiling asset will restore/revert stored config properties
            ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
            ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

            Comment


              #36
              Rant #34
              Running PIE in immersive mode and having break points in Blueprint ends in a non-reactive editor (unless aborting PIE with Escape)
              When having an active break point for debugging a Blueprint, and switching to immersive mode (F11) before or during a PIE session and any break point is hit, the game stops and doesn't react on input (neither on F11 for exiting immersive mode). Unless you close the PIE session with Escape, you are stuck on that point.
              ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
              ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

              Comment


                #37
                Rant #35
                Unable sort a string array (or get the order of two strings)
                Blueprint doesn't have nodes for > and < (respectively >= and <=) for strings in order to check the order of two strings, to be able to sort strings.

                There is a workaround for that (lol !) by using a combination of GetCharacterArrayFromString, GetCharacterAsNumber and a iteration with ForLoop (and ofc a lot of short circuits).
                ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
                ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

                Comment


                  #38
                  Rant #36
                  Map.Values doesn't represent the actual unique entries
                  Although likely a bug, but having a map structure with unique names and their values (which are also unique), the getter node "Values" doesn't have all entries included. "Keys" does. By iterating or checking via "Length", you can see a mismatch in the values (for instance with 3 mapped entires, the values' length was only 2). There is no actual "getter by index" of such index which would access an underlaying values array in order to retrieve the value. You can only retrieve the proper values by using the "Keys" array in addition to "Find" (by key) to access the item.
                  ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
                  ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

                  Comment


                    #39
                    Dude, I think this definitely belongs in the UE4 forums. Not here.
                    And still I wait...

                    Comment


                      #40
                      https://www.epicgames.com/unrealtour...l=1#post268349
                      ... and several others.
                      ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
                      ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

                      Comment


                        #41
                        Rant #37
                        Mutator::OverridePickupyQuery or Mutator::ModifyInventory is not consistently called
                        Due to some syncing issues (that' what the source code is talking about), the event of OverridePickupyQuery or ModifyInventory is not called when a player picks up a weapon with the weapon-stay property set. The property will cause each respawning will be calculated per player. This will result in not being able to properly receive the events when somebody picks up an weapon. That's what I've been talking about on various cases from day 0. It is frustating how the current framework (and Blueprint) limits the modding capability in such manner creating toolsets is stressful or simply impossible.

                        Rant #38 (sligthly related ot #37))
                        UTPickupWeapon::NextPickupTime is BlueprintReadOnly for runtime code
                        NextPickupTime is the time used for the next spawning event when weapon-stay is set. This is not accessible for runtime code and thus not adjustable for mutators not replacing pickup weapon bases etc. On previous enging version, such restriction could actually be hacked but the compiler nowadays prevents the code from compiling poperly and this is it impossible to change the value (from external code on runtime).

                        Code:
                        /** Next pickup time with weapon stay */
                            UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Weapon)
                        float NextPickupTime;

                        PS: I was just in the mood of creating/porting my PickupRespawnTweak mutator for UT4 (based on the framework I created with ForcePickupSpawn) but sadly all these issues while creating it and the amount of re-coding I had to do due to the Blueprint IDE, I simply give up. There's no proper way of adjusting the respawn time for weapons with weapon-stay on. By seeing what Epic did with Paragorn, I think UT4 won't ever be as supportive as the previous games in relevance to modding.
                        ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
                        ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

                        Comment


                          #42
                          and snake's not the only one who need to do things like alter pickup time. in my mod too we needed to alter the pickup time because we have an item which can accelerate pickup spawns in-game. we did it in c++ but fact that BP people can't do the same doesn't feel right to me. I know there are reasons for having BlueprintReadOnly, but it's mere existence sets up a wall between BP and C which create issues like this. I'm sure it's a hott debate, security probably being one of the problems raised with BP, but would love to see BP more flexible.
                          Last edited by warhead328; 01-30-2018, 04:28 PM.
                          Bombing Run for UT3 Coder https://forums.epicgames.com/threads...ease-Candidate
                          The Reliquary TRBP team Coder http://unrealtournament2004.filefron...tEffects;92208
                          https://www.youtube.com/channel/UC0p...Q7l8s-0ug_Etgg

                          Comment


                            #43
                            Originally posted by RattleSN4K3 View Post
                            Rant #37
                            Mutator::OverridePickupyQuery or Mutator::ModifyInventory is not consistently called.
                            Unfortunately, I never got to finish with my intentions for ModifyInventory, it was meant to be an event whenever someone picks up an inventory item and/or when they drop it in a similar way to how powerups modify the player then unmodify when theyre drained. Im not sure if that would help with your issues but I really wanted the opportunity to work on making a really simple system for mods in BP but I found it more beneficial just to get better at C++ instead.

                            The real issue is the way the programmer approaches code, if you havent worked with BP a whole lot or just consider it inferior then there will always be a bias to using C++. There are problems inherent with BP, its by no means perfect but most of the issues Ive seen with the way UT does things comes because of legacy from a time before BP existed. Its such a shame we cant easily fix these issues ourselves but I guess there might not be a consensus on the best approach and it ends up being more back and forth than the time it would be to code two entirely opposed streams of thinking
                            Last edited by MonsOlympus; 02-22-2019, 12:31 AM.
                            Upon release, Unreal Tournament 2004 was met with widespread critical acclaim. Several critics praised the unique, fast-paced, fun and challenging nature of the game as its main selling points, while fans touted the post-release support and extensive modding capabilities.

                            Comment


                              #44
                              Hehe, nice reply MonsOlympus. Not to mention no one cares about the ranting people who this easily "move on" without any care of their words (I am sure they are now ranting elsewhere). Get busy ranting, or get busy building!

                              Comment

                              Working...
                              X