Announcement

Collapse
No announcement yet.

Open RTS Plugin for Unreal Engine 4

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

    #61
    I'm happy to announce the first changes of the game have been merged to the plugin, so here we go with the

    December 2017 Update

    Features
    • Add tech tree requirements for constructions and production.
    • Add floating combat texts to show above actors.
    • Add error messages for players that try build or produce actors without having enough resources or meeting their requirements.
    • Add cheats for increased construction and production speed, god mode, resources and immediate victory.
    • Add localizable names and descriptions for actors.
    AI Players
    • Allow building constructions and producing units for non-player controllers.
    • Move player resources to dedicated component that can be attached to Controller actors.
    • Added player AI controller base class.
    • Spawn AI players when match starts.
    • Prevent AI players from taking builders away from unfinished construction sites.
    • Prevent AI players from blocking their own path between resource source and drain by constructing new buildings.
    Orders
    • Allow issuing move orders and placing buildings on landscapes.
    • Add player controller method for starting non-default productions.
    Match
    • Allow initial units to be spawned with an offset to their respective player start.
    • Finish construction of initially spawned buildings immediately.
    Events
    • Add event methods for finished productions for players.
    • Raise events whenever a unit has received a new order.
    • Include damage causer in HealthChanged and Killed events.
    • Properly raise Killed event before actor is destroyed.
    • Correctly raise Depleted event before resource source actor is destroyed.
    • Include both old and new resource amounts in ResourcesChanged event, as well as whether they got synced from the server.
    • Prevent duplicate issued order events on listen servers.
    Utilities
    • Add method for checking whether a unit is idle.
    • Add utility method for finding the closest resource source of a specific type.
    • Add AI utility method HasOrder.
    • Add utility methods for getting the collision size or height of an actor, and for getting the distance between two actors, including or excluding their size.
    • Add utility method for casting a ray to find the ground level of a specified location.
    • Add utility method for verifying whether a unit is controlled by an AI player.
    • Move method for transferring ownership from player controller to game mode.
    • Move method for verifying suitable building locations from player controller to utilities class.
    Improvements
    • Slightly changed distance tolerances for some order types to achieve a more natural unit movement.
    • Improve projectile behaviour by detonating closer to their target location.
    • Have gatherers take their own collision size and the collision size of their target resource source into account when checking their gather range.
    • Spawn produced actors next to their producers instead of at the exact same location.
    • Improve general unit behaviour by taking actor collision sizes into account when moving into range.
    • Correctly scale collision sizes returned by utility functions by actor scale.
    • Move builders away from construction site before spawning building in order to prevent spawn collisions.
    • Prevent spawn collision or spawning at wrong side of the world for produced actors.
    • Correctly check construction range before spawning construction sites.
    Bugfixes
    • Make plugin PCH public in order to properly allow the plugin to be linked with other projects.
    • Add RTSPLUGIN_API in order to properly allow the plugin to be linked with other projects.
    • Prevent compiler error for fog of war actors in non-editor builds.
    • Add a few missing includes and forward declarations.
    • Move pre-compiled header first in attack component.
    • Reorder includes of attack component.
    • Prevent duplicate issued orders log output on listen servers.
    • Correctly match character decal size with their colliders.
    • Fix some names in construction site logs.

    Comment


      #62
      Will you upgrade this to 4.18 from 4.16?

      Comment


        #63
        What the heck lets start a Rocket!!!
        Last edited by MesherKnesher; 01-01-2018, 02:19 AM.

        Comment


          #64
          Originally posted by SinineSiil View Post
          Will you upgrade this to 4.18 from 4.16?
          Hey
          SinineSiil, this is already at 4.18.1

          Comment


            #65
            Oh very nice!

            Going to give this a shot again soon

            Comment


              #66
              I'm really curious if it's possible to implement a system where resources need to be carried to a construction site by workers to start construction, i.e. gathered resources are brought to a central location when gathered, and are retrieved from said location and brought to the construction site when required. The former is already implemented, so is it possible to extend that to the latter?

              Comment


                #67
                Any plans for wallbuilding?

                Comment


                  #68
                  Originally posted by npruehs View Post

                  Hey
                  SinineSiil, this is already at 4.18.1
                  Oh, maybe the issue is then that I have 4.18.2. I have been having the following issue since the second or third version of the plugin: https://github.com/npruehs/ue4-rts/issues/56

                  Comment


                    #69
                    Originally posted by Dozy Jones View Post
                    I'm really curious if it's possible to implement a system where resources need to be carried to a construction site by workers to start construction, i.e. gathered resources are brought to a central location when gathered, and are retrieved from said location and brought to the construction site when required. The former is already implemented, so is it possible to extend that to the latter?
                    Interesting idea, this reminds me the Settlers game series. This is on no roadmap I'm currently aware of, but you can add it yourself if you need that. You should be able to adapt the ConstructionSiteComponent by tracking how many resources have been brought there, and don't start construction until all resources are present (bStartImmediately = false). Let me know if you need any further assistance.

                    Originally posted by theevil128 View Post
                    Any plans for wallbuilding?


                    Not that I'm aware of Strictly speaking, walls are just buildings with any additional components (e.g. ConstructionSite, but no ResourceDrain or Production). Building nice walls would be more on the UI side of the game, like dragging walls and queuing the build orders for all of these walls.

                    Originally posted by SinineSiil View Post
                    Oh, maybe the issue is then that I have 4.18.2.

                    Do you have a C++ Unreal project there? We don't ship the plugin libraries (yet), so you need to compile them yourself.

                    Comment


                      #70
                      Hey!

                      Old time Unity user here who is about to make the jump to UE4, because of the current state of networking in Unity is so bad and forgotten.

                      This what you've been doing, seems like a godsend to my team. After learning the ropes and doing a couple of test projects I'll surely take a look at this, and perhaps even contribute when I've become more comfortable with the tools!

                      Keep up the great work!

                      Comment


                        #71
                        A total newbie to Ue4 here, the plugin looks fantastic, so i am trying to install it. I am using Unreal 4.18.3, I download zip file from github, unzipped. Then copied the RTSPlugin folder to epic Games>Launcher>Engine>Plugins , restart Unreal Editor, EDIT>PLUGINS...... i dont see any RTSPLUGIN available. not sure what the reference to the RTS.uproject files in the instructions for installing means, or where this and all the others folders should be placed. Obviously i have overlooked something ?

                        Comment


                          #72
                          Realized my mistake... i was copying to wrong directory, i put in Program files (x86) but other plugins are in Program files/Epic Games/UE_4.18/Engine/Plugins.....
                          Moved, restarted Unreal Editor now i get Plugin "RTSPlugin" failed to load because module "RTSPlugin could not be found" , then the editor stops loading.

                          Comment


                            #73
                            Hey man, great work! Can you make it 4.19 compatible?

                            Comment


                              #74
                              I may be missing something simple, but how do I set teams? I have the "Num Teams" set in the GameMode but do not see how I would designate teams for a CPU player (AI bot) using the plugin/blueprints. The human player starts the game with units who appear to be on the same team, they are not attacking each other. However, when I place "enemy" units in the world, they just attack each other.

                              Any help would be greatly appreciated!

                              Comment


                                #75

                                Sorry guys, I've been pretty busy lately with a more-than-full-time production at work, so please apologize for answering here infrequently for the time being

                                Originally posted by Duisti View Post
                                This what you've been doing, seems like a godsend to my team. After learning the ropes and doing a couple of test projects I'll surely take a look at this, and perhaps even contribute when I've become more comfortable with the tools!

                                Keep up the great work!
                                Hey Duisti! Thanks for the warm words I'm happy this helps, and looking forward to your contributions!

                                Originally posted by Trader56 View Post
                                A total newbie to Ue4 here, the plugin looks fantastic, so i am trying to install it. I am using Unreal 4.18.3, I download zip file from github, unzipped. Then copied the RTSPlugin folder to epic Games>Launcher>Engine>Plugins , restart Unreal Editor, EDIT>PLUGINS...... i dont see any RTSPLUGIN available. not sure what the reference to the RTS.uproject files in the instructions for installing means, or where this and all the others folders should be placed. Obviously i have overlooked something ?

                                Realized my mistake... i was copying to wrong directory, i put in Program files (x86) but other plugins are in Program files/Epic Games/UE_4.18/Engine/Plugins.....
                                Moved, restarted Unreal Editor now i get Plugin "RTSPlugin" failed to load because module "RTSPlugin could not be found" , then the editor stops loading.
                                Hey Trader56! This should work out of the box, without copying anything anywhere. Just open Source/RTS/RTS.uproject in Unreal. If you want to use the plugin in another project, follow the instructions at https://github.com/npruehs/ue4-rts#adding-the-plugin

                                The project needs to be a C++ project, and you need to have Visual Studio along with the C++ tools installed on your system.

                                Originally posted by TriNityGER View Post
                                Hey man, great work! Can you make it 4.19 compatible?
                                Hey TriNityGER! Sure, this shouldn't be much of an issue, will take a look at that soon. Also, there's https://github.com/npruehs/ue4-rts/issues/63 for this (don't know whether you've started that one?)

                                Originally posted by sovkan View Post
                                I may be missing something simple, but how do I set teams? I have the "Num Teams" set in the GameMode but do not see how I would designate teams for a CPU player (AI bot) using the plugin/blueprints. The human player starts the game with units who appear to be on the same team, they are not attacking each other. However, when I place "enemy" units in the world, they just attack each other.
                                Hey sovkan! Thanks for following up by e-mail on this one as well. I've opened https://github.com/npruehs/ue4-rts/issues/65 for this, you should find detailed instructions there.


                                Comment

                                Working...
                                X