기술 스택
Node.js
라즈베리파이
GPS 모듈
JavaScript
Unity 2D 액션 게임 프로젝트
스테이지 기반 보스 배틀 액션 게임
Unity 엔진을 활용하여 개발한 2D 액션 게임으로, 여러 스테이지를 순차적으로 진행하며 최종적으로 보스와 대결하는 구조입니다.
주요 구현 기능
- 스테이지별 난이도 상승 시스템
- 다양한 패턴의 보스 AI 구현
- 실시간 UI 업데이트 및 애니메이션
- 상태 기계를 활용한 게임 로직 설계
핵심 구현 코드
public class GameManager : MonoBehaviour
{
public GameObject[] Stages;
private int stageIndex = 0;
public void NextStage()
{
if(stageIndex < Stages.Length - 1)
{
Stages[stageIndex].SetActive(false);
stageIndex++;
Stages[stageIndex].SetActive(true);
PlayerReposition();
UIStage.text = "Stage " + (stageIndex + 1);
}
}
public class BossController : MonoBehaviour
{
private float bossHealth;
private bool isPhase2;
void Update()
{
if (bossHealth < phase2Threshold && !isPhase2)
{
animator.SetTrigger("Phase2");
isPhase2 = true;
// 보스 패턴 변경 로직
}
}
}
}
개발 특징
- GameObject 배열을 활용한 효율적인 스테이지 관리
- Animator와 State Machine을 결합한 보스 AI 구현
- 실시간 UI 동기화 및 애니메이션 처리
캡스톤 디자인 프로젝트
재능대학교 통학버스 실시간 위치 추적 시스템
담당 역할
- 프로젝트 기획 및 아이디어 제안
- PPT 제작 및 발표
- Node.js 백엔드 개발
- 하드웨어 연동 및 GPS 데이터 처리
- 실시간 위치 추적 시스템 구현
구현 코드 예시
const SerialPort = require('serialport');
const GPS = require('gps');
const port = new SerialPort('/dev/ttyS0', { baudRate: 9600 });
const gps = new GPS();
port.on('data', (data) => {
gps.update(data.toString());
});
gps.on('data', (parsed) => {
console.log(parsed); // 위도, 경도 등 위치 정보 출력
});