자바 리듬게임 오픈소스 - jaba lideumgeim opeunsoseu

자바 리듬게임 오픈소스 - jaba lideumgeim opeunsoseu

개 요

안녕하세요. 필자가 공대생인 걸 전혀 모르는 사람들이 많을 정도로 제가 전공 관련 포스팅이

부진했나 봅니다. 때문에 이번에는 JAVA로 리듬 게임을 만드는 포스팅을 해보려고 합니다.

바쁜 관계로 자세한 과정은 서술할 생각이 없기도 하고 안경개발자님의 포스팅을 토대로

만들었기 때문에 자세한 건 안경개발자님의 링크를 참조하시면 좋겠습니다.

프로그램은 영상과 마찬가지로 Eclipse를 사용하였고 별개의 개발 툴은 사용하지 않았습니다.

참고로 안경개발자님의 강의는 16강으로 완성이 아닌, 미완성 강의입니다.

때문에 점수 합산, 점수 화면 등의 구현이 되어있지 않다는 점 유의하시길.

https://www.youtube.com/watch?v=xs92kqU2YWg&list=PLRx0vPvlEmdDySO3wDqMYGKMVH4Qa4QhR

필자가 만든 리듬 게임은 서브컬쳐계 블로그답게 서브컬쳐를 컨셉으로 한 리듬 게임입니다.

노래는 3개만 구현해놓았고 각 메소드마다 주석으로 설명을 적어놓았기 때문에

소스 코드를 보고 쉽게 추가하실 수 있을 것 같습니다.

필자가 자바를 배운지 얼마 안 되었기 때문에(약 2개월?)

코드의 효율성이나 완성도가 미흡한 점은 양해 바랍니다.

자바 리듬게임 오픈소스 - jaba lideumgeim opeunsoseu

추가된 기능

기본 틀과 구현 방식 등은 모두 안경개발자님의 리듬 게임 만들기를 토대로 만들었습니다.

때문에 전부 비슷하고 필자가 개인 프로젝트를 진행할 때 필요했던 기능들만 추가하는 방식으로 했습니다.

1. 데이터베이스 연동

(상세 정보는 계획서 or 최종보고서 참조)

2. 점수 합산 기능

3. 점수 화면 출력

4. 디자인 변경

5. 로그인 기능

6. 회원가입 기능

7. 정품 등록 기능

이 안에서 메인 프로그램을 위한 클래스는 아래와 같습니다.

Music, Track, TuneOfHeart, Note, Game, KeyListner, Score

로그인과 데이터베이스 등 불필요한 기능은 클래스를 배제하고

다른 클래스 내부에 포함된 코드만 삭제해서 사용하시면 될 것 같습니다.

자바 리듬게임 오픈소스 - jaba lideumgeim opeunsoseu

1. 프로젝트 계획서

2. 요구사항 분석서

3. 최종 보고서

4. 최종 결과물 영상

5. 소스코드 및 첨부 이미지, 음악 등

첨부파일 전반은 글 하단에 있습니다.

소스코드는 용량이 큰 관계로 분할되어 있습니다.

(블로그 최대 첨부10Mbyte 실화인가;;)

귀찮으신 분은 예의 있게 댓글 남기시면 필자가 한가할 때

보내드리겠습니다. ㅋㅅㅋ

자바 리듬게임 오픈소스 - jaba lideumgeim opeunsoseu

자바 리듬게임 오픈소스 - jaba lideumgeim opeunsoseu

후 기

이번 개인 프로젝트를 진행하면서 계획서, 요구사항 분석서 등의 서류 작업도 처음 해보았기 때문에

숙련자의 눈에는 많이 부족해 보일 수도 있을 것 같습니다. JAVA를 배운 것도 몇 달 안되어서 코드도 엉성..

아무튼 아직까지 인터넷에서 조사해본 바로는 각종 기능이 추가된, 즉 완성된 프로젝트가 없었기 때문에

같은 길을 걷는 공대생들에게 조금이라도 도움이 되었으면 해서 올려보았습니다.

물론 Github에는 넘쳐나겠지만 아는 분이 많이 없으니...

많이 미숙한 프로그램이지만 이를 기반으로 보다 훌륭한 프로그램을 만드는 초석이 되기를 빌어봅니다.

그냥 그대로 개인 프로젝트라고 제출해도 되지 않을까 싶습니다. ㅇㅅㅇ 걸리면 전 모름.

개인 프로젝트

리듬게임 ( RhythmGame )

자바 리듬게임 오픈소스 - jaba lideumgeim opeunsoseu

<로딩 화면>

자바 리듬게임 오픈소스 - jaba lideumgeim opeunsoseu

<메인 화면>

자바 리듬게임 오픈소스 - jaba lideumgeim opeunsoseu

<게임 화면>



작품 주제

Java를 가지고 간단한 리듬게임을 연습삼아 만들어 보았습니다.

곡에 맞추어 노트가 떨어지고 기준 라인에 내려왔을 때 히트시켜서 점수를 얻는 게임입니다. 난이도는 1부터 5까지이고, 총 4곡에 대한 리듬게임이 있습니다. 게임이 끝난 후 얻은 점수에 대해서 등급을 매겨 화면에 보여줍니다.


개발 환경

  • Eclipse
  • JAVA

개발 기간

  • 기간 : 17.11.10. ~ 17.12.04
  • 프로젝트 인원 : 1명


결론

  • 조금 더 체계적으로 파트별로 정리하는 방법을 숙지하였음.

  • 게임 개발 싯 Frame 개념을 얻음.

  • 게임 중간중간 끊기는 현상이 간헐적으로 발생하였다. 더 체계적으로 개발해야 할 것을 생각하게 됨.

  • 아직도 리듬에 맞추어 노트가 떨어지는 수학적 방식을 이해하지 못하였음.