전체 글24 초보 개발자를 위한 20가지 게임(1) 초보 개발자들이 배워야 할 20가지 타입의 게임을 소개 합니다. 액션 게임 1. 타이밍 게임 첫번째는 타이밍 게임입니다. 타이밍 게임은 정확한 시간 내에 버튼과 탭을 사용하는 게임입니다. 특히, 캐릭터나 인터페이스들이 필요가 없습니다. 예를 들면, "언더 테일" 에서는 적 캐릭터로 부터 데미지를 받는 것을 나타내는 인터페이스가 필요 합니다. 오브젝트가 오른쪽과 왼쪽으로 움직일 때, 정확히 가운데 쯤에 위치 할 수 있도록 버튼을 누르는 것을 타겟으로 하는 게임입니다. 이러한 시스템은 주로 골프 게임이나 당구 게임등에 사용되어 왔습니다. 사운드 게임은 좀 더 복잡한 타이밍 게임이라고 할 수 있습니다. (간단한 게임들에 굉장히 많이 사용되어온 게임 타입입니다.) 2. 클릭게임 클릭 게임은 움직이는 오브젝트를 .. 2022. 7. 15. 다트(Dart) 기본문법(1) 주석 주석은 코드에 달아 두는 설명을으로 실행에 영향을 주지 않는다. 아래 예시와 같다. // 이것은 주석 : 한 줄 주석 /** * 이것도 주석 : 여러 줄 주석 **/ /// 이것도 주석 : 문서 주석 문장(statement) 문장은 명령 단위 이다. 문장의 끝은 세미 콜론(;)로 표시 한다. void main(){ print("Hello, World");//문장의 끝 } 변수(variable) 변수는 데이터를 담는 상자이다. 변수 종류를 타입 또는 자료형이라고 한다. 다트는 다음과 같은 기본 타입을 가진다. int : 정수 double : 실수(소수점) string : 문자열 bool : 불리언(참과 거짓을 가진다) 변수명 앞에 타입을 선언하고, 변수명 뒤에 = 로 값을 할당한다. String na.. 2022. 6. 20. GameMaker Studio2 컴파일 에러 Gamemaker studio2 에서 에드몹 광고를 앱에 적용하면 pod install을 사용하여 라이브러리를 install하게 됩니다. Gamemaker studio2 를 사용하여 아이폰 앱을 올리던 중에 cocoapods 명령 중 pod install; Unicode Normalization not appropriate for ASCII-8BIT....... 하는 에러가 발생하면서 계속 루프를 돌고 있었습니다. 생전 처음 보는 에러라서 한참을 헤매었는데, stackoverflow 에 해결책이 있었습니다. 계속해서 Gamemaker를 사용하고 있지만, 한번씩 버전이 업그레이드 될 때마다 이런 상황들을 만나서 믿음이 많이 떨어져 가는 상황입니다. 기회가 되면 GMS2를 사용한 게임 제작 포스팅을 올려 볼.. 2022. 6. 2. RogueLike definition summary I tried to summarize the definition of roguelike. The definition of roguelike can be broadly divided into two interpretations. It is "PDL" and "Berlin Interpretation". PDL PDL is an acronym for "Procedual," "Death," and "Labyrinth," which are the core elements of roguelike. If it meets PDL, it can be said that it has a strong rogue property. Berlin Interpretation It seems that the Berlin interpr.. 2022. 5. 30. Tilemap Workflow 오늘은 유니티에서 타일맵에 대해서 알아 보도록 합니다. 유니티는 굉장히 오래된 게임 엔진입니다. 주로 모바일이나 웹에 타겟팅을 한 3d 엔진이라고 할 수 있습니다. 타일맵이 유니티에 소개 된 것은 그렇게 오래 되진 않았지만, 2d 게임 개발을 위해서는 필수 기능중 하나라고 할 수 있습니다. 소개 하는 방식은 기존 프로젝트를 Tilemap으로 이전하는 방식을 사용할까 합니다. 기본적인 타일맵에 대한 소개는 유니티 문서에 잘 소개 되어 있습니다. 개발자분들도 아실 지 모르지만 사실 아는 것과 적용하는 것은 굉장히 다릅니다. 소개에 대한 부분이나 이런 부분은 유니티 문서에 아주 잘 나와 있으니 그런 부분은 직접 공부해 보시고, 여기서는 실제 적인 부분을 어떻게 적용하는가 하는 부분 위주로 접근하려 합니다. 일.. 2022. 5. 25. 레벨 디자인(6) 레벨 디자인을 할 때 꼭 염두에 두어야 할 점을 정리합니다. 플레이어의 관점에서 생각하라. 항상 게임 제작자는 게임 플레이어와는 다르다는 것을 알고 있어야 합니다. 예를 들면, 지루하다고 생각되는 레벨을 다른 이에게 플레이를 부탁했을때 어떻게 해야 할 지 모르는 경우가 발생 합니다. 플레이 자체가 지루할 수도 있지만, 잘 만들어진 튜토리얼 레벨이 그런 부분을 해소 할 수도 있습니다. 또는 주저 없이 골에 도착해 놓고도, "다음은 어떻게 하지?" 하고 생각할 때도 있습니다. 이정표 아이템을 통한 가이드 위의 것들을 충분히 활용하여 플레이어의 의문들을 사라지게 할 수 있습니다. 레벨을 플레이 한 이들의 충고에 성실하라. 레벨을 테스트 할때, 기분나쁜 의견들을 받게 됩니다. 그런 경우, 이상한 이유를 들어서 .. 2022. 5. 20. 레벨 디자인(5) 레벨이 잘 구성되어있는지 알아내는 척도 레벨을 판단하는데 다음의 척도를 사용할 수 있습니다. 리플레이 값 레벨의 스코프 재 시도 횟수 리플레이 값 플레이어가 클리어한 스테이지를 다시 플레이 하고 싶어하는지를 나타내는 값. 리플레이 값을 올릴 수 있는 유인으로는 스코어 감추어진 소재 다른 종류의 특성을 가진 플레이어 캐릭터 스코어 스코어는 플레이 정도를 잴 수 있는 숫자이다. 적절한 스코어 배분은 플레이어로 하여금 좀 더 적절한 플레이를 할 수 있도록 유도하는 효과를 냅니다. 감추어진 소재 만약 플레이어가 "바로 클리어 할 필요는 없어, 여기에 뭔가 다른 것이 있어" 라고 생각하며 감추어진 소재에 대해서 관심을 가진다면 리플레이 값은 증가 할 것입니다. 예를 들면, 금으로 만들어진 문으로 닫혀 있는 방이 .. 2022. 5. 18. Music Wave 레이 아웃 기본 적인 레이 아웃을 확인 합니다. 전체 적으로 확인해 보면, 조금 복잡해 보입니니다. 처음 앱을 개발하는 과정을 간략히 설명하면서 레이 아웃에 대해서 설명해 보도록 합니다. MusicWave는 아이팟 라이브러리로 부터 로컬 파일의 플레이 리스트를 읽어 와서, 그 파일을 로드 합니다. 로드한 파일은 웨이브 폼으로 그려지고, 그려진 웨이브 폼에 필요한 부분을 확인하여 북 마크를 합니다. 북 마크가 된 부분들을 연동하여 필요한 작업을 할 수 있습니다. 쉽게 얘기 하면 필요한 부분에 대한 리피팅 기능을 할 수 있는 반복 작업용 리피터라고 할 수 있습니다. 좀 더 구체적으로 하나 하나씩 설명해 보도록 하지요. 전체 UI는 크게 5개의 row를 가집니다. 음악과 북 마크는 각각 음악 리스트 와 북 마크 리스트 .. 2022. 5. 16. Flutter 앱 만들기 오늘은 플러터를 사용하여 기본적인 앱을 만들고 실행해 보도록 합니다. 기본적인 IDE로는 Visual Studio Code 나 Android Studio를 사용합니다. 가능하면 IDE를 사용하는 것이 편리하지만, 개발을 하는 입장에서는 기본적인 CLI(Command Line Interface) 명령어를 알아야 합니다. 그래야만 문제가 발생하는 경우 대처할 수 있습니다. 모든 IDE의 기본은 CLI이기 때문입니다. 먼저 터미널에서의 CLI를 설명하고, IDE 메뉴를 제공하는 방식으로 포스트를 하려 합니다. 앱 생성 터미널에서는 flutter create myapp cd myapp VSCode View메뉴의 Command Pallete...를 선택합니다. “flutter”를 입력한 후, Flutter: Ne.. 2022. 5. 16. 이전 1 2 3 다음