[Community Project] Real Time Strategy Game. NEW MODELS AVAILABLE. SEE POST #1

Wow…awesome guys! Sorry i was not at my PC for some days. You really made amazing progress.

@Issac: Awesome music! Any download link available?

@: Thanks mate. Those are some very nice models. I really like the last one. Wish we had more like that. :slight_smile:

@Everyone
I’ve been working on building construction. I wanted to implement a step-by-step building construction scheme like in Tropico. However I wanted this to be customizable and as much indepdenat as possible. Currently there are 3 main classes invloved.

  1. ConstructionManager
    This class manages the construction queue. An instance will be available in player controller. Whenever you want a new building, you ask the construction manger to build one. You must pass the priority, construction rate modifier. and a construction config struct whcih contains the class name of the building, class name of contruction proxy (see below) and work-hours needed to build it, and transform

  2. Building
    This is the class we already have, my code does not depend on this one and so it can be anything.

  3. ConstructionProxy
    This is the major class. When you place a building that has non-zero build time, instead of placing the building right away, the construction manager places a proxy. The proxy has multiple meshes, particle effects and audio that will be used during various stages of construction. How many stages and which effects are used in each stage are customizable. Construction amanger will assign work force for a proxy based on game logic and priorities. The proxy simply uses the avalable work force and adavces the building construction percentage, it switches to the efefcts assigned for each stage. When the construction is completed, it will notify the construction manager.

Once CM (Construction Manager) receives the notification, it will destroy the proxy, and replace it with an instance of the building class specified in the original reuqest. Optionally it can fire and event which the caller code (where the actual queue request came from) can use.

So for each construtible building, you must have (ideally) a class extended from ConstructionProxy. However you can re-use same ConstructionProxy across different buildings if they look the same (Gold mine and Silver ine both look same during construction).

I have not finalized the design and any input is welcome. Let me know what you think.

I could not push it since many of the things are hard-coded (we still dont have workers or citizens yet). But once the code is a bit stable I will publish it and we might be ab;e to test it using Blutility

Ok! So is the barn house or normal clay house thingy!
I’ve imported it into UE4 and now ‘migrated’ it. So is the file :slight_smile:
Its low poly and low res, but you can of course change any of the details you need to :slight_smile:

@: Sounds great. Do you have a video that demonstrates ConstructionManager and Proxy?

I decided to get dirty with modeling so is my first model. This is a livestock farm where we can get food by feeding goat, cow etc. Textures not pretty though. I didnt brought it to UE4 yet.

Imgur: The magic of the Internet.

Different stages of construction:

Imgur: The magic of the Internet.

So what style are we supposed to be going for?
Because the barn thing I modeled was more realistic, whereas that one you made is more cartoony?

Maybe both. :slight_smile:

Also, should we just model buildings and just use one grass mesh for all buildings? Or do we make buildings with props and fences and all that?

I think making the props separate should be good so in UE4 we can customize however we want.

By the way, based on 's post i have added polls to see how we should proceed. Go ahead and vote.

Era vote:

Style vote:

Realism vote:

Theme vote:

I voted on the first three but the fourth isn’t working for me?

Theme vote? I see two voters. One is obviously me and i thought second one was you.

Nope! Didn’t work for me! In all the other three I was the third vote.

Thats weird. Works fine for me.

It was me, I’m being stealthy :stuck_out_tongue:

Hi ,

I put in my vote and everything worked for me. For the most part, everyone seems to be on the same page with the exception of theme. The votes are all over the place on that one.

After being a part of this project for some time and reading this forum. I think this project needs a lead artist focusing on that sort of thing. I would be more than happy to focus on this aspect of the game but I dont know how much time I could devote.

Does the team have an expected release date or is it kind of whenever it happens.

Also I will add the music to my dropbox for download. I will add a link once uploaded.

Could anyone explain the difference between city building and civilization building to me? I feel like i’m missing something there.

Also, i hope choosing one theme doesn’t automatically exclude parts of other themes. For example, i don’t consider games like Black & White, Anno and Civilization to be War-themed, however they do allow the player to ‘win’ by crushing their enemies.

Hey guys, long time no see :slight_smile:

First, I’d have to agree on the poll… About theme, maybe it’s me, but when you said RTS (instead of civ building for example), I thought of like a strategy game where there is building involved, but also attacking each other etc… Like Starcraft II, Warcraft III, AoE, AoM, Red Alert 1/2/3, etc… Maybe I’m wrong for thinking about that in that way, but that’s what RTS resonate to me… So I think if everyone else agrees on this, perhaps we should ditch the theme poll, it only makes stuff confusing… and after all, if we want to create a generic RTS framework, it should have all the aspects instead of just and only building like building civilization/city sim…

@
Not sure myself either, but I think something perhaps ‘city building’ -> Sim City, and ‘civilization’ more like building a village and then progressing it, but in a sense that would be the same, just set back a few hundreds of years back (ie, we don’t have ambulante/cars/road instead we have herbalist camp/cart wheel/stone road… :smiley: )

@
That looks really interesting, could you share a few pics of it, like example of it for setting up some basic building… and can’t we make our character worker and start from there?

@
I agree, but this project really lacks organization so far… The way I see it now, it’s more of you can do something for it whenever you feel like, which obvious slows down the progress but then again, as it’s totally free and of no real benefits for the creators instead of getting experience I can see why it is the way it is right now…

Perhaps the next big step would be getting ourselves to somewhere we can chat/talk more in real-time… That should speed up the progress of it, and make the whole working together feels more like…we are working together… What you think? Skype group, some chat channel of some sort… etc? :slight_smile:

EDIT: My dad is a designer of some sort… If you guys want, I can ask him to do a image of a HUD… But the problem is, I have no idea how you guys want it… I can show him a picture of some strategy game and say to him do something like they did, the problem is I don’t know what game picture to show to him… Can we collaborate on this? The faster we do this, the faster we can have HUD rolling (at least the basic version of it)…

Also I’m not too sure how the HUD works with changing dimensions of the screen in-game? Do we have a giant, vector-based HUD image and we scale it down appropriately or we have multiple raster-image versions of it and assign one of them to the game in run-time based on resolution? If second, what amounts and of what size do we need HUD images to be?

About the theme this should be a RTS on the lines of games like AOE3 and SC2 because those have proven to be the most popular ones. Games like Civilization or Total War have a completely different style.

In my opinion go for a combination of these: The 2nd one from age of empires is definitely the best hud layout i have seen in a strategy game. Mostly because of all the slots that allow for developers to focus on building a library of improvements with different button icons rather that more complicated inventory like huds . The other two are more detailed, very cool designs from dota2 for huds. So i say grab the design from the dota2 ones and mix it with the HUD from AOE3.

http://hydra-media.cursecdn.com/dota2.gamepedia.com/1/14/MLG_Stronghold_16x9.

http://img145.imageshack.us/img145/2721/aoedota2.

http://hydra-media.cursecdn.com/dota2.gamepedia.com/e/e5/Alliance_HUD_16x9.

A quickmockUP


For the HUD raster based with these ratios 21:9, 16:9, 16:10 , 4:3 ( I think the resolution should be the same for all of them just different aspect ratios[For example: 1980x1080p for all of them , the difference will not be noticed.])

If we wait until 4.5 we can just use UMG to make the HUD as then it will auto scale down to fit other resolutions, it already can change to different screen sizes (4*3 and all that)
But if we do, for whatever reason, decide to use images, we should make them 4k as many people have that resolution now.

@:
is the difference between different themes

City Building: The aim is to build a city, its transportation, roads… You most likely play as the mayor or something.
Civilization: You start as a group of tribal people. YOu will then invest in research, military… to advance your technology, population, territory… Almost like Civilization Games
Government: You will be controlling an entire country. Like City builder, you have the options to build infrastructure, make trade… But main focus is on governance, ie policy making, diplomacy… A prime example will be Tropico
War: This is something you all know
Tower Defence: ditto

About Construction system:

I am still working on it. But I think I will be able to post a video by sunday. And I 'm afraid I wont be able to devote as much time as I want on this project for several weeks. We have started working on a new project where I work and I am very very busy these days. But I will be free on weekends and contribute as much as I can. So even if I cannot finish the construction system by myself, I will push it to git so you guys can work on it

Anyway I need your opinion on the design. Currently I am at crossroads and confused which way to go:
As I’ve said in a previous post, the class ConstructionProxy is responsible for everything from a building is queued until it is created. But there are two possible ways to implement it:

  1. Create a generic ConstructionProxy class, that accepts Transform, WorkHours… and additionally an array of structs that define the stages. Each element in the array is a struct and will have the following fields:

float Percentage (at what percentage of construction should we switch to next stage)
StaticMesh Mesh (the mesh to use at this stage)
Material Material (material to apply)
SoundCue Audio (the audio to play during this stage)
ParticleSystem Particle (the particle that will be used during this stage)
SoundCue TransitionAudio (the audio that will be played when transitioning to next stage)
particleSystem TransitionParticle (particle system that will be used during the transition to next stage)

So when you queue up a new construction, you will create an array with various stages and pass it along. The Proxy class will use it during the construction time. So there is only a single ConstructionProxy class. You will create instances of it and configure each instance differently.

  1. Create a ConstructionProxy class per building class. The Building class should have the name of the ConstructionProxy class as a member. How the ConstructionProxy works can be fully changed by extending it. The base class will be very similar to the generic ConstructionProxy class described previously. However the array of structs will be defined within the class using default properties instead of providing it at runtime. If you dont want a multi stage construction prxy and instead need something taht generates geometry procedurely or control transparency, you can do that. But we need one ConstructionProxy class per Building.

If you are defining buildings using XL files… then method 1 is better. However if all buildings are hardcoded classes, then I think method 2 is the way to go

So what do you guys think?

Thanks for clarifying the themes :slight_smile:

As for the way to go, i’d go for method 1 although i don’t have any arguments to support my choice, it’s just how i would do it.