Welcome back, commander! The crew from OpenTTD has recently published OpenTTD 14.0-RC1. For those who are not acquainted with it, OpenTTD is an open-source re-creation of Transport Tycoon Deluxe, a business simulation game where you control a transport company. OpenTTD extends the experience of Transport Tycoon Deluxe with bigger map sizes, customizable artificial intelligence bots, downloadable customizations, ports for several operating systems, support for many languages, etc. Here are the changes and the fun stuff from OpenTTD 14.0-RC1:

Today, we released our first candidate for version 14!
That means we will start to focus on fixing the remaining bugs and stop adding new features.

Thanks to the reports made by many of you, we have already solved many of the issues.
But there might still be a few issues lurking around in this release candidate.
Please share your findings on our issue tracker.

Thanks to our translators, about half of the translations are (nearly) up-to-date.
For the other half, we might need your help with translating.
If your language is missing or has more than a few dozen missing strings, please consider helping to finish your translation.

14.0-RC1 (2024-02-18)
  • Feature: Fully user-configurable number format and abbreviations
  • Add: Show cargo icons on the subsidy list window
  • Add: [Script] GetAirportNumHelipads
  • Change: Show 6 or 2 orientation buttons in the NewGRF road stop picker as appropriate
  • Change: Show cargo icons on the Industry View window
  • Change: Improve performance of finding free pool slots
  • Change: Draw north-side farm fences/hedges/walls on tile edge instead of 1/16th in
  • Change: When adding orders, Ctrl+Click on a depot to unbunch, instead of service if required
  • Change: Store running AI config inside the Company
  • Change: Show speed before destination in vehicle status bar
  • Change: Replace long list of cargo filter buttons with a multi-select dropdown list
  • Change: [Script] Use company randomizer when adding random deviation
  • Fix #12074: Don't allow "part" command for dedicated servers
  • Fix #12052: NewGRFs clearing industry cargo slots could fallback to default instead of empty
  • Fix #12050: Add default size, shade, and pin control buttons to the company livery widget
  • Fix #12041: Tarball extraction failing due to incorrect filename
  • Fix #12037: Blurry OpenTTD font on Mac OS
  • Fix #12029: Don't show Sandbox Options in multiplayer
  • Fix #12024: Autoreplace failed news message for trains must go to lead engine
  • Fix #12022: Adjust economy date when changing timekeeping units in Scenario Editor
  • Fix #12020: Unbunch and service, if needed, should be mutually exclusive depot order types
  • Fix #12019: Correctly highlight depot unbunch action in dropdown Fix #12014: Remove water when area clearing ship depot (#12030)
  • Fix #11840: Ship pathfinder always returns a valid trackdir if one is available
  • Fix #10983: [AdminPort] Correct order of messages
  • Fix #10405: [Script] Test engine and vehicle type validity for ScriptGroup::GetNumEngines
  • Fix #10079: Don't render at 1000fps if HW acceleration + vsync is requested but not active
  • Fix: Shadows of individual character glyphs could be drawn over other characters
  • Fix: Don't invalidate station list on vehicle load/unload
  • Fix: NewGRF roadstops were ignored if only in the default class
  • Fix: Visually also disable vsync when not using HW acceleration
  • Fix: Industry tiles and houses could accept incorrect cargo types
  • Fix: Redraw orders when a station feature is added/removed
  • Fix: For content service, fallback to TCP downloads when HTTP stalls
  • Fix: Don't issue auto-replace failed news message for command test mode
  • Remove: Setting "no_http_content_downloads"

Useful links:

You can learn more about OpenTTD by visiting the Official Website, and Forums. OpenTTD is available for download Here. And that's all for now! Have fun and enjoy OpenTTD!

Howdy! Reinforcements have arrived from Romanov's Vengeance as Romanov's Vengeance playtest-20240218 has been recently published by their crew. For those unaware of what is being written here, Romanov's Vengeance is a game that uses OpenRA engine to recreate the experience from Command & Conquer Red Alert 2: Yuri's Revenge, with a better balance and new logics to make Allies, Soviets, and Yuri become more competitive. The changes from Romanov's Vengeance playtest-20240218 were announced with the following words:

Romanov’s Vengeance playtest-20240218 Changelog:


  • Engine:

    • Updated engine version to the latest development version. There are quite a few additions and fixes stemming from this, but I don’t have a full list of them.
    • There are probably a few stuff coming from Generals Alpha too, since that mod now uses the same custom engine with Romanov’s Vengeance and Shattered Paradise.

  • AI:

    • Can now garrison civilian buildings.

  • Civilian Props:

    • Added 7 more flags: Bhutan, Cyprus, Malta, Morocco, Oman, Panama and Slovenia. Moroccan flags are featured on the Sahara Mirage map.


  • Production UI:

    • The Allied version now has a proper pressed state for the scroll buttons.

  • Superweapons:

    • Firing a superweapon under Stealth Generator now reveals them for a short period.

  • Dolphin/Giant Squid/Mutant Crab:

    • Now affected by Leaflets, Stealth Generator and Spectre Bullets.
    • Chronoboost, Propaganda, Death Bombs, and Cash Bounty can now be applied to them.


  • Color Picker:

    • Fixed the preview MCVs showing water versions.

  • Commander’s Powers:

    • Now has 1 tick build duration, which hopefully should fix the exploit allowing players to select 2 CPs at the start.

  • Abilities:

    • Fixed unit/building spawning abilities not working when targeted on civilian building rubble.

  • Tanya/Crazy Ivan:

    • Fixed that they could target airborne units to place C4/Dynamites.

  • Helicopters:

    • Fixed that they cannot land on Sand on maps with Dune tileset.

  • Nighthawk Transport:

    • Fixed AI’s prefilled Nighthawks contain more units than they normally can.

  • Gatling Cannon:

    • Fixed that it cannot attack structures on water.

  • Yuri Statue:

    • Fixed it, causing crashes on maps with Dune tileset.

  • Tech Missile Silo:

    • Fixed the rotated version not working.

  • Spy:

    • Fixed non-snow artwork being used when disguised as Tanya/SEAL on a snow map.
    • Fixed them being targetable by anti-ground weapons while paradropping.

  • Chrono Miner:

    • Fixed unloading animation being cut a bit.

If you are curious about Romanov's Vengeance, visit the ModDB Profile, and Discord Channel to obtain further information about it. Romanov's Vengeance is downloadable at This Address. And that's all for now! Have fun and enjoy Romanov's Vengeance!

Hello ladies and gentlemen! The staff from Notepad++ has recently posted Notepad++ v8.6.3. For those unaware of what is being written here, Notepad++ is a free and open-source code editor and Notepad replacement that runs on Windows. It supports several programming languages, multiple tabs, plugins, and is based on the powerful editing component Scintilla.

Here is what we know about Notepad++ v8.6.3:

We recognize that not every user loves the multi-editing feature. In this release, we’ve added GUI options to disable the “Column To Multi-editing” feature and even the “Multi-editing” feature can be turned off completely. Additionally, users can disable the “copy/cut line while no selection” feature through the preferences dialog.
Furthermore, in the new release, We’ve addressed a performance issue related to “Replace all” and fixed the critical problem where all open files were lost after restarting as an administrator.

The full changelog:
  • Restore the multi-editing option & add the “Column To Multi-editing” option on GUI.
  • Make “copy/cut line while no selection” optional.
  • Fix all open files lost after restarting as Admin to save a file.
  • Fix “Replace All” crash & performance issue.
  • Fix calltip crash due to the division by zero.
  • Enhance Function List for Python to support “async def” & colons in argument list.
  • Fix the Copy/Cut/Paste issue in a Vertical Edge text field in the preferences dialog.
  • Fix macro recording twice for some commands.
  • Fix the “Open File” command not working with TAB preceded.
  • Add auto-completion keywords for PHP, JavaScript, and CSS.

You can find more information about Notepad++ by visiting the Official Website, and Forums. Notepad++ is available for download Here. And that's all for now! Have fun and enjoy Notepad++!

TrueType fonts for OpenTTD!
Feb 19, 2024 - 02:43
Hello everyone! OpenTTD has some interesting dev blogs posted recently by their developers. The most recent one is about TrueType fonts used in the latest OpenTTD 14. For those unaware, OpenTTD is an open-source re-creation of Transport Tycoon Deluxe, a business simulation game where you control a transport company. OpenTTD extends the experience of Transport Tycoon Deluxe with bigger map sizes, customizable artificial intelligence bots, downloadable customizations, ports for several operating systems, support for many languages, etc. Here is what you need to know about the progress on OpenTTD:

How do you update a 30-year-old pixel font to make it more suitable for today?

The pixel-art OpenTTD fonts are iconic but were designed for 640x480 CRT monitors rather than today’s 4k monsters.
Without the horizontal smoothing of CRT scanlines, modern pixel-perfect rendering and 2x or 4x upscaling of the old bitmap/sprite-based fonts make the text jagged and hard to

You probably don’t think of OpenTTD coming with fonts, but the normal, tiny, and newspaper fonts are all built into the game.
They’re not a normal font format, though. They’re one little bitmap image (called a sprite) per character.

So, how do you update an old sprite font to make it suitable for today?
The short answer is “make a real font” - a TrueType font.
The smooth splines of TrueType font characters scale with no loss of details and no pixel jaggies, while anti-aliased rendering mimics CRT scanline smoothing.

Making a font that captures the look and feel of a pixel art font is an interesting challenge.
In my misspent youth, I made some fonts from scratch, but designing a font to match the look and feel of a pixel art font is much more constrained.
In some ways, this limits creativity, but designing with constraints can be better.
Scaling up 4x gives you 16 times more pixels to play with and surprising room for expressiveness.

Design process

To keep the pixel art feel, I self-imposed some key design constraints:
Strokes and the extreme points of curves must lie exactly on a pixel grid.
Strokes must be an exact number of pixels wide.
Diagonals must have an integer rise and run (e.g., along one and up 1 pixel, along one and up 2 pixels, etc.).
It is challenging to make nice character shapes within these constraints, but I think the result successfully captures the right style.

There are three main fonts:

The newspaper/serif font was probably the easiest.
The font in the Transport Tycoon Deluxe original graphics is a modern serif/Didone-style with a large x-height, open counters, heavily stressed strokes at a vertical angle, thin slab serifs for vertical strokes, and large modern serifs for horizontal strokes.
It’s quite clear that it was originally designed as a sprite font, and making a TrueType equivalent was a relatively simple process of just drawing the characters to match the character size and style, sticking to the pixel grid.

The small font was the next easiest.
The original small font is 6 pixels tall and all caps - a very constrained space to work within! I took a geometric approach, building up a set of standard curve shapes that could be assembled to build the characters, making sure that the curves correctly filled in/left out corner pixels.
This gave a tiny font that looks very like the original at 1x size but smoothed out while feeling pixel grid-based when larger.

The medium sans-serif font was the hardest.
It’s iconic, visible everywhere, and needs to be very readable.
The original graphics provide quite a distinctive sans-serif bold sprite font, but I needed to scale it up and add detail.
To get inspiration, I used a CRT screen simulator (thanks ShaderGlass!) and even looked for photos of Transport Tycoon or OpenTTD on CRTs - both very informative for choosing character shapes.
The horizontal and vertical strokes were generally easy to imitate, but the diagonals and curves were much harder.
I went through a heavily iterative process: drawing a character on the pixel grid, checking how it rasterized at 1x size with no anti-aliasing, checking where it differed from the original font, revising exact curve shapes, sub-pixel positioning of the ends of strokes, etc., and repeating.
The end result is not your typical sans-serif and has interesting quirks like the very vertical sides of “o” and the square caps on “v and “w”.

The challenges

The last big challenge was fitting everything in the very narrow line height.
The OpenTTD GUI has a very dense text layout, originally designed to fit many informative windows into a tiny screen.
There’s absolutely no space between lines: the bottom of a “y” touches the top of a “T” on the line below.
This means characters with diacritics (accents, etc.) require a special short letter shape, which the diacritic is then placed on.
This was hard for the serif, very hard for the sans-serif, and extremely hard for the small font!
I had to cheat with the small font. It’s a 7-pixel tall font pretending to be 6 pixels tall, but it mostly works.

The opportunities!

Having spent the time to make these fonts, it opened up a range of options for improvements.
OpenTTD has a very international player base, with many players using languages that use the Cyrillic or Greek alphabets.
Having made the Latin alphabet, it was (relatively) easy to make Cyrillic and Greek alphabets, with full character coverage of all the OpenTTD translations.
It was also (relatively) easy to make a monospaced font based on the sans-serif font for the in-game Readmes, Changelogs, etc.

Looking to the future, these fonts are complete for all European languages, but they enable easy future development.
Having dedicated fonts makes it easier to support more languages - we can guarantee a font is available with the necessary characters.
There’s also the possibility to add more currency symbols.
For now, the fonts just support European scripts, but there is the possibility of future support for other alphabetic and abjad scripts.
I’m afraid CJK scripts are probably beyond my ability, though!

In closing

Overall, I’m very happy with the result, and I hope you like the fonts too.
They’re included with OpenTTD in version 14.0 - just make sure they’re enabled in Game Options > Graphics, then toggle new vs. old fonts with the “Use traditional sprite font” button.
The font will look best if you set the interface scaling to a round number, exactly 1x, 2x, etc.

They come built into OpenTTD, but if you really like the fonts, then you can download and install them to use in your local word processor too.
Make your next school/work report OpenTTD-themed!
Grab a copy from the Github OpenTTD-TTF releases.

More about OpenTTD 14

This post is part of the series of dev diaries about big new features coming in OpenTTD 14.
Next week, we’ll see how pathfinding has been improved for one of the transport types.
And, oh buoy, is it a big improvement!

For further information about OpenTTD, visit its Official Website, and Forums. And this is all we can offer for today regarding OpenTTD!

One vision, one purpose! A new version of YouMustConstructAdditional.., known as YouMustConstructAdditional v0.95.11, has been posted recently by patrickwieth. For your information, YouMustConstructAdditional.. is a Real-Time-Strategy game that uses the OpenRA engine. It forks Combined Arms and it strives to create massive battles with GDI, Nod, Scrin, Allies, Soviet, and China. The changes from YouMustConstructAdditional v0.95.11 were announced with the following words:

New Features

  • Dragon Tank is now a voxel unit
  • Overlord is now a voxel unit
  • Helix Mortar Bunker added. This is the same as the normal Helix Bunker but comes with Mortars instead of Tank Hunters.


  • Propaganda now gives a small range buff (10%) to infantry.
  • Nationalism has a stronger effect now

Bug Fixes

  • Bulldozer was too small, is a bit bigger now

You can find more information about YouMustConstructAdditional.. by visiting the Official Website, and Discord Channel. You can grab the latest version of YouMustConstructAdditional.. by clicking Here. That's all, folks! Stay tuned at PPM for more news coverage on YouMustConstructAdditional..!

Welcome back, commander! A new version of Visual Studio, known as Visual Studio 2022 17.9, has been released as we speak by Microsoft. For your information, Visual Studio is one of the most famous commercial code editors that supports several programming languages, multiple tabs, plugins, etc. It runs on Windows and macOS. Visual Studio comes with several editions, and the Community Edition is free for personal use and for companies with up to 5 users/devices. Here is what we know about Visual Studio 2022 17.9 as posted on their blog:

Welcome to Visual Studio 2022 17.9! This release comes with more capabilities and improvements that enhance productivity for you and your team, such as AI assistance and better extensibility. Plus, we’re always improving core productivity and performance! We’ve included suggestions from you in the community and are publishing more about our backlogs in our release notes and roadmap.

From AI-powered Git commit messages and enhanced C++ game development tools to .NET/C# advancements and responsive project management capabilities, this release caters to a wide array of you and your team’s development needs.

Dive into a more efficient development experience with Visual Studio 2022 17.9 and unlock your potential to create, collaborate, and innovate more effectively.

Download 17.9 Now

Here are some of the major areas we’ve focused on in this release:

AI Generated Git commit messages
One of the things I always struggle with is coming up with descriptive Git commit messages for whatever changes I’ve made in my local repo. The newly generated commit message feature is designed to assist you in succinctly describing your changes, ensuring clarity and relevance in your c![endif]-->

To get started, ensure you have an active GitHub Copilot subscription along with the GitHub Copilot Chat Extension installed. Simply click the ‘Add AI-Generated Commit Message’ sparkle pen icon within the Git Changes window for a suggested commit message. GitHub Copilot analyzes your commit’s file changes, provides a summary, and then offers a descriptive message for each change. Choose to ‘Insert AI Suggestion’ or ‘Discard’ based on your preference. We welcome your feedback on this feature at this link.

Open a Pull Request in Visual Studio or the browser
To support GitHub and Azure DevOps users who prefer to use the browser view for creating pull requests, we’ve added a secondary link to help maintain your workflow.

Event Handler Leaks insights
Finding memory leaks is one of the more challenging parts of developing your app. Now, the Managed Memory Insights tab can detect “Event Handler Leaks,” which can happen when one object subscribes to another object’s events. If the event publisher lives longer than the event subscriber, the subscriber remains in memory, even when there are no other references to it. This can cause memory leaks and the application will use more memory over time without releasing unused memory properly.

Instrumentation tool “Start with collection pause” option
The Instrumentation tool now has a “start-pause” option for profiling applications. This lets you start the app under the profiler’s control without immediately collecting data. You can resume data collection later when needed by hitting the record button. This is useful, especially in gaming, where you can get into the game before data collection starts. The feature is compatible with both native and managed projects.

Switch between single and multiple rows in the document well
You can now quickly switch between single and multiple tab rows in Visual Studio’s document well by scrolling the mouse wheel up or down. The first time you open more tabs in Visual Studio that can fit in a single row in the document well, you’ll see a tip letting you know of this new feature.

Scrolling down on the mouse wheel while hovering over the tabs in the document well will shift your view to show multiple tab rows. Conversely, scrolling up on the mouse wheel will collapse the view down to a single tab row.

Non-modal Debug Visualizers
Debug Visualizers are now non-modal, allowing concurrent interaction with the Editor while the visualizer window is active. It is possible to have multiple types of visualizers open simultaneously, and you have the flexibility to choose whether to float or dock your visualizer window.

Responsive Local History labels in the Git Repository window
Your branch and tag labels now resize responsively to make it easier to see which branches you’re looking at in the Git graph.

Multi-project configuration
Now, you can easily set up and save profiles for launching specific projects within a multi-project solution for streamlined debugging. Simplify working with complex solutions, enhance debugging efficiency, and effortlessly share configurations with your team.


Multi-folder open support

Auto Surround with Quotes or Brackets
You can now easily surround a selection with bracket delimiters including: “double quotes”, ‘single quotes’, and (parentheses).

To enable or disable this feature, go to Tools > Options > Text Editor and check the “Automatically surround selections when typing quotes or brackets” option.

C++ and Game Dev
Streamlined Unreal Engine Blueprints references
Available gradually over the upcoming weeks, you will no longer need the Visual Studio Unreal Engine plugin to see Blueprint References, and Visual Studio will now display CodeLens hints with reduced latency and use fewer machine resources. Additionally, we have added support for including usages of UFUNCTIONs outside of the class hierarchy directly in the CodeLens results. We will cache your results from previous scans and only process new or modified assets since the last scan.

Improved IntelliSense for Unreal Engine projects
Unreal Engine uses its own reflection mechanism to connect the worlds of C++ and Blueprints. This is achieved through custom preprocessing of C++ sources with the Unreal Header Tool (UHT) and injection through the regular C++ preprocessor. We have improved the handling of Unreal Engine IntelliSense by ensuring consistency and accuracy. IntelliSense will now refresh more readily for UHT-generated files, reducing the likelihood of displaying unwarranted errors. 

Remote Linux unit testing
Based on your feedback, we have enabled running unit tests for remote Linux scenarios. Try it out with your C++ projects that target Linux on WSL or remote systems in the Test Explorer. Learn more about how the Azure Networking Team has used remote Linux in Visual Studio including remote unit testing. 

Specify custom CMake executable
Visual Studio ships with CMake bundled when you download the Desktop Development with C++ workload. However, you can now specify your own custom CMake executable on your machine if desired.  Navigate to Tools > Options and select CMake > General. From here, you can check Enable custom CMake executable and specify the directory path of your CMake executable you wish to use.

C++ Memory Layout Visualization
Based on your feedback, we have added the Memory Layout feature. This feature enables visualization of the memory arrangements for your classes, structs, and unions directly within your editor, removing the need for compilation to view these layouts. When you hover over your types, a “Memory Layout” link will appear within the Quick Info. Clicking this link will open a dedicated window displaying the memory layout of the selected type. Furthermore, hovering over individual data types within this window will provide detailed information about their size and offset within the type.

#include Diagnostics
Visual Studio now introduces #include Diagnostics, which provides a detailed analysis of your #include directives by displaying their references and build time. Once you turn on this feature, the number of references will be displayed in CodeLens. From there, you can easily navigate to the list of references and locate each reference. To view the build time of your #include directives next to their references. You will need to run Build Insights by navigating to Build > Run Build Insights.

Automatic Deoptimization
With .NET 8, the Debugger now automatically optimizes release code and external code while debugging. When you set breakpoints and go through your code step by step, only the parts you stop at will be optimized, keeping the rest of your application running smoothly. To use this feature, you just need to turn off the “Just My Code” option in the debugger settings. This improvement brings benefits like fewer errors in the locals, watch, and immediate windows and fewer unexpected code jumps when you’re debugging your application.



Razor Snippets
HTML snippets are now available in Razor (.razor) files, making it easier and faster to write out common, repeating code patterns.  To insert a snippet, start typing a common HTML tag (i.e., ) and select one of the dashed-box options from the resulting dropdown.

Multi-TFM Support for Razor Files
Multi-targeting framework support (TFM) is now available for Razor files. This allows you to include code that targets a particular framework and filter between code that targets each framework using the dropdown header above the editor window.  You can also use the navigation bar drop-downs to quickly navigate to different classes and members in the Razor file.

Blazor Scaffolding for .NET 8 Projects
We have added support to scaffold views for Blazor projects, including CRUD (Create-Read-Update-Delete) using Entity Framework. After adding a model class to a Blazor project, you can get started with scaffolding by right-clicking on the project in the Solution Explorer and selecting Add New Scaffolded Item. In the dialog that appears, the new scaffolders are in the node under Common > Razor Component.

If you select the option Razor Components using Entity Framework (CRUD), you will get another dialog prompting for the details of what should be scaffolded.

Here, you select your model class and the DbContext that should be used. You can also create a new DbContext if needed. After completing this process, files will be added to your project to enable the CRUD operations on the model class selected.

The UI which is generated from the model provided looks like this:

Some important notes on the code which is generated in your project.

  • The scaffolded code uses the new static server-side rendering support in Blazor in .NET 8
  • The generated components only work on the server – they aren’t supported with WebAssembly-based rendering
  • The generated code uses the new QuickGrid component in .NET 8 for the table, which supports sorting, filtering, pagination, etc if you enable interactivity on the page

Live Property Explorer Support for.NET MAUI
Live Property Explorer, a powerful tool that enables more efficient development, is now supported with .NET MAUI. It enables you to inspect XAML properties while debugging, to be used in conjunction with XAML Live Preview and Live Visual Tree.

With LPE, you can easily view and tweak the properties of your app controls at runtime, which is especially useful when you’re looking to debug issues, optimize performance, or investigate where a property is defined.

To access the Live Property Explorer, Start and debug your app. Then, navigate to Debug > Windows > Live Property Explorer. Once you’ve opened the Live Property Explorer, you can use it to explore and live edit properties in your .NET MAUI app. For more information, visit our docs.

Many of our developers, including myself, enhance their Visual Studio environment by using custom extensions that provide targeted, specific, and often contextual functionality. However, it’s not always easy to standardize extension use across teams, projects, installations, etc.  We’re happy to announce that starting in Visual Studio 2022 version 17.9, you can use your vsconfig files to include extension information alongside the component listing.  Since *.vsconfig files are easy to pass around and share with others, it’s now easier to share information about which extensions need to be installed. This capability to load extensions through a vsconfig file was one of our top requested community features, and we’re very excited to finally start delivering on this vision.

When the Visual Studio installer reads a vsconfig file, it will detect if any extensions are specified, and if so, it will load them within Visual Studio in a machine-wide context, available for all users to use.  Recall that *.vsconfig files work in a variety of common scenarios.  For example, you can add a vsconfig file to your repo or solution, and when Visual Studio loads the solution, it’ll process the config file and prompt you to load any missing components or now extensions. You can use the installer and import a config file into an existing installation or use it to initialize a new installation. You can programmatically modify an existing installation and pass in a vsconfig file to the installer or use it with winget configure.  Lastly, you can create a layout using a vsconfig file and now you can instruct clients that install from that layout to respect the config file.

In 17.9, we’re delivering the first iteration of this experience, but there are more features still under development. We’re working on the ability to detect missing non-marketplace extensions in the config file during solution load and the installer’s ability to load “complex” extensions for 17.10.  Then, we’ll start to work on the other common installer operations such as update, export, etc.

Please try this feature out and let us know what you think! Your feedback is valuable and helps us prioritize which important and useful functionality to deliver next.

If you are curious about Visual Studio, visit the Official Website to obtain further information about it. You can download Visual Studio 2022 17.9 Here. And that's all for now! Have fun and enjoy Visual Studio!

Aloha! The developers from OpenTTD released a new announcement for the community a while ago about a new feature presented on OpenTTD 14, which deals with bus bunching. For those unaware of what is being written here, OpenTTD is an open-source re-creation of Transport Tycoon Deluxe, a business simulation game where you control a transport company. OpenTTD extends the experience of Transport Tycoon Deluxe with bigger map sizes, customizable artificial intelligence bots, downloadable customizations, ports for several operating systems, support for many languages, etc. Here are the official words about it:

Have you ever waited for a late bus, and then two arrived at once?

This is called “bus bunching,” and I bet you’ve seen it happen in OpenTTD – and not just with buses.

For years, players have requested an easier way to keep vehicles with shared orders spaced out along their route. In OpenTTD 14, we’ve added one.

To keep vehicles spaced evenly, we can either speed up or slow down vehicles.
Speeding up vehicles is tricky even in real life, requiring adding extra vehicles, skipping stops, or turning a vehicle around before its final destination.
It’s much easier to simply slow them down. Real transit schedules have extra time built in to pad the schedule, often coinciding with the driver’s breaks.
A late-running vehicle can take a shorter break and depart on time. This is also possible in OpenTTD using timetables, but that’s a lot of manual work.
The most popular fork of OpenTTD, JGR’s Patch Pack, includes an “autoseparation” feature that uses timetables to automatically keep vehicles spread out.

With any delay-based unbunching method, there is a fundamental danger of the feature: deadlocks.
Vehicles get out of order, they block each other waiting to be on time, and the player has no idea why.
We’ve seen a few attempts at solving the problem, most with a relatively complex algorithm to avoid deadlocks, which are hard to test.

A new approach

There is one place where vehicles cannot deadlock: Depots.

Vehicles in depots don’t take up space on roads or rails in the game world, so they cannot block each other.
This is the trick to the new unbunching feature in OpenTTD 14.

Vehicles can have orders to get serviced or stop at a depot.
This feature adds a new type of depot order, marking that depot as the unbunching point for a group of vehicles that share orders.
This is chosen from the depot action dropdown where you’d choose “Service,” “Stop,” etc.
Vehicles that share orders with each other will depart the depot at a consistent, repeating interval.

How does it work?

When a vehicle enters a depot, it records the duration of the trip it just completed. When it tries to exit a depot, it checks if its next departure time has arrived yet. If we are past the departure time, it leaves and immediately calculates the departure time of the next vehicle.

This calculation is simple: Take the average last trip duration of all vehicles, divide by the number of vehicles to get the interval between trips, and then add that interval to the current time.
Because we look at the average trip duration, inconsistencies due to traffic or routing are canceled out.

If vehicles are extremely delayed or if new vehicles get added to the shared order route, the interval takes a few cycles to stabilize, but it will work itself out shortly.

A vehicle can only have one depot order marked for unbunching, so if you try and add a second, you get an error.
In addition, unbunching cannot be used with full load or conditional orders because these orders can take a very variable amount of time.

Trying to add one of these orders or trying to mark a depot for unbunching when the order list already includes one of these orders blocks the new change and shows an error.

What about timetables?

Timetabling vehicles is not required to use the unbunching feature.
However, if you like to timetable your vehicles, you can use the two features together.
When a vehicle leaves a depot after being unbunched, it is marked “on time.”
The only oddity of overriding the timetable in this way is that the expected arrival/departure times of orders after the depot may not be correct if the vehicle is held in the depot for unbunching.

More about OpenTTD 14

This is part of a weekly series of dev diaries about the major new features in OpenTTD 14.
Next week, we’ll delve into the design of OpenTTD’s new typography.

Bear in mind that they are beta testing OpenTTD 14, and the latest beta is OpenTTD 14.0-beta3.

You can learn more about OpenTTD by visiting the Official Website, and Forums. That's all, folks! Stay tuned at PPM for more news coverage on OpenTTD!

RedModAlert SDK has been updated!
Feb 12, 2024 - 19:02
Aloha! Zorbung, the leader of RedModAlert SDK, has been busy recently in order to post RedModAlert SDK, The 2024 Edition. For those unaware, RedModAlert SDK is a collection of tools for Red Alert 2 and Yuri's Revenge modders, which includes Mixtor (a MIX Editor), Raisin (INI Editor), Amphora (AI Editor), Coffee (.CSF String Editor), Pallet (Pallette Editor), Orchestra (Sound Editor), Terral (Terrain Editor), and Yvory (Voxel Model Editor). They are all powered by the MoToR engine. The official announcement from RedModAlert SDK, The 2024 Edition came with the following words:

This update is aimed at modders. For immediate fun, try RA2YR Enhanced, an open mod included in and entirely made with RedModAlert SDK which you can use to start your own mods:

Download RA2YR Enhanced v8.61 Installer - ModDB

RedModAlert SDK has been updated with many fixes and improvements along with more tools, code and tutorials, completing the journey of enhancing the modding of Red Alert 2 Yuri's Revenge. This doesn't mean the story is over but that a reasonable milestone has been reached and new opportunities have become available!

Fairy is the latest sprite editor (for .shp files) included in the SDK. Providing advanced functionality, it allows artists to mod the game much faster than ever before, without having to watch their every step for all sorts of pitfalls. Although mainly intended for converting already done artwork into game assets, Fairy also offers some basic drawing support mostly meant for retouches.

If you're new to spriting, you should also check out the new tutorials for a full introduction before you begin.

Another honorable mention is World-Alerting Editor, the latest map editor made by Rampastring with the help of the community. It's not finished yet, but this is getting closer and closer to the hot spot, already becoming a good option for making new maps. For now, just a download link has been included in the SDK.

You can download the latest version of RedModAlert SDK from the following link:

Download RedModAlert SDK - ModDB

This project has not earned and never will not even one single dime. This was all done out of sheer love for the game. If any of this is useful to you, please support it by promoting it in your work so others will know about and benefit from all of this. A simple logo of any size will do. Not required, of course, but really appreciated. Help the good stuff stay alive or else trash will take over. Thank you and rejoice the fun of modding your favorite game with the best tools out there!

Till next time!

For further information about RedModAlert SDK, visit its RedModAlert SDK. Grab the latest version of RedModAlert SDK by clicking Here. And that's all regarding RedModAlert SDK for now. Stay tuned at PPM for more news about RedModAlert SDK!