90년대 초 등장한 전략시뮬레이션 겜의 시초 DUNE2 그옛날 밤잠을 설치며 마지막 미션을 완수했을 때의 짜릿함을 아직도 잊지못한다.
다운로드
파일을 다운로드하고 DOSBox 를 이용하여 플레이한다.
=====
게임 세이브 파일에서 유닛,건물 값 수정하기
unzip d2ed.zip -d dune2
doxbox 실행후
c:\dune2>edsave.exe 실행하면 다음과 같이 유닛,건물 속성값을 편집할 수 있다.
파이썬코드로 세이브파일의 credit 값 수정하기
import struct
save_file = "_SAVE000.DAT"
current_money = 8593 # 현재 게임 화면에 보이는 자금 입력
target_money = 30000 # 바꿀 자금 수치
curr_bytes = struct.pack("<H", current_money) # 16비트 리틀엔디언 변환
target_bytes = struct.pack("<H", target_money)
with open(save_file, "r+b") as f:
data = f.read()
offset = data.find(curr_bytes)
if offset != -1:
f.seek(offset)
f.write(target_bytes)
print(
f"성공: 0x{offset:X} 위치에서 {current_money} -> {target_money} 크레딧 수정 완료!"
)
print("""
듄 2 게임 엔진이 실시간(게임 틱)으로 기지 내 건물 개수를 세어 Capacity(최대 저장 용량) 수치를 계속 재계산(Overwrite)하기 때문에 세이브 파일에 용량을 30,000으로 적어두어도, 게임을 불러오는 순간 엔진이 "기지에 정제소/창고가 총 2,000 기준으로 용량을 2,000으로 강제 리셋한 뒤 초과 자금을 초당 실시간으로 버립니다.
스파이스 창고(Spice Silo 1대당 최대 1,000저장) 및 정제소(Refinery, 1대당 최대 1,000저장) 등을 계속 건설해 저장량을 늘리세요.
""")
else:
print("실패: 입력한 자금 수치와 일치하는 바이트를 찾지 못했습니다.")
=====
Dune Legacy
1992년에 출시된 고전 RTS 게임인 Dune2 를 현대적인 PC 환경에 맞게 재개발한 오픈소스 게임 엔진 프로젝트로 유닛 다중 선택, 부대지정, HD 화질등을 개선했다.
win,mac,linux 에서 플레이 할 수 있다.