Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
Raster layers After successfully implementing loading and rendering of a new vector layer in MLT format inside a PMTiles container, it was time to do the same with the raster layers.
-
New train motion integration loop Simulation games use the concept of “time slice” to advance the time of a simulation.
-
Final design for script data extensions in UI Last month I arrived to the realization that scripts alone, without player accessible and editable data, were a bad idea, and started work on making script configuration data a first class system of the game U…
-
Script input data should be flexible As mentioned in the last devblog, solving the script binding problem is the first focus of 1.18.
-
1.17 Dynamic train braking Trains are now capable of braking for the simulation-dynamic obstacles of (potential) red signals and other train tails.
-
NimbyScript progress NimbyScript development continued in June.
-
WARNING!
-
Stacked stop logic rationalization (1.16) DISCLAIMER: this section is an exercise in game rules lawyering maybe 1% of the player base cares about.
-
1.16 is dynamic schedules (actually dynamic train dispatching, but more on that later) The goal of 1.16 is to implement dynamic schedules, and see how it goes from there.
-
Major track editor internals rewrite and predictive editing Implementing predictive editing for the track editor turned out to be a massive undertaking.
-
Completely redesigned multiplayer internals Even thought multiplayer has been a feature since 1.1, released almost four years ago, it has never fully worked properly.
-
Schedules After trying and testing some design ideas in July, a new scheduling system was implemented in August.
-
Where next?
-
Asset listing map overlay 1.13 was released in the Steam beta branch early in the month.
-
End of 1.12 beta The first half of May was dedicated to 1.12 beta development.
-
Distance curve as interpolated points The original plan and implementation for the distance factor of the pax curve was to use some smooth function, like the Gaussian function.
-
Overlapping station areas As hinted in the last post, the new pax demand system was being developed with support for overlapping station areas from the start.
-
End of 1.11 development The first half of February saw some QoL development in the 1.11 beta branch, in addition to the usual bugfixes.
-
More pax pathfinder features In addition to the new board and disembark options developed in December, I also tackled two additional major changes to the pax pathfinder prior to the 1.11 beta release.
-
Accounting code rewrite Work continued in the core game code to make it faster and more parallel.
-
Stop and continue After 1.10 was finalized in October, I analyzed what remains to do in the roadmap, plus what are the outstanding issues in the game, in order to decide what to do in 1.11.
-
Enabling Direct3D12 and Vulkan renderers With 1.10 a major cleanup of the rendering code came about, specially around texturing and shaders.
-
Adventures in map processing As I explained last month, this time I wanted to rebuild the map on modest hardware, just an i3-12100 with 32GB RAM.
-
More optimized drawing Last month, as preparation for the new map, I started optimizing map line drawing to make it consume less RAM, plus some optimizations for area polygons.
-
1.9 beta I would prefer not to talk about this, and instead look into the future and forget this episode altogether.
-
Track + point line stops editor In May the code was ready for track + point line stops, but the UI was not.
-
Push-pull 1.8 introduces in-place train flipping, allowing trains to reverse without having to “bounce” off a track or platform end, which has been a meme in the game since 1.1 days.
-
Track + point pathfinder The new track pathfinder is now implemented in 1.8.
-
Fixed departure times With 1.7 came another round of reviews and fixes for the line leg estimation.
-
Custom train compositions Starting in version 1.7 players can compose their own trains, both from stock carriages (named from now and in-game as “cars” for brevity, beyond the various regional naming) and from mod cars.
-
NIMBY Rails is two years old January 26th 2023 marked the second anniversary of the NIMBY Rails Early Access release.
-
Discarded station tape tool, replaced with platform promotion At the end of last month blog post I shared a new tape tool coming in the (then unreleased) 1.6 beta, the station tool.
-
Multiplayer: the problem The challenge of implementing multiplayer in NIMBY Rails is the fact the state (this would be data involved in the player built objects and the simulation run on top of them) is very large by video game standards, easily going into
-
Wrapping up 1.5 2/3rds of October were devoted to the second beta series of v1.5, which will end very soon.
-
1.5 first beta phase is done Version 1.5 is ready to go into the default branch.
-
Timetable support for train AI August started with the decision to base timetables on the “train run” system as explained last month.
-
Pax pathfinder dead ends June ended with a working, but very slow pax timetable pathfinder.
-
Multithreading for train AI Pax and station processing became so optimized in v1.4 that for a relatively low ratio of trains vs pax, train AI became the major factor of CPU usage.
-
Pax flow rework As part of the multithreaded station processing introduced at the end of April, I changed the way station pax are processed.
-
Platform stop signals are back It was pointed out there were aesthetic reasons to manually set a stopping point for trains in platforms, specially now that the visuals of a platforms can be completely player defined.
-
Station footprint extension building The new building system in v1.4 is not just meant for cosmetic architecture.
-
Final set of building textures Max has prepared a set of 28 building textures and they have been integrated in game: It’s a mix of roofing, glass roofing (to make it less common to need to toggle the roof layers if you want to see the inside of your closed
-
One year ago… … NIMBY Rails launched in early access!
-
End of v1.3 development, end of year, start of v1.4 v.1.3.15 is the final release in the v1.3 series, and it implements the new multiplayer simulation sync system exposed in the last post. v1.3 was shorter and more focused than v1.2, which is to be expect…
-
New multiplayer simulation state synchronization idea NIMBY Rails multiplayer is based on state streaming, with two major data streams: the database and the simulation.
-
v1.3 released v1.3 was released on the beta branch on October 15th.
-
New map processing and format for vector data If August saw the raster processing for the new map system, September was dedicated to vector data from OSM.
-
Private train track pathfinding When some part of the game (the train AI, the line system, the UI, etc.) needs to find a track path from point A to point B over your line network, it uses the track pathfinder.
-
“Long” path signals When a train stops at (or comes up to) a path signal, a path check is performed.
-
Path signals The first builds of version v1.2 only had simple block signals.