Repo ↗ · 原始 README ↗ · 文件包(Markdown/授權)

來源維護者: ange-yaghi · 版本: 85f7c3b959a9 · 整理日期: 2026-10-12

文件授權: MIT · LICENSE · 本文形式: README 翻譯

下文為來源 README 的繁中翻譯,由 Kirikirin 使用 AI 輔助整理;功能、完成度與測試結果均為原作者描述,本站未逐項實機驗證。圖片改為來源連結,指令與技術識別保留原文。


Engine Simulator

README 圖片:Alt text

Engine Simulator 已搬遷!

若要取得遊戲的最新版本,請按此處。

這是什麼?

這是一套即時內燃機模擬器,專門用於產生引擎音效並模擬引擎反應特性。 它不是科學工具,無法預期能為工程或引擎調校目的提供準確數據。

我要如何安裝?

這是一個程式碼儲存庫,可能看起來不像你平常習慣下載和安裝的其他軟體(如果你不熟悉程式設計的話)。若要下載可直接使用的應用程式版本,請前往發行頁面,找到最新的發行版本(例如 v0.1.5a),點擊「Assets」,然後下載檔名以 engine-sim-build 開頭的 .zip 檔案。解壓縮此檔案,然後執行 bin/engine-sim-app.exe。模擬器接著應該會正常啟動。

如果你需要更多詳細資訊,請參閱我們的常見問題。

我要如何使用?

使用者介面極度簡約,只有少數幾個控制項可用來與引擎互動:

按鍵/輸入 動作
A 切換點火
S 按住以啟動起動器
D 啟用馬力機
H 啟用 RPM 鎖定(操作說明見下方)
G + 滾輪 變更鎖定轉速
F 進入全螢幕模式
I 在資訊面板中顯示馬力機數據
Shift 離合器(同時按住空白鍵可緩慢接合/分離)
上方向鍵 升檔
下方向鍵 降檔
Z + 滾輪 音量
X + 滾輪 卷積等級
C + 滾輪 高頻增益
V + 滾輪 低頻噪音
B + 滾輪 高頻噪音
N + 滾輪 模擬頻率
M 增加檢視層
, 減少檢視層
Enter 重新載入引擎腳本
Escape 結束程式
Q、W、E、R 變更節氣門位置
空白鍵 + 滾輪 微調節氣門
1、2、3、4、5 模擬時間加速
Tab 切換畫面

使用 RPM 鎖定

RPM 鎖定功能會將引擎維持在特定 RPM,同時也會測量引擎在該 RPM 下的馬力與扭力。你可以按下 H 鍵來啟用 RPM 鎖定。接著你必須啟用馬力機(按下 D 鍵),RPM 鎖定才會生效。若要變更鎖定轉速,請按住 G 鍵並使用滑鼠滾輪捲動。RPM 鎖定會顯示在畫面左下角的 DYNO. SPEED 儀表中。

為什麼程式碼這麼隨便?

我寫這個是為了在YouTube 影片中示範,不是當作真正的產品。如果你希望它成為可用的產品,請聯絡我或加入我的 Discord(連結可在前述 YouTube 影片的說明中找到)。我將這個程式碼庫用於我自己的用途,因此它可能會頻繁變更,且不會事先警告。

我要如何建置?(如果你不是開發者,請忽略本節!)

注意:本專案目前僅能在 Windows 上建置!

步驟 1 - 複製儲存庫

git clone --recurse-submodules https://github.com/ange-yaghi/engine-sim

Step 2 - Install CMake

Install the latest version of CMake here if it’s not already installed.

Step 3 - Install Dependencies

You will need to install the following dependencies and CMake will need to be able to locate them (ie. they need to be listed on your PATH):

1. SDL2
2. SDL2_image
3. Boost (make sure to build the optional dependencies)
4. Flex and Bison

Step 4 - Build and Run

From the root directory of the project, run the following commands:

mkdir build
cd build
cmake ..
cmake --build .

If these steps are successful, a Visual Studio solution will be generated in build. You can open this project with Visual Studio and then run the engine-sim-app 專案。如果你遇到錯誤指出你缺少 DLL,你必須將那些 DLL 複製到你的 EXE 目錄中。

Patreon 支持者

本專案得以實現,要感謝以下個人的慷慨捐款!

Grease Monkeys

Devin@Hondatuningsuite nut Devin C Martinez WelcomeCat Saints Sasha
Ida 8858 Emily Steelorse Kruddy Sgt. Fluff
darcuter FatFluffyFox Benton1234 Jim C K Flaten The Zuck
Blade Skydancer Ye’ old apple Hayden Henderson AlphaX Lucas Martins Bündchen
Jay Dog damo IBS-IS-CRAP Snowy Noah Greenberg
Eisberg Brendan M. Alex Layton Lukas Bartee Thibaut Dubuisson
The Cheeze Ity JoeJimTom MichaelB450 Björn Bartdavy
sasha bandelier Caleb Black COOKIES Andrew Cooper asimo3089
Vim Wizard Kevin Arsenault Carl Linden Kele Tappi Kroklethon
labourateur viperfan7 SlimmyJimmy Jason Becker Sascha Kamp
ves Supernalboot BeamNG Paul Harrison Tyler Russell (Nytelife26)
nicholas jacobs DrDotMadness AVeryPlainTyler Zach Perez Paul Schaefer
Clay Bauer CR33DYM0N14 julien nadeau Patt313 Philip Edwards
RegularRuby670 Mateusz Ładosz FémLol Stúdió Crazy Yany Elden
Tristan Walker Matthew McDonald Jan-Sander Huiting Mitchell Almstedt Dylan Lebiedz
Name Here LoganBoi FNAF Epic Randomness MrPiThon mike
dung Alvaro ArroyoZamora Skinna Godwin BeppoBarone レナVA
Sabata Brady Fulham Powerpuncher NK10K Gavin Osowski
Orbitstrider Steven Doyle Jaksu2696 Toni Devin Abolins

Tuners

Boosted Media Matthew McLennan Venican Lyan le Golmuth Alberto R.
BetaToaster Akira Takemoto J Anderson Apolly007 LexLuther
xilophor Robert K viktor lind Adrian Kucinski sarowie .
Chris Fischer Marlod Chase Hansen Aidan Szalanski Andrew Taylor
Jason Hwang Juuso Natunen Ian Moss PickleRick Beljim46
RSOFT92 UCD Sped OldManJenkins James Hart
Kalle Nilsson XxBrasta455xX Colin Sandage Dakota Mackinnon Carter Kopp
Jakub Kozak CJ Plessas Loizeau Charles Mills YellowLight
Didrik Esbjug Alessandro Dal Pino Carter Williams Robert D Cadence Plume
BLANK Provenance EMU Dylan Engler Nathan Rojas Cornelius
Acid larsloveslegos Maxime Desages GM BreadForMen
Devin Freeman Lieven RYCKEBOER Amelia Taylor Jelle Plukker sodmo
Jimmy Briscoe Cirithor Martin .K DMartland Lucas Diem
Richard Budíček Jack Sheppeard Meemen Anderson Huynh NPException
Mattia Villa C AIDAN POWELL Brenn_the_Otter Lane Mosier
Ceze oranjest1 Jw ISON Mathew Graham
MACHINA John Crowell Asher Blythe Cronos Skies Matt Amott
CpTKugelHagel Simon Krayer Caleb Bek Monster Man25 GeneralMoineau
EsuKurimu Caleb Sartin Jared L. Hunter Wood Ben Poole
Steven Victoria Jordan Zondlak Agelessgod Christopher Fahs Jonathan Vincent
Dalton Guillot Simon Stojanovic Andrew Urbanczyk deniaL Tyler Hughes
vPam Justin Kruithof Curtis C Coomber Sawyer Clark Mike Hart
Ciro Rancourt Miles Guo Rewind E=mc^2 Keaton Call
J.Es Jeremy B Chance Hall Jack Tompkins Race Sim Studio
Quentin ZAOUI Floyd Henderson James Haylow Milkshiekh Wyatt Todd
User 2820 Leon Schutte CYBERBUG_JR sebiii Keegan
Victor Cosiuga Rolly ! Elias Pettersson Tyson Makovec Bill McDermott
Phontonic Simon Armstrong avec KidozyGAME (Dead) Stephan Cote
Justin Biggerstaff Jabba Jubba notD34THNIGHT Inventor Wesley Bear
Supersonic2510 Pixel Simon Bernhardt Bas Vangermeersch ToyotaCipra
kyle crawford ApatheticWood Ben Vaughn Erich Westhoven Zack Myers
Tbjoern Vetle Høgås Derek Thom Aaron Beck

Junior Mechanics

Karol Szép Leon Jordan Nathan Higginson Patrick F Samuel Picard
Alexander Fritsch Lucas Scarpi Jack Humbert G2Eneko SweCreations
Marius Becker Cedric Wille infernap12 Julian Dinges Wamuthas
Alex Mason Hawar Karem Melonenstrauch Jacek Dębski Alex Eastman
Darren Taing Po Wang Giorgio Iannucci Levis Eden
Alin Chiparatu Arjun Mandakath A.M. Dylan Ryan Noah Entrekin
GT130 Josh D generic Henrik Cohrs Nic Yetter
Dan Fredriksen 153AN1MJ Rasmus EpicEcho Kaur Hendrikson
Maddox Partridge L33TIFY_ Zack Fletcher teiiio Mike Zaite
Evan Sonin Christopher Zimmerman PrefacedVase funtomr Triton Alabaster
appelpie Julien Ferluc AnomalousFerret_ Miles Orozco Spencer Teeter
ThatCanadian Harry Prabowo Dylan Rogerson Jaedyn Allen Zephyr Sefira
Alexander Stone Mason Little Wojciech Czop ryzen5 Kosta Diamantis
Karol Stodolak Tim van der Linde Loïc Ruttner jonthefuzz AsgarK
James Morgan Elijah 1ntl Tobias Johansson Mome
P SOPA_ Shingekuro Sean King Russell Marsh
Alyx Ranas Naters305 ChrisakaMrXD Nic sean
Zach Hagedorn Jhon lenon Everett Butts Kyan ranger Nation
Hiago Oliveira Texi MrRhody Inglorious Bastard Marty Mitchell
Justin Chao ManuelS Cornelius Rössing Pedro Freire Anthony Stuart
Hubba Nubba Skychii Joe Underwood Xander_ Notbigdank
Sander D. Lars Joosten Danksa Metrostation Myles Wommack
Derrick Sampson Corey Hannen Matteo La Corte Octothorp Obelus David Baril
Soyuz Kafire Ivan Coha BigElbowski Apolepth Julian Krad
David Soulieres Eric Huang Léo Vias Riccardo Mariani Vic Viper
Shinkaaaa Mumaransa Michael Banovsky Hendrik Voss Inverted Blackhat
skipyC Tobias Moor jaky3 . Clément LEGRAND Ian C. Simpson
Challier Jan Przemysław Drabik Dsand23 Smooth DLX The German Dude
CrazyEagle Jordon Goodman HenryWithaG . Oscar Krula Brayden Moore
Steven Nall Wolfert papajonk Andrew Ben Kingston
Julian Vogl Maxime Lubrano MrMekouil Doudimme Jacob Hultberg
Nolan Orloff Mike tobi9899 Danila Frolkin Xecotcovach
Aj Carcar404 John Martin Dominik Greinert Lukas Stadler
Oliver Yang sonax51 Marcel Kliment Chris David Rush
LethalVenom13 Dave Osterhoff Anto1709 Ben Morgan Munroe
Ivor Forrest Sam Hopkins Atte Dax William Bergström
homelessmeme Thanleft Zaxerg Robeloox Maximilian-Lukas Marz
Morgn Seth Monteleone playfulmean videos Lanimations LA Bram G
Benoit Fournier Bernar Lepiller Nicolas Baur the Snekers
Darkmount Tobiasz Michalik Aidas Ri Daniel Postler Skim_Beeblez
Impetus Thunderbird324 Fred Joss Krzysztof Radowski Azerrty
Harrison Speck Matt Baker BigLynch Markus Pelto IMBIBE
James L Plummer Rose Giles Jonas Brekka HASTRX Lepoucehumain
Naomi Humin qkrrudgks Johann Gross Janis Knappich WhatTheDuck
테루 Glimple Bort Jacob Tudisco Tanner Julian kaspi
nathan gould Randal Rainis Kruus Beppierre Craig Martin Thomas Bukovsky
Colaxe Robert Oram Matsuy15 L Kacpe Alex Sedlic
Mark Benson Mhenn! Anders Nelson Dingus Rustle
Marco Schulz stratum brochier gabriel Thomas brody of hillcountry
Thomas Afford Brody Blaskie Martien Gaming Adrien MC William A Grubbs
Trevo Ph.D. Donovan Gibson Polish R3t4rd Keith Price LAWL CAKE
Rhien Schultz FireThrow13 Seraphim Titus Standing Matt Miklos
B Dub Jonathan Ekman Al Pomeroy Vestii Wil
adrian Airatise TJ Sinkoski Shotts SilverStone Reagan Carbaugh
WarAestheticsRebooted Aidan Case Casey Bryant Goodwin Konrad Adam Larcher
Kazar Xin Xiao Riccardo Marcaccio William S. Francis Filion Loïc
Kenny Deane Blackspots mike MXT Joshua Gibson
milky boi Hagen gunmaster929 jgvan Benny 282
Sean Wehner Christian Poole Ethan Tsukiyama Shuu Ooof_uhhh_haah
sano ken ch Diego Martinez Chuck GalaxyFrogs TheGeForce
Chriphost Carthage Greg L Chipskate Muhammed Mehmood
Hamilton Sjoberg Amina Moh vSiiFT Jeremy Wren Esteban Acosta
John A Ullenberg Michael Morozov Andrew Webberley Nathaniel Lim Aaron Ksicinski
Apocalypt Josh batuzich Ed Hunter Gene Brockoff
Redheadspellslinger. Pablo Magariños Nilz Jose Manuel Silva Calvo AJ
Ethan Wille Aurora Derek Shunia Jan Nope Mircea
Giancarlo Cestari Tanner Edge brad. Connor Merrick Martin Scholer
Deppy Dan Smith Tyson Jac Comeau Itemfinder
Tischer Games Pedro Henrique BeenWashedUp martin wolff Kurt Houben
Thomas Onslow Brendan Puglisi Kai Anquetil Rudolph Ignatenko CloudHackIX
Zach Carreau Jonathan Vanderlyn Krobivnov ienergy Leifster
Mikael Kaaronen Glen H.Helsing ange The Nobles
Johnathan Johnson Juha Merentie Jim Fares Tom Marshall Superferrariman
Zakary Zisa JustTy 晟道 杜 Dnialibr Williams Takumi Fujiwara
Koen van Hal Jonathan Hill Marco Siciliano Kevindosenfutter Angry Prawn
Natharic 67 Rafael Monteiro Jacob Ashline ChironTheFloof Caleb Dauphinee
Tony Zac L AlainMoto FPV eirik johan johnsen Elderet
Miles Longmore lemon head Viccy Casey Kajetan Cupa
Conejero00 Bill Gricko A cow wearing a turban Danni Nowicki Udo Schmidt
Tyler Swords Constellation Gaming Manimo valentine Jules Schattenberg
Brandon Crotts Philipp Popetschnigg Tiziano Della Fazia goodgamer1109 Joshua Thomas
Jeff Testa Avery Snyder Josh Kern Triptagram Bayon Antoine
Iván Juárez Núñez Amery Martinat ElArGee Cory Green lucas Di lorenzo
Caleb Sandersier

授權與來源聲明

原始 README 與翻譯沿用 MIT 授權;本次修改為繁中翻譯、連結與排版調整。可修改的 Markdown、原始 README、LICENSE 與 NOTICE 收錄於頂部文件包。原作遊戲內容與商標不因此獲得授權。

LICENSE

Copyright 2022 AngeTheGreat (Ange Yaghi)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.