Replies: 19 (Who?), Viewed: 12544 times. | You are currently not a member of this group. Would you like to join it now?
Site Helper
Original Poster
#1 Old 29th Nov 2011 at 12:52 AM Last edited by Mootilda : 29th Nov 2011 at 11:46 PM.
Default WallAdjuster
This program would be similar to the GridAdjuster, but for walls rather than floors, allowing walls to be placed off of the grid.

I'd appreciate knowing whether this is an interesting idea. If you want these walls, even with the restrictions that I've documented in the next post, click agree on this first post. If they aren't interesting because of the restrictions, click disagree on this first post. Thanks in advance for your input.

To create the nice smooth curves in the flooring that you see in the Shell House, I just set the elevation (z) at each vertex. If the elevations are precise enough, the game seems to be able to extrapolate from the vertexes to create a smooth curve.

In the same way, wall locations (x,y) are floating point numbers. There's nothing in the data structure to say that walls must have endpoints exactly on a vertex.

So, I decided to test this and learned that it's possible to set the x,y coordinates of a wall to be "off the grid". This implies that it might be possible to create coordinates which are precise enough to convince the game to create a nice smooth curve. It should also be possible to create walls at odd angles, rather than the standard 45 and 90 degrees.

Note that this is still a much harder problem than the GridAdjuster. Walls are complex structures which have multiple associations across multiple record types. At this time, we've never added or removed walls programmatically, which will probably be required to create curves.

Even if we get this working, the new walls probably won't be able to take doors or windows, and may not be Seasons-proof. They also cannot be removed using the standard in-game tools, since it's impossible to set the wall pointer to the edge of the wall.

I'm attaching a picture of a lot where I added .25 to X and .5 to Y.

A special thanks to Pixelhate for giving me this challenge. Once he got me thinking about the problem, it seemed more and more feasible.
Screenshots
Advertisement
Site Helper
Original Poster
#2 Old 29th Nov 2011 at 3:59 AM Last edited by Mootilda : 30th Nov 2011 at 4:16 AM. Reason: More observations; divide into categories.
Default Observations
Created a curved wall, then covered with wallpaper and attempted to create an enclosed room using that wall.

Observations about curved wall:

General:
- Not as smooth as curved floors, but acceptable.
- It's possible to make the curve smoother by adding more wall segments (ie, wall segments less than 1 tile long).

Packaging:
- Can package in-game without problems.
- Can install packaged lot into another neighborhood.
- Works for base game, and for a game with all EPs and SPs.

Lighting and Shadows:
- Lighting is odd, which affects wall coverings. This looks like the same kind of wall shader issue as this thread: http://www.modthesims.info/showthread.php?t=460062
- Curved walls do not darken at night, similar to double-sided floor tiles (which require a change in material from floor to standard).
- Shadows for curved walls are not quite correct. Sometimes the wrong side of the wall has the shadow, especially close to the curved wall.

Rooms and Routing:
- Once a wall has been curved, it cannot be used to enclose a room. This may not apply to enclosed rooms which are subsequently curved. *
- Sims walk right through (some) curved walls as if they aren't there.
- When I created an enclosed room which included most (but not all) of a curved wall, the game crashed. Before the crash, I noticed that most of the lot was dark, as if the game believed that the majority of the lot was enclosed inside the room. My guess is that the room calculation logic failed.

Interactions with Floors and Objects:
- No cutout when doors and windows are added using moveobjects and snapobjectstogrid.
- Walls drop as expected when lower walls.
- Floors cannot be curved to match curved walls. Floors use a completely different system. Therefore, a curved room would either have no floor near some of the curved walls, or would have a floor which extends outside of the curved wall.

Selection and Removal:
- Only some of the curved wall segments are selectable. I haven't been able to determine an algorithm yet.
- Walls cannot be removed using <ctrl> and wall tool.
- Walls cannot be removed using sledgehammer tool. Error message: Location out of bounds.

Because of some of these restrictions, curved walls may be more appropriate for roofs and "privacy" walls than for normal walls.

* Research required.
Screenshots
Scholar
#3 Old 29th Nov 2011 at 10:34 AM
I missed the edit in your journal, so I take the liberty to repost here.


Wonderful ! You made it ! A new area is coming !
Mootilda, if you need a tester or anything to help you, please let me know...

This for you :

Understand Material definition-TXMT and customize the look of your objects ! This way

"The longer something exists in this world, the more wear and tear it will have."
Site Helper
Original Poster
#4 Old 29th Nov 2011 at 4:19 PM Last edited by Mootilda : 29th Nov 2011 at 4:37 PM.
This is the right place to post. I usually start journal entries for thoughts and move the discussion to a thread if the thought becomes a reality. Journal entries are of limited use, because they aren't accessible via Google.

I gather that you don't find the restrictions too imposing? I find it especially discouraging that the lighting is off as soon as you curve the wall. I've asked Quatchi whether he can find some time to look at the wall shaders.

In general, I'd appreciate knowing whether this is an interesting idea. If you want these walls, even with the restrictions that I've documented, click agree on the first post. If they aren't interesting because of the restrictions, click disagree on the first post.

My plan is to create a lot with curved walls and upload it to the site as "testers wanted", to ensure that we understand all of the issues with these walls before I attempt to make a user-friendly(er) program.

Suggestions for the user interface are welcome. I know that some people find the GridAdjuster too complex, so I'd appreciate any suggestions to make the UI work well for the average user.
Site Helper
Original Poster
#5 Old 29th Nov 2011 at 11:54 PM Last edited by Mootilda : 30th Nov 2011 at 3:55 AM.
Default Sampling rate - multiple walls per tile.
In working with these curved walls, I realized that there's no reason why we are limited to one wall per lot tile. It should be possible to create curved corners, even within a 1-tile space, by adding wall sections. If the sampling rate is high enough, even 1 tile should be enough space for a smooth looking curve. So, we might want to allow the user to specify the number of walls to use within one curve, regardless of the amount of space used for the curve.

To test this, I need to be able to add wall sections to the wall records.

I also need to test having multiple walls per tile. [Update: Doubling the number of walls per tile worked just fine and produced a smoother curve, as expected.]
Scholar
#6 Old 30th Nov 2011 at 12:31 AM
I got a little carried away by enthusiasm, hope you don't mind !

Despite the apparent today's restrictions (still an early stage discovery) I find this very encouraging.
First, it breaks and enlarge the game boundaries which is already a great achievement.

Secondly, restrictions on things that are not supposed to work are much more bearable than the restrictions imposed by the game when things are supposed to work but they don't and nice people need to make and share hacks and mods to fix it.

Thirdly, I trust the creativity and outside the box thinking capacity of Sims creators to find workaround or to bring interesting things despite the said restrictions.

A tester lot would be ideal to understand them better and to see what could be needed in a UI for an eventual program.

I can't help but picture you in an explorer outfit crawling in a data jungle.

Understand Material definition-TXMT and customize the look of your objects ! This way

"The longer something exists in this world, the more wear and tear it will have."
Site Helper
Original Poster
#7 Old 30th Nov 2011 at 4:08 AM Last edited by Mootilda : 30th Nov 2011 at 4:25 AM.
Default UI suggestion
UI suggestion:

Specify the type of curve desired. For example, sine wave, parabola, circle, etc. Initially, I will probably just implement one type of curve, likely either sine wave or semi-circle/-oval.

Specify the endpoints of an existing wall. These endpoints will remain in the same location. This should help to ensure that enclosed rooms remain enclosed.

Initially, I'll probably just use existing wall segments between the start and end points, but eventually it would be nice to allow the user to specify the number of wall segments between the two points. (Added wall segments will have to be partitioned between rooms appropriately.)

Specify one or more points on the curve, along with a new location on the lot for each of those points. Try to fit the curve to the given points. One point creates a simple curve. More points imply more curves. Not all curves can take multiple additional points. For example, a semi-circle only requires one additional point. Initially, may only allow the specification of one additional point.

Error if enclosed room intersects with another wall, or if the curve intersects an enclosed room, since I don't want to have to re-create the room calculation logic from the game. It's probably important to maintain the existing room divisions, possibly by adding or removing wall segments for any walls which intersect the curve.
Site Helper
Original Poster
#8 Old 1st Dec 2011 at 4:04 PM
I'm very concerned about how easy it is to get the curved walls to crash when enclosing rooms which touch the curved wall. This is a major roadblock. Unfortunately, it isn't going to be easy to solve.

When I was working on the shrinking feature of the LotAdjuster, I was able to reduce crashing by restricting walls and objects on the outer tile of the lot. However, I can't think of any way to prevent people from adding walls to a lot after the walls have been curved.

This implies that curved walls are intrinsically unstable.
Test Subject
#9 Old 2nd Dec 2011 at 5:34 AM
Quote:
Originally Posted by Mootilda
I'm very concerned about how easy it is to get the curved walls to crash when enclosing rooms which touch the curved wall. This is a major roadblock. Unfortunately, it isn't going to be easy to solve.

When I was working on the shrinking feature of the LotAdjuster, I was able to reduce crashing by restricting walls and objects on the outer tile of the lot. However, I can't think of any way to prevent people from adding walls to a lot after the walls have been curved.

This implies that curved walls are intrinsically unstable.

I gather that you don't find the restrictions too imposing? I find it especially discouraging that the lighting is off as soon as you curve the wall. I've asked Quatchi whether he can find some time to look at the wall shaders.

In general, I'd appreciate knowing whether this is an interesting idea. If you want these walls, even with the restrictions that I've documented, click agree on the first post. If they aren't interesting because of the restrictions, click disagree on the first post.
Scholar
#10 Old 2nd Dec 2011 at 8:01 AM Last edited by Pixelhate : 2nd Dec 2011 at 12:01 PM.
Are we entering the twilight zone ? One of Mootilda' s post quoted and answered by another post from Mootilda all posted by a new comer who just registered for it ??? double U tea effe !

Quote:
Originally Posted by Mootilda
This implies that curved walls are intrinsically unstable.
It starts to sound like a dead end. Isn't ?
Do you plan to investigate further ?

Understand Material definition-TXMT and customize the look of your objects ! This way

"The longer something exists in this world, the more wear and tear it will have."
Site Helper
Original Poster
#11 Old 2nd Dec 2011 at 4:18 PM
Yes, I'm not sure what jacobmeo had in mind with that post. Too bad that we don't have the Unhelpful button to make the post disappear.

At this point, I haven't given up completely, but I'm also not making any headway. I've basically been testing my lot to see what works and what doesn't, and thinking about the problem and whether there's a solution.

Let's just say that the idea is on life support and not expected to live another week... Sometimes these things just sit inside my brain for a while and suddenly I have a solution, but I'm afraid that this one may not have a solution. I really hate to put out a feature that is easy to crash.
Scholar
#12 Old 3rd Dec 2011 at 10:01 AM
OK, clear and fair enough.
Would you possibly share privately your testing lot with me ? With all the awareness that is easy to crash and despite that I have no solution myself, I'm eager to look at it.

Understand Material definition-TXMT and customize the look of your objects ! This way

"The longer something exists in this world, the more wear and tear it will have."
Site Helper
Original Poster
#13 Old 3rd Dec 2011 at 4:41 PM Last edited by Mootilda : 3rd Dec 2011 at 5:15 PM.
I haven't been saving my test lots, just creating and testing, then moving on to the next test.

All I have at the moment is a lot with one curved wall. If you'd like it, you're welcome to it.

[Update:]

Actually, I have two lots, both with one curved wall. Attached. I've also included a picture which shows how to create a lot which will crash.

Lot #1 is the first lot that I created, pictured above. It has one wall per tile along its length. Lot #2 is my most recent lot, which has two walls per tile to make a smoother curve.

To crash, start with lot #2. If you complete the rectangle, the entire lot will go dark. The game is clearly confused about whether the room encloses the rest of the lot. Eventually, the lot will crash if you continue to work with it. If you undo the new wall, you will see a number of odd artifacts on the ground and walls; which I believe indicate the problem areas.

WARNING These lots will crash your game.
Screenshots
Download - please read all instructions before downloading any files!
File Type: zip TestWallsOffTheGrid.zip (785.5 KB, 67 downloads) - View custom content
Captain Louie
retired moderator
#14 Old 3rd Dec 2011 at 6:37 PM Last edited by QBUILDERZ : 4th Dec 2011 at 4:50 AM.
You know how much I love your lots and tools, Mootilda, and this has me so excited you have no idea! Anyway, I am useless when it comes to programming. The only idea I could have to throw your way would be this: would there be a way to force the "restrictbuild/buy" cheat like the lot was an apartment after the tool is used? Some sort of check box that says "I am done adding walls to this lot" that would force the lot into a state of no editing. It doesn't necessary solve the problem, but it at least tries to restrict it from happening. Whatever happens, I am a greedy person who likes to mess around with floor elevations - waving a tool in front of my face that will allow me to warp walls even more is like moving an ultra-chocolate-fudgey five layer chocolate cake in front of...well...me as well I want them both!

Now streaming on at Twitch.tv/SeveralNerds or UglyHoesConnect.com - whichever is easier for you to type in your browser.
Site Helper
Original Poster
#15 Old 3rd Dec 2011 at 7:13 PM
Interesting idea. I could certainly make the area with the curved walls unbuildable, using the same logic that exists for roads. Of course, that would be immediately removed the next time that you run the LotAdjuster. However, I could change the LotAdjuster logic to leave the build restrictions alone on these sections of the lot. I also can't remember whether the locked tiles array is 2D or 3D. If it's only 2D, then it isn't sufficient.

Unfortunately, I'm not convinced that making the curved walls unbuildable is sufficient. If the problem is in the room-recognition logic, as I suspect, then we may need additional restrictions on these lots.

I haven't researched the restrict build / buy mode used by apartments, but I'm reasonably sure that it's only available with Apartment Life or later. I'd hate to restrict curved walls to AL, since they can easily be made in every configuration of the game.

The simplest solution, of course, is to just warn people about the problems. Unfortunately, some number of people will not bother to read the warnings in the download post. I ran into that problem with the test version of the shrinking logic in the LotAdjuster and I hate to get into that situation again.
Blenderized to Pieces
retired moderator
#16 Old 6th Dec 2011 at 8:24 PM
Hello Mootilda... I've been watching your progress on this because our mod group (N8iveSims) has an interest in walls that are curved and conical - We want to make livable tipis.

Downloaders should not be changing or adding to the walls in any way so that may avoid the crashing that you found with making changes to curved walls.

We've wanted to use the walls for the tipis because we can paint them to suit and like houses, the walls/sides will drop down to reveal the sims inside. We'd like to have a semi-translucency for the walls also. We look forward to your progress on curved walls.

Currently we have to make an object where the walls do not go down when sims are inside. I am not a programmer but I'd like to see if there was a way to make sims NOT go invisible when they enter the tents for TS2 (Bon Voyage) and TS3 World Adventures. If that could be cracked, we can use the tent base for the tipi meshes.
Site Helper
Original Poster
#17 Old 7th Dec 2011 at 1:49 AM
As far as I can tell, there's no way to create a wall which isn't 100% vertical, except to use CC which mimics a slanted wall.

Have you downloaded my test lots to see just how limited they are? They shouldn't crash unless you create enclosed rooms which include all or part of the curved wall.
Test Subject
#18 Old 18th Dec 2011 at 3:30 AM
I googled "rounded wall" and found all the rounded windows type things, but then I stubbled on this thread, and now I am so excited about this project!

I am thinking of using your curved wall to build a wall around a castle, wich would be considered "privacy wall" use and not crash, right?

I hope you can get it to work, untill then i'll just experiment with the test lots

thank you
Test Subject
#19 Old 5th Jun 2013 at 2:44 PM
I want to say that it is a gorgeous idea.
And could I ask if it is possible to transform pool walls with this program to make curved pools of various shapes like in Sims 3 game? As I understand, incorrect lighting and miss of shaders is not such a big problem for pool walls.
And is it still possible to download this program or it's no longer available?
It would be a really nice to be able to build beautiful pools of different nonstandard shapes.
In any case, thank You.
And sorry for my bad Englis.
Site Helper
Original Poster
#20 Old 5th Jun 2013 at 4:32 PM Last edited by Mootilda : 6th Jun 2013 at 4:14 PM.
There is no program; I hand-coded each curve. Curved walls crash far too often to be practical, so I'm not sure that this program will ever exist.

Pools would likely crash, because they are enclosed.

Sorry for getting your hopes up.
 
Back to top