타이틀畵面

홈페이지

오픈TTD(OpenTTD)는 트랜스포트 타이쿤 디럭스오픈소스具現(구현)經營(경영) 시뮬레이션 게임이다. 디스어셈블러()活用(활용)하여 元來(원래) 商用(상용)소프트웨어였던 TTD를 C言語(언어) 소스로 變換(변환)하고 GPL 라이선스를 붙여 公開(공개)하였다.

게임 플레이

트랜스포트 타이쿤과 마찬가지로 基本的(기본적)으로 運輸會社(운수회사)를 차려 運營(운영)하는 게임으로, 버스, 列車(열차), 船舶(선박), 航空機(항공기)와 같은 交通手段(교통수단)으로 路線(노선)을 짜서 旅客(여객)이나 貨物(화물)運送(운송)해 돈을 버는 것이 目的(목적)이다.

랜덤으로 生成(생성)된 맵에서 처음 게임을 始作(시작)하면 初期(초기)資本(자본)(貸出金(대출금))이 주어지고, 道路(도로)鐵道(철도)()建設(건설)하고 車輛(차량)購入(구입)해서 都市(도시)産業(산업)施設(시설)에서 發生(발생)하는 貨物(화물)運送(운송)하고 料金(요금)을 받아야 한다. 都市(도시)乘客(승객)이나 商品(상품)運送(운송)시켜주면 成長(성장)하며, 産業(산업)施設(시설)貨物(화물)配達(배달)해주면 生産量(생산량)增加(증가)한다.

中毒性(중독성)

이런()의 게임이 그렇듯이 中毒性(중독성)相當(상당)하다. 初盤(초반)에는 얼마 없는 돈을 管理(관리)하며 最大限(최대한) 效率(효율)을 뽑아내 貸出金(대출금)을 빨리 償還(상환)計劃(계획)을 세우게 되며, ()後半(후반)정도 되면 自身(자신)이 만든 交通(교통)帝國(제국)(?)을 바라보며 滿足感(만족감)()할 수 있는데, 이렇게 될 때까지의 過程(과정)이 손을 뗄 수 없게 만드는 中毒性(중독성)이 있는 것이다.

運送(운송)手段(수단)

() 手段(수단)()特徵(특징)長短點(장단점)이 있어 狀況(상황)에 맞는 運送(운송)手段(수단)適切(적절)히 활용하는 것이 重要(중요)하다.

道路(도로) (自動車(자동차))

道路(도로)위를 다니는 버스(乘客(승객)境遇(경우))와 트럭(貨物(화물)境遇(경우)). GRF로 馬車(마차)追加(추가)할수 있다. 少量(소량)貨物(화물)運搬(운반)할 수 있지만 初期(초기) 投資費(투자비)()이 낮고 路線(노선)變更(변경)容易(용이)하여 게임 初盤(초반)利用(이용)하기 쉽다.

멀티플레이 게임에서는 地自體(지자체) 메뉴에 道路(도로) 補修工事(보수공사)를 시키는 옵션이 있는데, 몇달() 該當(해당) 都市(도시)道路(도로)任意(임의)閉鎖(폐쇄)하기 때문에 競爭者(경쟁자)事業(사업)을 하는 都市(도시)에서 이걸 使用(사용)하여 妨害(방해)할 수 있다.

路面電車(노면전차)

GRF를 追加(추가)하여야만 利用(이용)할수 있다. 道路(도로)交通(교통)과 비슷하지만 線路(선로)를 깔아야 運行(운행)할수 있으며, 道路(도로)가 없는 곳에도 線路(선로)를 깔 수 있다. (), 路面電車(노면전차)() 線路(선로)列車(열차)() 鐵道線路(철도선로)區別(구별)되어 車輛(차량)互換(호환)되지 않는다. 鐵道線路(철도선로)와는 달리 道路(도로)와같이 타일하나에 兩方(양방)()이 다 들어가며 斜線(사선)으로 지을수 없는 () 鐵道(철도)보단 道路(도로)運送(운송)에 가까운 特性(특성)을 지닌다.

鐵道(철도) (列車(열차))

()中盤(중반)부터 活用(활용)된다. 車輛(차량)()壓倒的(압도적)으로 많은 乘客(승객)이나 貨物(화물)運送(운송)할수 있지만 初期(초기)投資費(투자비)()이 높고 路線(노선)修正(수정)이 어렵다.

海運(해운) (船舶(선박))

가장 ()()位相(위상)을 가진 運送(운송)手段(수단)이다. 現實(현실)에서는 컨테이너大量(대량)으로 輸送(수송)하는() 運送(운송)手段(수단)으로서 强力(강력)影響力(영향력)을 가지지만, 이 게임에선 油田(유전)같이 海上(해상)位置(위치)産業(산업)施設(시설)에서 字源(자원)運送(운송)할때 必要(필요)한게 거의 大部分(대부분). 아니면 馬車(마차)帆船(범선)包含(포함)된 GRF를 設置(설치)하고 1800年代(연대)부터 始作(시작)()運河(운하)에 배를 띄우는 變態(변태)플레이도 可能(가능)하다.

航空(항공) (飛行機(비행기))

兩地(양지)()空港(공항)建設(건설)하면 ()다른 인프라必要(필요)하지 않고 長距離(장거리)高速(고속)으로 이어줄 수 있다는 長點(장점)을 가진다. 하지만 空港(공항) 建設費(건설비)()航空機(항공기) 購入(구입)費用(비용)이 비싸므로 初盤(초반)利用(이용)하기는 負擔(부담)스럽고, 낮은 確率(확률)衝突(충돌)事故(사고)를 일으켜 蒸發(증발)(...)해버리기 때문에 管理(관리)必要(필요)하다.

乘客(승객)運送(운송)

貨物(화물)運送(운송)

機能(기능)

貨物(화물)分配(분배)

乘客(승객)이나 貨物(화물)을 아무데서나 태우거나 싣고 아무데나 내려줘도 料金(요금)을 받을수있는 ‘手動(수동)分配(분배)모드’와 () 貨物(화물)·乘客(승객)()目的地(목적지)가 나뉘는 ‘自動(자동)分配(분배)모드’()으로 設定(설정)을 바꿀수있다. 自動(자동)으로 設定(설정)境遇(경우) 乘客(승객)貨物(화물)目的地(목적지)到着(도착)할때까지 여러 路線(노선)交通手段(교통수단)利用(이용)하며, ()()·()()할때마다 中間(중간)料金(요금)을 받을수있다.

여기서 注意(주의)()이 있는데, ()()을 하더라도 最終的(최종적)으로 計算(계산)되는 運賃(운임)出發地(출발지)에서 目的地(목적지)까지의 直線距離(직선거리)基盤(기반)하며, 乘客(승객)이 먼 곳으로 갔다가 ()()해서 가까운 곳으로 다시 移動(이동)境遇(경우) 그 거리의 差異(차이)만큼 支出(지출)이 발생한다는 것이다. 일부러 路線(노선)()을 꼬아서 ()()收益(수익)不當(부당)하게 받는 行爲(행위)防止(방지)하기 ()해서인데, ()를들어 긴 鐵道(철도)路線(로선)과 짧은 거리를 돌아가는 버스路線(노선)接續(접속)境遇(경우)에는 버스쪽에서는 支出(지출)發生(발생)하여 赤字(적자)가 쌓이는 問題(문제)가 있다. 하지만 結局(결국) 鐵道(철도)에서 더 많은 收益(수익)이 나기 때문에 實質的(실질적)問題(문제)는 되지 않는다.

路線(로선)을 만들기 ()부터 貨物(화물)目的地(목적지)設定(설정)되어 있어 그에 맞춰 路線(노선)을 짜야 하는 YACD(Yet Another Cargo Destinations)라는 패치도 存在(존재)하지만 開發(개발)中斷(중단)된 듯하다.

멀티플레이어

原作(원작)에도 있던 멀티플레이機能(기능)强化(강화)되어 最大(최대) 15()會社(회사)最大(최대) 255()인터넷()으로 함께 플레이할 수 있다. 最大(최대)接續(접속)()()()最大(최대)會社(회사)()가 적은것은 技術的(기술적)限界(한계)()한 것인데, 會社(회사)() 最大(최대) 플레이어()는 따로 制限(제한)이 없으며 暗號(암호)로 잠겨진 會社(회사)가 아니면 自由(자유)롭게 다른 會社(회사)로 넘어가서 操作(조작)할 수 있기때문에 그런()으로 255() 플레이가 可能(가능)하다.아무리그래도 15()不足(부족)하게 느껴지지만...

GRF

車輛(차량)이나 列車(열차)()을 유저가 直接(직접) 製作(제작)하여 配布(배포)할 수 있으며, 게임()에서는 이러한 온라인 콘텐츠를 自動(자동)으로 다운로드할 수 있는 메뉴를 提供(제공)한다.

패치

소스코드를 直接(직접) 修正(수정)하여 게임에 機能(기능)追加(추가)하거나 고칠수있다. 個人(개인)單位(단위)로 게임을 修正(수정)해 ‘패치’로 만들어 다른 使用者(사용자)共有(공유)하기도 하고 이런 패치들을 모아 한()適用(적용)한 ‘패치팩’을 만들기도한다. 이런 패치팩에서 有名(유명)한걸로는 JGR패치팩이 있다.

基盤(기반)施設(시설) 共有(공유)

Infrastructure Sharing. 멀티플레이에서 他社(타사)基盤(기반)施設(시설)(버스停留場(정류장), 鐵道驛(철도역), 空港(공항) ())을 一定(일정)費用(비용)支拂(지불)하고 使用(사용)할수 있게 해준다. 貨物(화물)分配(분배) 옵션과 함께 使用(사용)() 運送(운송)()直結(직결)되어버려 路線(노선)길이가 많이 차이날 境遇(경우) 一方的(일방적)損害(손해)發生(발생)할 수 있으므로 注意(주의)()한다. JGR팩에도 包含(포함)되어 있다.

自動(자동) 時刻表(시각표) 設定(설정)

귀찮았던 運行(운행)時刻表(시각표)(다이어그램) 設定(설정)自動(자동)으로 해주는 機能(기능)追加(추가)된다. JGR팩에 包含(포함).

自動(자동)配車(배차)

JGR팩에 包含(포함). 時間表(시간표)設定(설정)해 놓으면 自動(자동)으로 均一(균일)間隔(간격)으로 運行(운행)되게 配車間隔(배차간격)調節(조절)된다. 自動(자동)配車(배차)經路(경로)共有(공유)()車輛(차량)들의 그룹()作動(작동)하기 때문에 經路(경로)共有(공유)시키지 않았거나 같은 區間(구간)에 다른 系統(계통)車輛(차량)이 다닌다면 完璧(완벽)하게 作動(작동)하지 않는다.

(手動(수동)) 配車(배차)日程(일정)

上述(상술)自動(자동)配車(배차)와는 正反對(정반대)性格(성격)을 가진 配車(배차)機能(기능)으로, 直接(직접) 出發(출발)時間(시간)指定(지정)해줄수 있는 機能(기능). 基本(기본)으로 時間表(시간표)完成(완성)되있어야 하며, 하루동안[1]()()出發(출발)하는지 ()할수 있다. 出發(출발)時刻(시각)마다 該當(해당)하는 經路(경로)共有(공유)하는 車輛(차량) ()에서 하나를 골라 配車(배차)해주며, 時間表(시간표)配車(배차)日程(일정)完成(완성)되면 必要(필요)車輛(차량)()까지 알려준다!

出退勤(출퇴근)時間帶(시간대)(러시아워)에 乘客(승객)을 늘리고 深夜(심야)에는 거의 發生(발생)하지 않게 하는 게임 스크립트와 함께 適用(적용)하면 現實性(현실성) 있게 最適(최적)마니악한 플레이를 할 수 있다.

其他(기타)

鐵道(철도)橋梁(교량)이나 터널區間(구간)信號機(신호기)設置(설치)할수있게 하거나 海底(해저)터널追加(추가)하는 等等(등등) ()많은 패치가 存在(존재)한다! 다리를 交叉(교차)시켜 建設(건설)할 수 있게 해주는 試驗的(시험적)인 패치도 開發(개발)進行(진행)된 바 있다.

멀티코어 支援(지원) 可能性(가능성)?

複雜(복잡)해지면 끝도 없는 이런()의 게임치고는 멀티코어 支援(지원)이 없다. 여러 유저가 提案(제안)하거나 開發(개발)試圖(시도)하거나 하였지만 멀티플레이의 基礎(기초) 具現(구현)方式(방식)에 발목을 잡히고 있다.

自動車(자동차) 數百(수백)(), 列車(열차) 數百(수백)()實時間(실시간)으로 돌아다니는 게임 特性(특성)(), 멀티플레이어 모드는 모든 演算(연산)서버가 맡아서 하는게 아니라 서버와 함께 () 클라이언트들이 同一(동일)한 랜덤 시드로 똑같은 시뮬레이션을 同時(동시)에 하고, 거기에 플레이어들이 하는 메뉴 操作(조작)들만 서버를 ()同期(동기)()되는 形式(형식)으로 作動(작동)한다고 한다. 이()에서 플레이어 한()의 시뮬레이션이 조금이라도 다르게 進行(진행)되면 그 뒤로 일어나는 모든 일이 나머지 플레이어들과 틀어지게 된다. 이런 現象(현상)(desync)이 게임 具顯(구현) 自體(자체)()發生(발생)하면 致命的(치명적)버그看做(간주)한다.

이런 同期(동기)()가 무엇보다도 重要(중요)한 게임을 多重(다중)스레드로 만들어버리면 原來(원래)豫測(예측)可能(가능)한(deterministic) 시뮬레이션이 다 깨져버리고 멀티플레이를 처음부터 다시 構想(구상)하지않는以上(이상) 不可能(불가능)하다고.

現在(현재)2023()開發(개발)되고있는 멀티코어 基盤(기반) 마인크래프트 서버 소프트웨어인 Folia旣存(기존) 플러그인 互換性(호환성)을 다 버린것만 봐도 어려운 問題(문제)임을 알 수 있는데, 하물며 서버()에서의 同期(동기)()勿論(물론) 네트워크로 連結(연결)된 클라이언트들의 狀態(상태)들까지 完璧(완벽)一致(일치)해야하는 것을 考慮(고려)하려면... 以上(이상)仔細(자세)說明(설명)省略(성략)한다.

關聯(관련)文書(문서)

  1. 變更(변경)可能(가능)