User Tag List

Results 1 to 8 of 8

Thread: CM is apparently going open source

  1. #1
    Senior Member
    Join Date
    Mar 2019
    Posts
    367
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    CM is apparently going open source

    If you're like me and only use the discord for new round alerts you might also have missed this announcement from there:

    Hello my dearies. While I'm still taking a vacation (mostly from CM, IRL I'm busy af), I have a prepared statement on CM-SS13 going opensource. Approximately at the end of March 2020, beginning of April 2020, CM-SS13 source code will be released, however our graphics package will not be released as we hope to be able to use it in CM-SS14 (which will be closed source) and most importantly to keep the promise we gave to our current and previous spriters. I cannot guarantee that we always had only our sprites and never taken any other server's sprites, but I personally cannot remember counterexamples to this. What does that means for you, dear players?
    One, you will have access to our combat code and values we use for weapons. We never hide our values behind config setup simply because we already burned ourselves before (2 years ago) when dev team was balancing weapons against local config that was completely different from onserver config.
    Two, our dev team will have more time for features, more on that later.
    Three, you can create your own CM-like server if you wish to do so. Again, you would either have to use dev sprites that we will provide (by either getting your help or taking them temporarily from other servers), or you should be making your own sprites that you can keep closed using our "modpack" logic.

    - Contributions to the repository will be opening up in a selective manner; anyone wishing to contribute to the repository may only do so if the change is either a bugfix, optimization, or an accepted suggestion on the gitlab issues feed. Contributors will be expected to follow our developer guidelines which can be found on the gitlab itself. Team leaves full right to close any MRs that do not fit above criteria without providing a reason. Team can close MR that fit above criteria if situation changes (big update forcing rebase, issue no longer approved, etc.) Team can ask contributors to split or update their MR if they end up being too big or difficult to review. You can also contribute dev sprites to our repo so others can use better quality icons of objects we have in game and decided to keep private. We will be using that sprite for newly added objects until we make our own. Anything else you should know?
    - You will not be able to get info on who did what change. All commits will be anonimised.
    - You will not be able to see changes that are being requested by members of dev team. They are all kept in our main repository on gitlab.
    - You will not be able to see branches besides dev and master. - We will be switching to AGPL license so we can use newer code for the core systems
    - This does not affect our work on CM-SS14
    - If you want to add sprite that will be used permanently on our server please consider making a spriter application for CM dev team. This is the only way
    - Best way to code for CM is to join our dev team
    - Until date of the official going open source, we are considered closed source, and any publication of codebase will be treated in a same way as before.


    ok, since people has an epic inability to understand things:
    - We will not be getting races or other stuff that people usually consider a result of going opensource, since there will be no way in hell we would be accepting suggestions like that
    - Read the post well before casting your opinion. Or don't and be laughed at

  2. #2
    Member
    Join Date
    Jul 2019
    Posts
    49
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    >April Fools

  3. #3
    Senior Member
    Join Date
    Dec 2018
    Posts
    120
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    big if true

  4. #4
    Senior Moderator Dorkkeli's Avatar
    Join Date
    Dec 2018
    Posts
    579
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    This was posted ages ago, slowpoke
    Bert 'SOAB' Beach CARGONIA
    Henrik & Leeroy SYNTHETIC
    Rau'ta H'chak YAUTJA


    Spoiler Spoiler:

    Spoiler Spoiler:

    "Honestly, how can you hire this cunt? You must be really fucked up to hire someone like him."

    sexy avatar by Manezinho

  5. #5
    Member
    Join Date
    Nov 2019
    Posts
    79
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    It seems CM going open source is uncertain and somewhat delayed at this point. A more recent announcement had Neth saying the following:

    Additionally it seems that Cakey is taking a break from developing for CM. This delays opensource project, SS14 and few other projects (like stats and timelocks). It is unknown when (or if) Cakey will return to our team and it is a pretty big loss for the team.

    That being said, I will be now working exclusively on staffing and tooling questions for CM and have final say in things Architect Team will do. An ability that I hope to never use.

    Never give up and have fun with the eventually new CM. Love you all.

    Cheers,
    Neth
    This reminds me of my old programming job. My boss kept saying for months and months that we were going to open source our codebase when it was ready. Several months passed, and then a year. Still never released the code to be open source for other people outside our team to contribute. Even years later now, the code is STILL under a private repo. Our boss was worried that our code wasn't in a finished or polished state. The problem with this is that it NEVER WILL BE. Code will always be changing. Evolving. It will never have this polished, 100% complete perfection that can be envisioned.

    I fear based on the comments regarding CM being open source that they might be falling into the same lines of thinking. Not releasing it because it's not cleaned up and perfect. Setting your code from private to public takes only a few clicks. It can be done in minutes. The only exception to this is if your code might have some security vulnerabilities that could be exploited that jeopardize the project. (ie. you are storing sensitive passwords/usernames/IP addresses/etc. that need to be removed or cleaned up)

    I know there are several hobby developers (myself included) that would love to contribute. (even if it is ONLY bugfixes) I was eagerly awaiting for the source to be published so I could fix some of the bugs that have been plaguing me and others for years now.

    From looking at the leaked source code I was able to find one severe bug and the added the steps needed to fix it - https://gitlab.com/cmdevs/ColonialMa...note_275593355
    This is another bug that I would love to fix - https://gitlab.com/cmdevs/ColonialMarines/-/issues/9665

    Last in the leaked code the way that pheromones work was EXTREMELY INEFFICIENT. The life tick for xenos (meaning every tick, it would trigger on every xeno) would check to see if that xeno had other xenos emitting pheromones in a certain range. This could be rewritten to only check the xenos that are emitting pheromones and then scan ONLY NEAR those.

    So in a hive of 30, with 5 xenos emitting pheromones it would work like this:

    Old Pheromones Code = 30 xenos *30 scanned xeno = 900 checks made
    New Pheromones Code = 5 pheromone xenos * 30 scanned xenos = 150 checks made

    It would be waaaay faster and not be as big of a bottleneck. Further improvements could be made to the pheromones code.

    • Every life tick for xenos would ONLY check if the pheromone was set. (no scanning other xenos or checking emitting xenos are in range) (THIS WOULD BE A MILLION TIMES FASTER THAN SCANNING XENOS)
    • Anytime an xeno emits pheromones it would scan xenos near it and change their pheromone variables. (also add this xeno to a pheromone emitting group or list)
    • Anytime an xeno stops pheromones it would scan xenos near it and change their pheromone variables. (also remove this xeno from the pheromone emitting group or list)
    • The pheromone group of xenos would scan nearby xenos every ~3 ticks
    • At the start of the scan we would need to reset all the xeno pheromone
    • Then a xeno emitting pheromone's would scan nearby xenos and update the affected pheromone variables.


    3 TICKS DURATION WOULD RESULT IN: (assuming a hive of 30, with 5 emitting pheromones)

    Old Pheromones Code = 30 xenos * 30 scanned xenos * 3 ticks = 2700 checks made
    New Pheromones Code = 5 pheromones xenos * 30 scanned xenos = 150 checks made

    You see how massive of an improvement this is?! It's huge. It would run 15 times faster!!! The ONLY tradeoff is that if an xeno moved out of range of the pheromones, it would take 3 ticks before it got updated properly. (which IMO isn't too bad and make sense since pheromones would still linger around a little bit)

    I did hear though that the pheromone code was updated later but I'm unsure how optimized it became. Maybe the devs already saw this as a problem and updated it, or maybe their solution was more optimized than mine, but I don't know for certain since it's not open source yet. Anyway, I seriously doubt that I am the only developer who would be contributing to the codebase once it becomes open source. The sooner the better because CM will have more manpower and help.

    I hope this doesn't come off as me being unappreciative to the work the devs have put into the game. The stuff they have done already is INCREDIBLE!!! A while back I tried to make a motion detector and my implementation would have been a lot more complex and inefficient compared to their simple process. Sometimes KISS (keep it simple stupid) is not just the best engineering principle, but it also applies to programming as well.

  6. #6
    Member
    Join Date
    Nov 2019
    Posts
    79
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Also I would love it if they switched to using Github (which is the industry standard for most programming projects, especially SS13 code) but it might be asking for too much.

  7. #7
    Retired Manager
    Join Date
    Dec 2018
    Posts
    1,455
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    Former staff, also former Synthetic senator.

    Now just a shitposter and lurker.

  8. #8
    Senior Member
    Join Date
    Mar 2019
    Posts
    367
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    So are there any odds that the open source project will start back up?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •