I would like to contribute.

Discussion in 'Contribute' started by SimDil768, Jan 30, 2016.

  1. SimDil768

    SimDil768 New Member

    Hi, I would like to help, but I do not know where to start.
    I can fluently program in C, C++, and Java, and know some x86 assembly, hex code, and binary.
    I have never made a mod for the Sims or programmed for any existing game before, but I am willing to try.
    I have used the Unity game engine before.
    I have only made basic custom maps for Halo Custom Edition and some basic mods in the Elder Scrolls Construction Set.
    I have basic modeling skills in Blender.
    Will someone give me some direction on where I should begin?
    Thank you. :)
  2. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    Hey, sorry for the late response, I have a tendency to look at threads on my phone, intend to reply to them later then forget. 8O|

    If you've used unity, I'm assuming that you have used C#. FreeSO is coded entirely with C#, though for the simulator a pre-requisite is some knowledge about how the SimAntics environment used by the game works, since most of the engine code is about emulating it. The best resource we have right now is http://simantics.wikidot.com , though a lot of the material on there is rather outdated or confusing.

    I'd suggest first attempting to familiarize yourself with the UI system, though I'm not personally sure what could need doing there right about now. Use your imagination!

    The remaining VM features require a rather concrete understanding of the whole system, though it is still possible to identify and solve object bugs. For this you generally need to use a combination of C# breakpoints, tracIng through the scripts using the IDE, and EA Land Edith. You can try using just the IDE, but some helpful names may not appear for certain primitives right now, and certain resources do not currenly have viewers (SLOT).

    DO NOT attempt to contribute to the IDE. It's my academic project for this year, and is meant to be entirely by me. Any pull requests modifying the IDE will be rejected. This will change once the final state has been submitted for marking!

    If you make any changes, make them to a forked version of our github repo, then submit a pull request. I'll review it and make feedback.
    SimDil768 and Andy like this.
  3. SimDil768

    SimDil768 New Member

    Hey, thank you for responding! Yeah, I have programmed in C# before. If I remember, it is pretty analogous to Java.

    I would like to know how you started this? Did you have previous knowledge of programming for The Sims?

    Do you open files in a hex editor and study them? Did you reverse engineer code?

    I just never have attempted to program for a game and I am not really sure how to obtain its resources. I really only have experience with school projects lol.
  4. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    Yep, I was able to program in C# purely due to my experience with Java and the OOP design patterns associated with it.

    I did not know anything about the sims before this. Most formats were already reverse engineered by either the TS1 community, TSO Restoration (?) or Fatbag. I've never had to reverse engineer a whole format, though I have had to reverse engineer more than half of the primitive operands.

    Generally when the structure is known, I debug using the program itself to find the meaning of specific values - eg. break on a known use of the format, and compare it to what edith/the game displays for that case. Do this for a few cases and lay out the values and semantic differences between them. The meanings of the values should become clear.
  5. LetsRaceBwoi

    LetsRaceBwoi Well-Known Member

    Unity uses javascript too!
  6. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    Nobody who uses unity uses javascript.
    JWofles and pisarz1958 like this.
  7. LetsRaceBwoi

    LetsRaceBwoi Well-Known Member

  8. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    I mean seriously uses unity...
    JWofles and pisarz1958 like this.
  9. LetsRaceBwoi

    LetsRaceBwoi Well-Known Member


Share This Page