Advanced Collector Game Blueprint (Treasure Hunt Build Jam)

Blueprint Name: Advanced Collector Game
Creators: Vicentek & ekelrock
Itch Page: Advanced Collector Game Blueprint by ekelrock for Crayta - $50,000 Build Jam - Theme: "Treasure Hunt" - itch.io


Advanced Collector Game is a blueprint created by Vicentek and ekelrock for the “Treasure Hunt” Build Jam. It’s designed to help you quickly create any type of multiplayer game based on collecting items and gaining points.

💡 OVERVIEW

The core of this blueprint is a system designed to help you easily configure the spawn parameters of your collectibles, as well as a number of properties on the collectibles themselves. In addition to obvious spawn options like position, spawn rate, and number of templates generated, there are options for probability (rarity) of drops, ways to limit the number of collectibles at any point, which templates to spawn initially versus during the round, and a whole slew of others. The collectibles themselves have options for adding or subtracting points, adding items to the inventory, giving the player powerups, and the standard options you’d expect like sounds and effects. And to further expand on the collectible system, there are helper scripts that allow you to define win conditions of the round that work into the preset game modes.

The blueprint also has some tools for the creator such as a trigger to modify the player’s parameters, breakable items that drop templates when destroyed, and a variety of preset collectibles to use as examples or as finished assets in your game.

Still not impressed?

There are also 4 types of preset game modes ready in the templates – just drag and drop them into an empty world and you can be playing a whole new game. The current preset games include: Free for All, Team Deathmatch, Team Elimination and Survival. Each of the presets is the game mode you know and love, but they also each have a secondary win condition (like collecting 10 trophies or being the first team to reach 100 points). Oh, and there’s also a system for “looting” other players when you kill them :wink:

If you need help decorating, the blueprint includes includes a variety of assets to set your game and many templates of treasures already configured and decorated for your collectibles.

Do you still find it difficult to create a game with all these elements? Don’t worry, it also includes a template with a whole world set and configured so that with a few tweaks you can customize it and it’s ready to go!



🛠 TEMPLATES

In addition to the following templates, all the locators that contain the different configurable mechanics of the game are templated but we’ll cover those later in the “Scripts” section.

You will find the following templates:

  • Game modes: (tagged with the prefix "-gameMode_ ")

Preconfigured templates of different game modes, with all the logic included so that you only have to drag and drop them into the world to set up a game. Remember that you can’t have two game modes in the world hierarchy at the same time or it won’t work properly.

Game mode templates include: Free for All, Team Deathmatch, Team Elimination and Survival. Each game mode has various objectives that make use of the core collectible system.

  • Collectibles: (tagged with the prefix "collectable_ ")

Seven examples of original treasure designs. Some of these award the player points (either a set number or random range), some award the player items, there are 2 that give the player temporary buffs (speed and jump height), and the dynamite is an explosive that hurts the player

  • Melee_Pickaxe:

A functional pickaxe that can be used both to attack players or to mine (configuarble).

  • Resource_Minable ore rock:

An example breakable object with many configuration options: Life and Health Bar (based on Nomaki’s “NUI -Entity Health Bar” pack), assignable sounds and effects, option to drop templates by chance and possibility to respawn the template with the desired delay.

  • Player Properties Trigger:

A trigger that allows you to change practically all of the properties on the player who enters it. In addition to speed and jump modifier, it also controls whether he can take damage, jump, run, crouch, and mantle. It also has options for notifications, shouts, sound/effect options when activating or deactivating, and a deactivation delay option when exiting the trigger.

  • gameInstruction Screen Widget:

Based on Adam0_crayta’s “Simply Sign” package. This template allows you to easily configure and style an instruction page that can be displayed on screen at any time (by default at lobby time) and can hidden with a configurable delay (by default at the start of the game). Perfect for explaining the rules of the game.

  • Deco_Camp:

A small base camp for treasure hunters to decorate your maps, or maybe as a spawn point base.

  • Full map example - Ruins in the jungle:

A fully functional template configured as a free for all game, contains a basic map that’s already decorated. Simply drag and drop and give the final touches to customize it, and you’re ready to play!

It can serve as an example of a functional game, so that the creator can investigate how all the components of the blueprint work together and so they can easily test their setups in a realistic game environment.


🧊 VOXEL MESHES

There are a few voxel meshes included in this blueprint, primarily jungle themed. You can use them as a starting point, as inspiration, or as additional assets in you game if the theme fits.

  • Jungle Terrain: Drag and drop ready landscape set in tropical jungle. See the image above in the “templates” section.

  • Aztec Pyramid

  • Aztec Pyramid Ruined

  • Simple Column

  • Simple Column Ruined

  • Ruined Columns


📝 SCRIPTS

gameScript - This isn’t anything new but I wanted to mention a few things about it. Firstly, this is the main script that controls all of the core game settings (teams, scores, timers, etc). It can be found on the gameController entity. Depending on the game mode, you might also find an eliminationScript on that entity, which is responsible for ending the round early if there is only one player/team remaining in certain game modes.
Important note: You shouldn’t have more than one instance of this in the world at a time.

:rotating_light: Ok, let’s get into the real nitty gritty of the scripts in this blueprint…

Firstly let’s look at the “collectible system” which is the core of this blueprint. The collection system consists of 3 scripts: the collectibleSpawnerScript, the collectibleSpawnPointScript, and the collectibleScript.
Note: I’ve added tooltips to every property I created so I won’t go too in-depth about what they all do here.

:one: collectibleSpawnerScript - This is the brains of the collectible system. It allows you to configure options like how many collectibles are spawned initially and how they respawn over the course of the game.

:two: collectibleSpawnPointScript - This is the script that defines a spawn point. It allows you to choose what collectibles can spawn from this spawn point and has options for percentage based loot drops. Any locator with this script will be considered a “spawn point” by the collectibleSpawnerScript.

:three: collectibleScript - This is the script you place on your collectible templates. It allows you to define stuff like the number of points or items to give to the player, health or damage to inflict, or player powerups (buffs) to apply.

In addition to those 3 scripts, there is one helper script:

:four: collectibleGameObjectiveScript - This script allows you to define game ending conditions that are related to the collectibles in your game like ending once a player/team reaches a certain score or when they’ve collected enough of a specified item(s). Additionally, it contains the properties to configure players looting (stealing) points from other players when they’re killed.

And there are a few other scripts that were not created for this jam but have been slightly modified to work with the systems described above. They include:

entityHeathController:

Upgraded version of the Nomaki package “NUI - Health Bar”. Useful to create “attackable” entities, control health and add different sounds and effects to possible actions, it also allows you to drop templates by chance in the desired location and respawn the entity.

Works in conjunction with the “entityHealthUI” widget to add a health bar to the entity.

In both “gunScript” and “meleeScript”, a property has been added to reference the “entityHealtControler” script to decide whether or not weapons can harm the entity


🌎 WORLDS

This blueprint includes 3 worlds:

  • Main: This is the world you start in. It has examples of a bunch of the templates as well as a working collectible system. The blue markings on the floor spawn a variety of the templates shown off to the side, at various rarities. The red markings on the ground only spawn the powerup collectibles. Try collecting stuff and breaking the ore boulder in the corner.

  • Showcase - Jungle Ruins: This is a fully functional Free for All game that uses the collectible system as well as the decorative assets provided with this package. Great for having some fun and trying out different settings.

  • Game Mode Test World: This is an empty world. It’s provided to give you a super easy way to test the provided preset Game Modes. Simply drag and drop a game mode into the world, hit play, and give it a shot.

If you have any questions or feedback, reach out to us (Vicentek & ekelrock) on the Crayta Discord :slight_smile:

2 Likes