일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 나는 스물일곱 2등 항해사입니다.
- Gym
- Python
- 어른의 행복은 조용하다
- comfyui
- 게임개발
- openAI
- 고양이발 살인사건
- Stable diffusion
- 쿠바전통음악
- 인생의 해상도
- 마담 프루스트
- 나는 매트로폴리탄 미술관 경비원입니다.
- 부에노비스타 소셜클럽
- 시집
- 운석피하기 게임
- 매트로폴리탄
- 단어가 품은 세계
- frozen lake
- gymnasium
- 타자연습게임
- 타이핑 몬스터
- pygame
- 야매요리사
- 아무도 없는 숲속에서
- 즐거운 어른
- Ai
- 숨결이 바람이 될 때
- 타이핑좀비
- 황선엽
- Today
- Total
목록pygame (13)
스푸79 기록 보관소

회사일 하면서 별도로 집에서 취미로 게임 개발하는게 참 쉽지가 않은 것 같습니다. 아무리 힘들어도명색이 타자연습게임인데 타수랑 정확도를 표시하지 않고 마무리하는 건 좀 아닌 듯 하다는 생각이 들었습니다.그리고 타자연습 게임은 플레이어의 타이핑 수준에 맞도록 게임의 속도 조절이 필요한데그런 처리를 하려면 게임 스테이지가 분리되서 각 스테이지별로 속도를 따로 처리해 줘야 해야합니다. 그래서 스테이지를 적용하고 본인의 능력을 알 수 있도록 타수와 평균타수, 정확도를 표시하고몇 마리를 잡아야 다음 스테이지를 넘어가는지 알 수 있도록 목표 수도 같이 표시하는게 좋을 것 같습니다. 스테이지 정보는 아래와 같은 구성으로 설계했습니다.stage스테이지 번호mobCnt등장 최대 몬스터 수, 해당 수 만큼 정확하게 타이핑..

너무 오랫만에 게임공작소에 글을 올립니다.세상 일이 그렇듯 마무리할 때가 제일 귀찮고 힘들고 참 그렇습니다.ㅎ좀비가 창궐한 세상에서 열심히 글자를 타이핑하면서 버티던 용감한 람보의 최후의 모습을스프라이트로 만들었습니다.ㅜㅜ지난 번 포스팅에서는 철조망 앞에서 손만 흔들 뿐 좀비가 철조망을 뚫지 못했습니다.이제는 최후의 보루인 철조망까지 뚫고 람포를 향해 계속 걸어가도록 처리했습니다.class Barrier(pygame.sprite.Sprite): def __init__(self, main, fence, pos, crash): super().__init__() self.id = "barrier" self.main = main ...(중략)..

이번 포스팅에서는 타자연습게임을 일정 확율로 특수 기술을 사용하도록 설정해 봤습니다.위에 그림을 보시면 '동자차', '동운회' 처럼 뜻을 알 수 없는 단어가 보일 겁니다. 원래 단어는 '자동차', '운동회'인데 좀비가 스킬을 사용하면'동자차', '동운회'처럼 글자의 순서를 바뀌도록 처리했습니다.그리고 또 다른 기술이 있습니다.아래와 같이 2초 정도 글자를 ??로 변경해서 숨기는 기술입니다. 좀비가 위의 두 개의 기술을 사용할 수 있도록 처리하는 방법은 다양합니다.그 중에서 우리가 개발할 때 가장 쉽고 빠르게 처리할 수 있는 방법은좀비에게 두 가지 기술을 모두 적용하고 일정한 확률로 기술이 발동되도록 코딩하는 겁니다. 무척 직관적이고 당연해 보이기 때문에 나중을 생각하지 않으면 이렇게 코드를 작성하기 쉽..

이번에는 게임의 배경과 구조물을 넣어 보도록 하겠습니다.바닥에 아스팔트 깔고 철조망을 올려서 좀비들이 특정 구역부터는 멈추도록 구현해 봤습니다.플레이어 이미지도 넣었습니다.원래 초기 기획 단계에서는 신부님이었는데 뜬금 없지만 람보로 바꿨습니다.점점 더 초기 기획과는 거리가 멀어지는 것 같네요. 아스팔트는 총 8개로 작업을 했습니다. 바닥에 너무 단조로운 이미지로 바닥을 깔면게임 화면이 많이 밋밋해 보이더라구요. 그래서 여러 채도의 회색을 섞여서실제 아스팔트처럼 보이도록 반죽해서 그렸습니다.^^ 이미지를 화면에 출력할 때 무작위로 8장의 이미지 중 1장을 골라서바닥에 차곡차곡 깔리도록 했습니다. 전체 화면이 800 x 800 이라 총 64장이 깔리면 화면이 꽉 채워집니다.class Background():..

지난 포스트에서 개발된 프로토타입을 기반으로 이미지와 애니메이션 효과를 넣어 작업을 해봤습니다. 기획 단계에서 작업한 이미지는 계속 마음에 안 들어서 작업 과정에서 손을 보게 되네요.가장 기본적인 몬스터인 좀비의 애니메이션 작업을 진행했습니다.걷는 동작은 총 7 장의 그림으로 그렸습니다. 초당 60프레임 게임으로 가정하면 60 ÷ 7 = 8.57...정도가 나옵니다.즉, 이미지 하나가 9~10프레임정도 유지하고 다음 프레임으로 넘어가도록 처리하면1초에 7개의 동작을 모두 처리할 수 있습니다. 죽는 동작은 총 8 장의 그림으로 그렸습니다.머리 위에 글자와 동일한 글자가 타이핑이 되면 걷는 동작을 멈추고그 자리에서 고개를 숙이고 쓰러지는 애니메이션을 넣었습니다.걷는 동작과 짝이 맞지 않아 걷는 동작을 하나 ..

아주 오랜만에 게임공작소에 포스팅을 하네요. 운석피하기 게임 개발은 사실 지난 번 포스트에서 모두 개발이 되었습니다.그런데 게임이 너무 노잼이라 심폐소생술을 통해재미를 좀 줘보려고 했습니다.그런데 개발의 원래 목적이 강좌용이다 보니재미는 커녕 너무 조악한 게임이 되버렸네요.ㅎㅎ 게임 설치파일은 아래 링크로 받을 수 있습니다.혹시나 궁금하시면 받아서 해보셔도^^됩니다. 재미는 없지만... https://github.com/github-spoo79/meteor_dodger/raw/refs/heads/main/dist/meteor_dodger_installer.exe 당연히 바이러스나 애드웨어 같은거는 없습니다. WASD키로 비행기를 움직일 수 있습니다.익숙하지 않은 분들은 꽤나 어려운 조작법인데요새 게임은 ..

게임 플레이 상으로는 대부분의 코드 완성한 상태이다.하지만 외적인 면에서 보완할 부분이 사실 많다.우선 게임은 한번 할게 아니라면 플레이가 죽은 이후에 재도전할지 플레이어가 선택할 수 있어야한다. 종료된 게임을 다시 시작하게 하려면 게임의 상태를 관리 해야한다. TITLE = 0 #게임 시작 전 메뉴화면 PLAYING = 1 #게임 시작 ... TRYAGAIN = 4 #게임 종료 후 대기 QUIT = 5 #프로그램 종료 우선 상태값을 위와 같이 정의하고, PLAYING(게임 진행) 와 TRYAGAIN(게임 종료 후 대기)를 구분한다. def try_again_process(self): if not(self.player.islive): ..

취미로 게임을 개발하거나 인디게임개발자를 꿈꾸는 분들에게사막의 오아시스와 같은 사이트가 있다. 그게 바로 opengameart.org라는 사이트이다.https://opengameart.org OpenGameArt.org opengameart.org 2d와 3d asset부터 배경음악, 효과음까지 방대한 자료가 있는데, 무료로 받아서 사용할 수가 있다.라이센스가 걸린 것도 대부분 게임 내에 CREDIT을 만들 때 THANKS TO 정도에 출처를 표기하면 된다. 이번 포스트에서는 사운드와 효과음을 넣을 생각이다.우선 배경음악부터 처리해보자.위의 사이트에서 art type을 music만 체크하고 space로 검색해보았다.여러 배경음악 중 out there 라는 음악이 느낌상 지금 개발 중인 운석피하기와 가장 ..