# FPGA로 이식된 Another World

> Clean Markdown view of GeekNews topic #9829. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=9829](https://news.hada.io/topic?id=9829)
- GeekNews Markdown: [https://news.hada.io/topic/9829.md](https://news.hada.io/topic/9829.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2023-07-16T11:36:34+09:00
- Updated: 2023-07-16T11:36:34+09:00
- Original source: [github.com/sylefeb](https://github.com/sylefeb/a5k)
- Points: 1
- Comments: 1

## Topic Body

- UP5K FPGA를 사용하여 작가가 게임 "Another World"를 하드웨어로 재제작했습니다.
- 게임은 그래픽을 생성하기 위해 블리터와 래스터라이저를 호출하는 가상 머신(VM)에서 실행됩니다.
- 작가는 FPGA에서 VM, 블리터, 래스터라이저의 하드웨어 구현을 만들었습니다.
- 설계는 FPGA의 자원 요구 사항 내에 맞추어지며, 128KB의 SPRAM 메모리를 사용합니다.
- 작가는 게임 데이터와 코드를 통해 데이터가 흐르는 방식을 이해하는 것으로 시작했습니다.
- 설계에는 모든 것을 함께 연결하고 디스플레이 갱신을 추가하는 SOC가 포함되어 있습니다.
- 프레임버퍼는 SPRAM 블록을 사용하며, 각 프레임버퍼는 완벽하게 SPRAM 블록에 매핑됩니다.
- 디스플레이 컨트롤러는 25 MHz로 픽셀을 스트리밍하며, 깜빡임을 방지하기 위해 더블 버퍼링을 사용합니다.
- 블리터는 한 프레임버퍼의 내용을 다른 프레임버퍼로 복사하거나 단색으로 프레임버퍼를 채웁니다.
- 작가는 다양한 FPGA 보드에서 설계가 실행되는 하드웨어로 게임을 성공적으로 재창조했습니다.
- 이 기사에서는 게임 엔진에서 블리터와 래스터라이저의 구현에 대해 논의합니다.
- 블리터 유닛은 vblank 동안 픽셀을 복사하며, 래스터라이저 유닛은 프레임버퍼에 다각형을 그립니다.
- 블리터는 시작 펄스를 확인하고 지정된 경우 색상을 채웁니다.
- 래스터라이저는 듀얼 포트 BRAM에서 다각형 정점을 읽어 오목 다각형을 그립니다.
- 래스터라이저는 투명도를 위해 팔레트 트릭을 사용하며, 다른 소스 프레임버퍼에서 픽셀을 복사할 수 있습니다.
- 게임 엔진에는 폰트 그리기 엔진이 포함되어 있으며, 사전 렌더링된 배경을 지원합니다.
- 빌드 프로세스에는 게임 데이터 파일을 복사하고 시뮬레이션을 실행하거나 다른 하드웨어 플랫폼에서 게임을 플레이하는 것이 포함됩니다.
- 이 기사에서는 게임 Another World를 위해 FPGA에서 실행되는 하드웨어 설계의 개발에 대해 논의합니다.
- 작가는 게임 테스트, 타이밍 조정, 렌더링 문제 수정, 음악 추가 등 아직 완료되어야 할 여러 작업을 언급합니다.
- 작가는 또한 게임의 다른 부분을 연결하고 게임 상태를 저장하는 가능성에 대해 언급합니다.
- 이 하드웨어 위에 다른 게임이나 데모를 구축하는 것도 잠재적인 향후 프로젝트로 언급됩니다.
- 이 기사는 블로그 시리즈, 포트, 도구와 관련된 자료에 대한 링크를 제공합니다.
- 이 프로젝트에서 사용된 Silice 디자인은 MIT 라이선스 하에 있으며, 수정된 C++ 포트는 원래의 GPL 라이선스를 유지합니다.
- 이 기사에서는 프레임버퍼, 래스터라이저, 블리터 및 가상 머신(VM)과 같은 핵심 용어를 업계에 익숙하지 않은 독자를 위해 설명합니다.

## Comments



### Comment 17356

- Author: neo
- Created: 2023-07-16T11:36:34+09:00
- Points: 1

###### [Hacker News 의견](http://news.ycombinator.com/item?id=36738347) 
- Another World: 인상적인 그래픽과 예술적 스타일로 알려진 클래식 비디오 게임
- 게임은 짧으며 퍼즐은 시행착오에 의존하지만 예술적으로 여전히 인기가 있음
- Another World의 팬들은 Flashback: The Quest for Identity도 즐길 수 있음
- Amstrad CPC, Nintendo 64 및 PlayStation 1을 포함한 다양한 플랫폼용 Another World 포트가 있음
- 이 기사의 저자는 FPGA 포트를 위해 Silice라는 사용자 정의 HDL 언어를 사용함
- Amiga에서 사용되는 평면 그래픽은 투명 효과와 모아레 효과와 같은 장점이 있음
- 게임에 대한 가상 머신(VM)의 사용은 90년대의 PC에서 성능 저하를 초래했을 수 있음
- 게임에는 기억에 남는 오프닝과 사자로부터 탈출하는 등 도전적인 게임 플레이가 있음
- Another World의 원래 개발자는 개발 도구와 애니메이션 프로세스에 대해 GDC 후기 강연을 진행함
- YouTube에서의 플레이스루를 시청하는 것은 게임에 어려움을 겪는 플레이어들에게 도움이 될 수 있음
