게임개발_이야기 20

탄막슈팅 시리즈 - 1.1

작업 환경 갖추기IDE ( VS Code ) 설치 링크는 https://code.visualstudio.com/docs/?dv=win64user 입니다.* 구글에 검색하면 바로 나옵니다 보통 repositry 를 git 을 사용하므로 git 까지는 자동 설치하는 것을 권장합니다.* 탄막 슈팅 시리즈 내용은 github 에 같이 반영합니다 git 그리고 vs code 는 읽어 보시면 좋지만.. default 로 체크된 항목은 그대로 따라가면 됩니다.중간에 git 에서 editor 설정은 vs code based 로 바꾸면 편합니다.* 터미널에서 자동으로 git bash 가 나옵니다 VS Code 는 javascript 친화적이므로 ( 개발 자체가 web 기반 ) 별도의 plug-in 을 설치할 필요는 없습..

탄막슈팅 시리즈 - 1

"슈팅 게임" 이라는 장르와 게임 컨텐츠 관점의 설명은 생략합니다.보편적인 내용일 뿐더러 슈팅 게임을 접해본 사람이면 피부로 느낄 수 있는 내용을 앞으로도 큰 설명없이 생략합니다.게임 개발 관점에서 필요한 내용 위주로 작성합니다.  "게임" 은 어떻게 구성될까요?컴퓨터 프로그래밍에서는 하나의 목적을 가진 내용을 수행 ( function 과 같음 ) 을 하고 종료합니다.다만, 긴 시간을 두고 유저 ( 클라이언트 ) 와 상호작용을 하는 프로그램도 존재합니다.게임도 같은 맥락입니다. 게임 한판의 컨텐츠는 시작과 끝이 명확하지만 게임 프로그램 자체는 유저가 시작하고 종료하기 전까지 임의로 종료되지 않습니다. 그 말인 즉 프로그램은 종료되지 않고 끝나지 않는 루프 ( 반복 ) 을 가지게 됩니다.여기서 우리는 GU..

탄막슈팅 시리즈 ( 시작 )

안녕하세요. 이번에는 탄막 슈팅 시리즈를 시작하겠습니다.본문은 "게임 매니악스 탄막 게임 알고리즘" - "한빛미디어" 에서 내용을 받아 진행하며, 책에서 다루는 cpp 를 javascript 로 포팅하면서 내용을 진행합니다. 이는 집필된지 오래된 내용이라 cpp 도 native 이며, dx9 를 기준으로 작성되었기에 공부 목적으로는 충분하나 요즘 트렌드에 조금 맞추어 언어를 바꾸게 된 이유이기도 합니다. javascript 는 플랫폼에 구애받지 않고 ( os, browser ) 순수 native javsacript ( MDN ) 을 따르기에 쉽게 작성할 수 있습니다.( library 요소는 HTML5 스펙을 따릅니다 ) 또한 서적의 친절한 내용을 하나씩 따라가면서 프레임워크와 게임 구조를 모두 설명하기 ..

지뢰찾기 - 2

지뢰 찾기 게임을 만들면서 알고리즘이 무엇이 필요할까 싶지만 몇 가지 고민은 필요하다. ( 1 ) 처음으로 "지뢰를 임의로 숨겨둔다" 의 알고리즘이 필요하다. 이는 임의 를 구성하는 여러 방법 중에 하나를 사용하면 된다. 주어진 블록은 가로 & 세로로 구성되어 하나의 Index 로 표현할 수 있다 ( 1 차원 Array ) 지뢰 갯수 M 을 입력 받았을 때 배열 A 에 M 개 만큼의 블록에 지뢰 상태를 부여하고, 배열 A 를 섞었다. for (var i = block_side_num ** 2 - 1; i > 0; i--) { var j = Math.floor(Math.random() * (i + 1)); [blocks[i], blocks[j]] = [blocks[j], blocks[i]]; } ( N^2..

지뢰찾기 - 1

https://github.com/keicoon/mine GitHub - keicoon/mine Contribute to keicoon/mine development by creating an account on GitHub. github.com 윈도우 OS 를 설치하면 기본 프로그램이 설치된다. 그 중 게임 폴더에서 손쉽게 접할 수 있는 게임으로 "지뢰 찾기" 가 있다. 그 지뢰 찾기 게임을 만들어본다. 지뢰 찾기 게임의 룰은 간단하다. 보여지지 않은 블록에는 일정 수의 지뢰가 숨겨져 있다 플레이어는 블록을 하나씩 열어 지뢰가 아님을 확인 한다 지뢰를 피해 모든 블록을 열면 승리한다 지뢰를 하나라도 열면 패배한다 보너스 규칙도 존재한다. 짧은 시간에 성공하면 추가 점수를 획득한다 깃발 ( 지뢰라고 가정..

WalkieTalkie - 0

안녕하세요. 가제 ( WalkieTalkie ) 로 voip 가능한 chat program 을 구성해보려합니다. 구조는 dotnet 으로 서버를 구성하고 .NET MAUI 으로 클라이언트로 생각하고 있습니다. 첫 시작으로 server 를 만들겠는데요. VS IDE 를 실행하고 dotnet console program 으로 프로젝트를 시작하면 됩니다. Core 의 첫 단추는 socket 을 생성해야 합니다. 1. listen socket 을 만들어봅니다. listen socket 은 외부의 connection 요청을 받아 줄 수 있는 수신기라 생각하면 됩니다. 인터넷을 통해 통신을 하기 위해서는 발신자가 수신자의 주소를 알아야 합니다. 현재는 ip 와 port 로 그 주소를 지칭할 수 있습니다. ip 는 ..

OpenGL GLUT FW

사실 간단한 텀프로젝트를 진행하기 위해OpenGL로 작성된 PC 3D Framework를 만들고 있다. 광원과 3D 모델링을 보여줄 생각으로 만들고 있는데(기대모습은 마인크래프트?)별 생각없이 GLUT를 사용했다가 나중에 깨달은 점이glut는 이미 버전이 오래전부터 업데이트가 멈춘상태임.freeglut라는 대안이 있지만 대부분의 opengl 사용자는 glfw를 선호함.glut를 사용하면 opengl1.1 이하에서만 호환됨. 프로젝트에서 셰이더 코드를 사용할지는 미정이지만 차후 필요하게 된다면freeglut로 넘어가는걸 고려해야겠다. amd r7 에서 큐브하나 돌리는데 FPS가 1600~1700정도 나온다.성능상 큰 문제가 있다면 갈아 엎어야 할 수도;; 내일은 간단한 obj 3d파일을 로딩할 계획임.그리..

게임잼과 NDC 참가

MS windows10 GameJam에 참가했습니다.이번 게임잼은 보다 짧은 1박2일의 기간동안 새로운 윈도우 운영체제인 Win10에서 실행되는 게임을 제작하는 목표를 가졌습니다.도구는 Unity5를 사용하였고 3명의 동료들과 함께 게임개발을 했습니다.git을 통한 협업을 이루었는데 Unity-Git간의 조그만 신경을 써준다면 별 문제없이 연동되는 것을 확인했습니다.결과는 멘토상(부상으로 무선마우스)를 받았습니다.조금만 게임 설명을 한다면.. seontack-jangae (선택장애)>스토리외계의 마수의 지구침공으로 인해 지구가 위험에 빠졌다.과거 화려한 경험을 가진 주인공은 다시금 지구를 위해 출동한다.하지만, 그에게는 선택장애가 있다. 여러분은 주인공을 도와 마수를 무찔러..