터미널 UI 라이브러리 실험과 포기

2025-09-04
터미널 UI 라이브러리 실험과 포기

Kartoffels 게임 개발 중에 저자는 기존 Ratatui 라이브러리를 대체할 고성능 터미널 UI 라이브러리 Kruci를 만들려고 시도했습니다. Kruci는 선언적 UI 디자인을 사용하고 픽셀 단위 차이 계산을 피함으로써 성능 향상을 목표로 했습니다. 그러나 이벤트 처리, 상태 관리, Z-stacking 등에서 많은 문제에 직면하여 결국 저자는 프로젝트를 포기했습니다. Ratatui 최적화 또는 게임 개발에 집중하는 것이 더 효율적이라고 결론지었습니다.

더 보기
(pwy.io)
개발

거리 함수로 iCalendar 반복 이벤트 길들이기

2025-04-17
거리 함수로 iCalendar 반복 이벤트 길들이기

저자는 iCalendar 파일을 처리하는 라이브러리를 구현하는 동안 반복 이벤트 처리라는 과제에 직면했습니다. iCalendar는 반복 이벤트를 정의하기 위해 복잡한 규칙을 사용하며, 기존 구현은 일반적으로 서로 다른 빈도와 매개변수에 대해 많은 특정 로직을 작성해야 합니다. 저자는 다른 접근 방식을 채택하여 반복 규칙을 SQL 쿼리로 보고, 컴퓨터 그래픽스의 부호가 있는 거리 함수(SDF) 아이디어를 차용하여 거리 함수를 사용하여 이벤트 발생을 나타냈습니다. 이 방법은 복잡한 규칙을 간단한 거리 함수로 분해하여 반복 계산을 통해 이벤트 발생 시간을 찾아냄으로써 많은 조건 판단을 피하고 더욱 깔끔하고 유지보수가 용이한 코드를 생성합니다. 초기 구현은 그다지 효율적이지 않았지만, 저자는 이를 최적화하여 복잡한 반복 규칙을 밀리초 단위로 처리할 수 있도록 했습니다.

더 보기
(pwy.io)

Kartoffels v0.7 출시: 동굴 생성 개선 및 RISC-V 전환

2025-02-17
Kartoffels v0.7 출시: 동굴 생성 개선 및 RISC-V 전환

Kartoffels는 가상 감자의 펌웨어를 프로그래밍하는 게임입니다. 122개의 커밋을 포함하는 버전 0.7에서는 중요한 개선 사항이 도입되었습니다. 동굴 생성은 보다 현실적인 결과를 얻기 위해 셀룰러 오토마타와 화이트 노이즈를 사용하며, 이전에 너무 고립된 동굴이 많았던 문제가 해결되었습니다. 게임 엔진의 CPU 아키텍처는 메모리 관리를 개선하기 위해 64비트 RISC-V에서 32비트로 전환되었습니다. 새로운 기능은 각 봇의 기록을 추적하여 순위표를 위한 길을 열어줍니다. UI 개선 및 게임 메커니즘 조정도 포함되어 있습니다. 이 업데이트는 서버를 재설정하여 업로드된 모든 봇 프로그램을 삭제했음을 유의하십시오.

더 보기
(pwy.io)
게임