[Task 3] Modifying Existing Object Function

Discussion in 'Evaluation' started by RHY3756547, Feb 26, 2016.

  1. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    To complete this task, you must modify an existing object to be reasonably different. A minimum example of participation would be a shower that restores motives or something silly like changing the aquarium to electrocute the sim on attempting to feed the fish, killing the fish in the process...

    It would be more fun and helpful to do something original, like modifying the Fire object to correctly spread to adjacent tiles, or modifying the McDonalds food objects to kill you after a series of animations, while the attendant performs an evil laugh in the background. Anything you can come up with is likely possible!

    This task is a little more open than 1 and 2, so I can only give you some more general advice.
    • Basic SimAntics Practices, making an interaction (tutorial not yet available)

    Submitting Feedback:
    After translating your object, go open up the main window, go to the Resources tab, and click "Save All". This will save your changes to "Content/User/objectname.str.piff" and "Content/User/objectname.piff" relative to the FreeSO folder, where objectname is name of the object file you modified.

    Upload all files like these to the internet somehow, and create a post like below showing screenshots of it in action and linking to the files. You should also include some feedback on how it went - this is the most important part!!!
    Last edited: Feb 26, 2016
    Simhrique0990 likes this.
  2. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    Example Feedback:

    [​IMG] [​IMG]
    I added an interaction to the fish tank "Make Fish Dizzy", which makes the sim run around the fish tank until the interaction is cancelled (Wait for Notify returns true), then the sim faces the tank, it catches fire, and the sim performs an evil laugh.

    Here are the patches generated:

    It was not readily apparent that I had to set "non-interruptable" to 1 to prevent the interaction from being cancelled when the sim was running around the aquarium. Local selection for Create Object Instance is a little confusing because it does not show names. It wasn't apparent that I needed to make animations false branch back to themselves to get them to fully run!

    Things I liked:
    The animation browser let me find and select the "evil laugh" animation incredibly easily, the live preview really helped! The categorised primitives helped me find what I needed much faster. The BHAV editor was clean and easy to use.
  3. it was a little harder than the first task,this was the most I could do ... I decided to make a statue "cursed"

    archive: https://mega.nz/#!C5tBmTIL!BrJ2vWhSfXMfQcyqP15Dj5x0NcHfBTZ5KinPy8s5Cvk

    good point:
    -IDE has plenty of options to do this task

    Bad Point:
    -it is very difficult to know how to use

    What can improve:
    -an interface that is good for beginners
    Last edited: Feb 27, 2016
  4. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    Thank you for participating! Though I would like more specific feedback, specifically about the exact problems you faced when creating the object, or certain features you would have liked to be easier to use or different in some way. Think of it as like reporting a bug, the problem can only be solved if you have the stack trace. :p
  5. Simhrique0990

    Simhrique0990 Active Member

    I selected, Two Objects to this task(Flamingo,Aquarium), anyway its not me have done right,
    I'll put it here, in this case I had extreme difficulty finding the animations and some other things.




    ss3.png ss4.png


    Aquarium: https://mega.nz/#!yMIXBLxQ!MGZ0TS67aLDTUov3hCrEafsdMDoPDyU0y3YZ9zl2n6A
    Flamingo: https://mega.nz/#!aIpEALQA!CkjV8yOgewlQkbAfPEDzWyfvlUBaImNO7EWBP-iL9W0

    Good and Bad points:

    Good Point:
    The form in which the interactions and animations are organized for change

    Bad Point:
    Interface, very complicated for beginners.

    Last edited: Mar 2, 2016
  6. xXJDrocks450Xx

    xXJDrocks450Xx Well-Known Member


    Example of it in action:
    Animation.gif Animation.gif

    I edited an existing interaction to the "Single - Sleigh Bed", which enables the sim to enter the bed from they're supposed to, rather than walking to the top of the object. This enables Users to place objects where the boxes are. This also applies to exiting as well.
    This is the bed object with the changes I made to it: https://www.dropbox.com/s/c6vz0yktup85swh/bedssingle2.piff?dl=0
    Things I enjoyed about Volcanic:
    • Tree editor has a very nice design. I enjoy the face lift you gave it.
    • I really like how Primitives are color-coded. It makes it easy to immediately look and see what Primitive grouping, something belongs to.
    • The animation viewer is very easy to use. I really like the search function, and how you can click any animation in the game, and see what it looks like.
    Things I found bad about Volcanic:
    • Numerical values that you would use in an Expression, can be confusing as to what number refers to what. For example: "Expression: side := 1" What side is 1? Trial and error is always an option, but it might speed things up a bit to know what number goes with what.
    • I would really like to see a "select all" or "Delete All" for trees, for anyone who just wants to start from scratch on say, eating a plate of food. If that person wanted to change eating the food to something completely different, like diving into the plate if one the ground, then the plate spawns fire.
    Last edited: Mar 3, 2016
    JWofles, RHY3756547 and Simhrique0990 like this.
  7. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    Really nice work! That expression (side := 1) is like that because it is setting a local variable labelled "side" by the original SimAntics programmers. My only suggestion here is to avoid terrible names for variables when you make your own object. :p
    xXJDrocks450Xx likes this.
  8. xXJDrocks450Xx

    xXJDrocks450Xx Well-Known Member

    I updated the post right above this message to show I corrected getting out of bed as well.
  9. francot514

    francot514 Well-Known Member

    This is really hard my sims antics skills are not good as expected, i have tried but only achieved to complete interaction using globals.

    This computer kill you if you play or stop playing.

    Thinks i liked:

    You can run some primitives easy way, like play animations, or create objects.

    You cant copy or paste the primitives codes, or cant use them for new Tree.
    RHY3756547 likes this.
  10. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    Copy paste thing is a good point, kind of forgot about that!
    pisarz1958 likes this.
  11. tsomatt

    tsomatt New Member

    [​IMG] [​IMG]
    I added a new interaction named "Water" to the flamingo object which will clone the flamingo allowing the avatar to pick it up and place it on an available tile nearby.

    Download the archive here: http://www.tsomania.net/special/flamingo.piff.zip

    - When adding a new tree I was unsure what chunk ID to enter. This could possibly be auto-generated as a solution.
    - The purpose of the interaction check tree was not obvious, and creating an empty tree that didn't at the very least return true crashes the client.
    - Until reading the example feedback, I also didn't realize animations needed to return false on themselves to run which was frustrating.
    - I was not able to pinpoint exactly why, but some changes to the interaction trees failed to save and were lost. It mostly seemed to be when changing an animation and nothing else.
    - I would have liked a function to copy an entire interaction tree for modification, while keeping the original intact. Also copying and pasting parts of trees from another open window.
    - When selecting a primitive, then selecting a true/false then selecting the same primitive again the operand options do not re-appear.

    Things I Liked:
    - After overcoming the initial learning curve and looking at examples, the tree editor is very simple to use.
    - The colour coding of primitives makes it easy to find what you need at a glance.
    - I like that the operands for each primitive are listed on the right side, and that there is a small explanation of what they do.
    - The debug options (right click to set a break point) are great for finding where your code is failing you.
    - The animation browser is great, and adding animations to the current object is very easy. Can't wait to see the same for accessories and sounds :)

    Overall, the IDE is shaping up to be an amazing tool. Great job Rhys!
    JWofles and RHY3756547 like this.
  12. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    Wow, that's participation and a half! Love the use of the repoman fx. Thanks for all the detailed feedback. I think in general the program needs a lot more documentation on how simantics itself works and general object programming practices, such as the false loopback for animations. I should have tracked down all the bugs with adding and removing chunks by the end of march.

    This will have to wait for now, but yes I'm planning a similar select-with-preview for these resources too.
    Last edited: Mar 6, 2016
  13. TheMarshmallowBear

    TheMarshmallowBear Active Member

    I decided to go "simple" just to teach myself HOW to make a new interaction.

    I decided to allow The Bear statue to be worshipped my yours truly (THE BEARS WILL RISE)

    This was a VERY challenging task, as the user interface entered a more advanced state. I decided to try several approaches. "duplicating" trees, copying trees, and quite frankly the solution, because none of the approaches worked, was very simple.


    I don't believe the user interface is the issue, I'd say the understanding of it is what it is. But I'm sure with proper documentation and tutorials, this will be a much better task in the future for other players/participants.

    The end results and solution to everything was very simple, it was my approach of expecting that "copy and paste" would work. It didn't.

    As with others, the Chunk IDs were problematic and using a high ID actually caused IDE to bug out when attempting to add it as an interaction.


    If what I think the method of creating new object is then we have a very simplified method of modding objects. This is truly a sandbox of possibilities since my Worship interaction was a lot more simplified than that of the Pet Statue's (which I originally attempted to copy)

    The ability to have multiple objects browsers opened at once is also very useful, and should prove a necessary feature for future "modders". I had both the Bear and Bronze Statues open at once to see how to "copy and paste" things.




    Step 1. I decided to add a Worship interaction to the "Chainsaw" a.k.a Black Bile Bear object.

    Step 2. I first thought that the easiest way to go about it was to "duplicate" the Action Tree from the Anniversary Statues. This was a mistake as those were very complicated and replicating it was infact quite impossible (several of the actions seemed to have been different and couldn't replicate them)

    Step 3. I struggled on figuring out how to create a new interaction. I run into several problems (program bugged out when the chunk was of the ID 9000), and the game froze when I added my trees with lower IDs.

    Step 4. I eventually figured out that I could simply see how the Dizzy Aquarium interaction was made (note, it did not cause fire when cancelled).

    Step 5. I noticed that it is optional to have a "Check" tree filled in "Tree Tables" and I was able to add a new interaction that made you "Face the Statue" by creating a simple "Go To Routine"

    Step 6. My interaction then quickly became it's own thing once I knew how to add a new interaction.

    In retrospective, the process was very simple but my "expectations on how this damn thing worked" made this task a lot challenging than it could've been. But now I know, and I know it's a lot simpler to add.. let the mischief begin :D
  14. LetsRaceBwoi

    LetsRaceBwoi Well-Known Member

    I made a small modification to the Gold Cat Anniversary Statue, so that there is no random function and so that there are two worship animations. Afterwards, the cat gods are pleased, and the statue is instead replaced with an actual pet cat. This is more of a 'fun' object, nothing too serious, and it's quite a large change from the original (this edit has no random function).

    What I liked:
    • cats
    • Easy to use and change object functions!
    • SimAntics is quite tricky to get used to, but the search box and categories are extremely useful.
    • Most of the primitives are usable (see below).
    • Some of the primitives were either unknown or didn't work, but understandably that's not really your fault.
    • SimAntics is very complex, and I'm not sure if I'll ever really get used to it - maybe highlight useful primitives?
    • No copy-paste :(
    (Edited to include some extra screenshots & feedback after completing task 5 - hope it still counts!)
    Last edited: Mar 15, 2016
  15. JWofles

    JWofles Active Member

    I made a statue to get ready for that special someone ;)
    The sim changes into their swimsuit because it's the closest outfit to underwear.

    DL - https://mega.nz/#!PgMhgQoS!qCb84MwGclDXnZ_MdXpLvnAyXEo03HBp4xp38Lv0KYk


    -If I want to unselect a primitive I started to click on the left, it's annoying to click esc so it doesn't place, you could add a section of the screen you can drag it into and it deletes the selection or maybe make the primitives double click to place?
    -A zoom in/out feature for tree editor would cool unless it's difficult to implement
    -Documentation plox ;33 (this is the most crucial because my biggest issue is not knowing how to do stuff)
    -Copy and paste (as others have said)
    -A hot key to unlink primitives if you have a primitive selected
    -A multi select tool so you can drag multiple primitives at once (unless you can use shift to select more than one, i forgot to test it)?

    Things I liked:
    -Animation browser is amazing, great quick search, nice preview and is just really handy.
    -Tree editor is very powerful if you know what you're doing.
    -The visuals are sleek and nice.
    -Overall, a really incredible tool, amazing job man :eek:

    I was going to make a fountain you could bathe in but I didn't know how to make the sim go inside the object as it just played the bath tub animations outside of it. Then, I was gonna make a teddy that you could hug but the hug animation didn't fit the teddy so I was thinking about how I could make the teddy float but I wasn't sure how to do that either. Then, my next idea was to make it hug that statue (the gold one above) but the animation didn't reach the actual statue and I didn't know how to make it play closer. In the end, I just made a very basic interaction, hopefully later I can learn more complex solutions so I can do what I initially set out to. Also I wanted to make 3 more statues spawn around the player but.. that was beyond me as well XD
    Last edited: Mar 15, 2016
  16. Tirea

    Tirea Active Member

    Made it possible to upgrade the cheap TV to the moderate one.
    Your Sim walks behind the TV, starts upgrading it and BOOM... you have a new TV! :D (Wish it would be that easy in real life...)



    Things I liked
    • The animation viewer is awesome! To see the animations play while you are searching for the right one to use is tremendously helpful
    • Even though right now you can only select sound effects that are in the object itself, it's nice to have the ability to add a little more polish to your custom functions
    • The Edith like interfaces is the best thing ever!!!
    • The previews, descriptions and tooltips through the whole IDE are really nice and make everything a lot easier
    • The fact that the primitives and expressions create their own return to false if you don't connect them to one is great

    • Quite a few primitives are unable right now
    • It takes quite some time to get used to creating functions or objects but that is more SimAntics' fault
    • Changing lots with the IDE open creates a new windows every single time, even if there already is a window for the IDE open...
    Last edited: Dec 9, 2016
    JWofles likes this.

Share This Page