Image credit: Bug

20.01: January 2020 Devblog

Monday, February 3, 2020
Written by: CosmicCoincidence

A new month, a new year, a new decade, a new hope.

January Recap

This month has been a leap in productivity for SS3D, and for multiple reasons (more information at the bottom). One of those reasons, not unlike other months, is the new contributors both big and small. Some manage to find the time to really put their passion to work here at SS3D, while others help out where they can, when they can. But, We're just happy to no longer have to beg for programmers to come join and help us, but rather now, thank all our amazing programmers for their contributions, reviews, web-maintenance, issue reports, and fixes. Though if your'e a programmer, there is plenty of room for you here still.

One of our new contributors this month is Em3rgency, and he has really shown both work ethic and passion for our project, as well as trust and great development skills. As a result, within the same month he has joined as a contributor, he has also worked his way up to being a board member. I'm not sure if this has anything to do with his 6 years of software development experience and even more years prototyping things in Unity, or not. Maybe it's just coincidental... and let's not even mention his contributions to *cough Unity Station.

Tilemaps

Back again with progress on core systems, Nonanon has updated the tilemap system to auto-connect prefabs (like walls or tables) both in-game and in the editor in Unity. It works by correctly choosing the appropriate prefab variant and applying rotation. With accurate modeling, this system can be attributed to other connectables like pipes, multi-tile floor patterns, etc.

He also made improvements to the tile editor to allow for saving and editing innumerous tile configurations. Currently, a tile configuration supports a 'turf' (floors, windows, walls, etc.) and a 'fixture' (wall lights, airlocks, tables, etc.). Both the turf and the fixture are placed when placing a tile configuration. Placing tiles in the editor is smoother now too, with the added ability to be able to click and drag them to place multiple quickly. There is still some work to be done and bugs to flush out, but the system looks very promising.

Interaction

Dyhr this month has begun experimenting more with the interactions system, by contributing a WIP event-based interaction system. The system includes both single event (like picking up or dropping an item) and continuous interactions (like drawing with a crayon or shooting an automatic weapon). Although, currently not everything has been tied to this new system yet, most notably the health/damage system mentioned lower down.

Chat

If you remember our September devblog, you may also remember the WIP chat system made by Milly, which sadly got left behind and never merged. That is, until the beginning of January where Em3rgency picked it up, dusted it off, and slapped networking on it as well as a few quality of life things. It's still incomplete as there are no channel permissions yet, but it's a good start.

Health/Damage

Em3rgency, unhappy to see stale merge requests for WIP systems, wanted to resurrect another, this one being for rudimentary player health and damage. After looking through it and deciding it should probably be redone from scratch, he went ahead and did just that!

Limbs now track their damage as well as track status effects like crippled, bruised, bleeding, etc. They will even detach given enough damage. Unfortunately, this cannot be tested currently as a result of the interaction system which merged shortly after this (mentioned above).

Central Communications (CentCom) Server

Happy with a place to put his talents to work, and with large goals in mind, Em3rgency added a new Centcom repository to our organization. This acts as a central server for managing user registration, authentication, and character storage, similar to what Byond is to SS13.

Currently, although passwords are encrypted, you can simply use a fake email and it will remember it, but in the future, this will likely change to using actual usernames. At the moment, all clients connect to the same Centcom server but since the server is open-source like the game, each game server could, in theory, have it's own Centcom server. But that's something to build on in the future.

With some help from Milly on making the UI, you can also create and save multiple characters in the character creator. Unfortunately, the only customization you can currently do to the character is changing the name, so better get creative!

For now, you can host your own game server, join it, create and save characters, and then use your characters to run around in someone else's game server! Which is absolutely amazing!

If you don't want to download Unity and build the most recent development changes yourself, you can instead download our latest build (v0.3.0) here, which has been updated recently. And we also hope to update it frequently by integrating automated builds in the future for each minor release.

Drawing

After developing a few of the core systems, Em3rgency wanted to take a break by implementing something fun to do in-game. So, with a little help from our artists, he made a simple drawing system and a fuel system. The drawing system currently only uses crayons, but this system can be expanded for use with other things, such as spray paint.

The fuel system simply acts as the amount of what we're calling "fuel", but the system can be made to work with other objects such as crayons that will deplete over time, or even objects that store ammo, charge, propellent, etc. You can see how much remaining fuel your crayon has in the small progress bar in the hand its held in.

The system is fun to play with and in his own words, "drawing lets you, quite literally, leave a mark on the world". Currently, only some major surfaces can be drawn on, like floors, walls, tables, and lockers, but we plan to significantly add to that list.

Textures

Konstantin3001 is back as always, this time with some cool Nanotrasen posters and a colorful skybox which we are considering using for the holodeck!

Nicola also made some posters this month, here are his pod and space posters.

Models

Again new modelers this month, one of which is ComradeCheekiBreeki, who has already contributed a set of bibles, a latte, and a few sauces (hot sauce, cold sauce, universal enzyme, and soy sauce).

Nicola put a lot of focus on atmospheric parts and engineering machines this month, with some pumps, filters, and mixers, etc, that we were missing, as well as gravity generator and a shield generator.

He also made a mini fire extinguisher, some warning signs, and a small leather bag.

Sanuki is back this month as well, with this really cool decloner gun.

A cute little portable scrubber from Goao.

GPTeles is also back, with some creatively unique vending machines, completing our vending machines list!

A nice handheld holoprojector from Hummus.

And a little less interesting than some others, but CosmicCoincidence added a couple missing pieces to the wall and window sets, as well as a missing table piece which was crucial to have fully working connections in the new tilemap system.

Someone who is not new to the community but is contributing for the first time, SwankCookie has also made some crayons and a custom law mod for us.

Artwork

Again this month, Bug has made another interesting animation to spark your curiosity!

And from CosmicCoincidence a couple of new logos using our iconic toolbox icon!

Notes

You may recall us mentioning some in-progress management changes in our last devlog, these changes were decided upon in late 2019 by what is now the "Centcom" team. The primary reason for these changes being our technical stagnation, as well as other roadblocks in progress as a result of leaders going absent, which has been a recurring theme for us. The new leadership, the Centcom team, now has more responsibilities and functions more like a 'leading team' as opposed to individual 'team leaders'.

Over the last month, the team has put a lot of effort into updating links and guides, populating task boards, writing documents, and restructuring our discord, amongst other things. All of which is to help streamline the contribution process both for the average contributor as well as the managing staff. Admittedly there are still a few new guides to make and assets to organize, but the important stuff is mostly caught up and the rest hasn't been forgotten.

Also, in the past, we have showcased work in these blogs that was never submitted in one form or another. This has resulted in us not actually having some 'progress' despite us having previously displaying it in a blog post. From here on, we intend to only show progress that has been submitted and accepted to the project in our blog posts. More wip content can be found on our reddit and discord.

For more information on these recent changes, our progress, or how to contribute, come say hello in our Discord!