I’m wondering if i’m the only one getting an error from this version, same error as before and i’m not really sure how to solve this completely. Removing anything Team related in the character bp seems to work but after a restart there are some more errors.
Had a quick look at the building system, now it reminds me of my version except better (just my first impression).
And if you try with the TestMap, building the navmesh takes a long time with the default map. And yes i think that eventually we will have to move away from Character since it is indeed very simple.
Its not broken. As said rebuilding the Nav Mesh takes a very long time. Check out Test_Map. Its like a testing ground and generates Nav mesh very quickly.
No compile errors for me. I pulled the changes from and few hours ago i pushed newest changes to master branch. No errors at all. Can you redownload from the master branch and see if its working? Which Engine version are you using? Am still on 4.4 Preview build.
I did try the test map, I opened it and left it to build the navmesh. all of what I describe is from there
I also got a compiler error on some blueprint. I thought it was nothing important so I ignored it, but guess it’s more impactful than I thought?
it is after opening the project again:
One or more blueprints has an unresolved compiler error, are you sure you want to Play in Editor?
BP_RTS_Character
I’m running this on 4.4.3 by the way
I’m also wondering about the dependecy over the NavMesh. RTS’s usually behave like grid-based games internally (there’s absolutely no need to have movement precision over decimals) and 99% of the cases it behaves like a top-down game (i.e. no 3D in the sense of multiple simultaneous heights, caves, etc).
Relying on Navmeshes might as well be over-engineering it (with decreased performance). then again NavMeshes are alread built-in #and can change dynamically in-game), so maybe this is just a matter of convenience? or are you planning to simplify this?
When i delete the areas marked in the first picture i get these errors after restarting (before restarting i’m asked to save the controller,character and civilian bps however not fighter…)
I’m downloading and installing 4.3.1 as we speak to try and see if i get the same problems there. Are there any ways of getting older 4.4.x versions without using git?
Edit:
As excpected, not working with 4.3.1, downloading 4.4.0 now from github and will try that tomorrow.
I’m glad you found it useful. I designed the system to stay independant. Initially I was planning to implement it in the Building class itself. But then I saw a problem. If the construction stages and switching is done in the building, that means an instance of building will exist in the map even before it is constructed. In my system, this won’t happen. The buiding is instantitaed only after construction is completed. This will help us to ignore buildings that are under construction from traces or getActorsOfClass… Also the buiding’s tick or other events will not fire before they are constructed fully.
The ideal way to use it would be to define an array of STRUCT_ConstructionConf inside the Building_Master and fill-it out. When building is to be placed, you pass this this structure into the construction manager (this is not implemented now.) and he will use this to initialize the proxy.
About Barrack model:
I have UV mapped 80% of the model and painted some part of it. I will upload it on saturday.
So today i’ve tried all sorts of things, removing stuff changing things and trying different builds, nothing works. I started working from 's fork since i knew that one was working, i then manually added the commits from master and everything works until i reach the last commit :\
Ryanjon, were there any changes in the Character BP that you happen to dismiss in the commit since you thought nothing had changed in it? If so could you share it with me?
I definitely see the advantages of your way of doing it, i also considered going that way but eventually i decided to use an enum for the building state (preview/constructing/default). I do think keeping it seperated will eventually be better.
But why that error? I didnt made any changes to Character BP. Main changes were in Building_Master class and few changes in Controller BP. I checked the log and it says something about garbage collection so i dont think this is related to the BP changes.
Culprit seems to be BP_Building_Master class. Your branch is working but when i replace it with the one from master branch, Editor wont start. Will you post this on Answerhub or should i post?
Hey guys, I’m still away from my PC so I can’t even do anything in UE even with low settings…
Just wanted to say great work all of you, models looks great! I doubt you’d want my farm now anyway because I like the way you added a little house to the farm itself, but in the case anyone wants it, it’s on my PC and I’m away from it currently…
If its independent then we need to create proxies for every building we want to construct right? As the development progresses we will have a lot of buildings so wouldn’t this way create a lot of proxies to maintain?
Second thing is, dont we need traces to detect building constructions? So the player wont be able to place another construction on top of it.
The reason why i integrated into the Building master class is because new users can extend from it and create new building Blueprints with all these properties easily. But if you think making this independent is good we can definitely keep it that way.
Awesome! Cant wait to see it!
Hi . We definitely need your farm. The one i did is Livestock Farm where the player feed goat, cows etc. We need your farm to have crops.
Very good music ! I really like Torn Together track.
Actually you dont have to create multiple Proxy classes. If all buildings are going to use the mutli-stage proxy, all you have to do is for each building class, you must define an array of STRUCT_ConstructionConf, which defines the various stages. After that when a building is about to be constructed, you can retrive this array and pass it to the ConstructionManager. However in this case the Constructionmanager will assume that all buildings will use mutli-stage proxy; and will place an instance of BP_MultiStageProxy on the map with the stages provided.
Ideally you dont have to specify the stage info in the Building class, instead this can be taken from a text file (CSV most likely).
I am trying several things to avoid this limitation and to make sure any sub-class of BuildingProxy can be used. The problem is how to specify the initialization data for different classes.
I will try to provide a simple demo by the end of the week.
I’ve pushed some small improvements to my branch. This week with all the errors i encountered some spamming in the logs (LogArray:Warning: Attempted to get an item from array SelectedCharacters out of bounds [9/8]!) if you would mess around with the selection box without selecting you could easily get 50.000 lines in 20 seconds. I changed the way of selecting units so this doesn’t happen anymore.
I’ve also changed the building placement tracing for collision, before it was as big as one grid tile, now it’s using the building’s bounds for tracing (allows for buildings larger than one grid tile)
I’ve tried to make it better but didn’t really succeed (i had hoped i could use a master structure and then expand from that, but i don’t think that’s possible).
If anyone is curious you can find it at my fork, this also includes the above updates. Check Queue Construction, GetProxyClass and ConfigureProxy (in the ConstructionManager) for things i’ve added.
If the ConstructionProxy has collision and implements I_Interaction interface the tracing is no longer a problem (haven’t added that yet).