일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Vampire Survivors
- 게임 제작
- Unity
- Unity2D
- 유니티 3D
- 자바스크립트
- 1인 게임 제작
- 정처기
- 1인 개발
- 필기
- 자바스크립트 게임
- Pong
- 유니티3d
- 합격
- 1인 게임
- 토이 프로젝트
- portal
- 정보처리기사
- 정처기 필기
- Unity #Unity2D #Portal
- 프로그래머스 #최소힙 #우선순위 큐
- 게임 개발
- 1인 게임 개발
- 3회차
- 게임
- unity3d
- 유니티
- 퐁
- FPS
- 게임제작
- Today
- Total
Coding Feature.
SFML 게임 제작 공부 #1. 시작, SFML에 대해서. 본문
예전에 게임을 만들어보고 싶어서 Unity 게임 엔진을 조금 공부해보았다.
Unity를 통해 게임을 만드는 것은 확실히 편하고 생산성이 뛰어나지만 게임 제작에 대해서 단순히 개발 뿐만 아니라
공부를 하는 입장에서, 개발하는 일의 일부를 엔진에게 전가하는 느낌이 들어 내가 직접 게임을 만들고 있다는 느낌이 들지 않았다. 그리고 게임 엔진이 하는 일이 무엇인지 좀 더 깊게 파보고 싶다는 생각이 들었다.
최근에 운좋게 SFML이라는 훌륭한 C++ 멀티미디어 라이브러리를 발견하게 되어 이 참에 게임을 만드는 과정을 가능한 한 바닥부터 하드코딩하여 전체적인 Game Design과 Flow를 공부해보고 싶다는 생각을 했다.
예를 들어 Unity에서처럼 Scene, Sprite 등을 관리하는 manager를 직접 만들거나, RigidBody와 같은 물리적 기능을 직접 구현하는 법을 배우는 것이다.
이를 통해 다음과 같은 효과를 기대해본다.
- 게임 프로그램이 실행되는 Flow를 완벽히 이해한다.
- 게임을 만드는 데 사용되는 여러 Software Design을 이해한다.
- 게임 요소(Sprite, Texture, Physics, Scene 등)와 이를 관리하는 Manager를 직접 구현한다.
- 게임 성능 측면에서의 최적화(메모리, 속도 등)를 이해한다.
- 기획한 게임을 만들기 위해 그에 맞는 게임 엔진을 직접 제작할 수 있다.
- 다양한 그래픽 API(Direct X, OpenGL 등)를 다룰 수 있다.
- etc.
우선 SFML에 대해서 알아보았다.
https://ko.wikipedia.org/wiki/SFML
SFML란,
SFML(Simple and Fast Multimedia Library)은 컴퓨터의 다양한 멀티미디어 구성 요소에 단순한 API를 제공하기 위해 설계된 크로스 플랫폼 소프트웨어 개발 라이브러리이다. (출처 - 위키백과)
SFML 은 기본적으로 다음 5가지 멀티미디어 모듈을 제공한다.
- System
- Window
- Graphics
- Audio
- Network
기본 언어는 C++이므로 객체 지향 프로그래밍이 가능하고, 컴파일 언어이므로 성능이나 디버깅 측면에도 우수해 여러모로 게임을 만들거나 개발 공부를 하는데 좋은 라이브러리인 것 같다.
그 다음 공부에 필요한 학습자료들을 찾아보았다.
1.
https://youtube.com/playlist?list=PL_xRyXins848nDj2v-TJYahzvs-XW9sVV&si=S6D8vY5wxVI7Gj0x
사실 위 영상들을 통해 처음 SFML을 알게 되었다.
Dave Churchill 교수님의 2022년 가을 학기 "COMP4300 : Introduction to Game Programming" 이라는 대학 온라인 강의 재생목록인데, 교수님 강의력도 정말 좋고 게임 제작에 대한 근본적인 개념을 짚고 넘어가기 때문에 매우 훌륭한 강의라고 생각한다.
하지만 교수님이 남긴 댓글에 따르면 1년마다 강의가 새로 업데이트 된다고 하므로 나중에 새로운 강의가 나왔을 때 새로운 재생목록으로 수정해야할 수도 있겠다.
2.
https://youtube.com/playlist?list=PLRtjMdoYXLf4L0UVTggZdTV55baO6x6CO&si=4UD7J0RWLMsDAxDP
영상 길이도 짧고 별다른 추가 설명없이 대부분 코딩만 하기 때문에 지식적인 측면에서는 새로운 것을 얻기에는 힘들 수도 있겠으나 내가 직접 코딩해보면서 스스로 지식을 쌓기에는 시간 대비 좋을 것 같아서 선택했다.
다만 아쉬운 점은 중력 구현과 같은 2D Physics 내용이 없다는 것이다. 이는 추후 다른 교재를 통해서 공부해보기로 한다.
3.
https://www.yes24.com/Product/Goods/43737771
공식 SFML 페이지에 소개되어있는 책으로 Ebook으로 구입할 수 있었다.
'Game Development > SFML 게임 제작 공부' 카테고리의 다른 글
SFML 게임 제작 공부 #6. Input, Event 처리 (Event Manager). (0) | 2023.09.10 |
---|---|
SFML 게임 제작 공부 #5. Game 클래스, 시간 처리. (0) | 2023.09.07 |
SFML 게임 제작 공부 #4. Window 클래스. (0) | 2023.09.05 |
SFML 게임 제작 공부 #3. Game Loop. (0) | 2023.09.05 |
SFML 게임 제작 공부 #2. SFML 라이브러리 개발 환경 구축하기. (0) | 2023.09.02 |