diff --git a/Assets/Prefabs/HealthOrb.prefab b/Assets/Prefabs/HealthOrb.prefab
index ab0965ef89b494b2b07468f1aea0b7eb27af3fe9..17e06df7d745e78d3e02e4d73b0b49492388d511 100644
--- a/Assets/Prefabs/HealthOrb.prefab
+++ b/Assets/Prefabs/HealthOrb.prefab
@@ -11,6 +11,8 @@ GameObject:
   - component: {fileID: 2535262335353558129}
   - component: {fileID: 2535262335353558126}
   - component: {fileID: 2535262335353558128}
+  - component: {fileID: -4094635597638346364}
+  - component: {fileID: 705583067959343806}
   m_Layer: 0
   m_Name: HealthOrb
   m_TagString: Untagged
@@ -99,3 +101,39 @@ SpriteRenderer:
   m_WasSpriteAssigned: 1
   m_MaskInteraction: 0
   m_SpriteSortPoint: 0
+--- !u!114 &-4094635597638346364
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2535262335353558127}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 764e68913424eeb419dd38af7e60ff61, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  healthOrbTime: 0.5
+  powerUpValue: 10
+--- !u!195 &705583067959343806
+NavMeshAgent:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2535262335353558127}
+  m_Enabled: 1
+  m_AgentTypeID: 0
+  m_Radius: 1.125
+  m_Speed: 3.5
+  m_Acceleration: 8
+  avoidancePriority: 50
+  m_AngularSpeed: 120
+  m_StoppingDistance: 0
+  m_AutoTraverseOffMeshLink: 1
+  m_AutoBraking: 1
+  m_AutoRepath: 1
+  m_Height: 2.25
+  m_BaseOffset: 1.125
+  m_WalkableMask: 4294967295
+  m_ObstacleAvoidanceType: 4
diff --git a/Assets/Prefabs/PowerOrb.prefab b/Assets/Prefabs/PowerOrb.prefab
index 0313bb80b265fee8cd04c17cb58deeb7d4240f06..46308ba79919f964afb9e3e5940f39b0074e4979 100644
--- a/Assets/Prefabs/PowerOrb.prefab
+++ b/Assets/Prefabs/PowerOrb.prefab
@@ -11,6 +11,8 @@ GameObject:
   - component: {fileID: 4657511723775529484}
   - component: {fileID: 4657511723775529483}
   - component: {fileID: 4657511723775529485}
+  - component: {fileID: -6770075547395189657}
+  - component: {fileID: 8369794267398069332}
   m_Layer: 0
   m_Name: PowerOrb
   m_TagString: Untagged
@@ -99,3 +101,39 @@ SpriteRenderer:
   m_WasSpriteAssigned: 1
   m_MaskInteraction: 0
   m_SpriteSortPoint: 0
+--- !u!114 &-6770075547395189657
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4657511723775529482}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25d572023fc8dca439d7bd171c970c34, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  powerOrbTime: 0.5
+  powerUpValue: 10
+--- !u!195 &8369794267398069332
+NavMeshAgent:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4657511723775529482}
+  m_Enabled: 1
+  m_AgentTypeID: 0
+  m_Radius: 1.7399999
+  m_Speed: 3.5
+  m_Acceleration: 8
+  avoidancePriority: 50
+  m_AngularSpeed: 120
+  m_StoppingDistance: 0
+  m_AutoTraverseOffMeshLink: 1
+  m_AutoBraking: 1
+  m_AutoRepath: 1
+  m_Height: 3.4799998
+  m_BaseOffset: 1.7399999
+  m_WalkableMask: 4294967295
+  m_ObstacleAvoidanceType: 4
diff --git a/Assets/Prefabs/SpeedOrb.prefab b/Assets/Prefabs/SpeedOrb.prefab
index a2d34f76c9669e571a87075f8f470cc03dbec3b0..89b8eba9f357abd16322766fdb19e9ba33e87a38 100644
--- a/Assets/Prefabs/SpeedOrb.prefab
+++ b/Assets/Prefabs/SpeedOrb.prefab
@@ -11,6 +11,8 @@ GameObject:
   - component: {fileID: 7205800141201514947}
   - component: {fileID: 7205800141201514972}
   - component: {fileID: 7205800141201514946}
+  - component: {fileID: 647105530061794655}
+  - component: {fileID: -888242424389404344}
   m_Layer: 0
   m_Name: SpeedOrb
   m_TagString: Untagged
@@ -99,3 +101,39 @@ SpriteRenderer:
   m_WasSpriteAssigned: 1
   m_MaskInteraction: 0
   m_SpriteSortPoint: 0
+--- !u!114 &647105530061794655
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7205800141201514973}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d104f8fb432c7ba41998f84129eedf56, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  speedOrbTime: 0.5
+  powerUpValue: 10
+--- !u!195 &-888242424389404344
+NavMeshAgent:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7205800141201514973}
+  m_Enabled: 1
+  m_AgentTypeID: 0
+  m_Radius: 2.505
+  m_Speed: 3.5
+  m_Acceleration: 8
+  avoidancePriority: 50
+  m_AngularSpeed: 120
+  m_StoppingDistance: 0
+  m_AutoTraverseOffMeshLink: 1
+  m_AutoBraking: 1
+  m_AutoRepath: 1
+  m_Height: 4.98
+  m_BaseOffset: 2.49
+  m_WalkableMask: 4294967295
+  m_ObstacleAvoidanceType: 4
diff --git a/Assets/Scenes/Level_01.unity b/Assets/Scenes/Level_01.unity
index 27a470520eb71a1cfdba6a35a522428501888035..8bdfaa57ef0ce4b183abfb0d086533ce5cc18819 100644
--- a/Assets/Scenes/Level_01.unity
+++ b/Assets/Scenes/Level_01.unity
@@ -479,9 +479,9 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d2ec7b0143f45684d84465ca4e1ae31d, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  startingPower: 100
+  startingPower: 10
   currentPower: 0
-  healthSlider: {fileID: 941469807}
+  powerSlider: {fileID: 941469807}
   damageImage: {fileID: 1109176449}
   deathClip: {fileID: 8300000, guid: d36a393bca4582043982db9089e1694f, type: 3}
 --- !u!135 &33458253
@@ -522,11 +522,11 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: f3b1eeb6e043e4144afac8ee2325014c, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  startingSpeed: 100
+  startingSpeed: 10
   currentSpeed: 0
-  healthSlider: {fileID: 375658143}
+  speedSlider: {fileID: 375658143}
   damageImage: {fileID: 1109176449}
-  deathClip: {fileID: 0}
+  deathClip: {fileID: 8300000, guid: d36a393bca4582043982db9089e1694f, type: 3}
 --- !u!1 &36326047
 GameObject:
   m_ObjectHideFlags: 0
@@ -766,7 +766,7 @@ MonoBehaviour:
   - {fileID: 2022850296, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
   - {fileID: 1914384308, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
   - {fileID: 1206665591, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
-  - {fileID: 0}
+  - {fileID: 6451117433343572282, guid: 9fb82f159b80fbb4f86ae46808c152cd, type: 3}
   - {fileID: 7193182883264875344, guid: 5caccc7eeef745c4cb8cdf5aeb3c2d0f, type: 3}
 --- !u!4 &180263586
 Transform:
@@ -1166,7 +1166,7 @@ Transform:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 530599531}
   m_LocalRotation: {x: 0, y: 0.9063079, z: 0, w: 0.42261827}
-  m_LocalPosition: {x: -30.5, y: 0, z: 25}
+  m_LocalPosition: {x: 30.5, y: 0, z: 25}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 0}
@@ -6376,6 +6376,36 @@ MonoBehaviour:
   damagePerShot: 20
   timeBetweenBullets: 0.15
   range: 100
+--- !u!1 &725605032
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 725605033}
+  m_Layer: 0
+  m_Name: PowerOrbSpawnPoint
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &725605033
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 725605032}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -100, y: 0, z: 100}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 16
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &732164003
 GameObject:
   m_ObjectHideFlags: 0
@@ -6998,6 +7028,36 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1118055506}
   m_CullTransparentMesh: 0
+--- !u!1 &1159231083
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1159231084}
+  m_Layer: 0
+  m_Name: SpeedOrbSpawnPoint
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1159231084
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1159231083}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -30, y: 0, z: 20}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 17
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1263355631
 GameObject:
   m_ObjectHideFlags: 0
@@ -7440,6 +7500,96 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1401845282}
   m_CullTransparentMesh: 0
+--- !u!1 &1516506356
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1516506358}
+  - component: {fileID: 1516506357}
+  - component: {fileID: 1516506360}
+  - component: {fileID: 1516506359}
+  m_Layer: 0
+  m_Name: OrbManager
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1516506357
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1516506356}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3ebce3593297a094592f1a96d5e9cbed, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  playerHealth: {fileID: 33458251}
+  orb: {fileID: 4657511723775529482, guid: 372c1cb97a0b4e540b8d303e12c33815, type: 3}
+  spawnOrb: 1
+  spawnTime: 3
+  spawnPoints:
+  - {fileID: 725605033}
+  factory: {fileID: 1906920587}
+--- !u!4 &1516506358
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1516506356}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 1.7, y: -0.7, z: -0.7}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 18
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1516506359
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1516506356}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3ebce3593297a094592f1a96d5e9cbed, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  playerHealth: {fileID: 33458251}
+  orb: {fileID: 2535262335353558127, guid: 7fbb627886736534ba911bf6675933f4, type: 3}
+  spawnOrb: 1
+  spawnTime: 3
+  spawnPoints:
+  - {fileID: 1571986862}
+  factory: {fileID: 1906920587}
+--- !u!114 &1516506360
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1516506356}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3ebce3593297a094592f1a96d5e9cbed, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  playerHealth: {fileID: 33458251}
+  orb: {fileID: 7205800141201514973, guid: a6916ad5a6c03624cb0d3a6f5bcbbcb1, type: 3}
+  spawnOrb: 1
+  spawnTime: 3
+  spawnPoints:
+  - {fileID: 1159231084}
+  factory: {fileID: 1906920587}
 --- !u!850595691 &1523013122
 LightingSettings:
   m_ObjectHideFlags: 0
@@ -7501,6 +7651,36 @@ LightingSettings:
   m_PVRFilteringAtrousPositionSigmaDirect: 0.5
   m_PVRFilteringAtrousPositionSigmaIndirect: 2
   m_PVRFilteringAtrousPositionSigmaAO: 1
+--- !u!1 &1571986861
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1571986862}
+  m_Layer: 0
+  m_Name: HealthOrbSpawnPoint
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1571986862
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1571986861}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -50, y: 0, z: 50}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 15
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1666523284
 GameObject:
   m_ObjectHideFlags: 0
@@ -7927,6 +8107,53 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1838919311}
   m_CullTransparentMesh: 0
+--- !u!1 &1906920586
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1906920588}
+  - component: {fileID: 1906920587}
+  m_Layer: 0
+  m_Name: OrbFactory
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1906920587
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1906920586}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 249a5d810d5a74844ab587bb9b46c0ee, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  orbPrefab:
+  - {fileID: 4657511723775529482, guid: 372c1cb97a0b4e540b8d303e12c33815, type: 3}
+  - {fileID: 7205800141201514973, guid: a6916ad5a6c03624cb0d3a6f5bcbbcb1, type: 3}
+  - {fileID: 2535262335353558127, guid: 7fbb627886736534ba911bf6675933f4, type: 3}
+--- !u!4 &1906920588
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1906920586}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 3.00243, y: 0.8076969, z: 1.67373}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 19
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1975464296
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scripts/Factory/OrbFactory.cs b/Assets/Scripts/Factory/OrbFactory.cs
new file mode 100644
index 0000000000000000000000000000000000000000..30ef4836d92b4e5159d61513588ac1ce3ec7d974
--- /dev/null
+++ b/Assets/Scripts/Factory/OrbFactory.cs
@@ -0,0 +1,16 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class OrbFactory : MonoBehaviour, IFactory
+{
+
+    [SerializeField]
+    public GameObject[] orbPrefab;
+
+    public GameObject FactoryMethod(int tag)
+    {
+        GameObject orb = orbPrefab[tag];
+        return orb;
+    }
+}
\ No newline at end of file
diff --git a/Assets/Scripts/Factory/OrbFactory.cs.meta b/Assets/Scripts/Factory/OrbFactory.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9341a85e3c88e4204f826aed1f27262ef04d47cc
--- /dev/null
+++ b/Assets/Scripts/Factory/OrbFactory.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 249a5d810d5a74844ab587bb9b46c0ee
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Managers/OrbManager.cs b/Assets/Scripts/Managers/OrbManager.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f8a1550b763f7ff10457708f512aec9f456e87e4
--- /dev/null
+++ b/Assets/Scripts/Managers/OrbManager.cs
@@ -0,0 +1,37 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class OrbManager : MonoBehaviour
+{
+    public PlayerHealth playerHealth;
+    public GameObject orb;
+    public int spawnOrb;
+    public float spawnTime = 3f;
+    public Transform[] spawnPoints;
+
+    [SerializeField]
+    public MonoBehaviour factory;
+    IFactory Factory { get { return factory as IFactory; } }
+
+    void Start()
+    {
+        //Mengeksekusi fungs Spawn setiap beberapa detik sesui dengan nilai spawnTime
+        InvokeRepeating("Spawn", spawnTime, spawnTime);
+    }
+
+
+    void Spawn()
+    {
+        if (playerHealth.currentHealth <= 0f)
+        {
+            return;
+        }
+
+        int spawnPointIndex = Random.Range(0, spawnPoints.Length);
+
+        // Menduplikasi enemy
+        Instantiate(Factory.FactoryMethod(spawnOrb), spawnPoints[spawnPointIndex].position, spawnPoints[spawnPointIndex].rotation);
+
+    }
+}
diff --git a/Assets/Scripts/Managers/OrbManager.cs.meta b/Assets/Scripts/Managers/OrbManager.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0cf75d98b3aa049e5044783a819e756bac4fabae
--- /dev/null
+++ b/Assets/Scripts/Managers/OrbManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3ebce3593297a094592f1a96d5e9cbed
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Orbs.meta b/Assets/Scripts/Orbs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e1916ec50946684cc98ff2063c8b3000a5eb0ccf
--- /dev/null
+++ b/Assets/Scripts/Orbs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 38f470ab5e93e81459ef5cb668fa6846
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Orbs/HealthOrb.cs b/Assets/Scripts/Orbs/HealthOrb.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c9bc774db5df4d3b69b798ed872b29b908972f62
--- /dev/null
+++ b/Assets/Scripts/Orbs/HealthOrb.cs
@@ -0,0 +1,34 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class HealthOrb : MonoBehaviour
+{
+    public float healthOrbTime = 0.5f;
+    public int powerUpValue = 10;
+    Animator anim;
+    GameObject player;
+    PlayerHealth playerHealth;
+    float timer;
+    // Start is called before the first frame update
+    void Awake()
+    {
+        player = GameObject.FindGameObjectWithTag("Player");
+        playerHealth = player.GetComponent<PlayerHealth>();
+        anim = GetComponent<Animator>();
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        if (timer >= healthOrbTime)
+        {
+            // hilang
+        }
+    }
+
+    void Taken()
+    {
+        playerHealth.TakePowerUp(powerUpValue);
+    }
+}
diff --git a/Assets/Scripts/Orbs/HealthOrb.cs.meta b/Assets/Scripts/Orbs/HealthOrb.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cfaf97fa756e4c161128380e37db093ec5325c9c
--- /dev/null
+++ b/Assets/Scripts/Orbs/HealthOrb.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 764e68913424eeb419dd38af7e60ff61
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Orbs/PowerOrb.cs b/Assets/Scripts/Orbs/PowerOrb.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ece06d3f35522545b901479ba2f1e91b80f77bbe
--- /dev/null
+++ b/Assets/Scripts/Orbs/PowerOrb.cs
@@ -0,0 +1,34 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class PowerOrb : MonoBehaviour
+{
+    public float powerOrbTime = 0.5f;
+    public int powerUpValue = 10;
+    Animator anim;
+    GameObject player;
+    PlayerPower playerPower;
+    float timer;
+    // Start is called before the first frame update
+    void Awake()
+    {
+        player = GameObject.FindGameObjectWithTag("Player");
+        playerPower = player.GetComponent<PlayerPower>();
+        anim = GetComponent<Animator>();
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        if (timer >= powerOrbTime)
+        {
+            // hilang
+        }
+    }
+
+    void Taken()
+    {
+        playerPower.TakePowerUp(powerUpValue);
+    }
+}
diff --git a/Assets/Scripts/Orbs/PowerOrb.cs.meta b/Assets/Scripts/Orbs/PowerOrb.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..08f2a9cd524816b8797560ce59b1bfb1ec2b2a79
--- /dev/null
+++ b/Assets/Scripts/Orbs/PowerOrb.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 25d572023fc8dca439d7bd171c970c34
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Orbs/SpeedOrb.cs b/Assets/Scripts/Orbs/SpeedOrb.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6fc5fbd4c2410cd579dd5fa2c5840dc216cb9d96
--- /dev/null
+++ b/Assets/Scripts/Orbs/SpeedOrb.cs
@@ -0,0 +1,34 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class SpeedOrb : MonoBehaviour
+{
+    public float speedOrbTime = 0.5f;
+    public int powerUpValue = 10;
+    Animator anim;
+    GameObject player;
+    PlayerSpeed playerSpeed;
+    float timer;
+    // Start is called before the first frame update
+    void Awake()
+    {
+        player = GameObject.FindGameObjectWithTag("Player");
+        playerSpeed = player.GetComponent<PlayerSpeed>();
+        anim = GetComponent<Animator>();
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        if (timer >= speedOrbTime)
+        {
+            // hilang
+        }
+    }
+
+    void Taken()
+    {
+        playerSpeed.TakePowerUp(powerUpValue);
+    }
+}
diff --git a/Assets/Scripts/Orbs/SpeedOrb.cs.meta b/Assets/Scripts/Orbs/SpeedOrb.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2c811bd55af4852fb47153dff68e5ad5564c663a
--- /dev/null
+++ b/Assets/Scripts/Orbs/SpeedOrb.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d104f8fb432c7ba41998f84129eedf56
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Player/PlayerHealth.cs b/Assets/Scripts/Player/PlayerHealth.cs
index d4392223edbb8576ed19c7724aa195c58fff15e3..11ce8502abfcc4f565a167e76433f951996d0874 100644
--- a/Assets/Scripts/Player/PlayerHealth.cs
+++ b/Assets/Scripts/Player/PlayerHealth.cs
@@ -68,6 +68,12 @@ public class PlayerHealth : MonoBehaviour
         }
     }
 
+    public void TakePowerUp(int amount)
+    {
+        currentHealth += amount;
+        healthSlider.value = currentHealth;
+    }
+
 
     void Death()
     {
diff --git a/Assets/Scripts/Player/PlayerPower.cs b/Assets/Scripts/Player/PlayerPower.cs
index d8b5069ecd74332fbb85acc7eb50f65450b504b9..8d2ac048da0df82859eee1ce1dc5bae4b80f3ecc 100644
--- a/Assets/Scripts/Player/PlayerPower.cs
+++ b/Assets/Scripts/Player/PlayerPower.cs
@@ -5,10 +5,10 @@ using UnityEngine.SceneManagement;
 
 public class PlayerPower : MonoBehaviour
 {
-    public int startingPower = 100;
+    public int startingPower = 10;
     public int currentPower;
     Animator anim;
-    public Slider healthSlider;
+    public Slider powerSlider;
     public Image damageImage;
     public AudioClip deathClip;
     AudioSource playerAudio;
@@ -32,4 +32,10 @@ public class PlayerPower : MonoBehaviour
     {
         
     }
+
+    public void TakePowerUp(int amount)
+    {
+        currentPower += amount;
+        powerSlider.value = currentPower;
+    }
 }
diff --git a/Assets/Scripts/Player/PlayerSpeed.cs b/Assets/Scripts/Player/PlayerSpeed.cs
index c8da1463991a84bd64ce951815a66500273c967b..9248013bc32d412a40b764e1e4820a4e837b4159 100644
--- a/Assets/Scripts/Player/PlayerSpeed.cs
+++ b/Assets/Scripts/Player/PlayerSpeed.cs
@@ -5,10 +5,10 @@ using UnityEngine.SceneManagement;
 
 public class PlayerSpeed : MonoBehaviour
 {
-    public int startingSpeed = 100;
+    public int startingSpeed = 10;
     public int currentSpeed;
     Animator anim;
-    public Slider healthSlider;
+    public Slider speedSlider;
     public Image damageImage;
     public AudioClip deathClip;
     AudioSource playerAudio;
@@ -32,4 +32,10 @@ public class PlayerSpeed : MonoBehaviour
     {
 
     }
+
+    public void TakePowerUp(int amount)
+    {
+        currentSpeed += amount;
+        speedSlider.value = currentSpeed;
+    }
 }