디시인사이드 갤러리

마이너 갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[AI창작] GPT-4o 활용해서 태어나서 처음으로 게임하나 만들어봄

ㅇㅇ(121.151) 2024.05.18 08:40:54
조회 466 추천 1 댓글 2
														

GPT-4o으로 게임만드는 글이 몇개 보이길래 나도 한번 만들어봤음.

파라미터 몇개 수정한거 말고는 코드에 손댄거 없고, 다 GPT가 직접 짜준 코드임.

다른 LLM 써보면 힌트정도만 알려주지 소스코드를 처음부터 끝까지 다 써주는 경우는 적은데,
GPT-4o는 다 해줘서 좋은듯. 다른건 코드 짜도 오류가 넘 많은데 GPT-4o는 오류가 없거나 있어도 수정해달라고 하면 다 고쳐줌.

아래 게임은 마우스로 검은 바탕에 클릭하면 먼지입자 생기고 클릭 당시의 방향이랑 가속도 고려하니까 던지듯이 생성할수도 있으니 참고!

관심있으면 아래 코드도 실행해봐.


7cec8177abc236a14e81d2b628f1756f5c466e


import pygame
import math

# 초기화
pygame.init()

# 화면 크기 설정
WIDTH, HEIGHT = 1400, 900
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Gravity Game")

# 색상
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
YELLOW = (255, 255, 0)
GRAY = (100, 100, 100)
LIGHT_GRAY = (200, 200, 200)
BLUE = (0, 0, 255)

# 중앙의 별 설정
star_mass = 50000 # 임의의 큰 값 (줄여서 속도 감소)
star_radius = 15 # 시각적으로 작은 크기
star1_initial_pos = [WIDTH // 2 + 50, HEIGHT // 2]
star2_initial_pos = [WIDTH // 2 - 50, HEIGHT // 2]
star1_pos = star1_initial_pos[:]
star2_pos = star2_initial_pos[:]
star1_angle = 0
star2_angle = math.pi

# 행성 리스트
planets = []

# 마우스 드래그 상태 변수
dragging = False
start_pos = (0, 0)

# 중앙의 행성 수
num_stars = 1

# 폰트 설정
font = pygame.font.SysFont(None, 24)

# 버튼 위치와 크기
reset_button_rect = pygame.Rect(10, 10, 80, 30)
one_star_button_rect = pygame.Rect(100, 10, 80, 30)
two_star_button_rect = pygame.Rect(190, 10, 80, 30)

# 행성 클래스
class Planet:
def __init__(self, x, y, vx, vy):
self.x = x
self.y = y
self.vx = vx
self.vy = vy
self.radius = 5
self.mass = 1

def update(self):
# 모든 별에 대한 중력 계산
for star_x, star_y in star_positions:
dx = star_x - self.x
dy = star_y - self.y
distance = math.sqrt(dx**2 + dy**2)
# 중력 적용 (중력가속도 감소)
force = star_mass / (distance**2)
angle = math.atan2(dy, dx)
ax = math.cos(angle) * force
ay = math.sin(angle) * force
# 가속도 적용
self.vx += ax * 0.05 # 속도 감소
self.vy += ay * 0.05 # 속도 감소
# 위치 업데이트
self.x += self.vx
self.y += self.vy

def draw(self):
pygame.draw.circle(screen, WHITE, (int(self.x), int(self.y)), self.radius)
pygame.draw.circle(screen, BLUE, (int(self.x), int(self.y)), self.radius - 2) # 시각적 효과

# 버튼 그리기 함수
def draw_buttons():
pygame.draw.rect(screen, LIGHT_GRAY, reset_button_rect)
pygame.draw.rect(screen, LIGHT_GRAY, one_star_button_rect)
pygame.draw.rect(screen, LIGHT_GRAY, two_star_button_rect)
pygame.draw.rect(screen, GRAY, reset_button_rect, 2)
pygame.draw.rect(screen, GRAY, one_star_button_rect, 2)
pygame.draw.rect(screen, GRAY, two_star_button_rect, 2)

reset_text = font.render("Reset", True, BLACK)
one_star_text = font.render("1 Star", True, BLACK)
two_star_text = font.render("2 Stars", True, BLACK)

screen.blit(reset_text, (reset_button_rect.x + 10, reset_button_rect.y + 5))
screen.blit(one_star_text, (one_star_button_rect.x + 10, one_star_button_rect.y + 5))
screen.blit(two_star_text, (two_star_button_rect.x + 10, two_star_button_rect.y + 5))

# 초기화 함수
def reset_game():
global planets
planets = []

# 게임 루프
running = True
clock = pygame.time.Clock()

while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.MOUSEBUTTONDOWN:
mouse_pos = pygame.mouse.get_pos()
if reset_button_rect.collidepoint(mouse_pos):
reset_game()
elif one_star_button_rect.collidepoint(mouse_pos):
num_stars = 1
elif two_star_button_rect.collidepoint(mouse_pos):
num_stars = 2
else:
start_pos = pygame.mouse.get_pos()
dragging = True
elif event.type == pygame.MOUSEBUTTONUP:
if dragging:
end_pos = pygame.mouse.get_pos()
mx, my = end_pos
vx = (end_pos[0] - start_pos[0]) * 0.05 # 던지는 속도 감소
vy = (end_pos[1] - start_pos[1]) * 0.05 # 던지는 속도 감소
planets.append(Planet(mx, my, vx, vy))
dragging = False

# 화면을 검은색으로 채우기
screen.fill(BLACK)

# 중앙의 별 위치 업데이트 및 공전
if num_stars == 1:
star_positions = [star1_initial_pos]
elif num_stars == 2:
star_positions = [star1_pos, star2_pos]
# 두 별 사이의 공전
star1_angle += 0.01
star2_angle += 0.01
star1_pos = [WIDTH // 2 + 50 * math.cos(star1_angle), HEIGHT // 2 + 50 * math.sin(star1_angle)]
star2_pos = [WIDTH // 2 + 50 * math.cos(star2_angle), HEIGHT // 2 + 50 * math.sin(star2_angle)]

# 중앙의 별 그리기
for pos in star_positions:
pygame.draw.circle(screen, YELLOW, (int(pos[0]), int(pos[1])), star_radius)

# 버튼 그리기
draw_buttons()
# 행성 업데이트 및 그리기
for planet in planets:
planet.update()
planet.draw()

# 화면 업데이트
pygame.display.flip()
clock.tick(144)

pygame.quit()


자동등록방지

추천 비추천

1

고정닉 1

원본 첨부파일 1

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
2864 설문 비난 여론에도 뻔뻔하게 잘 살 것 같은 스타는? 운영자 24/06/03 - -
488695 일반 짱깨 응원좋아하네 ㅋㅋ 중국이 그걸 풀겠냐???? [1] ㅇㅇ(59.18) 21:39 127 0
488694 일반 중국에서 강인공지능 나올수도 있겠다. [2] 특이점이온다갤로그로 이동합니다. 21:39 109 0
488693 정보/ 테슬라, FSD v12.4.1 출시 및 향후 계획 발표와 의견 [4] ㅇㅇ(218.50) 21:38 106 0
488692 일반 중국 AGI 달성만은 안된다 [10] ㅇㅇ(59.21) 21:33 249 0
488691 일반 중국AI는 추론력은 아직임? et갤로그로 이동합니다. 21:33 46 0
488690 일반 테슬라 v12.4.1 [2] ㅇㅇ(221.167) 21:30 91 1
488689 일반 오픈ai 달려야 겠지?? [1] ㅇㅇ(112.186) 21:29 146 0
488688 일반 와 개쩌네 빵댕이도 잘 생성하네 [7] 야상섹상갤로그로 이동합니다. 21:29 357 3
488687 일반 미국입장에서 중국은 상당히 거슬려 꼬마귀염선충!갤로그로 이동합니다. 21:29 50 0
488686 일반 elevenlabs이거 메스가키 구현가능? [2] ㅇㅇ(175.213) 21:28 71 0
488685 일반 근데 중국은 학습을 어케 하는거냐? [8] ㅇㅇ갤로그로 이동합니다. 21:27 164 0
488684 일반 아 그러고보니 짱깨들 gpu 수입 제한있었지? ㅇㅇ갤로그로 이동합니다. 21:26 50 0
488683 일반 Lucifer 호루스의시대(121.175) 21:26 55 0
488682 일반 짱깨들 대단하네 [1] ㅇㅇ(112.186) 21:24 102 0
488681 일반 짱개가 미국이기려고 인공지능 올인을 하는중이지 ㅇㅇ(218.50) 21:24 39 0
488680 일반 현 인공지능 성능 구글이1등인듯 꼬마귀염선충!갤로그로 이동합니다. 21:24 55 0
488679 일반 짱깨들 잘하는게 무역공격이잖아 ㅇㅇ갤로그로 이동합니다. 21:23 28 0
488678 일반 근데 짱개가 진짜 훔쳐온거 아니냐 [1] ㅇㅇ갤로그로 이동합니다. 21:22 106 0
488677 일반 중국판 소라만 봐도 openai는 절대 초격차기업 아니다 [10] ㅇㅇ(115.138) 21:20 305 6
488675 일반 4o로 업무생산성 얼마나 올라갔냐 [4] ㅇㅇ갤로그로 이동합니다. 21:12 132 0
488674 일반 서울에서 군복‏무 한게 은수저가 아니면 머임? [5] ㅇㅇ(61.254) 21:12 95 0
488673 일반 제발 짱깨 소라 글로벌로 풀어다오 할게 많다,,,,,, [2] Samus갤로그로 이동합니다. 21:11 207 0
488672 일반 오픈ai "sora 넘 좋아서 악용될까 무서워서 공개못해 퓨ㅠㅠ" [2] ㅇㅇ(59.17) 21:10 259 1
488671 일반 그래서 이제 OAI 는 어떻게할거? ㅇㅇ(221.167) 21:10 47 0
488670 일반 짱개판 sora 어디서 구할수 있는거야 [7] ㅇㅇ(218.50) 21:10 185 0
488668 일반 짱깨판 sora 발사대 잘하네 [1] ㅇㅇ(218.50) 21:08 114 0
488667 일반 구글이 못하는걸 짱개가 해주네 ㅇㅇ갤로그로 이동합니다. 21:06 53 0
488666 일반 올해 초까지만 해도 25년 AGI 올거 같았거든? [5] ㅇㅇ(121.153) 21:06 158 0
488665 일반 솔직히 짱깨들이 엔비디아 gpu만 그냥 공급받았어도 [1] ㅇㅇ(59.17) 21:06 121 2
488664 일반 이제 짱깨들이 lmm 기깔난거 하나만 내면 되겠다 ㅇㅇ갤로그로 이동합니다. 21:05 42 0
488662 일반 중국판 소라 이 기능 존나 미쳤는데???? [24] lightvector갤로그로 이동합니다. 21:02 1051 21
488660 일반 뭔 2027이여 2029다 [2] ㅇㅇ갤로그로 이동합니다. 20:53 107 0
488659 일반 api로 쓰면 성능이 더 좋은거임? [3] ㅇㅇ갤로그로 이동합니다. 20:53 72 0
488658 일반 중국판 sora 배포 시작햇네 [25] ㅇㅇ갤로그로 이동합니다. 20:51 1053 24
488656 일반 kling 성능 진짜 좋네 [3] ㅇㅇ(1.242) 20:43 147 0
488655 일반 고퀄리티 3D 게임 만들어주는 AI는 언제쯤 나올까? [4] ㅇㅇ(182.211) 20:41 117 1
488654 일반 책이나 대본 쓰기에는 뭐가 제일 좋음? [10] ㅇㅇ갤로그로 이동합니다. 20:40 110 0
488653 일반 멍청한 AI가 똑똑한 AI보다 위험함 [2] ㅇㅇ(1.226) 20:37 125 0
488652 일반 OpenAI 투자자 되는 법 좀 알려주셈 [9] ㅇㅇ(59.21) 20:37 146 0
488651 일반 난 진지하게 2027 예상함 [2] ㅇㅇ(61.75) 20:37 113 0
488649 일반 ai가 대체못하는게 있긴하다 [3] 꼬마귀염선충!갤로그로 이동합니다. 20:33 124 0
488648 일반 GPT-4o를 스케일업하기만 해도 [3] ㅇㅇ(59.21) 20:32 124 0
488647 일반 인류의 총 지식을 담을 수 있는 AGI는 상상할수록 체감이 안됨 측면강타갤로그로 이동합니다. 20:29 53 0
488645 일반 (뇌피셜)GPT-5가 가을은 지나야 나오지 않을까 [3] 분노의라스갤로그로 이동합니다. 20:25 158 0
488644 일반 gpt4o << excel goat god [2] ㅇㅇ갤로그로 이동합니다. 20:18 126 1
488643 일반 2022년에 2024년 되면 agi 올거라고 믿었는데 [2] 지혜원갤로그로 이동합니다. 20:15 161 0
488642 일반 직업대체될거라 생각한게 19년도인데 [4] 선샌니~갤로그로 이동합니다. 20:11 152 0
488641 일반 GPT-5는 8개월뒤 [1] ㅇㅇ(14.7) 20:10 87 0
488640 일반 2년안애 AGI나옴 [7] 꼬마귀염선충!갤로그로 이동합니다. 20:00 259 0
488639 일반 특이점이 온다... 바라는 것은 세계평화...! [1] ㅇㅇ(1.239) 19:57 90 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2