Multiplayer TopDown Kit

Yes the kit does not rewrite how networking in unreal works. When you host you become a listen server. You can also run a dedicated server just like any other unreal project.

Nit sure what you are asking as if two players were on different maps they would be on different servers as unreal loads one map per server. Unreal supports a huge map size and with terrain paging yoi can create some really large and detailed worlds. Also i believe in 4.14 they added world origin shifting for multiplayer which allows to create even larger maps with that technique.

There is no persistance or saving or database integration. As it is a blueprint only project for the marketplace it is not bundled with advanced c++ logic or plugins needed to do that.

The project is a clean base to help prototype your idea and build a game upon. But it is a starterkit and helps you get into building as a lot of the initial setup is done for you.

I hope that helps clarify things.

It does, thanks :wink:

There is a minor issue when i merge this project with the Inventory (latest revisions with 4.13.2), after deleting the UI folder. The message interface yields a couple of issues, related to the InventoryPlayerController/Inventory HUDInterface. Could you maybe list the required files again which have to be moved from the UI folder prior to deletion? I skipped the part as outlined via annotations in the video. Thanks.

Btw. Awesome tutorial videos and package.

If you send me an email to support@vanguardinteractive.com with screenshot proof of your purchases I can send you a merged version of the MPTopDownKit and ARPGIS for 4.13. It will also have a few more things hooked up then the tutorial video covered.

Awesome, sent you an email. Thanks!

Is there an easy workaround to enable crouching of the player character, the standard crouching only lowers the “cat light”, and does not enable the AnimBP locomotion state.

Because the controlled character is a possed pawn you will just need to slightly change your logic. When I get a chance tomorrow I will post a screenshot of the logic to achieve this.

That would be great, so far make good progress, will add your social system as well and integrate Gamespark service soon.

Haha that’s really cool. If you aren’t using ‘click to move’ you should probably get rid of the pawn possession logic. It’s easy enough to remove and there are some guidelines posted here

Thanks Pirate that small tutorial went smooth. Crouching works now too! One question, you write last in the tutorial, *Now you have 1 PlayerController and 1 PlayerCharacter and no silly possession business. *. Is it still correct to use the MPTopDownNetworkPawn as the default game pawn or should i change this to the PlayerCharacter, and transition the light stuff over there? Thanks

There is one issue related to the character setup or a possible engine bug, I discovered this after crashes yesterday, outlined here https://answers.unrealengine.com/questions/521501/bug-suddenly-bp-pawns-changed-position.html

Though, after restart of the changes, two characters lost their AnimBP assignment, and had their mesh position and rotation changed. This is easily fixed (-97 Z position to properly align the feet to the floor, and 90 degree turn according to the arrow direction).

Update/fix
I resolved this issue, see my answer/fix here https://answers.unrealengine.com/questions/521501/bug-suddenly-bp-pawns-changed-position.html#answer-521820

Had to make one more addition to make the respawning proper, with the merged version (TopDown Kit and ARPG Inventory)

Everything seems to work, except i cannot loot the dead hero asset, not sure if this is due to my changes or related to the removal of the PlayerCharacterController, can pickup items.

Interactable FIX
For WASD movement edition (Instructions Multiplayer TopDown Kit - Marketplace - Unreal Engine Forums )
Add NOT and tick the bool
c79a71e209994a83ea06d808e87927db47a367e2.jpeg

And to make doors and destructibles work add the following (IsMovingToTarget renamed to Interaction)
69c6e254ca1150d56e3fedebcb309828672f9e04.jpeg

Interact with actor
965930315d396413417ed5736a39d5b7ba72e9a8.jpeg

So I have a question, I want to create a multiplayer, top-down shooter game. The player uses WASD for controlling the character movement and aims wherever the mouse is + shoot on leftclick.
I bought your Kit because I am want to use the multiplayer functions (network sessions for Finding, Joining and Creating games) and the rest, like UI, health system, interactable objects, AI.

Is it better to create a new project from scratch and add (migrate) the multiplayer and other blueprint functions, or is it better to start with your kit and change everything necessary there to get it working that way?

I would just edit the kit. There is lots of information in this thread about adding WASD movement and removing the possession logic for the character if you aren’t using click to move. It is possible (and fairly easy if you are experienced with unreal) to merge the project into an existing one, but it was designed to be a starter project.

Question, @Pirate why do you use PlayerNetworkController, to store data etc, when there is the custom PlayerState? Question in response to this answer here Player State VS Player Character - Character & Animation - Unreal Engine Forums

Shouldn’t i dedicate most “Network Player” content to the PlayerState?

The data in the PlayerController is replicated between the Player and the Server only. The data in the PlayerState gets replicated to All clients from each clients data. So only information that other clients needs to know about a specific client really needs to be in the PlayerState.

The reason why the Health and everything is on the Character is because of the possession feature. The PlayerState holds a reference to what character pawn that player is controlling and allows all the other players to get information that way. If you are removing the possession logic I would add player health, etc into the PlayerState directly while keeping all control logic that only the client and server need to share in the player controller.

Hi, is there something I must do while migrating your blueprints in a new project? The demo works fine while I create a project directly from the unreal launcher but if I migrate this to an another project, trying to host a game with the demo scene leads to an infinite “loading…” screen and no error when I stop the preview.

And if I try to load the examplemap I can’t see the player charater and zombies, but they can hit the player and kill him

I think they issue you are running into is with the logic that draws a black loading screen over the UI to allow the zombies and everything to load in before revealing the world to the player.

It looks like this is not being updated for some reason after hooking things up in your new project.

Here you will see in the PlayerController where the loading screen is disabled after the player spawns in.

You can disable this logic int he **MPTopDownHUD **by setting the default value to **IsLoading **to **False **to debug and see if that fixes your issue. If you feel you don’t need that feature you can simply remove the logic in the MPTopDownHUD event graph where Event Receive Draw HUD draws a black texture over the screen.

What would be the proper way to add the drops to mobs (taking into account you merged the inventory system). Couldnt decide whether to post it here or in the inventory system. At the video of both merged you see the zombies (for example, a default mob here) with the drops. Could you make a simple guide on how to do add them to the zombies?.. or a mini tutorial
thanks