Space Station 14 now has an official forum! You can login to it with your SS14 account.
The forum will mainly be used for ban appeals and other administrative stuff so it's pretty barebones for now. If it gets enough activity we'll add more general forums and stuff.
A huge thanks to metalgearsloth for slaving over a complete physics rework for SS14. If you want to see the technicalities of it he's done a detailed write-up in the technical section but here's a few examples to demonstrate the advantages of the rework.
A myriad of improvements have been made to the chatbox: - It's resizable now! - Rather than using message prefixes for channels, you now cycle channels with Tab or the channel's hotkey. - Chat channels can now be filtered, allowing you to opt out of hearing whines of "i ded pls restrt" and "ick ock".
These improvements to the viewport will eliminate the advantage people with bigger monitors got. Essentially it scales the view of the game so that everybody can see exactly the same amount of tiles.
The inventory popup window has been replaced with an on-HUD inventory inspired by Goonstation. The ID and storage slots are always visible, while the top row of the inventory is toggleable with `I`.
With the addition of the HUD inventory (and much bikeshedding) comes the addition of HUD themes, which currently only changes the inventory icons. Current themes include: - Default: A color-shifted version of Goon's HUD icons - Classic: SS13's classic Midnight HUD, for those who fear change - Modern: A modernized take that more closely matches the rest of SS14
All fun has been removed from the game and replaced with rules, which are viewable in the information window, accessed with F1.
These rules only apply to the official servers; community servers are welcome to moderate themselves however they see fit. Bans from official servers do not apply to community servers, nor vice-versa.
Slimepeople & Vox
Contributed by Zumorica and PJB3005
As a proof-of-concept for future codebases, slimepeople and vox have been added. However, these are currently unplayable and will remain so for the forseeable future. While we wish to support whatever kinds of species other servers want, we have no desire to include "human reskin" species on our servers that are not significantly different from a gameplay perspective.
Food
Contributed by Swept
All the food in the codebase was ripped out, reimplemented and reorganized. This added a ton more food content but also makes adding recipes much easier.
NOTE: As of this progress report, lots of recipes for this food are still unimplemented.
Ghost Roles
Contributed by Zumorica
Ghost roles have been added, allowing unrobust players to return as a mouse or a CentCom Official. For moderation purposes ghost roles are currently created solely by admins.
- Added a library *Contributed by ike709* - Hardened chemistry with reinforced walls *Contributed by Swept* - Hardened the station exterior with reinforced walls *Contributed by Swept* - Added a bar backroom *Contributed by BulletGrade*
Commercial vending machines will now advertise their products every once in a while.
Tiny things
Holiday system added. The game can now run special events on certain dates and give messages like "Merry Christmas". Contributed by Zumorica
Gas leak event. Contributed by metalgearsloth
Inflatable walls. Contributed by ShadowCommander
Stacked sprites now can be visualized. Contributed by Ygg01
Additions to banning system like hardware ID bans. Contributed by PJB3005
Admin menu now can set temperature and add gases. Contributed by metalgearsloth
Airlock construction. Contributed by ShadowCommander
Extended gamemode. Contributed by Zumorica in less than 2:30 minutes
You can customize your eyes color now. Contributed by Rember
There is now a toilet on the station. Contributed by Macoron
Clown cannon. Contributed by Zumorica
Unified the server/client consoles. Contributed by Acruid
You now spill whatever is in your hand when falling. Contributed by Clyybber
Latejoins are now announced via radio. Contributed by ike709
Verb icons. Contributed by Swept
Ghosts can now spook players by flickering lights. Contributed by Macoron
Technical details
Fluent Localization
Contributed by RemieRichards
We replaced our localization system's backing library, NGettext (a .NET gnu `gettext` port), with a .NET implementation of Project Fluent.
Project Fluent is Mozilla's modern localization system, which allows for among other things, asymmetrical localization; Asymmetrical localization is important if we want to fully support languages with grammar that differs greatly from english.
Something like `gettext` simply swaps out a source message with a translated message, this isn't very scalable outside of simplistic examples ("Hello" -> "こんにちは"). This can unfortunately lead to source grammar and source concepts leaking into target languages, which at best leads to unnatural translations and at worst complete gibberish.
One major consequence of this change is that **all** localized text is now stored outside of C# code, *including the source language, english*. This shouldn't be a major obstacle as generally localization is a write-once affair and for ease of contribution localization can be temporarily skipped, simply passing through source text verbatim, while also displaying a warning in the game's log so we know to come back to it later.
We've also got plans to build some roslyn analyzers to make working with localization even easier, with things to look forward to like automatic scanning for missing translations in a particular language (imagine english implements the message `hello-world` as "Hello World!", but the french translation files have no entry for `hello-world`)
Our previous physics iterations were notoriously unstable so we went to the effort of integrating Box2D into the engine (specifically basing it off of the Farseer dotnet port).
We've also taken pieces from Box2D itself and forks of Farseer (Velcro and Aether2D). The reason for this is to take the best pieces of each for the engine to suit SS14's needs.
In the future we'll also look at multi-threading critical parts for further performance increases.
It is by no means finished yet but the features currently include:
Circle colliders for players
Items now have collision without tanking server performance
Items can rotate when thrown and bounce
Weightlessness rubberbanding is fixed
Pushing is less jittery
Running along walls is slightly less jittery (more work to be continued)
Preliminary work for driving the station performantly
We'll be doing work to make the physics system more performant so it will continue to get faster over time.
This also allows us to remove a lot of cruft with controllers as previously velocity was being reset every frame so if you wanted a body to continually move you'd have to manually push it; now you can just apply an impulse once and the system will take care of it without requiring bookkeeping every time.
Serialization v3
Contributed by PaulRitter and DrSmugleaf
Our serialization system has been revamped to make it easier for developers to create new components and prototypes and add content to the game. Previously, each property needed at least one line of code (or at worst more than a dozen) to be written for them to be read from and written to YAML files. Now, the same can be done by writing `[DataField("propertyId")]` above each of them. Everything else is handled in the background automatically, and more performantly than before. This also enables us to lint our YAML files for errors, typos and invalid data, avoiding unnecessary bugs that were cumbersome to spot manually. It also makes a YAML/prototype editor possible if needed in the future, as you can easily access and validate each property used by a component, prototype, or any other kind of data definition.
Pseudo Airlock Prediction
Contributed by tmtmtl30
Essentially with prediction and airlocks you used to just teleport to the other side of an airlock when going through it. Now you just go through effortlessly and it looks great!
Entities (stuff like walls, objects, players etc.) are composed of a set of components (stuff that defines if it's a food, tool, etc.). Our entities/prototypes are defined in YAML while the components are coded in C#. With YAML hot-reloading, we can modify things in the files for anything that's defined in YAML (Pretty much everything) and have it auto-update in game. Kinda like Garry's Mod.
This is super cool and will cut down on development time even more, since before you'd have to rebuild and restart the server if you messed up one line of YAML.
In SS13 coding terms, this is like reloading an item dm file while the server is running and seeing the effects immediately.
RobustToolbox, the game engine that SS14 uses, has been improved in a variety of areas to better support other games that may want to make use of it. For example, it now supports singleplayer games!
To aid development of new games, singleplayer and multiplayer templates have been created. Making use of these, we've created Robust Pong, an example online game for anyone looking to learn how to use the engine. You can even try it out yourself by connecting to it on the hub!
We want to make RobustToolbox a game engine that allows you to Build Your Own singleplayer or Networked Dream games, and as such we will continue improving it in order to bring it to higher standards.
Hey Based Ballers, a few small updates to improve your experience have been released.
First of all, a bug preventing all progress past Level 3 has been fixed, so if you were stuck, try challenging the Field Opponent again! Other minor issues have also been fixed.
Additionally, Home Runs in Home Run Derby have been made easier, so get out there and Crack One Over The Center Field Fence! (If you would like to experience the Original Derby Mode (O.D.M. for Short), press O on keyboard or Select/Back on controller while selecting your difficulty.)
Bring Back The Sun by Daniel da Silva - Daniel da Silva
Hey guys!
I planned on upgrading the underlying Godot Engine from version 3.2.2 to 3.3 but alas this introduced new bugs. Instead I decided to upgrade to 3.2.3.
For a while this will be the last update for Bring Back The Sun. After almost 6 months and 13 updates, the game is smaller, has even better performance, more languages, looks better, etc. Many of this stuff wouldn't have been possible if I wasn't working on Sonucido: The Mage - I learned quite a lot :)
Thanks a lot to everyone who bought the game and everyone who bought the soundtrack!
Full Changelog
- Upgraded from Godot 3.2.2 to Godot 3.2.3 - Improved the readability in one instance in the English localization - Some minor code improvements which don't affect performance
A quick build to improve a few things and fix a few things.
Added some additional checks to fix an issue that caused the LIch to not take damage when attacked.
Your blocks will now work at a wider angle compared to the monster attacking you. Basically this makes blocks a bit more effective and forgiving.
Updated the gem treasure system to make spawning gems as treasure more likely the higher level you are.
The pumpkin keys in the Haunted Mansion will now automatically be placed in your inventory and a message will display letting you know you got one. This avoids the issue of the key spawning outside of the mansion walls as initially they spawned relative to your position.
Updated some of the system that handles giving you the main story quest chain.
Added better colliders to the Weaponsmith building so your camera will zoom in better when entering.
Fixed a bug that caused the Armorsmith signs to not display when look at the building from far away.
Fixed a bug that caused the Shield Bash attack to work even if you hadn't unlocked it yet.
Also, I mentioned this in discord, but I'm considering making a change to combat. The basic change is that if monsters are near you and in front of you when you attack, they will also get hit, even if they aren't your "target". So this means positioning will matter more.
This would also make "tab" targeting only necessary if you wanted to lock on. Right now attacking auto-locks on the closest target. This update would change that so it doesn't do that, only TAB would target-lock.
This update would allow you to continue to play exactly as you do now if you like auto-target while also allowing you to move around more freely if you want to (by not selecting a specific target) and look better as your weapon swings will hit multiple monsters. I'd have to figure out how movement while attacking would work in the updated system.
This will also require some balance work as you'd be doing more damage per swing too. I'd also update the Axe Power Attack to do more damage with it's AOE to make sure it's still useful.
Going to work on this a bit now that this build is done. If I get it something I like, I'll put it on the test server for anyone who wants to try it out.
Thanks again everyone for the support and feedback!
Just a tiny fix to the new build mode for the elevator piece. It should properly stay snapped to the grid now. Thanks to player ikillomega for reporting the bug!
Fixed a bug where the rouge house wasn't clickable. You can now train rouges in campaign mode.
Merchants of Emalon have gotten less greedy. Prices across the board have been lowered. Next step is to pressure chests and quest givers to give better rewards. (a second balance pass for loot will follow).
Some spelling errors have been corrected. We're chasing down more!
A new quest is available. Keep your eyes peeled and your feet off the grass.
It's time to add some new content to the game again to ease the waiting time until the major update that introduces military perks is done. We've added a full set of six challenges for the desert region as well as some new modules and AI functions.
Modding capabilities are very important to us. In order to not have to add it at the end and rewrite everything, we're constantly moving things from the core logic of the game out into components that act like if they were mods.
Achievements are now refactored into the new loader system. If everything works as smooth as we expect it to be, we'll continue to move all game data (like artifacts, factory items, ...) out of the core logic. This is the first step to allow content modding in the future.
In addition we've also refactored a big part of the game. Worst case you shouldn't notice any difference and in the best case you'll see a performance increase.
Military Perks
After completing a military tier you'll be able to choose a perk as a reward. Some of them are unlocked right form the beginning others are only available after certain military tiers or require a different perk before they become unlocked. Every four military tiers you'll also be able to choose a specialization instead of a perk as a reward. Specializations are upgrades for their respective building and unlock the second floor as well as additional features for that building. Specializations are planned for the following buildings so far: Factory, Power Plant, Mine Here is a screenshot of the current draft for military perks. This is just a first prototype and the UI will most likely change. We're also going to make the military perk UI procedural generated to allow future modding.
Changelog
New Stuff
added new challenge 'Desert #1'
added new challenge 'Desert #2'
added new challenge 'Desert #3'
added new challenge 'Desert #4'
added new challenge 'Desert #5'
added new challenge 'Desert #6'
added shiny effect to achievements
added Worker task 'Neutral: Expand'
added AI function 'Timestamp: now'
added AI function 'String: index of'
added AI function 'String: contains'
added exotic skill 'Treasure Map'
added new module 'Magical Protection'
added new module 'Energy Flow'
added new module 'Advanced Heal'
added new module 'Sandstorm'
added new module 'Desert Gift'
added new module 'Head Hunting'
Changes
era damage and health divisors cannot be upgraded anymore once they become infinite
readjusted values of module 'Offensive Pack'
readjusted values of module 'Defensive Pack'
minor changes to Universal Experiment goal display
refactored a big chunk of the code base
started to replace C# events with our own event logic
separated damage text from the core logic of the game (now acts like a mod instead of a hardcoded feature)
achievements are now refactored into the new loader system and are not hardcoded anymore
Fixes
fixed AI not being able to open Tower Testing UI when opening it for the first time after entering the Town
fixed a rare case where the container height of the module list in the Workshop was too small
fixed a potential issue that could affect the duration of long era Workshop researches
fixed achievement push notifications not appearing when going back to the main menu once
Have you been following us for a while? You like the project and the idea behind it? Then now is your chance. You can support the development of the game and get direct access.
Help us with the development, be it a new idea, a suggestion for improvement or just reporting of bugs.
On our Discord you will find a great community, you can exchange ideas with others or just chat.