239 lines
10 KiB
Markdown
239 lines
10 KiB
Markdown
---
|
|
sidebar_position: 2
|
|
---
|
|
|
|
# Free Spin
|
|
|
|
## Overview
|
|
The **Free Spin (or Free Games) Feature** awards players a set number of spins without requiring additional bets. During these spins, players can still win prizes—often larger than in the base game—without spending any of their own credits.
|
|

|
|
|
|
|
|
## Implementation Guide
|
|
|
|
### Prepare Assets
|
|
|
|
| Component Type | Description | Visual |
|
|
|------------------------|---------------------------------------------------|--------|
|
|
| **Core Components** | Locate the prefabs from the core package. |  |
|
|
| **Game-Specific Components** | Prefabs are already present in the main game scene. |  |
|
|
|
|
|
|
### Setup
|
|
|
|
#### Step 1: Configure Animation Provider
|
|
|
|
- Add Free Spin background animation in **Animation Provider**.
|
|
|
|

|
|
|
|
#### Step 2: Configure Display
|
|
|
|
- **landscape**:
|
|
|
|

|
|
|
|
- **portrait**:
|
|
|
|

|
|
|
|
#### Step 3: Asset Example
|
|
|
|

|
|
|
|
---
|
|
|
|
#### Main Scene Structure Free Spins
|
|
|
|
Your scene should include the following nodes:
|
|
|
|
- **Trigger**
|
|
- **Retrigger**
|
|
- **Win**
|
|
|
|

|
|
|
|
| Property | Description |
|
|
|------------------------- |----------------------------------------------------------|
|
|
| `transitionStart` | Triggers the show animation when Free Spins start.<br/>Default: `null`. |
|
|
| `transitionStop` | Triggers the return animation to the base game.<br/>Default: `null`. |
|
|
| `nodeActivate` | Maintains the visual state during Free Spins. |
|
|
| `freeSideBandContainer` | Activates the Free Spins side band visual. |
|
|
|
|
---
|
|
|
|
#### Component Configuration
|
|
|
|
##### Trigger and Retrigger Setup
|
|
|
|
Configure animations for both trigger and retrigger.
|
|
|
|

|
|

|
|
|
|
| Node Name | Purpose | Location in Core Package |
|
|
|-----------| ------------------------------------------------ | ---------------------------------------------------------- |
|
|
| `content` | Zoom-in and zoom-out animation | `assets/core-assets/slotty-core/packages/feature-game/animations` |
|
|
|
|

|
|
|
|
| Property | Description |
|
|
|------------------------|---------------------------|
|
|
| `durationPresentation` | Specifies how long (in seconds) the animation trigger plays before auto-stopping |
|
|
|
|

|
|
|
|
| Prefab Name | Purpose | Location in Core Package |
|
|
| ----------- | ------------------------------------------------ | ---------------------------------------------------------- |
|
|
| `explosive` | Background animation effect triggered by numbers | `assets/core-assets/hyper-core/packages/explosive/prefabs` |
|
|
|
|

|
|

|
|
|
|
| Node Name | Purpose | Location in Core Package |
|
|
|-------------|---------------------------------------------------------------------------------------|-------------------------------------------------------------|
|
|
| `particles` | - Particle effects around title and number triggers.<br/>- Set scale to `1` for visibility | `assets/core-assets/slotty-core/packages/present/particles` |
|
|
|
|
:::tip
|
|
Set up the **present freespin retrigger** in the same way as the **present freespin trigger**.
|
|
:::
|
|
|
|
##### 1. present freespin trigger
|
|
|
|
Add fonts and textures for Free Spin trigger.
|
|
|
|

|
|
|
|
##### 2. present freespin retrigger
|
|
|
|
Add fonts and textures to show retrigger effect.
|
|
|
|

|
|
|
|
##### Add Font
|
|
|
|

|
|
|
|
#### 3. Present Free Spin Win
|
|
|
|
**Free Spin Win Setup**
|
|
|
|

|
|
|
|
| Property | Description |
|
|
|-------------------------|-----------------------------------------------------------------------------------------------|
|
|
| `content` | Node for displaying the win animation content. |
|
|
| `durationPresentWin` | Duration (in seconds) that the win presentation is shown. |
|
|
| `animation` | Animation controller for the win presentation.<br/>Located at: `assets/core-assets/slotty-core/packages/feature-game/animations` |
|
|
| `clipStartPresentation` | Animation clip played when the win presentation starts. |
|
|
| `clipStopPresentation` | Animation clip played when the win presentation ends. |
|
|
| `allowPresentWinPoint` | Enables the display of win points during the presentation. |
|
|
| `durationCountPoint` | Duration (in seconds) for counting up win points. |
|
|
| `lblTotalWinPoint` | Label node showing the total win points. |
|
|
| `lblTotalFreeSpinCount` | Label node showing the total number of free spins awarded. |
|
|
|
|
- Add congratulatory font and texture for the win display.
|
|
|
|

|
|
|
|
---
|
|
|
|
:::tip Best Practice
|
|
Follow the visual and font flow as defined by your game's design system.
|
|
:::
|
|
|
|
---
|
|
|
|
#### Free Spins Count Box
|
|
|
|
| Step | Description | Image |
|
|
|------|-----------------------------------------------|-----------------------------------------------|
|
|
| 1 | Locate the `freespins-count-box` prefab in the Core package. |  |
|
|
| 2 | Add the `freespins-count-box` prefab to your main game scene. |  |
|
|
| 3 | Verify appearance in both desktop and mobile modes. |  |
|
|
|
|
##### Platform Setup
|
|
|
|
| Platform | Node Name | Component to Add | Example Image |
|
|
|----------|--------------------------|-----------------------------|-------------------------------------------------------|
|
|
| Desktop | `freespins-box-desktop` | `Platform-ui-controller` |  |
|
|
| Mobile | `freespins-box-mobile` | `Platform-ui-controller` |  |
|
|
|
|
##### Asset Setup
|
|
|
|
| Platform | Asset Path | Example Image |
|
|
|----------|-------------------------------------------------------------------|-------------------------------------------------------------------------------|
|
|
| Desktop | `assets/game-assets/textures/desktop/preloads/main-game/custom-scale` |  |
|
|
| Mobile | `assets/game-assets/textures/mobile/preloads/main-game/custom-scale` |  |
|
|
| Common | Freespins Background |  |
|
|
|
|
##### Asset Font
|
|
|
|

|
|
|
|
---
|
|
|
|
#### Sidebands (Optional)
|
|
|
|
- Optional visual element, commonly used in classic or legacy slot designs.
|
|
|
|
| Overview | Setup |
|
|
|-------------------------------------------|----------------------------------------------|
|
|
|  |  |
|
|
|
|
|
|
**Asset Mapping:**
|
|
|
|
| Asset Name | Node/Preference Name |
|
|
|------------|----------------------|
|
|
| `anim-free-sideband-static` | `particle-free-sideband` |
|
|
| `sideband-back` | `sideband-back` |
|
|
| `sideband` | `sideband` |
|
|
| `sideband-shine` | `sideband-shine` |
|
|
| `sideband-static` | `liquid` |
|
|
| `indicator-static` | `indicator-static` |
|
|
|
|
---
|
|
|
|
#### Transition Effects (Optional)
|
|
|
|
create new node and add `transition`, `transition-scaler` component.
|
|
|
|

|
|
|
|
| Property | Description |
|
|
|--------------------|--------------------------------------------|
|
|
| `content` | Target node for transition effects |
|
|
| `animationName` | Animation identifier/reference |
|
|
| `sfxName` | Sound effect identifier |
|
|
| `transitionFrame` | Frame to trigger transition callback |
|
|
|
|
|
|
##### Asset Setup
|
|
|
|
1. Add transition animation to the **Animation Provider**.
|
|
2. Match the animation name with the correct node.
|
|
|
|

|
|
|
|
|
|
**add preferrence**
|
|
|
|
Configure preferences as needed for your transition.
|
|
|
|

|
|
|
|
**Example Result:**
|
|
|
|

|
|
|
|
---
|
|
|
|
## Final Result Examples
|
|
|
|
| Phase | Image |
|
|
|-------|-------|
|
|
| Trigger |  |
|
|
| Active Scene |  |
|
|
| Completion |  |
|