STAR CATCHER
We hadden vijf weken om een kleine Android app te maken. Er moest gebruik gemaakt worden van een van de sensors. Wanneer de sensor af gaat, trilt je telefoon. Dit heb ik gemaakt. De game heeft de Google Play games services er in zitten. In de app zit een leadersbord. En achievements die je kunt halen. Het level in eindeloos.
Daarnaast hadden we nog drie weken voor het maken van een kerst versie.
Hoe werkt het endless van de game
Om dit te kunnen maken heb ik een map met stukken level gemaakt. Vervolgens heb ik ze aan elkaar geplakt.
Tools:
- Unity Engine
- Visual Studio
- Trello
Team:
- Jessey Novani – Developer
- Steffy Ottenhein – Artist
- Janey Trigt – Artist
- Jeordie Ghoul – Artist
Source code: https://gitlab.com/jesseycool/star-catcher
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System.Collections; | |
using System; | |
using UnityEngine; | |
using UnityEngine.SceneManagement; | |
public class LevelBuilder : MonoBehaviour | |
{ | |
private int[] m_parts = { 2, 3, 4, 5, 6 }; | |
//private int[] m_hardParts = { 5, 6 }; | |
private int m_amountOfPartsOnScreen = 5; | |
private float m_partHeight = 10f; | |
private float m_spawnY; | |
private IEnumerator Start() | |
{ | |
for (int i = 0; i < m_amountOfPartsOnScreen; i++) | |
{ | |
yield return StartCoroutine(LoadPart(GetRandomPart(m_parts))); | |
} | |
} | |
public void SpawnPart() | |
{ | |
StartCoroutine(LoadPart(GetRandomPart(m_parts))); | |
} | |
private int GetRandomPart(int[] list) | |
{ | |
System.Random rand = new System.Random(Guid.NewGuid().GetHashCode()); // True random | |
int i = rand.Next(0, list.Length); | |
return list[i]; | |
} | |
private IEnumerator LoadPart(int scene) | |
{ | |
yield return SceneManager.LoadSceneAsync(scene, LoadSceneMode.Additive); | |
GameObject[] pp = GameObject.FindGameObjectsWithTag(Gamemanager.PART_PIVOT_TAG); | |
GameObject pivot = pp[pp.Length - 1]; | |
SceneManager.MergeScenes(SceneManager.GetSceneAt(SceneManager.sceneCount - 1), SceneManager.GetActiveScene()); | |
pivot.transform.position = Vector2.up * m_spawnY; | |
m_spawnY += m_partHeight; | |
} | |
} |