Possibilities of certain features in Unreal 4

I’m new to the Unreal Engine (and game development as a whole) and I’m well aware that I’ve got much to learn. As this is my first post to the forum, I suppose that I can start now, I’ve no reason to wait exclusively for my classes to start in college.

I’ve had a very ambitious idea for a video game project in my head for a long time now (probably at least a year at this point) that I do plan on bringing to life at some point even if I’ve got to go to hell and back. For this future project, I’ve settled on using the Unreal engine because I’ve really fallen in love with its capability over other free to use engines like Unity. You’ll get some details of this project just because I’m curious if all the things I want to do can be done in Unreal but of course I don’t want to give it away and have someone steal the idea. :wink: I must also mention that I’m aware of the fact that undertaking the development of a large game is an extensive task, with or without a pre-existing game engine. This game is not an immediate project, it is an ultimate goal of mine that I want to do at some point. I’m aware that it’ll take a while for me to do, but I don’t care much; it may very well turn out to be just a hobby and not a viable career path. I’m very creative and love to build, create and design. I’ll have built dozens of other, smaller and much simpler games as I learn and prepare.

With the questions below, I more or less want to know if such is possible using the Unreal engine. Feel free to also give me a basic idea of how something like it could be done (you don’t have to bother with an in-depth explanation because I’m not going to be at this in the near future and I’ll probably have the fine details figured out by the time I’m ready to start building the game).

1: The first thing I’m wondering about is how the Unreal engine can simulate liquid physics. There is a scene in my game that involves, let’s just say, large bodies of rushing water and I’m curious to know how Unreal would simulate this; for example, would it be done in real time when the player ultimately encounters the scene or would it be pre-rendered so the player’s computer doesn’t have to struggle with running the simulation?

2: Another major feature of the game I want to have included is the ability for the player to create two characters: the character they play as and the companion that follows them throughout the events of the game. At the very least, I want the player to be able to customize the protagonist’s and their companion’s faces and gender, but ideally I would like the player to be able to customize the characters’ physical builds, clothing and even their race (as I would like the game’s lore to feature a number of alien species). I’d also want the player to be able to change what clothes are equipped during the game.

3: How might Unreal render extremely large objects, such as a skyscraper in excess of 3,000 feet and up to 9,000 feet? I had an idea that I could do some clever skyboxing and rendering to make a building to appear extremely tall even though the model isn’t so big.

4: How much easier is building a linear game than an open-world game? Ideally, I would want the game to be open-world, but there are a number of reasons why I think I would avoid that route. Think of a linear game as being something like Mass Effect or Call of Duty games (where there’s no huge world the player can explore at their leisure) and I think we all know what an open-world game is, games like Skyrim or Grand Theft Auto, where they have large worlds the player can explore at their leisure.

5: NPC conversation options and multiple story endings. Ideally, I would like to include a feature similar to the interactive storytelling feature we’ve come to love in games like Mass Effect, where you’re allowed to choose your conversation options when talking to NPCs. Of course, if I did do something like this I wouldn’t have it at the same depth as Mass Effect. What I would do is have a number of options in conversation the player could choose, and they would have an effect on what the NPC thinks of the player. There might be some minor changes in the game based on these options, but ultimately I’ll use them to choose which game ending the player gets. For example, I thought that I could have the game count up points in a number of categories for conversation options (such as counting how many times the player said something nice or aggressive) and choose a pre-built ending based on how many points in the categories there are. Could something like this be possible in Unreal?

6: If I’m not mistaken, someone could use the Unreal engine to develop a game with very little, if any knowledge of a programming language. I; however, intend on having knowledge of at least a couple of programming languages - specifically C++ so I could have control over various functions of the game. How well does code written and compiled in something like Microsoft Visual Studio play with Unreal, and are there other programming languages that would be recommended for fine-tuning your game’s details? I started learning C++ a while back, but lost the plot and haven’t followed tutorials for a while but I do have some very basic knowledge of programming with C++ which I learned exclusively on my own. In school, I am learning a blend of HTML, CSS and PHP (which happens to be quite similar to C++) and will be learning others (like JavaScript and MySQL) further on in the course. Though I’m almost certain those web languages are not useful in Unreal, I do have some coding experience and will be gaining more of it, either in class or of my own volition.

7: Does Unreal allow you to model objects within the application, and if so, how detailed, complex and functional can objects be? How does it compare to something like Blender 3D or Maya? If Unreal does not allow you to build your own 3D objects and assets within the engine application, what external programs would you use? I would much rather use free software like Blender because I have no budget (which for the record, I’m aware can hamper my efforts).

8: You know how visualizations in Windows Media Player and iTunes flash, pulse and change colour according to the beat of a song? Can something similar be done with the light emitting from objects in a game using Unreal?

9: This question is far less important, and I’m more or less just curious. I’m almost certain the game will remain Windows-only and if I do end up porting it to other systems, it would only be to Linux and/or macOS. If I were to port the game to Xbox One and/or PlayStation 4, what kind of licensing would I need? Would I need proprietary hardware designed to develop games on those systems, like the PlayStation 2 TOOL for the PlayStation 2? Porting the game to iOS and/or Android would be out of the question, since I’m almost certain iOS and Android devices wouldn’t be powerful enough to run such a game I have in mind.

There are a number of ways I plan on learning game development with Unreal. For starters, the class I’m taking in college will teach me a number of things, including game development, though to what extent I’m not entirely sure (though from what I hear graduates of the program do sometimes go into game development as a career but it’s an extremely broad course). We’re also learning graphic design, film, video and photography (including CGI, VFX, motion graphics, photo manipulation and compositing), web development (front and back end), audio mastering and production, 3D modelling and a number of other things. Like I said, it’s a very broad course where fortunately, all fields of study fall into my personal interests. Secondly, I’ve been able to grasp and learn various things on my own. For example, my skill in using video editing software is almost entirely self-taught and I’m pretty familiar with how software like Adobe Premiere and Sony Vegas work so I am able to learn on my own if I’m interested enough.

1–fluid simulation is something that takes a lot of processing power, usually you don’t actually do a simulation, for example in one of the Call of Duty games they had a wave rushing through a city, and for that the actual wave was a mesh and it was augmented by particles to create effects like spray and splashes.
2–That’s really up to you to design for the game
3–You could make it real-world scale, you would just need to adjust the amount of detail there, so if you don’t need to get close to much of it then you can have a low resolution texture map and you don’t need to model a lot of details. In games where you see large objects far away, they’re actually very low detail but still the correct size.
4–Open world games are more difficult–if it has a dynamic time of day then you can’t use prerendered lighting which means you have to find some way of having nice lighting that performs well, then you have to figure out how to fill the world with objects and then make everything run fast. For something like GTAV for example, it has low-polygon versions of large sections of the world, so when you get far enough away it will switch to that instead of rendering multiple houses and trees and stuff like that. I don’t recommend doing an open world game when first starting out.
5–That’s up to you to design, just remember that with multiple options you can be creating story elements that people won’t see because they made different choices.
6–UE4 is built on C++ so if you want to do some coding then you have a good start. However, coding isn’t necessarily required. They built a feature into UE4 called Blueprints, which can do most of what C++ can do. Blueprints are a node based visual scripting tool and they can do quite a bit.
7–Not really, it has BSP which is for building levels but is based on very old game development methods which people don’t really do anymore. Typical workflow is to use BSP to block out a level (literally block shapes) and then you would replace the BSP with high detail meshes that are created in a 3D program like Blender/3ds Max/Maya
8–I believe that is possible but I’m not sure
9–To develop for Xbox One you need to join their developer program: Independent Developers Program for Xbox One | Xbox for PS4 you need to join the Playstation developer program: www.playstation.com/en-us/develop/
Once you’re accepted then you can submit your information to Epic and they will give you access to a version of UE4 that supports the console. Most of your game should work on the console but you’ll have to do testing to make sure it performs and work with whatever console requirements are there.

As far as school is concerned, most of the time they try to teach you too many things and you simply don’t have enough time in school to learn them well, it’s hard enough to learn one thing in the short time you have for class much less things like programming and 3D modeling. So you might want to consider what value you’re getting, if it’s expensive then it might not be worth the money. For me, I didn’t get much from school and would have been better off living at home and spending a little money on workshops and training videos. I think it is useful though if you want to get into programming to take a good programming course.

Interesting, thanks for the detailed response. I completely forgot about how taxing running a fluid simulation on my own computer would be, especially since I don’t have an extraordinarily powerful machine. Using an animated mesh for a large wave of water sounds like a good idea even if it doesn’t look super amazingly awesome and realistic.

As for giving the player the ability to customize the player character, I was wondering if something like that was possible in Unreal 4, creating a pre-defined mesh and allowing the player to customize it in the game by bending and warping various key points.

I wasn’t sure if Unreal could handle such huge objects without creating weird issues because I was talking with one of my friends about it and he said that you might have to scale back a little bit and use some clever rendering to make it appear that tall.

As much as I would like to make this game an open-world game (the specific game genre and scenario would be something that I think hasn’t really been done before but I’m not 100% sure) I know there’s a good possibility that I won’t. I mean, I could still make it feel like it could be an open-world, but it isn’t.

When using the Unreal engine’s blueprints feature, would knowing and understanding C++ be an asset? Not necessary, but an asset? To add to that, it makes me glad that Unreal appears to only really want C++ because it is C++. Most of my coding experience lies with C++ and even though my skill with PHP is more extensive thanks to my classes, I think that skill is easily portable to C++ because of how similar PHP is to C++.

I’m very novice when it comes to 3D modelling. My only half-way real experience with it is designing random stuff in SketchUp. I install Blender 3D on many of my computers (and have done so for a long time) but I never actually use it for anything. How would I go about learning Blender 3D, 3DS Max or Maya on my own? I’m sure that my classes will really only go over Maya (and that’s a few semesters off) and fortunately my status as a student entitles me to free Autodesk software, but I know that won’t last forever so that’s why I’m particularly interested in learning Blender 3D because it’s free, and if I’m not mistaken, open source too.

Of course it’s possible to create custom characters, if you want to adjust sizes and shapes on a character you can switch between pre-made parts or you can use something like Morph Targets, like what Mass Effect does for the face. The game Black Desert does the same type of thing but it allows customization on the entire character, but it’s still morphing the character model.

The issue with large things is really an open-world problem–when things get far away from the origin, the coordinates become a large number and the system is designed to work with variables that take up less memory so when it gets too high you end up loosing precision for physics which breaks the game in many ways. For a skyscraper though, that’s not a problem since that will fit well within the normal space.

Knowing coding will help when doing Blueprints since the logic is the same and you’ll have an idea of what things to look for.

Blender is free, but the issue is that if you want to work in the industry the vast majority of studios use 3ds Max or Maya, and it’s important that you are able to integrate with the studio’s workflow.

Okay, this clears up my questions. Thanks for the help. Now I’m off to motivate myself to get into learning this stuff.