Highlights of this version Stops can be shared without being public stops in networkgames Signals can be allowed to be passed without effect in the reverse direction. Full changelog Here's the full list of changes since the last version. Added (nazalassa) permissions for halts, t
Highlights of this version
Stops can be shared without being public stops in networkgames
Signals can be allowed to be passed without effect in the reverse direction.
Full changelog
Here's the full list of changes since the last version.
Added
(nazalassa) permissions for halts, to let other players serve specific halts
(makie) more settings for inital climates in simuconf.tab
Optional 'electricity_producer' flag (can be 0 or 1) for factories to override electricity producer status based on object name
(janry) make sure the client id is valid to avoid server crashes by bad packets or bad actors
(Nazalassa) button to allow signals to pass convois in reverse
Changed
link factory tool inaccessible when factories are cross-connected by default
public player with built furts across rivers even for faster roads as long as there is one with max_speed of at least 25 km/h for road
traverse new net replace for leitung non-recurvsively to avoid crashes on loading large maps
(poppo) producing factories can also generate electricity
parse script data in scenario files for system calls (manipulated savegames only)
Stops get an orange/red status colour only when happiness is below 90/75%
(Nazalassa) combobox only searchable if not fitting on screen, "Type to search ..." shown then
Fixed
Potential uninitialized read when reading nwc_chg_player from network
(janry) better packet parsing enforcing limits
(janry) invlaid packets were never freed
two tables for permissions and the rest in halt_info
no longer airplane stops at harbours ...
new simple tool work_world for creation/loading/asaving maps to avoid doing this during a step which may lead to crashes
pak specific config in user_dir/addons/PAK_NAM/config/simuconf.tab for reset extended settings
pak specific config in user_dir/PAK_NAM/config/simuconf.tab
drive again to the end of the platform after choose signal selection
(janry) mke sure player nr is valid for network packets
(janry) admin packets only read or write for admin tool/server
settign of lake height via simuconf.tab broeken, also no way to set default ground water height, lake_height again absolute value
powerlines did not correctly calculated routing costs
Wrong generation of lakes during map generation when groundwater level is not 0
shift the special keycode to private unicode range to allow for latin2 characters
(janry) Crash when server replies with invalid or corrupted Content-Length header field
Wrong signal direction overlay arrows for signals on tiles with two ways (crossings, tram tracks)
(janry+prissi) assertion in debug mode when deleting multitile buildings during city removal
correct ways for all bridges after loading/construction
(Poppo) wrong default argument
(poppo) wayobj toll on other people's way and their removal
wrong order of loading season counter from bridge pak file causing reads out of bound
capping factory mail and pax demand at (2^23-1)/9 = 932067 to avoid overflow issues
reset ingame names to current language when startign a new map and expose the name language via the translator
Highlights of this version Searchable comboboxes (just type when a box is open) Grouping goods/passengers by connection Overhauled city growth Improvements for the tutorial for pak64, pak64.german, and pak128. Paksets updated on Steam Pak64 124.3 Pak128 2.10.1 Pak64.german 124.4.
Highlights of this version
Searchable comboboxes (just type when a box is open)
Grouping goods/passengers by connection
Overhauled city growth
Improvements for the tutorial for pak64, pak64.german, and pak128.
Paksets updated on Steam
Pak64 124.3
Pak128 2.10.1
Pak64.german 124.4.0.1
Pak128.german 2.4
Full changelog
Here's the full list of changes since the last version.
Added
new settings cost_kw_per_credit (default was 512) to change revenue from power. Smaller numbers more income
searchable comboboxes; for editing click twice
expose make public month to cript API
elevated powerlines
new flag for bridges and ways in makeobj 60.9 clip_below Default is (1) but for slim structures (e.g. powerline) it could be set to zero for nicer display of structures below
Retain message of the day in servergames. Can be reshown in the game info/network dialog
(Nazalassa) bridge renovation when building on an existing bridge
Makeobj now supports named directions for sloped way images (imageup[w]=...)
after (FrankP) new constructions ite images for ras, com, ind as 7,8,9
(Nazalassa) Sound can now also be loaded from pakset addon directory
groups goods by lines of their next stop and sort by amount (not available for convois, of course)
(mostly Yona-TYT) flowtext recognised img tag. For now only tags #?XXX are supported, where ? is one of these letter GSDTW and XXX a number. G is a general tool icon, S and simple tool, D is dialog tool, T a toolbar and W and window gadget.
New simple tool 43 to highlight single ribi ways
Now all windows show same ordering
use system fonts in Android
Changed
Use fluidysnth pulseaudio driver for linux systems as the sdl2 driver is being deprecated
sound loudness slider now follows a x^4 curve, approximates an exponential loudness control for finer adjustments
more time for startign complex tutorials
(poppo) extended selection of way resp. their obj with CNTRL and SHIFT and pipette tool
Stops that are not connected to any other stops now have a blue status colour
Comobobox show current selection until actually some letters are typed to search for something
(poppo) jump tool now allows also for z coordinaate
clean up main page
(poppo) build_wayobj and dragging signals also use the test_driver like the removal tool
only clip below bridegs if there is a high building
Support separate key-down/key-up events
if defined USE_TOWN_ROAD_BUILDER_TOOL the cityroad building tool will use the internal tool of the city (default off)
(k47) stations names drawn later in minimap
trains with both diesel and electric engine can go on non-electricfied track, but run without electric power there
Show obsolete shows lso distribution_weight=0 factories in the editor window
test renovation before new building san duse homeless and jobless numbers to releive growth of town borders
cities try harder to build slopes for expansion even in mountanious sites
Combobox try to show as much entries as possible
Unified handling of pak set dirs and names
Increase maximum loading time of vehicles to 2^31-1 ms
Add widget to change price factor for beginner mode
Move map size edits in new world diaglogue on one line
default signal spacing for dragiing to 5 (as 4 and smaller can slow down trains faster than 200 km/h)
If there is a halt tile above ground, it will become the base tile for name and jumping too~
Pause tool unpauses server waiting for clients
Help texts will be first searched in pak directory
No longer default pixelfonts for Windows and Android
Fixed
Topspeed replacement with city roads was broken. Multitle buildings also may have the roads around them never fully renovated
Crash when trying to open a directory using dr_fopen
Transformers are removed by factory field expansion
Factory editor could not slect water factories from climate selection
Overcrowded stops can cause unhappy return passengers in unconnected networks
not connection to tunnels, bridges and elevated ways when extending city streets
show convoi (and line) name when permanent tooltips are enabled for convois
Inline tool icons change size when zooming in or out and scaled tool icons are enabled
Corrected format of transformer tool icon tooltip
Fatal error message when building a city house that was copied using the pipette tool
Comobobox show current selection until actually some letters are typed to search for something
(jrs) really lock the freelist_tpl
(poppo) change and delete cities first using the pointer to the city from the townhall/house at this position
wrong bridge height allowed on end slopes
GDI did emit keypresses for SHIFT etc.
city connects correct over slopes but not to depots
(k47) world borders soemthimes not correctly displayed
(poppo) trains could not choose if electrification was not to the end of track
update test suite
trams connect to all ways also in tunnels
Not allowed for powerbridges to end on ways
Android now supports 16k pages fully
ownership check when renovating bridge
compiling with USE_VALGRIND_MEMCHECK
bridge removal costs
exclude renovation buildings and not wrong connection along slopes (and simplified code)
only build new houses on empty tiles
reset illegal street slopes to flat tiles
no longer crash when city grows into fields
citybuildings no longer destroy power lines
overhauled townhall road building to cope with difficult terrain and avoid illegal tiles
(Nazalassa) use catg_index for line sort
tunnel route search suceeded even if z coordinates of portals did not match
check and correct for wrong smoke offset tiles
pak192.comic 'Suck a tentacle' achievement
longblock signal reservation broken
Wrong expansion of parameterized image lists with empty image
slist_tpl returned wrong sort status when sorting lists of only two elements
Finance windows did not show powerline revenue as all revenue
(Nazalassa+prissi) toolbars can be automatically stacked again (option in simuconf.tab)
(Nazalassa+prissi) Notifications from locked players and no company messages for locked players
(Nazalassa) various bug with display of the connection (work in progress)
(poppo) a chosesignal after a presignal could lead to unsecessful route searches if the directions differed between those signals.
missing logic for handling signal/roadsign maintenance
(Nazalassa) Players can change nickname to one that is already in use
Crash when changing the sort mode of a halt while a convoi window is open
(Nazalassa) Cursors ignore player changes
(Nazalassa) Cannot build tunnels directly above tunnel slopes if way_height_clearance=1
(Nazalassa) Ticker messages do not respect player colours when the ticker is opened
(Nazalassa) Public unread message counter is increased for private messages
'makeobj list' cannot print properties of factory nodes
Zoom in immediately followed by zoom out if SDL raises mouse wheel event with 0 vertical scroll amount
Public player cannot replace wayobjs of other players
Possible save file corruption when reverting to default settings using the settings window
Graphical glitch when dragging the forest tool across slopes if the pakset does not have double grounds
Crash when screenshotting in-game window with non-0 position
Missing collision check for water factories
properly enforce maximum city building size
multitile city building totally renovated, 3x faster city growth (at the start of the map in debug mode)
accidentally messed up replacement of larger multitile buildings by single tile buildings
count instead dir
count instead dir
multitle buildings code (and also several issues with normal renovation) fixed
crash when 2x1 building did not fit
accidently add wrong offset for checking orientation of multitile bild
new city buildings were built when exceeded 2x1 size (only renovated)
did not save correct when too many messages
switch reservations off when showig single way tiles and vice versa
only save the newest messages
wrong assert when replacing buildings (debug only)
single way tile did not force bridge direction
could built powerlines under bridges by just building a zero length power bridge starting under a bridge (also added to test scripts)
was assigning wrong values to old_sort_mode prevented convoi goods update
bridge builder not handling invalid end coordinates in work
Highlights of this version Improved bridge building (now requiring dragging or two clicks) and multitile city buildings. Currency symbol can now be changed. Cost and maintenance can now be much higher. Full changelog Here's the full list of changes since the last version. Added C
Highlights of this version
Improved bridge building (now requiring dragging or two clicks) and multitile city buildings.
Currency symbol can now be changed.
Cost and maintenance can now be much higher.
Full changelog
Here's the full list of changes since the last version.
Added
CURRENCY is now translateable to a local currency (no conversions though)
Maintenance costs for roadsigns and signals
Changed
with pause setting, server saves game after going to pause => immediately able to fulfill join requests and more current savegames on crashing servers
move multitile height drawing to building in preparation of new pillar type
Also download https paksets from Android
bridge builder is now only a two click tool (total reneval) Can not again connect to complex ramps on elevated ways or cross rivers automatically
tram system type way can be laid over other tracks as well (like pak192 narrowgauge over normal rails)
pakset debugging seperate from normal debugging messages to unclutter server logs
Fixed
make sure, the pak path and working path are really different
break up of multile buildings during renovation broken city pointer
less moving townhalls and not building townhalls over roads with asymmetric sizes
another case when illegal bridge biuilding did nto fail properly
can_built_bridge sometimes returned NULL when error_msg was not set
Completely updated renovation logic, now goes forward to multitle and back again
Cost/maintenance of ways cannot exceed 2^32-1
Cost/maintenance of wayobj cannot exceed 2^32-1
Tunnel cost/maintenance cannot exceed 2^31-1
groundobjs cannot cost more than 2^31-1 Simu-cents
Goods base prices cannot be negative
Cost/maintenance of buildings cannot exceed 2^31-1
Pak files cannot represent bridges with large cost/maintenance
apply line changes only to open schedule windows
not properly exit a two_click script tool
Do not change underground mode when scrolling from the minimap
makro writing tool should be only executed locally
sint64 size needed alson change of node size for vehicle writer
Freelist allocated objects (tiles, ways, trees etc.) use 3x more memory than necessary
wrong folder
wrong filename for aab
release valid apk again
double filelist -> missing png and dat from themes
wrong folder
makro building with way order and stations extensions fixed
Macro build again extensions
Overflow when cost, runningcost, or maintenace of vehicles exceed 2^31-1
Players gain money by building long stretches of expensive tunnels
error strings from parameter checks were treated different as error strings from tool execution => no fatal error for the former any more
obey speed limits on crossing again
some more unsafe calles to add crossing logic converted to finish_rd()
various errors and incosistencies with the crossing logic fixed
clipping missing when scrolling single row tool bars
(not fully) macro tool no rebuilds also elevated ways
allow ramps to connect to elevated ways directly
reposition modal dialoges also before world is started at pakset loading screen
Submissions are closed: It's time to vote to choose a winner! As always, voting is done on the Simutrans Wiki If you want to see the original images in full quality check the 2024 Simutrans Screenshot Contest gallery (press the tool button below the image and "Show"). IMPORTANT:
Submissions are closed: It's time to vote to choose a winner! As always, voting is done on the Simutrans Wiki
IMPORTANT: Remember that each checkbox corresponds to the image above and not to the image below, even if there is a lot of space between the checkbox and the image!
The winner will represent Simutrans as the new banner image at https://simutrans.com . Choose you favorite screenshot!
Simutrans 124.3 comes with the new pipette and macro tools to make easier than ever to build the transport network you always dreamed of. Highlights of this version Pipette tool: Copy any building under the cursor. Macro tool: Copy and save entire layouts to build them again with
Simutrans 124.3 comes with the new pipette and macro tools to make easier than ever to build the transport network you always dreamed of.
Highlights of this version
Pipette tool: Copy any building under the cursor.
Macro tool: Copy and save entire layouts to build them again with a single mouse click.
Watch on YouTube
Reworked tutorial to make it more stable and consistent across different paksets
Paksets updated on Steam
pak64 124.3
pak64.german 124.0.0.3
pak128 2.10.0
pak128.german 2.3 beta
pak192.comic V0.72
Paksets updated outside Steam
pak46.bitlit 0.1d
Full changelog
Here's the full list of changes since the last version.
Added
translate also error message and discern between saving and loading errors
error message if a forbidden tools is tried to be executed in a scenario
translate object file for script toolkit
hm_test_area_tl([],[]) for testing the tiles before construction
saving signal type to macro skript
'FL = 0' for flat tiles to fl_slope
signal types for replace not found saved signal
copying cities (minus pavement)
initial Doxygen create documentation
scaling of icon size is now in percent to be independent from actual icon sizes (icon_scaling = 100)
clear player rules
allow cubic rule that overrideds any forbidden cubic rules and explicit clear rules calls
scenario can now allow and forbid specific way tools (also sped up the forbid list processing)
GenericName to linux desktop file
more parameters to is_work_allowed_here
manually increase tool icon size in display settings window
pipette tool (copying and check if allowed to copy for way more objects)
building macro from OTPR, also including station extension buildings
Changed
the text update script callbacks are now again only called during a step. Only the callback on clicking on a link must return quickly and cannot alter the map
Do not open climate settings dialogue on the far side of the screen
shorter update time for dymanic strings in local scenarios (1s instead 10s)
reset origin of flowtext scrollbars when changing text content
hm_test_area_tl() add terraform flag
indicate which AI script is running in finances
Hide AI settings in finance window for scripted AI
building owned houses and headquarters from script
check building if inside allowed area first to fail faster and fix tests
lowering tiles next to water will flood them again as a long time ago
Announce server to servers.simutrans-forum.de as default
create lost players during game laoding to recover more from broken savegames
no way foreground draw in stations and depots (and other buildings)
Fixed
rotation should not be done during a sync_step
don't assume a label has an owner
removed some ancient logic related to labels at places with stop names
Tree distribution setting reverts to random when trees are disabled during new world generation
Using hashes to find out if scenario texts has changed
do not calculate hash from schedule pounter or heap overflow
interating through tile map_objects work as documented
Player colours of scripted AIs appear to revert to the default colours on reload
Possible false-positive error when calling loadsave_t::flush_buffer
invalidate return res of script tools before calling
lots of files has nopt the native line ending set
scenario rules on the server were checked after packed were queued instead locally first, same like on the client
explicitely set user_dir before calling game saveload window
error replace station by no timeline
replace depot
typo for decoration_wt in api
premature end of search for forbid_rect rules due to typo
Removal tool removes powerlines of other players
Failed to find city- or streetlists for paksets installed in non-default locations
crashes and forbidding many unbuildable buildings with pipette tool
icon not cursor in description.tab
not checked for empty default_param
way building accepts now 0 (wt_all) to connect any tile
rotation of movingobjects no longer crashes
correct default paremeter for station scripting
obey width (and height) requests again
scripting of airports fixed
start scripts also from directories containing non ASCII characters and try different way order for airplanes
init string with zero must by outside the loop
Hopefully caught all combinations of laoding and waiting correctly
typo in cursor definition im scriptgenerator
obey no_load flag again even if there is a minimum load
Possible crash when deleting stops during connection recalculation on large maps
check also starting tile of brigdes and tunnel for scenario
init message option string all entries with zero
use static for default string for tool script parameter
some more bugs with rules
sevreal typose from copying code around
finally got the wildcard in rules to work, it seems
find again rules with empty default paramter even if compare rule has one
freelist debugging was broken and removed code duplication
race condition could steal freight from first convoi; removed a lot of confusing old code
if a convoi served a station but did not load anything (maybe full), another convoi did not check this stations and could get stuck even with waiting for zero load
rule player system reworked to better handle large rules sets for individual player and also fix lookup of catch all waytype forbid
Station rotation preview ignored active player
tests for new townroad plaement
also connect bridges to tunnels in pak128 double slope situations
return string instead of false
build for server
keep current tile's climate on lower/raise if climate mode is humidity based
drawing error on too many tools
do not show clear reservation selected if only show reservation is on and vice versa
calculation of minimum size of scrollpanes with only a horizontal slider must expand if slider visible
interface definition for non MSVC
using freed text pointer in convoiinfo during renaming station
bracket error
do not trust HOME variable to be shorter than MAX_PATH
handle focussed objects in tab correctly (like comboboxes)
loading of roadsings broken for player >=8 and old versions
open schedule get applied during rw (reload, quit, change language), line window crashes
Welcome, everyone! This year 2024 is about to end, and what would be better than end it with our traditional Simutrans Screenshot Contest? Nothing! So prepare to compete and win the best prize of all: the winner of this year will become the new banner image for simutrans.com , wh
Welcome, everyone! This year 2024 is about to end, and what would be better than end it with our traditional Simutrans Screenshot Contest? Nothing! So prepare to compete and win the best prize of all: the winner of this year will become the new banner image for simutrans.com, which has remained unchanged for years.
Participation 1 - You can participate with any pakset and any Simutrans version. 2 - You can submit as many screenshots as you want. 3 - You need to include title for every screenshot. Screenshots without title will not be eligible! 4 - You have until January 24st (inclusive) to submit your screenshots!
Theme and guidelines 1 - The theme this year is... Stations! Enough of showing the countryside, show us your bigger stations! Or perhaps that little, calm station in the countryside. Whatever you want, if it contains at least one station. 2 - To keep screenshots clean, try to disable city/station names and avoid showing title bars, overcrowded menus, etc. 3 - The winner screenshot will be cropped or resized to fit our header (1000x500 pixels), so this is the minimum size required.
You can submit screenshots that do not fit the theme or guidelines just for the sake of showing others your work. But theme and guidelines will be used to select the winners!
Prizes The winner image will become the new banner image for simutrans.com.
Voting Voting will be done on a wiki survey (I will post a new announcement when the time comes). Everyone (participants and non-participants) can vote, but you can only vote one time. If two or more screenshots have the same votes, our benevolent dictator will benevolently select a winner, taking into account theme and guidelines.
Submission You can submit your screenshot through the following platforms (don't forget to include title):
The International Simutrans Forum: Posting your screenshots to this forum thread.
Steam: submitting your screenshots to the "Screenshots" section of the community Hub
Mastodon/Misskey/Fediverse: Post your screenshot and mention @[email protected] with the hashtag #SimutransScreenshotContest
Reddit: Submitting your screenshots to /r/simutrans/
X.com: Post your screenshot and mention @SimutransTeam with the hashtag #SimutransScreenshotContest
Simutrans released three minor versions this summer that have finally made its way to Steam. Here is the combined changelog of Simutrans 124.2, 124.2.1 and 124.2.2 Highlights of this version New way builder: If a new way starts one tile from an existing way and ends one tile from
Simutrans released three minor versions this summer that have finally made its way to Steam. Here is the combined changelog of Simutrans 124.2, 124.2.1 and 124.2.2
Highlights of this version
New way builder: If a new way starts one tile from an existing way and ends one tile from an existing way, it will now try very hard to make a parallel track. It works as good as it can do without terraforming. It may still join at a place where it cannot pass next to it but then go parallel again, greatly saving efforts (especially with diagonals).
When you click on a chat message ticker, it opens the chat window in the corresponding message tab.
Paksets updated on Steam
Pak128.german 2.3 beta
Pak64 124.2.2
Scenario tutorials for pak128 and pak64
Paksets updated outside Steam
Pak48.bitlit 0.1d
Full changelog
Here's the full list of changes since the last version.
Added
Support for through depots (dims 2)
new option leftdrag_in_minimap in simuconf.tab to allow dragging in minimap with left mouse button (now default)
flat skin for touch
new simple tool 42 for toggle day night view
pak192 theme to default theme list
restore pakset symbols after changing the gui skin
restore open windows when rejoining a networkgame
prefer to build parallel ways, if starting next to an existing way
small vehicle check by threeway line start
function is_tool_enabled for tutorial to allow to grey out menu items
nightly build makeobj for windows, linux and mac_x86
Changed
pak planquadrat saves memory and accelerate the sync_step on big games
double click copies chat text
when merging stops, keep the name of the bigger stop
line list, load dialoges and online game windows shrunk in width
factory statisktiks now using scrollbars if not fitting into screen width
A new game always uses the settigns from the simuconf.tab. Use the buttons in the extended settings to load other values
Better support for narrow but high (portrait) screens
Try to resize windows if they do not fit on screen
Continue game on banner will really continue a game and not destroy the current one by loading an older version
single_info now tiles the windows. If there is a convoi or halt, not way or other info will be shown (default for Android)
pak64.german large theme compass is pak128 size
don't save default player colours with the settings/game, use pakset simuconf.tab only
only allow DM to active players
keep track of active clients also on the clients
Some more tweaking waybuilder for parallel ways
Records are now saved so less spamming with new records
allow loading a game even if a slot is locked
Allow again building roads through other people halts but do not take road ownership afterwards
reconnect to a server if the last game was a servergame and one was not kicked out due to desync
Fixed
company message ticker again
Longstanding bug with the size of scrollpanes with horizontal sliders
double entry schedules working again
modal_dialoge did not check for NULL gui pointer
obj_count() did not count ways and was a relict that may have cause rare strange errors in other places
if all stops served, drive not on if there is no overcrowdind as the reason of not serving
crash when removing the last element
if all stops are overcrowded, just drive on
error when the next target was a depot or the same stop
Mail counted as happy/unhappy/no route passengers in some cases
widthdrawing is working again
if convoi load in parralele without minimum load, the second convoi could leave empty
allow for pak64 water depot again
no public chat after private
proper building of parallel ways also for elevated ways
rerouting and test scenario hopefully working now as intended
iterate really over all stops, wait more reliable for steps in scenario
was not iterating over all halts correctly
scollwheels only for map zoom, comboboxes work again
occasional bug when clicking on an input field
wrong colors and double messges for private chat messages
insticky bottom on drag to allow scrolling of chat
too many null mouse moving events in SDL2 broke double clicks
player_ranking transport type was not set_rigid => crash on all general comparison
not handling event after the new world is generted
access after delete
the text in input fields is again selected when receiving the focus
the text in input fields is again selected when receiving the focus
airplane trap and deleting flying airplanes
player_ranking frame is usuable now
load pak from savegame file again
chat send by server (with GUI) was not recorded by server
script test tram rail builder fixed
did not fail properly when opening of files falied
error by traffic_light not available
overflow in bits in private way sign could allow/deny unexpectant players
number of players online in chat window now correct (and also showing offline state)
Saving discarded the newest messages (not the oldest)
Player ranking had wrong sort for oprational profit
Always have topped or new windows on the screen
extend label of income in convoilist properly
building makeobj on github
Possible use-after-free when opening and closing modal dialogue
continue game feature for _WIN32 as well
proper max loaded speed display in depot
vehicles not loading
also recoonect bridges in pak128.german
buffer overrun
do no connect to bridges from normal ground unless in starigh direction
connect to diagonal elevated ways but not bridges
reenable dragging of stations
right click scrolling in minimap
Don't skip BASE_DIR/config/simuconf.tab if -singleuser switch is used
Less than a month after Simutrans 124, a new Simutrans version has been released. This was supposed to be a bugix release to address some of the issues players reported for the 124 release, but it ended up being a minor release with new features (player ranking) and a renovated c
Less than a month after Simutrans 124, a new Simutrans version has been released. This was supposed to be a bugix release to address some of the issues players reported for the 124 release, but it ended up being a minor release with new features (player ranking) and a renovated chat window.
For Steam players specifically this is also a very important release. The funcionality of the preloader has been integrated into Simutrans itself, so it is no longer required and has been deleted. Furthermore, we took this opportunity to add more Steam specific features, such as achievements and rich presence!
Achievements and rich presence
You have four achievements available currently:
One for playing pak192.comic and another pak192.comic achievement obtained by transporting a certain amount of ink from a kraken.
One for trying to delete a busy bridge.
One hidden achievement for pak128. I will not tell you, go try to find it!
More will come in the future!
Highlights of this version
Player ranking window
Renovated chat window (icons only included in pak128 and pak64)
For Steam only: The first achievements, rich presence, and the end of the preloader.
Fixes related to crashes and installation of paksets.
Fixes to the tutorial.
Paksets updated since Simutrans 124
Pak64 124.1
Pak128 2.9.1
Full changelog
Here's the full list of changes since the last version.
Added
New chat system with personal and company wide messages
New squirrel function for convoys is_followed()
Integrate Steam API into Simutrans (managing wokshop items, rich presence, and achievements)
Split macos builds into macos-intel and macos-arm
silent installer in principle suitable for the Microsoft store
Changed
Support for player ranking in the current year and divers fixes
Updating the line schedule of a convoi bound to this line will overwrite any pending changes from that schedule if open in the schedule window
scrolled list now takes care of all dynamic resizing => more reliable and more performant
check_and_set_dir will attemp to create directories if they don't exist (and testfile is not provided)
some small GUI fixes for size recalculation and related
Fixed
makeobj did not dump empty placeholder parent nodes like MENU
remove triple CR since lots of translations with trailing returns
only resort player buttons in container if needed to keep buttons responding on first click
News windows again in reasonable width
Crashes/failed asserts of passenger AI
Properly have scrolled list starting at top or bottom
log nickname change in chat
size of infowindows better match the space
Updating the line schedule of a convoi bound to this line will overwrite any pending changes from that schedule if open in the schedule window
copy to clipboard
New world tool had wrong tooltip and hide building was never in selected state
right size of empty textarea groundwindows
renaming cities, convois and factories works again
Cannot build ship depots on dead-end canal or river tiles
Reflect player button color on the player frame when changing player color
Working strcasestr implementation
Possible crash when requesting more than 12 threads via commandline
The long awaited Simutrans 124 is finally here! This version comes with a lot of changes, although the most visible ones are the improved support for anti-aliasing of fonts and some reworked windows. Under the hood, many less visible changes were made to allow this to be the firs
The long awaited Simutrans 124 is finally here! This version comes with a lot of changes, although the most visible ones are the improved support for anti-aliasing of fonts and some reworked windows. Under the hood, many less visible changes were made to allow this to be the first stable Android release - which means you will be able to play online now on Android too!
Note for macOS players on Steam: Due to the new directory structure, paksets installed through Steam may not show at all. You can use the in-game installer to workaround this.
Highlights of this version
Improved anti-aliasing of fonts, now using TrueType fonts by default.
Reworked main menu and option windows.
Reworked list windows, they are now checkered lists easier to read.
The minimap now changes if you are in underground mode.
The new directory structure allows the players to install paksets if they don't have admin rights.
Fixed loading of heightmaps.
Paksets updated on Steam
pak64 124.0
pak128 2.9
pak192.comic 0.71
pak64.german 124.0.0.2
pak128.german 2.2
Paksets updated outside Steam
pak64.nippon 0.62
Full changelog
Here's the full list of changes since the last version.
Added
pak64.german 0.124.0.0.1 uses 40x40 buttons and therefore the theme is necessary and should not be missing
labelupdate for all windows were it makes sense
Checkered list windows
obj_xxx_details in translation will display some more details on an obj, especially vehciles
traffic lights remove themselves if only a curve or a single tile is below them
fontconfig for linux font selection
Aliasing fonts
Rework of banner and options windows. Added button to play tutorial and load last save to banner
rotate house tool will also switch railroad switches (eyecandy only)
new parameter in simuconf.tab cityroad_speeds for a timeline (year,new_speed) of speed limits of way with pavement
rotate also rotates the order of vehicles on a tile to avoid overlapping
Sell all convois in a depot with Ctrl + Sell button
Signals can be replaced by overbuilding them using left-click
missing script ai text
menubar can be dragged to each corner
Display artist credits for music
function find backend specific default TTF font dr_get_system_font()
Theme colour parameter for highlighted objects (gui_color_object_highlight)
scroll to selected font in load-font window
theme parameter gui_color_image_transparency to set transparency color for icons (Yona-TYT)
update vehicle history frame with search string
.pak files are now also searched for in subdirectories of pakset
tooltip warnign when try to cross way without suitable crossing or curves on runways
Loading time display in depot, convoi info and vehicle timeline
MSI installer for SDL2 MSVC builds
single toolbar mode (top and centered) primarily for Android and tablets
Try to detect base_dir when installed on linux
new tool (and button in signal dialog) for removing signals only
map view can be changed with any general tool by dragging the pointer above a threshold
Changed
High resolution icon for Android
all list react immediately on editing the filter name
removed a lot of table to speed up convoi list and added route bar
right click/control+left -> goto pos, left click -> open window
Again orange as default unowned color to have more contrast
Decouple label style and show option
enforce a minimum width of 5 digits for number edit fields
GUI numberinputs stretch horizontally to fill their space
Players can't build over public ways if there is another player halt on them
Slightly improved goods window
Almost impossible to have a language selected with a non-matching font
rename texttype to correct name
save button and save window single translate
button text to exists translate (equal to the window title of the dialog)
state of railroad switches will be saved between games
Delete buttons are always shown when saving/loading. Config show_delete_buttons is deprecated
Increased default vertical spacing of loadsave items from 0 to 1 (so it doesn't look super crammed)
use internal server list name for backup
use 5bit granularity for alpha-blending sometimes
do not change debug tab in scenario window if debug text is empty
issue warning when old object is overlaid by new one
click on ticker jumps to coordinate of message under cursor (or opens message window)
send doubled-object warning as message, click on the message shows the full warning
only warn about doubled objects with different checksums
a go-to-coordinate action will change view to underground/normal view if target is invisible
messages, speed records, ticker use 3d coordinates
tests use command_x.set_slope
Display number of station tiles in parenthesis in convoi details
update convoi list name filter on enter to avoid longer delays
reflect underground view settings in minimap windows
Look for fonts in subdirectories recursively (up to 5 levels)
pedestrians spawned on more tiles, more distributed over tiles, now client wise settings for server games
Ignore pedestrians for deletion tool
only show connection of top factory window in minimap
use TAB to change between tabs
6% speed gain to to a freelist with integrated iterator
Always allow '-until' command line parameter
MacOS bundle is now self-contained
removed LEFT_REPEAT message hack, as this destroys left dragging for fps<10
discard all but the last drag event in a single call to check_events(() or the calac_route maz be called twice during mark_tiles
process events in screen refresh and queue them for execution for more responsiveness on weak devices”
reset frame time when zoom in
file location in the same directory
pakset downloader in separate file
Divide minimap 'Selections' button into two (Show networks and Selections)
Use XDG_DATA_HOME for user dir on linux (only if it has been set)
allow dragging scrollpanes instead using scrollbars
only load goods for a destination into a single convoi. This avoids loading in parrallel of slow loading convois
test connect timeout now 2 seconds (for windows, please adapt and test on Linux/Mac) for query server status
Fixed
generating header script works under windows again
all again to connect from vertical cliff to monorailboden
vehiclelist ignored name filter for waytypes selection
vehicle list did not sort by capacity and was not properly restored after saving
hide wayremover, wayobjremover and signalremove icons when those ways are not available
labellist positions need to be 3D
derive ground info from obj info so long waynames work again
a bridge and tunnel has just a default street => do not show info
extra margins of objects inside a marginless container fixed => all dialogues open in the same size again
if a schedule open not of plane 1 => crash
Could connect way to side of sloped elevated way
Game lags when paused, especially on big maps
Withdraw Line button did not indicate withdraw status correctly
OS window sometimes does not close when modal dialogue is open
makeobj MSVC builds
show waiting bars even without labels
banner window does not close on window close!
outside was not redrawn when windows minimized
wrong function name
default char for cyr.bdf and revision detection fpor MSVC
start also with a wrong unloadable font specified
Error when using 'makeobj dump'
removed unblocking sockets for linux
distribute.sh was not working for some time on linux with default template
Height conversion mode ignored if selected after heightmap
Wrong speed of bridge ramps in some cases
Wrong length for bridges in build preview tooltip
pakset.nsh
built nsis again for github nightly
Extract .cab and .tar.gz correctly
(THLeaderH) crossings upgrade in ways are upgraded
crash when loading vehiles as cnv==1 is used as flag during loading
drawing order of private car
better calculation of dsip_lane also with overtaking cars and road convois
Wrong draw order of road convois turning E->SE or NW->N
airplane convois are somewhat working. Need through stops better for this
Makeobj ignored switch images for tracks with no seasons
Graphical glitches related to translucent player colours
Wrong brightness of colours in screenshots
Label colours when label is unowned
swallow all extra finger events to have better zoom and three finger scrolling
Debug assertion failure when starting a new scenario
Loading window no longer closes all other windows and does not trigger other loading tools in the toolbar.
Missing translation of 'Depot' (dataobj/schedule.cc:590)
Clamp env_t::max_acceleration correctly
Cannot load sounds from pakset if pakset is in user directory
ticker messages - use one method to insert in list
replace %% in translated strings by %, but only for those strings where the base string does not contain format specifiers
Memory label cut off when increasing map size in New World dialogue
Broken compat.tab parsing
Crash when trying to load TTF font without family or style name
Crash when allocation of buffer for node name fails
Crash when dumping pak file containing a node with invalid size
Crash when reading pak nodes with malformed or unknown type
Crash when using 'makeobj dump' on corrupted pak files
Crash when reading non-null-terminated object names from pak files
Use-after-free when listing node names of pak files
crash when such a pedestrian was created near map border
do not generate pedestrians on roads without any connected roads
Crash when displaying alpha images near window border
builing vehicles from the future is not allowed
problems with transparent pixels
crash in build-station tool without cursor
get_available_* returns only descs of buildable objects
do not draw on the window boundary
correctly check for character 30
improved width calculation for numberinput elements
cannot build double slopes if the pakset does not support it
try to repair broken format strings (replace % with %% for broken specifiers)
use double percent sign in translatable strings
format string checks
fix/remove more RGB555 stuff
crash if desc == NULL (may come from scripts)
Missing credits of midi tracks
Credits of midi tracks
correctly handle suspended calls with ct == FORCE
crash in scripted tools
correctly reset tool-drag event if scenario check failed
search_folder_t::search_path if d_type is not supported (koroal)
invert schedule function not working properly (koroal)
window position not being saved in some cases (koroal)
factory_x::get_tile_list returns list of tile_x's (Yona-TYT)
remove preview image of tools if moved on a tile that is forbidden by scenario rules
memory leak
-addons/-noaddons setting saved in settings.xml
do not reset full underground mode when zoom with mouse wheel
apply the correct coordinates when processing links in scenario window
Vehicle list name filter not saved due to typo
initialize restart-variable (Yona-TYT)
properly clear random-mode flag
do not check for local execution, shut down network on quit
size calculation of depot dialog to properly show vehicle list (Roboron)
loading of scenarios for paksets from addons (Yona-TYT)
(after ranran) loading of legacy translation files
schedule positions when rotating non-square maps
clear schedule-editing flag if check fails
trivial case in haltestelle_t::is_connected
crash with invalid defaultparam
Cannot build trees on clouds
world.generate_goods did not work correctly for mail/freight
Uninitialized read in gui_image_t::get_min_size when COLOUR_DEPTH=0
Adapt Load Script dialog to new directory structure
restore all open convoi and halt windows
quit does not quit the server
Addons are loaded by default (contrary to documentation)
starting a scenario in now a command to do this in the step
call the quit tool from dialogues for quitting
Undefined Behaviour when converting char * to utf8 *&
Crash when supplying invalid default_param to tool_plant_groundobj_t
Crash when supplying invalid default_param to tool_build_station_t
Crash when supplying null default_param to tool_build_station_t
implement constructor in c++ instead in squirrel
correctly propagate error when pushing large arrays
Crash when supplying invalid default_param to tool_plant_tree_t
Speedbonus not being applied to air (reverts partly r9208)
use translated error message instead of raw string
setslope for scripts on server games on single-height paks
accept sym-links as directory
dragging of tools with ctrl, propagate flags through defered calls
scrolling with mouse wheel in droplists opened above combobox
copy way-flags when replacing ground tiles
Cannot load addon scenarios if there are no addon objects
Use-after-free in makeobj when reading malformed dat file
crash when trying to save to unreachable location
check for NULL pointers
Paks loaded from addon subdirectory even if -noaddons is specified
Signals not shown when minimap is set to show tracks
Graphical glitch when ticker disappears while background is visible
Position of elements in 'Sort by' depot combobox
PVkraftwerk should produce again power
Disable font size button for bitmaps fonts
do not updtae crossing speed with new way
when deleting stuff from tiles with two or more objects
Don't double sync_step citycars
focus with comboboxes
pedestrians agon walking diagonal
also forbid pedestrian entry on tiles with more than 240 objects
Do not generate too many pedestrians per ground
pedestrians try to hop to full ground
beaches were not properly recognised for environmental sounds
Curl pakset download for built-in installer
pakset downloader not listing any paksets
crash due to calc_route called twice when dragging way tools at low fps
Obey control lock tool in more all situations where the control key would work
accidently swapped single toolbar option defualt for non-android
Pakset selector failed to load a single pakset with no addons
Network filter comboboxes take preference capturing the mouse wheel over the minimap
control+drag of ways
append halt only once
show no tooltips on toolbars if cursor is on title bar
do not swallow keys and scrollwheel events in scrollpanes
windows were topped before the underlying window got their removal message => topped window function not working as expecting i.e. schedule display of convois
Disallow merging with public stop (or any stop) to take over ownership
heavy_rotate_saves does not delete old saves correctly
Cannot load PPM heightmaps
Int overflow for large power networks in minimap
missing string and no spaces at the end of translator objects
switch on and off network overlay when line is active
minimap background rendiering mode is not reset but selecting other options
crossing logic did not correctly obeyed speed limits
After loading a save, the color of the stop list title
display_snapshot uses wrong area if area is offset horizontally
The Pak192.Comic recently released version 0.7 of this comic themed pakset. If you are playing Simutrans on Steam and you installed the Pak192.Comic DLC, you will get the update automatically. Otherwise, please see "Where and what to download" section. Changelog Gameplay changes
The Pak192.Comic recently released version 0.7 of this comic themed pakset. If you are playing Simutrans on Steam and you installed the Pak192.Comic DLC, you will get the update automatically. Otherwise, please see "Where and what to download" section.
Changelog
Gameplay changes
turned "avoid over overcrowding" off by default again
, and . now work for controlling time in the game
( and ) now work for sliced view up/down
road speeds from 50 to 55 and from 70 to 80
pricing that considers the actual build year of the vehicle, instead of the introduction year
Pubs now comsume rum as well
there is a track/track submenu now
increased the productivity of the wiredrawer
higher fix costs for ships
changed to intro years of 120 and 160 kph track
tutorial works with the tutorial button now
playing from 1930 onwoards should feel way more complete now compared to previous versions
New objects
Industry
European sugar production with beets (farm, fields, refinery)
biofuel plant
Additional coal power plant that better fits early years
Infrastructure
river stop for goods
letter box stop for road
docks for pax
older post office
track with different kinds of gravel beds
1850 station hall
steel girder bridge for narrowgauge
HUGE HUGE station hall for people that need to prove they have the biggest network
narrowgauge tunnel for 50km/h
80kph railway bridge
streetlights as (free) wayobj
fake city road in cobblestone look
Lot of new SBB Type N and L Signals
Buildings
citybuilding "Danivision"
citybuilding "Keycaps Skyscraper"
citybuilding "Taipei 101"
monument "Disco Sphere"
curiosity "StarGate"
curiosity "Guardhouse"
inverse Corner for St. Pölten station building
alternate version of all Pölten elements
several new citybuildings across all climates
Vehicles
more ships for channels
gigaliner converter for semitrucks
HHA DT6
Baden IVh
a couple of Baden express coaches
old Baden compartment coaches
lots of old freigth cars and hoppers
Baden VIc
old AC S-Bahn Hamburg
DRG D21b / C21 Abteiwagen
DRG "Donnerbüchse"
DR Rekowagen
DRG E01
KPeV EG502
KPeV EG511
KPeV ES1
Getreideschiff
old postal tram
prussian G12
ET 88
ET 41
Things that walk around
various new generic pedestrians
try to spot some easteregg-pedestrians too
ducks, swans, sharks and a whale
a fox
Improved objects
the narrowgauge to road crossings
some sounds for some trains (not too many yet sadly)
swapped the first and second player colour for green coaches
various glitch fixes
palyer colour for the Alsterdampfers
player colour for V200
SBB EW I
the old track plattforms
updated DRG coaches
loading image for beets for many vehicles
crossing track narrowgauge now fits the whole tile
SBB PTT
player colour for bavarian D VIII
ET 11
Addons
In plus to the "core" Pakset, there are multiple changes to the addons provided within the repository:
New version of the game: The all DACH pakset contains the main pakset and the DACH addons.
Vehicles
BR 216 "Lollo"
4 car OBB Cityjet for Vorarlberg
Bpm 61 20-70
SBB Bpm 20-90
SBB EW IV
BT EW IV
orientrote BR 218
updated Nuremberg subway cars
new SNCB I6 livery
update gear values for most british vehicles so they can reach their top speed
SNCB HLE 17
SBB IC2000 postal car
DB Mintling coaches
fictional BR 427
BR 423 and BR 430 for BWegt
BR 422 for VRR
BR 426 for BOB
BR 425 for Transdev
120km/h Silberling
more colours for the BR 110, 110.12, 110.3, 111, 112, 113, 140, 141, 150, 151...
HHA AL
EMT CLASS 156
two RZD sleepers
FLIRT 1 for SBB
FLIRT 3 for BWegt and SBB
extra livery for DSB EG
player colour for class 59, 92, 375, 376, IC225
140kph/h TEE VT11.5
sleeper 61-7034
update of the docklands units to jakops boogies
more colours for BR 18.3, 58.2, 75.4
Wittenberger Kopf
German luggage cars as empty and piece good cars
more "preußische Abteilwagen"
prussian luggage car PWIRP91
RABe512
CIWL Lx20
express coach Bauart 1935
Infrastructure
tunnel catenary for standard gauge
side swapped catenary
infty Tunnel
vmin = 121 and vmin = 71 signs
track with different kinds of walls
infty bridge for track
two extra platforms based on the 1850 platform
station hall 1890 in 3 parts as well as an inversed version
There are only 3 climates actively developed so far, those are Western, Continental and Alpine (temperate, tundra, rocky) other climates are lacking in city development. If you got cities in those climates, you might want to use the climate tools as public player to switch to a more developed climate. Most factories are not affected.
Translations! The German translation now seems pretty complete, while the English translation is still ongoing. And don't mention anything else...
Ships, ships and even more ships.
Not every mode is able to transport every good at any given time. Best bet is that there is a narrowgauge option for it, second are rail and trucks.
Contribute?!
Feedback always is appreciated! Please tell us what you like, dislike and would want to have improved!
In plus, freely contributing to the pakset is a thing! Pak192.Comic is open source, freely adjustable and auto compiles from github actions. That means, you could just clone the repository, do some funky changes and have github build your very own version without doing a lot for it. There's no weird encoding, no encrypted values, nothing. If you go to the dat file for your favourite steam engine and change the maximum speed from 100 to 2000, you just did that. It'll appear in the game just like that. Don't like coal power stations? Just get rid of them. Want to have a rainbow coloured subway? Just draw a rainbow on the image of your favourite subway train. That's pretty cool, right? But how about you share your funky changes with the rest of the world by adding them to this repository once they work out just fine. That way you could improve the world!... or well, at least this game. Link to the GitHub: https://github.com/Flemmbrav/Pak192.Comic
In Plus, there's a lot of stuff to translate. In case you can speak a langauge in plus of German, you're a perfect match for this!
In case you need help modifiing or contributing towateds the game, do not hesitate to ask for some.
Welcome to Simutrans Extra! I have been pretty quiet so far this year as I needed a break after the Anniversary events of last year, but a lot of things have been happening in the Simutrans world meanwhile. It's time to review them! But first, let's talk about the elephant in the
Welcome to Simutrans Extra! I have been pretty quiet so far this year as I needed a break after the Anniversary events of last year, but a lot of things have been happening in the Simutrans world meanwhile. It's time to review them!
But first, let's talk about the elephant in the room.
When there will be a new Simutrans release?
We couldn't make a Simutrans release last year, the reason behind this being the war in Ukraine. Another negative effect of the war is that Ukrainian developer Pelya was drafted for the military. Pelya is not directly related to the Simutrans project, but he maintained a set of scripts that enabled games like Simutrans and OpenTTD (between others) to be compiled on Android.
Unfortunately, the build for Android stopped working and to fix it one would have needed to fix Pelya's scripts. But no one in the team knew how to do so, so the release was delayed until we could release for all supported platforms at once.
Seeing that the war was not going to end anytime soon, I stepped in some months ago to do something about this. I developed a new build system for Simutrans on Android completely from scratch. It took quite a lot of work, but the end result is a far simpler build and, more importantly, one I know how to fix in case it stops working!
Wars are bad. But you know what's good? UI improvements! A few of them are currently under development, so you can expect a new release when we are done with them. Let's see which they are!
Font anti-aliasing is coming to Simutrans!
Thanks to the work made by developers Hajo and Dwachs, font anti-alising is nearly ready for Simutrans. While you can currently set any TrueType font in Simutrans 123, they look quite a bit ugly without anti-aliasing.
Introducing anti-aliasing will finally make these fonts look good at any size (although the UI still needs to be redesigned to adjust to font sizes, specially very large ones). We will also take this opportunity to move away from bdf fonts and change Simutrans' default font, probably to Noto Sans font.
A screenshot showing how Simutrans looks with Noto Sans and anti-aliasing.
Main menu
What was initially going to be an addition of a "Play Tutorial" button in the initial banner has evolved into a redesign for the entire banner, adding a few more options and now working as a "main menu" to which you come back when you want to start a game.
The new main menu. Final version may change.
Consequently, the options windows and other windows will be simplified and adapted to the new flow.
The options windows. Final version may change.
Improved Station labels and markers
When legendary Hajo came back earlier this year, he focused on improving various part of the UI (which Simutrans is indeed in need of improving). One of his most exciting ideas was a new appareance for station labels and markers which could be defined by themes.
Just look at those, they look fantastic!
Hajo has unfortunately not been active since the start of this year - but you can bet I will do my best to finish this and include it in the next Simutrans version.
Lost and found musicians
You may remember that one of the Anniversary events of the last year was a post showcasing the music of Simutrans, where we asked for help to identify the unkown musicians for some of the songs.
Now with help from jm764 and other members, we have fully identified all the creators of Simutrans music! To honour them, in the next version, Simutrans will display credits for the current song!
The project is on hold as Hajo is not active at the moment.
Pak48.bitlit
Okay, hear me. One of the most exciting things about Simutrans is the degree of personalization you can achieve. Experimental paksets like the recently announced pak48.bitlit are a proof of that.
What if your Simutrans game was set in a world made by Electrons, Bytes, Memory and CPUs? Welcome to pak48.bitlit, where you will transport Electrons instead of passengers, Data instead of mail, through uni- and bi-flows instead of roads and tracks!
New online server
In the previous weeks I have been experimenting with the hosting of Simutrans game servers, with the intention of hosting a permanently online Simutrans game server based on Simutrans stable (Simutrans 123.0.1 currently) and Pak128 stable, so anyone who just installed Simutrans can join to experiment online play.
I've learned enough in the process, so I will go on and open a new game server in the following days called "Simutrans Public Server" (the precursor server, "Roboron's Public Server", will close soon).
Everyone is welcome to join! If we manage to fill all slots, I will spin up a second game server.
[...]
We have come to the end of this Simutrans Extra. But worry not, because you will hear from me again, soon. Don't forget that, as every year, we will celebrating a Screenshot Contest by the end of this year. And for this edition we have a surprise! I will reveal all the details in a few weeks!
Until then, happy Simutransing!
How can YOU contribute to Simutrans
Simutrans is an open source project. That means that anyone - including you - can improve it! Did you ever want to contribute to Simutrans but you have no skill for coding? Worry not, you can contribute to Simutrans in a variety of ways:
Translating
Simutrans is constantly updating and adding texts so we are always in need for translators:
Votations are closed and the first winner is... "Furniture Industry Route" , by meruhen205. With the diverse routes shown and the attention to details (including the music!), it is no wonder why it is the most voted video - a total of 14 votes. Congratulations! In the second posi
Votations are closed and the first winner is...
"Furniture Industry Route", by meruhen205. With the diverse routes shown and the attention to details (including the music!), it is no wonder why it is the most voted video - a total of 14 votes. Congratulations!
In the second position we have "Akiwa Tsuneyama Main Line Local Service from Nakahara to Yamano" (have you read it to the end?) with 8 votes by danivenk, another greatly produced video. Good job!
The third place is reserved to "Airport Hotel Shuttle Bus", by DThunder (he can't stay away from the podium!), a simple yet elegant video that reached 7 votes. Nice done!
Congratulations to all! I will contact you all one by one so you can pick your prizes in order. That may take some weeks, be patient!
The first winner will also be featured in the Simutrans Steam Store page.
That's all for now! Did you like this first video contest? We may celebrate another one in the future, if there is demand. For now, next year contest will be another screenshot contest. Until then - Happy Simutransing!
Thanks to everyone who submitted a video! Vote now to select the winner of the first ever Simutrans Video Contest! Playlist of participants is available on the Simutrans YouTube channel You can cast your votes on this survey in the Simutrans WIki . You can cast up to two votes. E
Thanks to everyone who submitted a video!
Vote now to select the winner of the first ever Simutrans Video Contest! Playlist of participants is available on the Simutrans YouTube channel
On this unscheduled last post of the Simutrans 25th Anniversary, we will honour one of the (usually overlooked) characteristics of Simutrans: its music. Simutrans is unique in more than one way. One of these uniqueness is that, considering it is an open-source game, it has an inc
On this unscheduled last post of the Simutrans 25th Anniversary, we will honour one of the (usually overlooked) characteristics of Simutrans: its music.
Simutrans is unique in more than one way. One of these uniqueness is that, considering it is an open-source game, it has an incredibly rich set of music. With over 50 songs over various genres contributed by various artists over the years, Simutrans has one of the greatest collection of music of any open-source game.
To celebrate this, we have uploaded the music of Simutrans for the first time ever in non-MIDI format; so you can play it directly in your browser! You can now listen to the music of Simutrans at this YouTube playlist https://www.youtube.com/playlist?list=PLzRXNerdR1xM1qAkIQANJeDmWgyJc6KBa
Which is your favourite track of Simutrans? I do have a personal favourite. You may be thinking it is "Above the Sky" as it is the track used in the trailer. Wrong! It's actually "Techno-movement". Kudos to RykSeb for composing such an awesome track!
Note that most tracks (from before Simutrans went open-source) are not properly credited. Unfortunately, that information have been lost to time. If you know who composed the original tracks, please let us know so we can credit the artist!
Remember that we have a currently ongoing Video Contest (ending in one month) with plenty of prizes for everyone! You can use any of this music to make it better 🚄 https://forum.simutrans.com/index.php/topic,22031.0.html
Welcome, everyone! The first Simutrans Video Contest is about to begin! This is the first time ever we celebrate a video contest, and it is not the only surprise! This year you can also win actual prizes just by participating ! Let everyone win! Participation 1 - There are no cat
Welcome, everyone! The first Simutrans Video Contest is about to begin! This is the first time ever we celebrate a video contest, and it is not the only surprise! This year you can also win actual prizes just by participating! Let everyone win!
Participation 1 - There are no categories. This means you can choose whatever pakset you want, and also whatever Simutrans version you want (yes, including Extended and OTRP). 2 - You can submit as up to two videos. This also means you can win up to two prizes! 3 - You need to include title for every video. Videos without title will not be eligible! 4 - You have until Januay 15st (inclusive) to submit your video!
Theme and guidelines 1 - The theme this year is... Routes! Show us your best routes, for example by following a convoi or different convois. Be creative! 2 - To keep videos clean, hide city/station names and waiting bars. Also, avoid showing non-Simutrans elements such as the title bar. 3 - There are no limits to video size and resolution, but recommended resolution is 1920x1080 as this is the most common resolution. 4 - Video duration limit is 10 minutes, but consider a duration of around 5 minutes. 5 - Use Simutrans music when possible. If you wish to use other music, please check that the license allows for its usage freely.
Remember that you can submit videos that do not fit the theme or guidelines just for the sake of showing others your work, but theme and guidelines will be used to select the winners!
Prizes 1 - For the first winner ONLY: The video will be displayed on the Simutrans Steam store page, alongside the new trailer. If the version used is not Simutrans Standard the next winner will be considered. 2 - For EVERY participant: You can choose a game* from the following list (choosing will be made in order, starting from the first winner):
Surviving Mars + Green Planet + Project Laika + Colony Design Set + Marsvision Song Contest + Space Race + Deluxe Edition Upgrade Pack
DEATHLOOP
Just Cause 4: Complete Edition
Ghostrunner
Killsquad
Railway Empire
Little Big Workshop
Epic Chef
Not tonight
Dinosaur Fossil Hunter
Gas Station Simulator
Rogue Heroes: Ruins of Tasos
NARUTO TO BORUTO: SHINOBI STRIKER
Embr
A Plague Tale: Innocence
Emily is Away <3
The Dungeon Of Naheulbeuk: The Amulet Of Chaos
Forgive Me Father
Descenders
Monster Train + The Last Divinity DLC
The Dark Pictures Anthology: Little Hope
Disciples: Liberation
Golf Gang
Maid of Sker
* Games are provided as Steam keys. Some keys may be region-locked in some countries; in such a case, you can choose a different game.
Voting Voting will be done on a wiki survey (I will post a new announcement when the time comes). Everyone (participants and non-participants) can vote, but you can only vote one time. If two or more videos have the same votes, we will select a winner, taking into account theme and guidelines.
Submission 1. First upload your video to a site where we can download it (a cloud storage like Nextcloud, Dropbox, Google Drive, etc...). 2. You don't need to upload it to a video site like YouTube. You can do it if you want, but we will be uploading the videos to the Simutrans YouTube channel later anyway. 3. You can submit then a link to the video file through the following platforms (don't forget to include title):
The International Simutrans Forum: Posting the link to this thread.
Steam: submitting your videos to the "Videos" section of the community Hub, or just posting the link on the Announcement comments.
Simutrans 25th Anniversary This is the last of the events planned for the 25th Anniversary. Getting to know better the people and the history behind Simutrans has been such an experience, and the videos and projects done like the trailer or the Simutrans Timeline were definitely fun to do, but also very time-consuming and tiring.
I hope you have enjoyed them as much as I enjoyed doing them, and that they were worth doing. And I hope we have many fruitful years of Simutrans to come. At least, 25 more!
I need to take some months to rest now, but I'll come back next year with more Simutransing. Until next time, Roboron.
Welcome to the last of interviews of the Simutrans Anniversary before the final event! Our special guest today has the honour of being the only other successful developer who has made a Simutrans fork: Simutrans OTRP. Let's explore the boundaries of Simutrans with the help of his
Welcome to the last of interviews of the Simutrans Anniversary before the final event! Our special guest today has the honour of being the only other successful developer who has made a Simutrans fork: Simutrans OTRP. Let's explore the boundaries of Simutrans with the help of his creator, Himeshi!
______________________________________
First of all, introduce yourself. Who are you? Where do you live? What did you study? Where are you working or have worked on the past?
I am Himeshi. Himeshi is a handle which I use in the Japanese community. THLeaderH is my handle on the International Simutrans Forum and other international simutrans communities. I have lived in Tokyo for my whole life except for its very beginning.
I am a software engineer at a Japanese IT company, which provides a chat app for smartphones. My job is developing the company's chat app for iOS with Swift programming language, and the chat app is widely used in Japan and some east Asian countries. I am in the second year of my career since I graduated from the school in March of last year.
I studied computer science and electrical engineering in the University of Tokyo, and its graduate school. I have a master's degree, but do not have a doctor's degree. I enjoyed studying in the university, but was not so good at research. I studied electrical tactile display during my master's period, but it ended with submitting only a few papers to small conferences without paper review, and did not participate in any on-site academic meeting since the COVID era started during my master course.
When not programming in your daily job or in Simutrans, what do you like to do?
Aside from development, I love playing Simutrans. I usually play my local map with OTRP, and sometimes play a network game with my friends in the Japanese Simutrans community. Chatting and voice calling on Discord is my daily habit. There are a bunch of discord servers which are derived from the Japanese Simutrans community, and I am in multiple of them. The relationship is a kind of friendship, rather than the simutrans community members, and we talk about so many kinds of topics there.
Although the frequency has decreased recently due to COVID, I often go to the home party in the house of one of the core community members. I don't remember how many times I went there. At least, so many times since a few years ago. We spend a precious time there with beers and Japanese Sake. The house owner (We call him "Kumi-cho") could not drink alcohol at first, but recently, he started enjoying the Sake we brought with us.
And recently I bought a new Toyota car with a manual gearbox, so I frequently go driving in my holidays. The driving is often with my family and the friends in the Simutrans community.
Indeed, the Japanese Simutrans community seems very united, and it is without doubt the largest and most active community. Which is surprising, since traditionally the largest community has been the German one (being the early developers from Germany). Why do you think the Japanese community has become the most active?
It is a tough question. Personally, I think the offline meeting culture and Japanese characteristics to prefer crafting are the factors of Japanese simutrans community prosperity. However, it is only one aspect of the community. To understand how the community became as today, I have to summarize the history of the Japanese simutrans community.
Fortunately, three years ago, Peruri summarized the community history in our meeting. The history described below is based on this video.
The Japanese Simutrans community is said that it started on the anonymous board, called "2ch". It started with the translation project to Japanese, then the members started to post addons, their saved map, and screenshots. Since 2ch is anonymous, most of the members did not have their handle at that time.
After that, the Japanese simutrans wiki was founded, and addons were posted there. Uploading simutrans videos to "niconico", a Japanese video sharing service, became popular at that time. With these activities, creators had handles in the community.
Simutrans 111.0 supported the network game. As soon as it was released, Japanese simutransers started to play the network game. Addon authors were also in the network game, which means players and addon authors play the game in the same place. At that time, twitter was becoming popular, and twitter became the main place for the Japanese community. On twitter, players also have their handles. Since the conversations on twitter are public, more and more people joined the Japanese simutrans community.
As the community prospers, some people started to meet face to face. They understood how great meeting face to face is, and the number of face to face meetings gradually increased. As a result, in the Japanese simutrans community, a bunch of smaller and closer communities which are based on face to face meetings were formed. Some members regularly held drinking parties in these communities. Moreover, meeting face to face encouraged starting the larger projects, such as SIS and pak256.
As the information exchanged in the communities increased in amount and became more private, twitter became not suitable for communities. So many communities moved to Discord, and they became closed communities. Since a few years ago, Discord has worked as comfortable and safe places for communities.
On the other hand, Japanese simutrans communities are not an exception for the recent world wide simutrans community shrink. As most communities work on Discord, fewer newcomers are coming to the communities. At the same time, some existing members reduce the time to spend in the community, and often disappear from the community. Also, we talk about things other than Simutrans more frequently.
One of those meetings is the Japanese Simutrans Conference. Could you tell us more about it? What kind of activities are done? When did it start and by who?
The Japanese Simutrans Conference started in 2017. At that time, the community members explored how to make addons and their play styles individually, and the knowledge was not shared enough. So, on twitter, I suggested holding a simutrans conference. The events themselves had been operated by other community members. The first one was held by JHSDF.
In the simutrans conferences, the attendees presented Simutrans related knowledge and experiences with slides. The simutrans conferences were held three times in 2017, and once a year since 2018. This year, I called for presentations for the simutrans conferences as we did last year, but no one applied for it. So I decided not to hold the conference this year. The Simutrans knowledge and experiences have been shared enough via the past simutrans conferences, and I think the Japanese Simutrans Conference served its purpose.
When did you join the community?
I joined the community ten years ago. At that time, the series "The story of Kumagaya peninsula development", which is still a monumental Simutrans video series for these days, was being uploaded. I was affected, and also uploaded my Simutrans video series. Seven years ago, I joined a face to face meeting for the first time, which was in a chartered train. And five years ago, I started modifying the simutrans code, and my contribution for the International Simutrans Forum.
The Simutrans version you started working on at that time is what we know today as Simutrans OTRP (One-Way Two-Lane Road Patch). What did motivate you to start working on this project?
At the end of 2016, I was developing Route map maker, which is a software for PCs to make a railway route map easily. It was a success to some extent, and I was looking for the next thing to develop. Route map maker was written from scratch, and I wanted to develop a new feature for an already existing larger software as the next step. Simutrans was the best for that purpose. At that time I had already played simutrans for five years, and I had wanted to try to add new features to it. So I decided to try modifying simutrans and adding a new feature for it.
There were so many candidate features to be developed, but I thought that it was easy to improve the road vehicle overtaking logic for one-way highway, which was revealed to be completely false. I knew that some conditions which seem to be too strict were imposed on overtaking, and I thought the overtaking improvement can be completed just by removing these conditions. The result was, the collision of the two vehicles on the overtaking lane. Then, my long journey of OTRP started.
At what point of development did you announce that you were working on your own version of Simutrans?
As soon as I succeeded to relax the conditions of overtaking, I posted the demo video on YouTube . This video showed overtaking under slope, dense traffic, and intersections. At this point, there were so many side effects to be solved. Two months later, I posted a message on the International Simutrans Forum. Like Simutrans-Extended, at first, OTRP was intended to be merged into Simutrans Standard, so I submitted the patch files. The overtaking logic of Simutrans Standard was already very complicated. And as a result of adding so much logic to deal with the side effects by the relaxed overtaking conditions, the code of overtaking logic got more and more complicated, and I knew that the patch was very hard to merge into the simutrans nightly. I wanted to discuss how to solve this situation, but unfortunately, the overtaking logic complexity has not been solved and it is still a large technical debt of OTRP.
At the same time of posting a patch to the forum, I posted the executable binaries to test with. For the Japanese community, I mainly announced about these executable binaries, and eventually, they started to test and play with the OTRP binaries.
What are other features that differentiate OTRP from Simutrans Standard?
There are four features which largely differentiate OTRP from Simutrans Standard. The first one is the improved road vehicle overtaking and other road related configurations, which is the original feature of OTRP.
The second one is the area construction tools which are suitable for large scale development. With the removal tool, you can select the area where you want to remove the object by dragging the area. The city building construction tool of OTRP enables you to select multiple kinds of city buildings, and distribute the selected buildings randomly in the selected area. The slope making tool also supports area selection. These area construction tools are useful especially on a network game. I should note that now these area construction tools can be implemented as squirrel scripted tools, and modifying the C++ code is not necessary.
The third one is convoy coupling. Convoy coupling can be a powerful tool to accommodate so many routes on a single track. OTRP realizes the convoy coupling feature with the two simple options in the schedule, "try coupling" and "wait for coupling".
The last one is time scheduling.Before this feature was implemented, players had used the "maximum waiting time" feature to make trains depart at the regular interval. However, the waiting time was not so flexible (only 1/(2^n) month) and this approach was quite fragile because a single delay of arrival caused the delay of all successors. OTRP has the time scheduling feature which is similar to that of simutrans-Extended, but has some additional parameters like "no load" and "load immediately before the departure" options. These options are useful to control the passenger flow by optimizing the route costs.
Recently, Simutrans' Lead Developer prissi stated in a previous interview that he would like to see the overtaking code ported back to Standard "now that it does not desync any more and seems stable". Would you still like to see your code merged or are you afraid that this could make OTRP players lose interest in Simutrans OTRP after so many years of work?
Bringing the OTRP features to Standard is welcome. According to the survey conducted by Peruri, who talked about the Japanese simutrans community history in the conference, about 70% of Japanese players still use OTRP. Since OTRP stopped merging the nightly commits for some reasons, the fruits of simutrans standard development are not delivered to OTRP players. OTRP was derived from Simutrans Standard, and I hope Japanese players go back to the Standard version and enjoy the latest achievements of Simutrans Standard development.
There were some forks of Simutrans which implemented novel features. As far as I know, Experimental (now Extended), Iron Way, and Tiny Timetable Patch (ttt) are listed as larger ones. Especially, ttt, which was developed 10 years ago, had much more features than OTRP around time scheduling. However, except for Simutrans Extended which is actively maintained and developed by James, all these forks are not maintained and already obsolete, which means that the features of these forks were lost for most of the Simutrans players. Seeing the "loss" of the time scheduling feature of ttt, I wanted to avoid making OTRP one of these obsolete forks. But unfortunately, it is becoming one of them. I believe that most OTRP players will go back to Simutrans Standard in the future, although it may take a long time. Porting the overtaking code of OTRP to Simutrans Standard prevents the loss of overtaking feature, which should be a huge benefit for players.
I am for porting the overtaking logic to Simutrans Standard, but I think the code itself should not be ported. The overtaking code in OTRP contains so much ad-hoc logic to deal with the relaxed overtaking conditions. No one, including me, knows why the current OTRP overtaking code looks to work fine. The overtaking logic should be fully reimplemented when we port it to Simutrans Standard so that everyone can maintain it. At least, the complicated logic should be encapsulated. And, I regret to say that I have no plan to join this porting project for now. Compared to the time when I brought this to Simutrans Extended, I lost some of my motivations to contribute to the Simutrans codebase.
Screenshot showing Tiny Timetable Patch
What are the reasons behind your lack of motivation? Is this lack of motivation behind OTRP lack of development too?
To answer this question, I have to figure out what was my motivations for Simutrans development. I think there were four motivations for me.
The first one was simply realizing features I wanted. I wanted to make road vehicles overtake others more efficiently on a highway, and make convoys being coupled to simulate the railway operation in the real world. A smooth overtaking of trains was also what I wanted to play in my local and network games.
The second was realizing features everyone wanted. At the time when I started the OTRP development, road vehicle overtaking, railway convoy coupling, and time scheduling were the three largest features which so many Japanese Simutrans players had been dreamed. Also, keeping the base nightly revision up to date was an important thing, because OTRP players can enjoy the fruits of the latest Simutrans nightly development.
The third was learning how to modify an existing large software. Simutrans was the largest code base I had ever seen at that time, and the development of OTRP was a valuable opportunity to learn how to find the code I wanted to modify, how to modify while minimizing the bug, and how to deal with the players feedback. In this aspect, the OTRP development experience became the fundament of my carrier as a software engineer.
The last one was contributing to the Simutrans community. As a player who has been loved Simutrans for more than ten years, contributing to Simutrans is just fun.
Unfortunately, as OTRP matured, three of them seems to have been lost. Firstly, in the end of 2020, I almost completed the implementation of the time scheduling feature, and the three features which I and the Japanese community had been dreamed, road vehicle overtaking, railway convoy coupling, and time scheduling, were achieved. Now I have nothing new which I strongly want to realize. Other Japanese Simutrans players also seem to be basically satisfied with the current OTRP, although I still receive some minor requests.
Secondly, keeping the base nightly revision up to date became almost impossible. About two years ago, I remember that there was a big change on Simutrans nightly in the schedule settings UI. At that time, the schedule settings UI of OTRP was highly optimized for OTRP features. I made a prototype of the schedule settings UI based on the new one of the nightly, but it was very unpopular from the Japanese OTRP players at that time, and I had to give up following that change of the Simutrans nightly. I tried to merge other nightly commits at first, but it became soon very hard since there were so many dependencies to the schedule settings UI change.
Lastly, as I spent so much time in OTRP development, what I learn from OTRP development was decreasing. This is generally inevitable when you work in the same product for a long time. As I learned programming in other fields such as the research and my job, using modern languages such as Swift and Kotlin was much more fun. And, I gradually felt tired to work with the very old fashioned C++ code and deal with the bugs which are never seen with the modern languages.
For now, contributing to the community can be the only motivation of coding in Simutrans. To be honest, since I started my full time job, I am as busy as I was a graduate school student. However, my Simutrans development time was replaced with learning modern programming language features which I may use in my job, and other hobbies like driving a car.
Is there any feature you considered (or that was proposed to you) for OTRP but was discarded for technical or other reasons?
The road intersection feature. As in the real world of left sided driving, turning right causes the crossing over the opposite lane, and it may cause a traffic jam. The right turn lane feature and the right turn traffic light feature were considered, but both needed to handle multiple tiles as a single intersection object, and it was technically difficult. When I considered the intersection feature, I was playing Cities Skylines with the famous mod TM:PE, which gives so much control on road traffic. And I thought you could play Cities Skylines if you wanted much more control on the road traffic. Since simutrans is a tile based game, this level of road traffic control is too much for simutrans, I think.
Have you received any help from other contributors in Simutrans OTRP?
In code, the area construction tools were contributed by Shingoushori.
And, some people helped me to develop OTRP in other ways. Ahakuoku helped me a lot by doing so many tasks other than coding such as release announcement, response for inquiries, and bug investigation. 128Na opened the site "OTRP updates" which summarizes the OTRP releases. I often refer to this web site to check in which version a feature was implemented. And, so many Japanese community members helped me in the bug investigation in the early phase. Road vehicle overtaking, convoy coupling, and time scheduling are the features which received most bug reports.
The site OTRP updates is a living changelong of Simutrans OTRP.
We have discussed in previous interviews the apparent decline in Simutrans playerbase in the last decade. Simutrans OTRP collects statistics about usage, and that can help us understand this tendency. What does the OTRP data say about it?
The OTRP usage statistics says nothing about simutrans player base decline. The simutrans player base decline is a phenomenon over 10 years, and OTRP started collecting usage in 2020, only two years ago.
The OTRP usage statistics tells us about the number of active players, the share of OTRP versions, and the pak set share among the OTRP players. Although I have not analyzed the usage of this year, in 2021, the number of daily active players was constantly over 80, and over 100 on holidays. Older versions of OTRP are still used because sometimes a specific OTRP version has a problem with loading a player generated pakset. Some popular network games in the Japanese Simutrans community still use an older OTRP, such as v29_6.
According to the usage statistics, OTRP players prefer pak128 as much as pak128.japan. pak.nippon is slightly less popular than those two popular paksets, and the share of pak64 was about a half of that of pak.nippon in 2021.
The detailed analysis of 2021 is in this article, although it is in Japanese. https://himeshi.hateblo.jp/entry/2021/12/24/001315
Where do you see Simutrans in the future?
I think Steam will be the main distribution route of Simutrans, due to the recent trend of relying on platforms and thanks to the effort of the simutrans nightly development. The Japanese community has contributed to Simutrans mainly with addons, but most Japanese addons are not in the Simutrans official distribution. Since Steam is becoming a popular distribution route, I think we should consider how to deliver Japanese addons to the players from Steam. It's kind of a political issue rather than a technical issue.
What is your preferred play-style?
I usually play simutrans as a transport simulator, rather than a diorama. Basically I let cities grow as the game engine does. The hand construction of city buildings is only for the extension of the city limit. Since OTRP became stable, I also prefer "car only" play. Since the capacity of road vehicles is much smaller than that of trains, it is very challenging to transport all passengers with road vehicles. Roads are always crowded, and large bus terminals suffer from grid locks.
Three years ago, we built a very large scale highway network in the network game. The highway has 10-lanes width at the widest point, which cannot be seen in Japan. Also, junctions are highly complicated.
Is there someone from the Simutranc community you admire?
In the international community, I especially admire Leartin. He gave me deep insights and showed proper ways when I was stuck in difficult problems. The convoy coupling feature is one of the most difficult problems for me and I did the implementation of it three times. Leartin proposed to me an uncomplicated and effective solution for this and the current architecture is based on Leartin's proposal.
In the Japanese community, I admire 128Na. I cannot list all of his contributions, but he made the simutrans video series which are the most famous in Japan. He now builds and operates “Simutrans addon portal”, a website where a lot of Japanese addons have been posted recently.
What is your favourite pakset?
I love pak128, with a bunch of Japanese addons. I like this pakset because it has a high resolution and so many published addons with realistic painting.
Thank you so much for the interview! Is there anything more you would like to say to Simutrans players?
I hope the international community and the Japanese community interact more. There used to be a language barrier between the international community and the Japanese community, but now we can overcome it with an effective translation service. One of the reasons why OTRP was born was that the Japanese community could rarely bring the ideas which were discussed in the Japanese community to the international forum at that time. I hope more feature requests from the Japanese community are discussed with the international development team, and a bunch of Japanese addons contribute to simutrans players all over the world, not only for Japanese. Fortunately, the international community and the Japanese community are interacting in some Discord servers these days.
And, I want to say thank you to Simutrans. Simutrans made me join this wonderful Japanese simutrans community, which is now one of my essential communities. Simutrans gave me a chance to make changes in the code. The OTRP development experience is now the foundation of my career as a software engineer. And above all, Simutrans gave me so much time of joy.
______________________________________
Schedule of the Simutrans 25th Anniversary Posts
That's all for the anniversary! Goodbye!
What? What do you say about a SUPER SECRET BIG FINAL EVENT? Ah yes, I nearly forget about the greatest Simutrans event ever made where everyone can participate! Do you want to know what it is...?
The new trailer for Simutrans is here! Watch it now! Schedule of the Simutrans 25th Anniversary Posts We are getting close to the end of the events of the 25th Anniversary. But before the final event, we will be having a last interview with a very special guest. In two weeks, it
The new trailer for Simutrans is here! Watch it now!
Schedule of the Simutrans 25th Anniversary Posts We are getting close to the end of the events of the 25th Anniversary. But before the final event, we will be having a last interview with a very special guest. In two weeks, it will be time for Simutrans OTRP developer, "himeshi", to answer some questions!
One of the greatest honours an open-source project can have is to generate enough interest so that other people consider making their own versions of it. Simutrans, being a successful open source project, is no exception, and the greatest of those versions is Simutrans Extended (
One of the greatest honours an open-source project can have is to generate enough interest so that other people consider making their own versions of it. Simutrans, being a successful open source project, is no exception, and the greatest of those versions is Simutrans Extended (formerly Simutrans Experimental). Today, we will take a closer look at this fantastic fork with the help of his creator, James Petts. _____________________________________________
First of all, introduce yourself. Who are you? Where do you live? What did you study? Where are you working or have worked on the past?
I am James Petts, and I live in London. My education and professional life are in the law.
How does a man of law end up doing software development in his spare time?
As with many open source developers, I started work on what eventually became the Extended fork of Simutrans because I wanted to see features in the game that were not present. I remember playing Simutrans in around 2007, shortly after the British railway vehicles had first become available as an addon for Pak128. I enjoyed it, but found that there were certain things that were not quite right for what I wanted.
I remember making some feature requests on the forum, but the developers were not interested in implementing them, so I thought that I could implement them myself. This was in around 2008. They were initially written as patches for Simutrans, intended to be part of the main codebase, but they were not integrated, so I eventually just made my own fork. I think that I had a different idea as to what made a good game than the developers of of the original Simutrans; but also, I imagine that, as I was only just learning C++, the coding quality of my patches at the time was not what it should have been.
Once I had started adding features, I realised that there were more and more that were desirable, and I ended up spending more time developing the game than actually playing it; and the more complex features that were added, the more bugs that needed to be fixed and the more pakset work needed to implement the features.
Has Simutrans been your only experience with open source software development, or have you ever contributed to any other open source project?
Simutrans has indeed been my only experience with open source software. I have briefly contemplated contributing to other things, but I only have the one lifetime to live, and open source development is extremely time consuming.
And what do you devote your life to when not working and doing Simutrans development?
When not working or developing Simutrans, I enjoy photography, baking and railway modelling. The latter has entailed me having a sizeable shed built in my garden for several model railway layouts, and I am also a member of the Model Railway Club in London. As may be anticipated, there is some overlap between Simutrans and railway modelling.
James' model railway.
How did you know Simutrans? What was your first contribution?
I cannot remember exactly how I came across it now. I think that I was searching for transport based games to play in around 2007, and found Simutrans and thought it interesting; I think that I had considered Open TTD, but this was at a time when only the executable was available, and one already had to have Transport Tycoon Deluxe to play it; had the original Transport Tycoon, but not the Deluxe version, hence could not play Open TTD at the time. Simutrans, however, was available in a full version, so I think that I downloaded that. As to my first contribution; I am afraid that this is now lost to the mists of time and fading memory. This would have been sometime in late 2008, and I think that I wanted to implement something like comfort or journey time based routing, both of which are now long-standing Extended features.
When did you announce that you were making a Simutrans fork?
Initially, I just intended to produce a patch for Simutrans with the various features. This would have been in late 2008. The features were all in one large patch (literally, a .patch file for SVN), which was not the best way of doing it, and I was introduced to Github at around this time by another contributor, I think, so I created a "Simutrans-Experimental" branch on Github I think in around 2009 and added all of my features to this. Initially, the idea was still for the features to be merged into the main Simutrans trunk, but it became apparent after a while that some of my development goals, especially the targetting a higher level of economic realism at the cost of higher complexity, were not consistent with the development goals of the principal Simutrans developers, who tended to favour simplicity and a more synthetic economy, and so gradually the patch became a fork, although some Simutrans-Experimental features were merged into the original version ("Simutrans-Standard") eventually. However, the "Simutrans-Experimental" name stuck until 2017, when, after discussions with others, I thought that it was time to make it clear that what I was working on was in fact its own game and a distinct fork, rather than just a development/beta branch. Nonetheless, I did not really want to divide the Simutrans community, as both Extended and Standard have a lot in common, and fans and developers of both have more to gain by co-operation than competition. I am very pleased that all of the Simutrans community still shares one single international forum and, latterly, Discord server.
On January 21 2009, James announced that he was working on an experimental version.
What are the core features that differentiate Simutrans Extended from Simutrans Standard?
The core Extended features, I think, are (1) the time based routing; (2) the passenger generation model; (3) passenger and mail classes; (4) the more realistic vehicle physics; and (5) private car transport. These are the features that fundamentally alter how players build networks. The time based routing means that players need to build networks that are time efficient rather than merely having sufficient capacity. It matters when people get to their destinations rather than just whether they get there. If their journey is too long, they may not travel at all, thanks to the passenger generation model. It is not enough to have a single one way circular 'bus route that covers the whole town - players must build a complex 'bus network consisting of multiple point-to-point lines that get people where they want to go quickly. If people can get to where they are going more quickly by driving their own car or by walking, they will. If people can get to where they want to go more quickly using a rival transport company's services, they will. People can interchange between distant stations/stops by walking between them, and can walk long distances to player stops - but would sooner travel from a nearer stop if the transport services take them where they want to go within a reasonable time. It is no longer the dominant strategy to use the most powerful locomotive on every train - balancing power and tractive effort means that different locomotives work better for heavy freight, short distance commuter trains and long distance express passenger trains. Different classes mean that wealthier passengers or mail senders can pay a premium for a faster or (in the case of passengers) more comfortable journey, allowing different modes of transport between the same points (e.g., aircraft, train and coach) to co-exist at different price points. Other significant features that have a real impact on player network design are infrastructure wear and renewal, public rights of way (which links with the private car routing feature), automatic road connexions to industries and realistic railway signalling. Also worth mentioning, although having less of a direct impact on player network design, is the improved UI (largely as a result of efforts by Ranran in the last two years or so), with lots of very clear and engaging visual presentation of often complex data, and the multi-threading which allows even very large games to work (relatively) smoothly.
What is the biggest challenge you faced when working on Simutrans Extended?
This is not an easy question to answer, as there have been many challenges. From a technical perspective, probably the greatest challenge was the multi-threading work in 2016-2017. Multi-threading is one of the most technically challenging aspects of computer programming: essentially, one has to manage multiple completely independent bits of the program ("threads") all working at the same time and potentially reading and writing the same information, and try to stop it all from conflicting with itself and making things go terribly wrong. I had no experience of writing multi-threading code before this, so this was definitely a steep learning curve. It has made a real difference to the performance of the game on larger maps, however, so it is worth it. Another very challenging thing has been debugging loss of synchronisation errors for the game in its online mode: essentially, different instances of the game running on several different computers must all do absolutely precisely the same thing or else the everybody will immediately disconnect. Any tiny difference between what one computer does and what another does with respect to the simulation code will cause the whole online game to fail completely. Debugging this sort of problem is much harder than finding normal bugs, because one has to work out exactly where two completely separate computers running the same code can end up diverging. There have been occasions when it has taken six months to find and fix a single bug of this type. I am very grateful for all of the people who have helped with this process over the years. One of the biggest challenges coming up, I think, is doing the full costs balancing. We currently have an interim balance produced by Dr. Supergood a few years ago, which has made the costings make much more sense than they did before, but when we cone to do the final cost balancing, that will be a lot of work. I have been researching in anticipation of this balancing project for over 11 years; I am just awaiting the balance critical features on which I am currently working before launching into that.
Talking about upcoming challenges, what are the next goals for Simutrans Extended?
The current work on Simutrans-Extended is focussed on the 15.x branch. The focus of this intended major version is implementing all the features necessary for balancing the costs. This is a complex task: the amount of fuel that vehicles use must change depending on how hard that they are being worked; vehicles must need to be maintained regularly and thus not be available for service all the time, but for this to work automatically and seamlessly to avoid the need for constant player supervision; vehicles must be able to be overhauled periodically, at substantial cost, and this also must be partly automated to avoid the need for micromanagement; maintenance costs need to depend on how long that it has been since the last overhaul; overhaul costs need to depend on how many overhauls that the vehicle has already had; staff costs need to depend on what sort of and how many vehicles are in a train or similar (e.g., a train with continuous brakes needs only one guard even if there should be multiple brake carriages); costs need to vary with time according to inflation, and different costs need to vary to different extents with time (the cost of staff, for example, needs to increase at a different rate to the cost of coal, and the cost of oil at a different rate again, and so forth); vehicles need to require refuelling stops; it needs to be possible to lay over vehicles temporarily so as to avoid the need to expend staff cost on them for a low frequency service; and it needs to be possible to break up and re-combine multi-vehicle consists ("convoys" in the Simutrans way of describing things) dynamically.
This is all a very large project; coding work on this commenced in 2018, but stalled shortly thereafter because of the need to resolve some of those very difficult loss of network synchronisation bugs described in the previous answer, and I have only recently been able to recommence this work, having been focussing more on my model railway during the pandemic. Fortunately, we now have an excellent UI developer in the form of Ranran, who is likely to make it much easier to add the UI for these features, and greatly increase the quality of the UI that we get from what it would have been had I done the work myself. This will probably be the largest single set of features added at once, so this is likely to take a long time not just to code but also to test - and then an equally large amount of time to update the pakset (Pak128.Britain-Ex) to balance according to these new features. However, this will hopefully very much be worth it: we currently have only an interim balance, and, to a large extent, the game is the balance.
Although there are substantial additional features in Extended, and the game plays very differently to Standard in terms of network design, the game still plays in much the same way as Standard (and much the same way as Transport Tycoon before it, and myriads of other transport based games, such as the more modern Transport Fever): there always comes a time, assuming that the player should design a successful network, when the player has more money than he or she can spend, and only truly catastrophically bad decisions can bankrupt the player; beyond that point, players are limited by time rather than by money. This is obviously not how any real commercial company ever works (with the possible exception of Apple or Google, but that is another matter), so we need gameplay in which money is always an issue to a significant extent even for players with larger and generally successful networks. By simulating entropy and inflation, as well as some other dynamics, it should be possible for the game to get much closer to a reality based economic balance using reality based figures, although we cannot be sure of how this will work until we actually try it, and there may be need for further adjustment. To my knowledge, no other game has ever tried to simulate transport economics to this depth before.
RanRan's work has helped to improve greatly the UI for Simutrans Extended
Regarding other transport based games, Simutrans is usually compared with OpenTTD (because both are open source). But while OpenTTD is a huge success, Simutrans has gone pretty much under the radar in comparison - and even more Simutrans Extended. Why do you think players prefer OpenTTD over Simutrans?
It is difficult to know for sure the reason for others' preferences as that needs more information than I have available to me; I can only guess and the guesses could easily be wrong. Perhaps it has something to do with OpenTTD having what I and many would regard as a more robust open source licence (the GPL, I believe, compared to the Artistic Licence of Simutrans). Perhaps it has something to do with the fact that OpenTTD is more closely connected with a classic well-known commercial game, Transport Tycoon. Perhaps it is because, in its early years, Simutrans seemed to be focussed on the German-speaking market, wheras OpenTTD was focussed more on the English speaking market (note that Simutrans has a higher level of interest in Germany and Japan). It might simply be that OpenTTD acquired a critical mass early on and that that lead into positive feedback.
Compared to Simutrans-Extended in particular, it might be that Simutrans-Extended is more niche and in-depth, whereas OpenTTD is more accessible to casual players. It would certainly be good to broaden the audience for Simutrans and Simutrans-Extended; those who do play it do seem to get a great deal of enjoyment from doing so, but I do not know how many people that there are who are interested in a game that has the singular focus on economic realism that Simutrans-Extended by design has.
Simutrans (Standard) reached its peak in April 2012, when the game was downloaded more than 100.000 times on SourceForge. Since then its popularity has declined slowly but surely. Has this decline affected Simutrans Extended too?
I am not entirely sure as I do not keep download statistics. Certainly, forum activity seems to have peaked in 2012; the early 2010s were a time of rapid development in Simutrans-Extended (or "Simutrans-Experimental" as it was then), but it was less stable at the time. 2012 was the year that the Bridgewater-Brunel server first started, with the large semi-persistent online games that have become the hallmark of Simutrans-Extended play. At the time, the codebase was less stable, and the games were prone to interruptions through bugs that needed fixing, including some of the most difficult bugs to fix, loss of synchronisation bugs, which sometimes took 4-6 months to fix a single bug, during which time the server was unavailable. In more recent times, the game has been much more stable and the hours that people play online have greatly increased. Only to-day, I notice that somebody has started a new Simutrans-Extended server. I am not sure of the total numbers playing Simutrans-Extended now compared to 10 years ago, but, for those who do play, I am quite sure that the experience is significantly better, and suspect that, as a result, people play for longer now than they did then.
Indeed, the playerbase of Simutrans Extended, although smaller than Standard, seems to be also more active. Which do you think are the reasons behind Simutrans Extended players sustained interest?
It is always difficult to answer these questions as I can never really be sure about what motivates other people. One thing that I have seen mentioned on the forums and in the Discord servers by Extended players, many of whom spend many hours nurturing large and highly complex networks in the Bridgewater-Brunel server (and others servers that have been run from time to time) is that there are no other transport games that quite have the depth of Simutrans-Extended. Another factor may well be the servers themselves; I am not aware of any other transport game that has a large, semi-persistent online server and that by itself - the ability to build a successful network in a persistent and stable world lasting over one real life year in which others are striving to do the same thing - may well make the game satisfying in a way that other games are not. I know that Standard also has online servers, but, from what I gather, they tend to use smaller maps and have time passing more quickly, so may not generate the level of personal satisfaction that comes with carefully nurturing a large network gradually evolving over a long time. Also, Extended's features, especially relating to passenger transport (things such as walking between stops and time based routing), makes it easier both to co-operate and compete in a realistic way with other players, which I suspect makes the world feel more immersive for players.
More generally, one of the reasons that Extended diverged from Standard in the first place was that Extended was intended to have features that added depth and realism at the expense of additional complexity, whereas Standard focussed on accessibility to newer players and simplicity at the expense of depth and realism; that by itself would probably tend to generate fewer, more dedicated players for Extended as compared with Standard.
The Bridgewater-Brunel server is the most popular server of Simutrans Extended.
Is there anything you think current Simutrans Extended is in great need of improving?
Yes - there are lots of plans for improvement. I have written in a previous answer about many of the things that I am working on for version 15.x, such as vehicle maintenance and inflation that are needed to improve the balance. However, after that, the next major thing that needs improving is town growth. Currently, town growth works largely in the same way as Standard with some minor modifications over the years: the whole town grows evenly (and, due to a quirk in the way in which town boundaries are currently set in Extended, in a square) depending on the rates of fulfilment of mail, freight and passengers in the town as a whole. In reality, towns were shaped - literally - by their transport: they were small, compact units before public transport, with high densities in the centres but no suburbs. Commuter railways allowed high and middle wealth residents to live in suburbs centred around stations (termed "Metroland" by the Metropolitan Railway in London - this company also bought land near the stations to sell or rent for a profit once the lines had opened, a practice also common in Japan, I believe), while lower wealth residents still lived near the centre. Then, trams and later motor 'buses allowed lower wealth residents to live farther away from their workplace. Finally, the mass adoption of the private car resulted in evenly sprawling suburbs for people of all levels of wealth around city centres that had very little in the way of residential buildings.
So, after 15.x, the next major project will be a total overhaul of the town growth system so as to make growth based on local, rather than whole town, transport, for towns to compete with one another for residents (the population increase over time being not dependant on the quality of transport in towns, but rather the best towns attracting the most residents), towns to be able to shrink as well as grow, buildings to be able to become abandoned, overcrowded or be re-purposed as times change, players to be able to buy buildings in towns and rent them out or later sell them, the occupancy rates and market rent depending on the desirability which will be heavily influenced by transport, towns that grow so as to touch other towns will become metropolitan areas with the consumed former towns becoming boroughs, the overall rate of population growth should be in line with historical figures and towns should finally cease to be square.
Simutrans Extended has changed a lot through the years. When you look at it today, what makes you think?
Simutrans-Extended has indeed changed over the years, and hopefully will continue to do so. In the early years, its original name of "Simutrans-Experimental" was apt, as there were many features that had not been fully implemented in the pakset or fully tested. I think that it is only with the regular use of the Bridgewater-Brunel server from perhaps about 2012/2013 onwards that Simutrans-Extended began to mature. It was always intended to be a realistic and detailed economic simulation, but earlier versions had a lot of anomalies that were only shown up with testing over time and which often required quite sophisticated new features to remedy. That process is continuing as a large number of the currently planned features arise out of testing showing up anomalies, but Simutrans-Extended is certainly more mature and stable now than it was 10 years ago.
If you were to start Simutrans Extended today, would you make anything different?
There is a lot that one can learn from hindsight. If I were to start afresh, I should have rewritten the railway signalling code rather than adapted the existing code for multiple types of signalling, as it has proved to be difficult to debug and maintain. I should not have used an arbitrary number for comfort, but instead had a field for the maximum comfortable journey time (and comfort is likely to change to this in the future). There are many things that started out being done one way that have long since changed to being done another way, and in many cases I cannot recall what the original way of doing things was, where, if I were starting afresh, I should just go straight to doing things the current way. When I started working on Simutrans-Experimental, as then it was, I was just learning C++ specifically in order to work on Simutrans. I have learnt much about coding since then and about modern C++, and if I were starting afresh now, I should like to think that the code that I wrote would be more modular and robust.
Video by James Petts demonstrating how signals works for Simutrans Extended
How is your relationship with Simutrans (Standard) developers?
I think that when what became Simutrans-Extended first started back in 2008, there was perhaps a degree of tension with the Standard developers: I may have given the impression by coding new features that I was expressing dissatisfaction with their work or with their game design choices. My own coding skills were not the best at the time, having learnt C++ specifically to add features to Simutrans and having no professional background in coding, so one of the reasons that some of the features that I wrote in the early days were not added was that the coding quality was not to the standard of Standard. Also, I think that, in my eagerness to promote the new features, I may inadvertently have given the impression that I was trying to take credit for things which were largely based on others' hard work. Also, I think that forking a codebase can be seen as a somewhat hostile thing to do in some ways.
However, I did not wish to cause any tensions, and I think that the other developers are reasonable people too. I did work to ensure that I gave proper credit to the existing developers for the excellent work that they had done, without which Simutrans-Extended would never have been possible, and to acknowledge that there is nothing inherently wrong with the play style and game design choices in Simutrans-Standard: it is just that different people's preferences differ, and my preference (and, as it turns out, the preference of a number of other people who play Simutrans-Extended avidly) is for a higher degree of realism and complexity than the preference of those who tend to prefer Simutrans-Standard, which has its own loyal following.
After the brief initial tensions and for most of Simutrans-Extended (and its predecessor's) 14 year lifespan, the relationship with the Standard developers has generally been good: they have often been very helpful in responding to my questions about how the code works, or even proposing solutions to problems specific to the Simutrans-Extended code (and in some cases have even written fixes for Simutrans-Extended, which is very much appreciated). In turn, Simutrans-Standard has over the years adopted a few features that started life in Simutrans-Extended and that are compatible with the somewhat different design philosophy of Standard, so there is a definite symbiosis. Perhaps most importantly, although there are two forks of the game and many players play only one or the other, there remains one single community: both the International Simutrans Forum and the more recent Simutrans Discord channels are common to both Standard and Extended and the same people interact freely and happily with each other in those channels. This has, I think, been very mutually beneficial for both variants of the game, and we are very lucky in the Simutrans community that we seem to be far less prone to the sort of aggressive and abusive behaviours that for reasons that remain obscure seem so common in online communities dedicated to many other forms of computer games.
Although you did neither start nor were involved in pak128.britain, you choose this pakset to be sort of the default pakset for Simutrans Extended, where new features are implemented first. Why did you choose pak128.britain?
Being from the UK, I had a particular interest in British vehicles and buildings; but, also, and probably more importantly, Pak128.Britain was a new pakset at just around the time that I was forking Simutrans-Extended, and it was being made open source, so there was the opportunity to adapt the sources for the Extended fork, as well as have the pakset be developed in part with Extended in mind (the original Standard maintainers actually added buffet cars and multiple liveries before these features were included in Extended). The only other open source pakset at the time was Pak.64, and I found the graphics too low resolution for my liking; Pak.128 had not been open sourced at this time.
How is the process of creating graphics for pak128.Britain-ex?
The system for creating graphics for Pak128.Britain-Ex was inherited from the original Pak128.Britain. It uses Blender to create simple 3d objects, which are then rendered automatically (with a pre-set lighting orb, intended to represent lighting on a typical British cloudy day) into the requisite 4 or 8 images as the case may be. This was all set up in circa 2006, I believe, by Kieron Green, the original progenitor of Pak128.Britain. It does actually make creating realistic
What is your favourite pakset? (Excluding pak128.Britain(-Ex))
A challenging question! I think probably the Japanese Pak.256. This is another pakset that has an Extended version: it has excellent high resolution graphics and is evidently curated with much meticulous attention to detail. Simutrans is more popular in Japan than anywhere else in the world so far as publicly available sources show (there is even an annual in-person Simutrans conference in Japan, or at least was before the pandemic), so I am always very interested in the Japanese Simutrans scene.
The Japanese Pak256-Ex is the highest definition pakset ever done
Thank you so much for the interview! Is there anything more you would like to say to Simutrans players?
Simutrans-Extended has been a long journey; there have been very many achievements along the way, but also some frustrations. My own development of Simutrans-Extended is not as intense as once it was as I have other hobbies to compete for my time, as well as a busy professional life, but I still enjoy working on Simutrans when I have the time, and we have some other very dedicated coders such as Ranran who have been doing some excellent work in the last few years. I very much hope that people will continue to enjoy playing Simutrans-Extended for years to come.
_____________________________________________
Schedule of the Simutrans 25th Anniversary Posts
I hope you have enjoyed this first interview to a non-Standard Simutrans developer. We will keep exploring the boundaries of Simutrans with the final interview next month. But before of that, the next event in two weeks will feature the most exciting creation made to commemorate the Simutrans anniversary so far. Stay tuned!
Enjoy this remake of a Simutrans advert video made 14 years ago by (the now inactive Devotee) vilvoh. The Simutrans Community does not only welcome coders and artists. People who spread its love for Simutrans are also important, specially when they put as much effort and love in
Enjoy this remake of a Simutrans advert video made 14 years ago by (the now inactive Devotee) vilvoh.
The Simutrans Community does not only welcome coders and artists. People who spread its love for Simutrans are also important, specially when they put as much effort and love in that as vilvoh did. Let this video serve as a reminder of all of you who enjoy making and sharing Simutrans content (be it now or in the past): Thank you! Without you too, Simutrans would not be what it is today.
Would you like to see (or make) more Simutrans-related media content? Well, you are in luck, because we have more surprises coming in this regard!
Next time, however, we will come back with another interview. Join us in two weeks as we will explore the boundaries of Simutrans with an exclusive interview with James Petts, lead developer of Simutrans Extended.