Unity, UDK and 4x games

I’m currently toying with the thought of finally going ahead to make a 4x turnbased spacegame, right now i’m at the stage of how i can actually do it.

I’m going to try and prototype it in GameMaker first - I’m not exactly a programmer, though i do want to learn, so i need to be able to see the core mechanics at work before i commit to anything more graphically intensive.

My first thought was to use Unity, since Endless Space seems to have gotten some things right (Unity seems to be able to do procedural textures pretty nicely). However, from what i have learned i’d need several software suites and addons to make it work the way i want, let alone a pro license, something for which i just don’t have the money for. Even with that in hand i don’t know whether my plans would be possible in Unity (zooming from a colony view all the way up to multiple galaxies for example, not necessarily seamless of course).

So i started thinking of UDK again, which is also more capable of doing certain other graphics i’d like, though the downside is getting UDK to work when making anything but a shooter-type game (which is reputedly much more difficult to do than with Unity). I’m also not sure whether the turn-based calculations are doable in UDK, thinking of end-game situations where you’re controlling multiple galaxies and opponent moves have to be calculated. “Simple” things like research trees or similar also seem more difficult in UDK. Still, it’d seem cool to try and make such a game with an engine “which isn’t mean for such things”. I do have experience with the UT editor itself, though that’s rather outdated (some ut99 levels and ut2k4 fooling around).

I have very limited experience with Java and C++ (not much further than hello world and basic if/then stuff), so i think of myself as a beginner as far as programming/scripting is concerned. This is something i’d have to learn during the project. Currently i’m alone, so i’d mostly be busy with laying the groundwork and using only rudimentary graphics/sounds (if applicable).

I do need to somehow make a Spore-size galaxy work - Possibly smaller though, incrementing game mechanics from planet → system → constellation → region rahter than persisting on planet size all game long, possibly expanding to galaxy with multiple available galaxies. This is mainly a graphics issue though i believe, if i can get the incremental mechanics to work correctly, though this raises the question whether something like that is even doable in Unity or UDK.

Are there any UDK projects like this released, regardless of scale (or any turn-based strategy games at all)? Would i be better off trying this in Unity after all because of ES? Any thoughts would be appreciated!

PS: I posted a similar thread on the UDK forums, so i could get feedback from both angles, given that both forums tend to favour one over the other, obviously - See here. The text is largely the same, with relevant bits edited… Reinventing the wheel and all :slight_smile:

Your getting some good advice on the UDK forum.

There will probably need to be at least two player views of your game, a strategic higher level system overview and a tactical in system battle view.

Check out procedural generation, in particular the Kickstarter videos for Elite http://www.kickstarter.com/projects/1461411552/elite-dangerous

Also AI WARS http://www.arcengames.com/w/index.php/aiwar-features which I believe was going to be ported to Unity, check out the developers blog for details.

Think of how big a challenge this is, the amount of work that goes into Endless Space the team size artists, this will allow you to give yourself more achievable goals.

Start small and build up incrementally, either top down or bottom up, e.g. Ship to Ship combat, or Strategic fleet moves.

Good luck.

Indeed planning on starting small, though the ambition remains :slight_smile:

I want to do that prototype on gamemaker to get a quick and dirty feel for it before i start it in earnest, after which i will try to get the basic stuff working with as little graphics as possible. Seeing as it’s a spacegame the load on that is significantly smaller than any other project anyway, so i can get away with using basic spheres and blocks for stuff for now.

The real issues are simply whether, as a beginner, i should try this in Unity or UDK. Regarding this project, which would be easiest to use and learn, and which one would give me the best tools for the job. Multiple platforms are, for now, not a concern to me (gunning for Windows primarily, regardless of engine). I’d go for Unity without a second thought, but i already have a tiny bit of experience with Unreal tech that tells me UDK isn’t a bad option for this, hence i need the input.

What extra addons would i need for Unity to, for example, do some graphics stuff around wormholes and nebulas and procedural textures for planets? Do i need other extensions so i could realize this project? For UDK i already know that the only extra tool i need would probably be Blender (though i also have a license for 3DS Max for some reason), hence this choice is kind of eating me up. I do hear the documentation for Unity is better, which might be a big selling point for me, depending on extra costs.

Since when does UDK have built-in nebula and wormhole support, and planetary procedural texturing?

Nebulas would be some kind of volumetric effect - IIRC UDK does this already, not sure. With ‘wormholes’ i mean “simple” distortions of part of the screen (if you played EVE you know what i mean).

From what i know, procedural textures can be done with scripts and materials, to a certain degree. You don’t need an external solution to get it to work though, as far as i know.

Edit: No volumetric effects, though it can be approximated with particles in both Unity and UDK i guess.

Well… I’m currently looking into procedural generated content myself. I’m mainly targetting generating indoor levels, using dungeon generation algorithms.

This is a great starting point btw: Procedural Content Generation Wiki

What actually helped me was the possibility to code the complete dungeon generation with C# into a DLL. That DLL is then used within a “testing” environment (a quickly hacked C# Windows app) to “bulletproof” the level generation.

I then used the very same DLL ingame to generate the level.

A benefit of doing so is that I separate the content generation of the level and the actual display of the level dependent on graphic sets. In your case, the same algorithms to generate the planets can generate different planets by switching the base graphic contents.

While I’ve checked out UDK I didn’t see a proper way to disconnect the content generation and the display on a higher level.

What I think you’re misunderstanding though is nothing that you’re referring to is a “third party solution” in Unity, they’re just “scripts and materials” for Unity written by other people so you don’t have to. The amount of work you’re going to have to put in to procedurally texture a planet in UDK is going to be roughly equivalent to the amount someone put in to write a comparable Unity extension (ostensibly a package of scripts, shaders and materials that are already written for you).

Unless UDK has a built-in “procedurally texture planet” feature with corresponding materials and shaders, which would be news to me.

It really wouldn’t. You will have far more than enough work to do already without adding “fighting the engine” into the mix.

None. You don’t need any addons for anything. If you want to do everything yourself, go ahead. But if you find a package for something that would save you time and effort, then it makes sense to buy it.

–Eric

4x, to this day, may be my favorite game genre.

If you decide to use volumetric clouds, things will be tricky regardless, as that’s not an easy thing to pull off (let alone, making them look like galaxies and nebulae). Zooming to different views is a simple matter.

Check out my interactive timeline. Granted, its not a 4x game, and I would need to add another layer of I wanted to have a “colony view” (I actually am planning a game like that, btw).

Planets are easy to create and place procedurally. Everything else could be as simple or as complex as you’d like (many 4x games simply have menus for their colonies).

I’m surprised no one has mentioned Endless Space, a 4x game that was made with Unity, not sure if any of the dev’s are active on this forum though.

http://endless-space.amplitude-studios.com/

Check out the third paragraph in the first post. :wink:

–Eric

I thought I read over it multiple times, oh well guess I’m not quite with it this morning. :smile:

Endless Space is one reason why i’m considering trying my hand at this. The one difference being the money and manpower the ES team has behind it, and me being somewhat intimidated by posts from other people stating they bought $3k worth of addons for Unity, and how you “need” the pro version to get all the ‘necessary’ features, whereas UDK you get more stuff standard, albeit possibly more difficult to use.

It’s just something i’m trying to get more info on to try and make an informed decision on which engine to try and use.

Untrue. There’s nothing in a 4X game that would require Pro or buying addons.

–Eric

if you say the prohibited words “UDK” or “CryEngine” soon a moderator come to close the thread.

Absolutely. Pro features are primarily polish/fluff (render to texture, cool lighting and water effects, etc) and convenience (asset server, streaming assets, etc). Any game you can make with Pro, you can make with Basic, it will just look cooler and possibly run more smoothly with Pro.

No, we still allow engine comparison threads here as long as they’re informative and raise specific questions.

The most recent one that was closed that you’re probably referring to was closed because it was started to complain about comparison threads and then digressed into “comparison threads suck… but since I’m posting anyway, here’s my opinion about comparing XYZ”.

LOD support, navmeshes, realtime shadows, fullscreen post-process effects and the profiler are features i can see the uses of. Are these doable without Pro? And if so, why get Pro in the first place?

LOD support can be done no problem but the others are kind of hard without pro. But as ppl said before me they are not needed to make the game, just helpful and will (if used correctly) make the game shine a bit extra, but all that can be added way later when the game is starting to get finished and you have saved up some funds : )

Well, the navmesh is the primary worry, though i think this can be coded seperately.