Giter VIP home page Giter VIP logo

getout-sdl2-game-project's Introduction

Getout - SDL2 기반 공포 방탈출 액션 퍼즐 게임

2021년 2-2 '프로그래밍방법론및실습'과목 기말 팀 프로젝트

Getout이란 게임은 C언어와 SDL2 라이브러리를 활용하여 개발된 Top-down 형식의 공포 방탈출 액션 퍼즐 게임이다. 플레이어는 납치범의 집에서 깨어나며, 주어진 퍼즐을 해결하고 장애물을 극복해 탈출해야 한다.

팀 소개

학교 학과 학번 이름 역할
서울시립대 기계정보공학과 2018430006 김도형 Stage 1 퍼즐 시스템 구현
서울시립대 기계정보공학과 2018430013 김영준 Stage 2 액션 시스템 구현

게임 개요

  • 장르: 공포, 방탈출, 액션, 퍼즐
  • 플레이 타임: 약 15분
  • 개발 환경: Ubuntu 18.04, C언어, SDL2 라이브러리
  • 주요 특징:
    • 퍼즐 해결: 디지털 논리설계 개념을 적용한 논리 게이트 퍼즐, 키 패드 퍼즐
    • 액션 요소: 샷건을 활용한 주변 오브젝트와의 상호작용을 통해 적을 처치
    • 스토리 및 엔딩: 명확한 목적, 스토리, 엔딩이 존재하는 게임

빌드 및 실행

Ubuntu 18.04에서 다음의 컴파일러 및 라이브러리 버전을 사용하여 개발되었다.

  • gcc 5.4.0
  • SDL2 version 2.0.4
  • make 4.1
  1. 이 프로젝트의 저장소를 클론한다.
  2. Getout/src 디렉토리로 이동하여 makefile을 사용해 컴파일한다.
  3. 상위 디렉토리에서 실행 파일을 실행한다.(./Getout)

조작 방법

  • 이동: WASD 키
  • 상호작용: Spacebar 키
  • 퍼즐 해결: 마우스 드래그 & 드랍

소스코드 설명 및 루프 구조

소스코드 구조

  • 프로젝트의 전체적인 소스코드 구성을 보여주는 다이어그램. 각 파일의 역할과 상호작용을 간략하게 설명한다.


게임 루프 구조

  • Getout 게임의 핵심 루프 메커니즘을 도식화한 그래프



플레이 스크린샷

Stage 1

Stage 1에서 플레이어는 납치범의 집에서 깨어난다.
여기서의 목표는 주변을 탐색하며 숨겨진 퍼즐과 힌트를 찾아, 잠겨 있는 방문을 열고 다음 단계로 나아가는 것이다.
디지털 논리 설계 개념에 기반한 다양한 논리 게이트 퍼즐을 해결하고, 키 패드 자물쇠를 풀어내는 과정에서 추리력이 필요하다.

Stage 1(퍼즐 예시)

Stage 2

Stage 1에서는 넓은 거실로 이동한 플레이어가 납치범과 직접적으로 마주하게 된다.
납치범은 무기를 들고 플레이어를 추격하기 시작하며, 곳곳에 배치된 위험한 오브젝트들을 피하면서, 샷건을 찾아 범죄자를 제압해야 한다.
최종적으로는 현관문을 통해 집을 탈출하는 것이 목표이다. 이 단계에서는 빠른 판단력과 액션 게임에 대한 숙련도가 요구된다.

getout-sdl2-game-project's People

Contributors

youngjr0527 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.