Trawling

최신기사

AI, 개발 도구, 오픈소스, 보안과 인프라의 변화와 이용 조건을 설명하는 최신 기사와 해설입니다.

Bevy 0.20 출시 — 렌더링·씬 시스템·ECS 개선

발행

Rust 게임 엔진 Bevy 0.20이 실시간 경로 추적 렌더러 Solari와 DLSS를 개선하고, 새 씬 시스템 BSN의 문법을 다듬었습니다. WESL 셰이더, 약한 시스템 순서 지정, 스케줄 무작위화, 텍스처 압축 등 렌더링과 개발 도구 전반의 변경 사항도 담았습니다.

PSP용 갓 오브 워를 WebAssembly로 재컴파일해 브라우저에서 실행합니다

발행

PSP 게임의 MIPS 코드를 C++로 정적 재컴파일하고, PSP 운영체제와 그래픽 기능을 구현해 WebAssembly와 WebGL2로 실행하는 프로젝트입니다. 《God of War: Chains of Olympus》는 측정한 장면에서 초당 60프레임으로 동작하며, 성능 개선의 상당 부분은 렌더러 최적화보다 프레임 동기화와 브라우저별 병목을 찾아 해결한 결과입니다.

스카이림 Magelight 경험치 버그의 작동 원리

발행

Solitude 근처 산에 Magelight를 던지면 Alteration 경험치가 반복해서 오르는 이유를 게임 데이터와 충돌 처리 코드로 분석합니다. 주문이 특정 충돌 레이어의 보이지 않는 벽과 여러 번 충돌해 시전 한 번에 경험치를 거듭 지급하며, 조준 위치를 최적화하면 Alteration 15레벨에서 100레벨까지 17번의 시전으로 올립니다.

Comanche 지형 맵 역공학

발행

1992년 게임 Comanche의 지형 파일 8개를 분석해 색상 맵과 높이 맵을 BMP로 변환하는 과정을 설명합니다. 파일은 독자 형식이 아니라 앞부분의 서명만 바꾼 PCX였으며, 헤더와 RLE 데이터, 팔레트를 확인해 이를 검증합니다.

AnyPS5 — PS5 실행 파일을 Linux와 Windows용으로 포팅하는 도구

발행

AnyPS5는 PS5 실행 파일을 Linux와 Windows의 네이티브 형식으로 변환하고, 동적 링크에 필요한 시스템 라이브러리를 구현하는 프로젝트입니다. 에뮬레이션이나 별도 런타임 프로세스 없이 Dreaming Sarah를 특정 PC에서 60fps로 실행했다고 소개합니다.

Infidel에서 발견한 메모리 손상 버그

발행

텍스트 어드벤처 Infidel의 ZIL 코드에서 선택적 인수의 기본값으로 전역 변수를 지정한 부분이 컴파일 오류를 일으킵니다. 사막에 물건을 여러 개 버리면 메모리 주소 30번대부터 덮어쓰고, 결국 문자열 압축용 약어 데이터까지 손상됩니다.

규칙을 지어내지 않는 AI 던전 마스터, The Goblin Warren

발행

The Goblin Warren은 Sanity에 저장한 D&D 5e 규칙을 조회하고 근거 문서를 인용하는 브라우저 기반 던전 크롤입니다. 자연어 규칙 질문은 Knowledge Base로, 정확한 능력치 조회는 GROQ로 나눠 처리하며, 답변 추적 화면에서 조회 과정도 확인합니다.

Anthroposcaper — 2D 도면에 태그를 달아 3D 도시 환경 모델 만들기

발행

Anthroposcaper는 브라우저에서 그린 도면이나 DXF 파일에 태그를 달고, GLB 모델 템플릿을 배치해 3D 도시 환경을 만드는 도구입니다. 도면이나 태그를 바꾸면 장면을 다시 생성하며, 결과를 GLB로 내보내 3D 편집기와 게임 엔진에서 활용합니다.

ASM Bots: 실제 8086 기계어로 벌이는 코어 워

발행

ASM Bots는 실제 8086 어셈블리로 전투 프로그램을 작성해 64KB 메모리 코어에서 겨루는 Core War 게임입니다. 한 명령씩 번갈아 실행하는 전투와 디버거, 순위전·토너먼트를 제공하며, 결정론적 실행으로 대전을 재생하고 검증합니다.

MUGEN 오픈소스 재구현 Ikemen GO 1.0.0 출시 — 롤백 넷코드 지원

발행

MUGEN 호환 오픈소스 대전 격투 게임 엔진 Ikemen GO가 1.0.0을 출시했습니다. 롤백 넷코드를 기본 활성화하고 리플레이 저장·관리와 넷플레이 설정 동기화를 추가했습니다. glTF 기반 3D 무대, Z축 이동, 다양한 MUGEN 기능 호환성 개선도 포함했습니다.

옛 게임의 역공학과 현대화가 보여주는 AI의 경제적 영향

발행

게임 업계 베테랑 Georg Zoeller는 AI 에이전트로 1989년작을 역공학해 브라우저로 옮기고 새 게임으로 현대화한 과정을 소개합니다. 이 작업을 지식 노동의 비용과 게임 업계 일자리, 저작권의 미래를 가늠하는 사례로 해석합니다.

Rapier 물리 엔진의 게임용 고급 소프트 바디

발행

Rapier 0.36.0에 천, 젤리, 로프 같은 변형체를 시뮬레이션하는 기능이 추가됐습니다. 글은 형상 매칭, 스프링 제약, 유한요소법(FEM)의 선택 기준과 비정상적인 관통·자기 교차를 다루는 방법, 조인트와 스키닝을 위한 구조를 설명합니다.

임포스터를 뽑은 적이 없었습니다 — 역할 배정을 검증 가능하게 만들다

발행

Among Us 오픈소스 클론의 역할 배정은 가장 높은 플레이어 ID를 가진 클라이언트가 임포스터를 자처하는 방식이었습니다. 개발팀은 Midnight의 Compact 계약과 커밋먼트, 비공개 증명을 이용해 역할 배정과 처치를 검증하는 Shadow Protocol을 만들었으며, 데모는 실제 블록체인 대신 같은 규칙을 검사하는 모의 원장으로 실행했습니다.

손으로 만지는 Factorio — 3D 프린팅 모델 공개

발행

Wube가 초기 게임 요소를 재현한 3D 프린팅 모델 65종을 STL 파일로 공개했습니다. 게임 속 등각 투영 화면에 맞춰 만든 자산을 실제 입체물로 바꾸면서 생긴 형태·출력 문제와, 이를 해결한 조립 및 서포트 설계 과정을 소개합니다.

Three.js로 3D 도서관을 만들다가 직접 편집 도구를 만들었습니다

발행

Oniria에서 DEV.to 글을 책으로 배치하는 3D 도서관을 만들며, 좌표를 코드로 고치는 대신 공간 안에서 위치를 지정하는 마커 도구를 개발했습니다. 마커를 Sanity 문서로 저장하고 내보내면서 별도 레벨 편집기 없이도 배치를 이어갈 수 있는 작업 흐름을 마련했습니다.

프로그래머를 위한 현대 Object Pascal 입문

발행

Castle Game Engine의 Object Pascal 입문서가 스트림 기반 입출력, 제네릭 컨테이너, 객체 복사를 설명합니다. FPC와 Delphi 사이의 호환성을 고려한 컨테이너 선택부터 TPersistent.Assign의 상속 규칙까지 코드 예제로 다룹니다.

오리지널 둠을 SQL로 포팅했습니다

발행

CedarDB 개발자가 1993년판 Doom의 게임 로직과 렌더러를 SQL로 구현했습니다. 게임은 데이터베이스 안에서 35Hz로 작동하고, Ryzen 노트북에서 장면에 따라 초당 35~60프레임을 그립니다. 글은 BSP 렌더링과 SQL 성능, 트랜잭션을 활용한 멀티플레이 구현 과정을 설명합니다.

깊이로 나누면 즉시 3D가 됩니다

발행

3D 카메라의 원리를 x와 y를 깊이 z로 나누는 원근 투영에서 출발해 설명합니다. 단순한 나눗셈이 perspective projection matrix와 전체 그래픽 파이프라인의 한 단계라는 점을 수식과 인터랙티브 예제로 보여줍니다.

GBA와 PC용 게임을 같은 코드베이스로 만들기

발행

개발자는 GBA·e-Reader용 게임 Eridin을 PC판과 함께 개발하고 있습니다. e-Reader 카드 제조 실패를 대비하면서 C 기반 엔진에 플랫폼별 API 구현을 나눴고, PC판에는 같은 240×160 화면 구성 위에 고해상도 렌더링과 부드러운 스크롤을 더합니다.

Ogre Battle 64 재컴파일 프로젝트, 99.05% 달성

발행

N64 게임 Ogre Battle 64를 N64Recomp 툴체인으로 네이티브 PC 실행 파일로 옮기는 프로젝트입니다. 함수 재컴파일 기준 99.05%까지 진행됐고 현재 플레이와 모드 제작이 가능합니다. 원본 ROM은 포함하지 않으며 사용자가 직접 준비해야 합니다.