DEV Community

insthync
insthync

Posted on • Edited on

2

Create game with MMORPG KIT-Part 1-Project preparation

In this part, I will prepare the project based on the kit's demo, by duplicates init scene which is the scene which has a game instance which will initializing game data when game starting, home scene which will be loaded after game instance initialized it's a scene for start game menu, character management, option and so on (Up to you) and then create new game database but still uses demo's in-game objects and UIs.

Folders preparation

Let's start from create folders
You can create folders in for an assets by right click in Project tab, then select menu Create -> Folder

Screenshot_469

I've create following folders:

  • Assets/Leveling
  • Assets/Leveling/GameData
  • Assets/Leveling/GameData/Items
  • Assets/Leveling/GameData/MonsterCharacters
  • Assets/Leveling/GameData/PlayerCharacters
  • Assets/Leveling/GameData/Maps
  • Assets/Leveling/Scenes
  • Assets/Leveling/Scenes/Maps

Screenshot_470

I've defined the project name to Leveling so I create Leveling folder which will have content for this project, project folder structure may changes later.


Game database, NPC database, Warp portal database and gameplay rule preparation

Then I will create new game database, NPC database, warp portal database and gameplay rule for this project by

  • Right click Assets/Leveling/GameData folder, then select menu Create -> Create GameDatabase -> Game Database (I've set it name to LevelingGameDb)
  • Right click Assets/Leveling/GameData folder, then select menu Create -> Create GameDatabase -> Npc Database (I've set it name to LevelingNpcDb)
  • Right click Assets/Leveling/GameData folder, then select menu Create -> Create GameDatabase -> Warp Portal Database (I've set it name to LevelingWarpPortalDb)
  • Right click Assets/Leveling/GameData folder, then select menu Create -> Create GameplayRule -> Default Gameplay Rule (I've set it name to LevelingGameplayRule)

Screenshot_473

Screenshot_474


Init scene and home scene preparation

After that I will duplicate scenes from the demo, so when I made changes to my project it won't affect the demo.

Open folder Assets/UnityMultiplayerARPG/Demo/Scenes/ select 00Init and 01Home then press CRTL + D keys to duplicate (For Mac users, may use CMD + D keys)

Screenshot_471

Then move it to Assets/Leveling/Scenes folder by drag it and drop it, and rename it (In this post, I will set name to 00_Leveling_Init and 01_Leveling_Home

Screenshot_472

After that open 00_Leveling_Init scene to set created databases , gameplay rule and duplicated home scene to game instance

Screenshot_475

Screenshot_476

Screenshot_479

Save the scene, then add duplicated scenes to Scenes In Build by open the dialog from menu File -> Build Settings...

Screenshot_477

Then drag duplicated scenes: 00_Leveling_Init and 01_Leveling_Home into Scenes In Build section

Screenshot_478

Now you can start game from 00_Leveling_Init scene so you have to open 00_Leveling_Init before press play. When press play it will load 01_Leveling_Home scene but still can't create character yet because it doesn't has any character to create yet.

In next part, I will tell you how to create new map and character.

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (1)

Collapse
 
mycloudaccount profile image
Morgan Johnson

thx! this has been very helpful.

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay