Ongoing C++ Gameplay Example Series: Making a Survival Game

Hi Tom, I am trying to change the in game time per real time relation. The longer day i can have is 1 real second = 1 minute in game, (with TimeScale = 1.0f). If i just make TimeScale < 1 the time get stuck. I am trying to understand why is this happen.
Any help is welcome.


That is because the minutes are stored as rounded numbers (int32) in SGameState.

int32 ElapsedGameMinutes;

You can change this to a float.

  • Tom

Hello Tom, thanks to your tutorial series I learned a lot of things which I had no clue how to do before. I feel 70% comfortable with using networked code due to your explanations as well as BP networking series on YouTube. The remaining 30% is my confusing regarding the online subsystem. Although ClientTravel works pretty well it lacks some of the advanced features one could implement through said system. I’ve tried various methods of getting it to work through code, but I can never get FindSessions to return anything but 0 even though my CreateSessions always complete on the host. I feel like my problem may be related to the presence aspect as initially I just set that to false because I thought it was related to VR for some reason, but then I read on a post from Rama that the HostSession and OnCreatePresenceSessionComplete functions in ShooterGame are were people need to look. I just really don’t understand it though. What is presence?

I was hoping you could just walk me through the steps.

Edit: Thanks for your reply Tom.

I made my first animation with Maya A.R.T. tool for when character is using the flashlight, is a simple idle animation, give me some feedback!

Hi mate, still need to dive into session management myself, so I’m afraid I can’t help you out yet. Dealing with online subsystems is one of the things I’d like to tackle and publish though.

@Zio: Looking good!

You’re right, every tutorial shouldn’t explain all the minor bits and pieces that can of course be learned elsewhere (and your content is great doing that), but, step-by-step instructions don’t imply that. What I meant was more directed to hand-holding for what you need to do to test what you learned and not explain every bit and piece along the way.

I’m following the official documentation, which to my surprise is pretty **** good! What I suggest is, in each topic, have a mini section with links to the documentation bits that dives deeper in those topic specifics. The time investment constraint is more than understandable and you’ve done a lot, since I’m looking into this myself, I can post some good additions I might find.

Section 1
Setting up Input in C++

Exposing functions and properties to Blueprints"

That is definitely a good idea. I tried adding some links to where I felt it was applicable throughout the section docs. Those two are definitely good additions, it’s back into the hands of the docs team now (I’ll have to check what they are up to with the docs)

Hey guys, still working on character with flashlight equipped animation, i need your feedback about this “idle break” animation, is the first time i made complex animation with Maya and i have a lot to learn :slight_smile:

I will add it into Tom’s project if you think is good.


i wonder what the biggest possible world might be. Do you think its possible to create a DayZ or Arma 3 -sized map and support a decent amount of players? (50-100)

With all the recent improvements to large worlds in 4.7 and 4.8 I’d say definitely possible!

Take a look at ARK:Survival Evolved, I believe they let users host pretty large servers and it’s made in UE4.

I’ve been testing a custom untiled 256km2 world in multiplayer (without objects, just vegetation) without any problems. It’s about the same size as the map for NSF:Rivals.

That’s a lot bigger than DayZ, and almost overkill in my opinion. Unless your game has either driving or flying vehicles I would stick something between 8x8 and 16x16km2.

I still need to work out support for tiled maps though. Has anyone tried disabling world origin shifting alltogether, like described in the docs?

CreateSession, FindSession, JoinSession, Could you tell us about the server connection from the product and the external network of the server list that you used ?
I am now , very troubled and not know how to make a server connection . Could you tell me there even if there is a way that can be done only in the Blueprint?

To start with you don’t need to use Sessions until you get to support Steam or other online subsystems. You can use basic commands to host a game and for others to join the server (as long as the host’s port 7777 is open on his router)

Examples: Command-Line Arguments | Unreal Engine Documentation

Of course you would support this through a UMG menu instead of command lines, but this will get you started quickly when prototyping.

Hope that helps!

  • Tom

Thank you tom answer.
It is , it is that you use the session if you use the online subsystem that !
I am now , I want to realize the network match using the OnlineSystemSteam at some in learning " ShooterGame or MultiPlayShootout " .
And I tried to step street to see the wiki of RAMA , but it does not go well . The detailed procedure of the operation of the operation and UE4 of VS2013 I want to know .
Why not tell me me a detailed procedure ?

just a quick question: Can I only open the project with Visual Studio 2013 ? Seems like it, but I can only download Visual Studio Community 2015 on the website. How can I open it with 2015 ? Or is there a 2013 installer somewhere to download ? Can’t find a way to open this project :frowning:

UPDATE: Nevermind, just read 2015 is not supported yet. :wink:

I have yet to work on integrating Steamworks myself into projects. I noticed the docs on this are scarce on this subject and there is a lot involved to get this up and running. I’m afraid I can’t help you besides showing multiplayer shootout, shootergame and the docs you already linked yourself.

  • Tom

So I downloaded the first section to get a better understanding of coding in UE4. Sadly, all sections don’t work with 4.8 and there is far too much code in the master project for me to handle as a beginner :(. Any chance of getting at least section 1 and 2 updated to 4.8 ?

If you wish to go per-section you can grab the section branches instead of master

And yes those are for 4.7 which is a bit unfortunate but can’t really undo that. If the docs are out of date for 4.8 I can take a look to update where needed though.

Alright, thx! Good thing I can download 4.7 :slight_smile:

Answer Thank you Tom.
I’ll try my best on their own .