Death Mystery

Met Project Short burn gingen we een First Person Puzzler maken. De game speelt zich af rond 1850-1920. Het verhaal is dat er een moord is gepleegd en dat de moordenaar zijn moord geheim probeerd te houden door alles achter puzzles verstopt te houden.
Met project Short Burn was ik ScrumMaster en zorgde er voor dat iedereen zijn idee besproken werd in de groep en uiteindelijk waren we het allemaal eens over 1 game idee. Ik heb ook 2 puzzels gemaakt. TiltBox & ConnectWires. Verder heb ik het interaction system gemaakt zodat alles het zelfde systeem gebruikt. Ik heb ook nog best veel bugs lopen fixen en de models updaten van alle puzzles dit gaf bij een aantal puzzles nog wat issues.

Project Info:

Teamleden: Marco van Roskam (Dev), Elias A (Dev), Zeke Haccou (Artist), Victor Min (Artist) & Remy P(Sound)
Project tijd: Jaar 2 Periode 4 (14-05-2021 t/m 01-07-2021)
Engine: Unity
Code Languages: C#
Design Patterns: Singleton




    void Update()
    {
        if (runPuzzle) { 
        Ray ray = PlayerCharacterController.instance.PlayerCamera.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit, 10f, puzzleLayer)) {
                if (Input.GetMouseButtonDown(0))
                {
                    for (int i = 0; i < wiresStartPoint.Length; i++) //Checks if RayCast hits Connector.
                    {
                        if (hit.transform.gameObject == wiresStartPoint[i]) 
                        {
                            cableGrab.Play();
                            CableSelected = i;
                            break;
                        }
                    }
                }
            }

            if (CableSelected != -1) //Runs when a cable is selected.
            {
                bool complete = false;
                if (hit.collider != null) wires[CableSelected].SetPosition(1, hit.transform.localPosition);

                if (Input.GetMouseButtonUp(0)) //When the player releases the Left MouseButton the position is getting checked for valid position.
                {
                    for (int i = 0; i < wiresEndPoint.Length; i++)
                    {
                        if (hit.collider != null && hit.transform.gameObject == wiresEndPoint[i])
                        {
                            cableConnect.Play();
                            combination[CableSelected] = i + 1;
                            wires[CableSelected].SetPosition(1, wiresEndPoint[i].transform.localPosition);
                            complete = true;
                        }
                    }
                    if (!complete) wires[CableSelected].SetPosition(1, wiresStartPoint[CableSelected].transform.localPosition); //When the cable isn't connected it will be reset.
                    CableSelected = -1;

                    for (int i = 0; i < combination.Length; i++) //Checks if every wire is assigned a connector.
                    {
                        if (combination[i] == 0) break;
                        if (i == combination.Length - 1) CheckCombination(); //Checks For Right Combination
                    }
                }
            }

            if (PlayerInputHandler.instance.pressedKey(KeyCode.E)) ClosePuzzle(); //Closes Menu
        }
    }