Announcement: Be excellent to each other.


Caravel Forum : Other Boards : Crystal Shard Games : The (Un)Official SubTerra Object Behavior Thread!
Page 1 of 3
23
New Topic New Poll Post Reply
Poster Message
Danjen02
Level: Roachling
Avatar
Rank Points: 11
Registered: 11-08-2007
IP: Logged
icon The (Un)Official SubTerra Object Behavior Thread! (0)  
Introduction
What is This Thread About?
This thread is intended to provide a well-documented listing of interesting, obscure, or quirky object behavior, bugs and glitches, and other miscellaneous oddities about the game. A sort of master-master list of objects, if you will. :)

Obscure (but intentional) Object Behavior
This section will (eventually) list all objects, their given behaviors as found in the game's master-list of objects (possibly paraphrased), as well as obscure and lesser-used interactions of said objects.

Bugs and Glitches
Sometimes two or more objects don't play nicely together. If so, they will be listed in here, how to reproduce this bug, and hopefully a lengthy explanation as to why this occurs.

Experiments and Miscellaneous Stuff
Random or useless things that may be useful in constructing a level, or completely impossible for practical application go here. For example, a list of which objects explode the fastest.

____________________________
SubTerra
- Ultimate rank
- 2009 level design contest, 2nd place

[Last edited by Danjen02 at 03-28-2009 07:15 AM]
03-23-2009 at 09:30 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
Danjen02
Level: Roachling
Avatar
Rank Points: 11
Registered: 11-08-2007
IP: Logged
icon Re: The (Un)Official SubTerra Quirk Thread! (0)  
Obscure (but intentional) Object Behavior
For the sake of convenience, all objects are listed alphabetically by what page they appear in the editor.

Walls
Toll Signs:
"When any other object enters a toll sign, it moves back in the direction it came from. If that is blocked, the object moves normally."

This behavior can be exploited by using seekers and ports, or rocks and quicksand. What happens is that the first object (rock or seeker) moves through the second object (quicksand or port) and hits the toll sign. It slides over it like it were ice. However! if the quicksand or rock were not present, it would be thrown back by the toll sign!

Falling Objects
Balloons:
A key placed on top of a balloon will cause the balloon to stay in place and neither rise or fall, even if rocks are placed on it. Why? It is an interesting quirk created by the fact that a key does not damage the object underneath it (while falling). From what I can tell, balloon movement is based on whatever it "harming" it, and what is above that object. Because of the its unique property, a key placed on top of a balloon will not "harm" the balloon and thus, prevent it from moving.

Orbs:
A conveyor belt causes the orb to roll in the direction indicated. The same is also true of motion fields. However, once in motion, the orb's movement is independent of a conveyor belt (motion fields still affect it, though). That is - an orb can successfully roll against a conveyor belt.

When an orb rolls through a portal, it will emerge and keep rolling. However, the sprite assumes its default appearance, meaning it looks stationary, but it will be in motion. Entirely useless, but interesting nonetheless. Orbs can roll on top of a player without harming them. They are still lethal if they fall on you. Orbs can also roll on top of other orbs.

Even though mines explode faster than bombs do (see explosion speeds, below), an orb can strike a mine and get away in time, but the bomb will destroy the orb.

Boxes and Tools
Cloner:
When the object is created, I believe that is actually created under the cloner and slides out. Because the newly created object is actually in motion, you can take advantage of this by using ice or motion fields to move objects around the level which are not normally moveable. Note that walls cannot be cloned onto a motion field (they'll just replace it), and barriers can only be cloned while active (blocking).

Selector Field:
Will not change if you step off of it into a port.

Enemies
Firedrakes:
Will consume diamonds, emeralds, eggs, rocks, quantum stones, and orbs (provided the drake does not have a head-on collision with a moving orb).
When killed, they spawn a set of 9 rocks. These rocks are also spawned diagonally, so this can be utilized in a way that creates rocks in a hard to reach area.

____________________________
SubTerra
- Ultimate rank
- 2009 level design contest, 2nd place

[Last edited by Danjen02 at 04-17-2009 10:17 PM]
03-23-2009 at 09:30 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
Danjen02
Level: Roachling
Avatar
Rank Points: 11
Registered: 11-08-2007
IP: Logged
icon Re: The (Un)Official SubTerra Quirk Thread! (0)  
Bugs and Glitches
Cloned Dirt
Normally, when an object is on a motion field your player can "push" against it to hold it in place, but cloned dirt (or dirt with diamonds) placed onto a motion field by means of cloning, they actually push against your player without mercy. The dirt can not be collected until it slides off the motion field.

When the dirt is cloned onto ice, it will slide. Normal objects stop when their forward and backward motion is prevented. You can block the dirt to stop it, but as soon as it gets a chance, it will slide by itself again!

Some experiments done with it:
Consumed by fire.
Sinks in water.
Can be teleported.
Overwrites a container (such as traps or barriers).
Triggers buttons.
Activates sparkle (which is itself a button that is consumed on use).
Is not consumed by flowstone.
On glue it behaves like it does on a motion field, but cannot be moved.
Overwrite munchkin.
While on a motion field and destroyed by a laser, both it and the field are destroyed. Normally, when a laser is shot on a motion field, nothing happens.

This is referenced in the master object list, saying how to create cloned dirt, but the effects of doing so are not.

Orbs
When an orb rolls across anything that causes it to slide (especially ice, but can also work with portals, and even toll signs, if set up correctly), it will assume it's default sprite. That is, a stationary looking orb, but it will continue moving.

Typos and Such
The object list states that "Directional Crates can only be cloned in the indicated direction." However it can be cloned regardless.

____________________________
SubTerra
- Ultimate rank
- 2009 level design contest, 2nd place

[Last edited by Danjen02 at 03-28-2009 08:11 AM]
03-23-2009 at 09:30 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
Danjen02
Level: Roachling
Avatar
Rank Points: 11
Registered: 11-08-2007
IP: Logged
icon Re: The (Un)Official SubTerra Quirk Thread! (0)  
Experiments and Miscellaneous Stuff
Types of Objects
Courtesy of Kwakstur, all game elements can (currently) be categorized into the following categories. Note that text in blue is unconfirmed.

Tiles:
Click here to view the secret text

Objects (elements that occupy squares):
Click here to view the secret text

Effects (objects that don't occupy squares):
Click here to view the secret text


Explosion Speeds
I tested out as many of the explodeable objects as I could think of over a very long distance (with the same objects placed side-by-side) to see how long it took each type to reach the end of an explosion chain. These were all conducted over a long distance in a short time (under 1 game second). Note that most of these should be functionally the same under a short chain or distance.

1 - Lasers
2 - Orbs placed side-by-side over a very long distance (note - the distance must be quite large for this, otherwise Skelwings are faster over the shorter distances)
3 - Cyrobird
4 - Player 1
5 - Player 2
6 - Skelwing
7 - Mines
8 - Balloons
9 - All other explosions

A laser technically isn't an explosion, but it can near-instantaneously hit anything over a huge distance.
The orbs, players, cyrobirds and skelwings, should all be considered the fastest explosions.
Mines and balloons explode similarly (the cross shape) but mines are slightly faster than balloons.
Finally, all the other explosions seem to go at the same speed.

____________________________
SubTerra
- Ultimate rank
- 2009 level design contest, 2nd place

[Last edited by Danjen02 at 04-05-2009 06:56 AM]
03-23-2009 at 09:30 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
Danjen02
Level: Roachling
Avatar
Rank Points: 11
Registered: 11-08-2007
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
<< Space Reserved >>

____________________________
SubTerra
- Ultimate rank
- 2009 level design contest, 2nd place

[Last edited by Danjen02 at 03-28-2009 06:57 AM]
03-25-2009 at 08:28 PM
View Profile Send Private Message to User Show all user's posts Quote Reply
Kwakstur
Level: Smiter
Avatar
Rank Points: 385
Registered: 05-05-2006
IP: Logged

File: Motion sensor.SUB (611 bytes)
Downloaded 68 times.
License: Public Domain
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
There's a lot of interesting stuff about Moving Dirt. One thing is for sure... before it reaches its destination, it is not Dirt. It's a completely separate element.

I discovered many neat things about it, some unique, and others that are really just default behaviors that may have new puzzle applications when applied to dirt (such how it sinks in water, slides on ice, and stops on rafts). But I have a feeling that you would rather investigate it yourself, so I'm just going to leave with a recommendation that Moving Dirt has things worth seeing.


<--Attached is one of the most glitchiest things I tried with it. Yes, it's been done before, but dirt on a cloner switch is awesome.

____________________________
Also known as ExpHP everywhere else.

[Last edited by Kwakstur at 03-27-2009 02:04 AM]
03-27-2009 at 02:01 AM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
Danjen02
Level: Roachling
Avatar
Rank Points: 11
Registered: 11-08-2007
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
Hey, as long as you post the information and/or a level with odd behavior in it, I'll post it above. It's for everyone, after all. :)

Also, wow. Cloned dirt is completely effed up. It would be very hard indeed to put it into a level, since it requires the presence of motion fields and cloners, and as well, only affects the one square it's on (as far as we know..)

____________________________
SubTerra
- Ultimate rank
- 2009 level design contest, 2nd place

[Last edited by Danjen02 at 03-27-2009 03:28 AM]
03-27-2009 at 03:24 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
wonkyth
Level: Goblin
Rank Points: 15
Registered: 06-18-2007
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
Hmm, Very odd.
Although I did manage to get the North/Northwest squares to produce dirt by moving back and forth between them very fast.
If Radiant doesn't classify this as a bug, then I'm gonna try making a level that uses some of these strange effects. :)

____________________________
"Satire denounces the world;
Wit penetrates it;
Humour accepts it;
But Nonsense Transforms it"
- Cedric Whitman
w.r.t. Aristophanes

[Last edited by wonkyth at 03-27-2009 11:36 AM]
03-27-2009 at 11:30 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
Danjen02
Level: Roachling
Avatar
Rank Points: 11
Registered: 11-08-2007
IP: Logged

File: GravityTest.SUB (447 bytes)
Downloaded 59 times.
License: Public Domain
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
That's because you are also stepping on the northernmost square. I have seen some thing similar to this involving falling objects, where they do not fall unless you walk past them.

Edit: Here is what I am talking about. When you push the crate onto the water, it transforms into ice, and during that time, the rock slides onto the rounded wall but curiously, no longer falls until you step near it. I believe in both cases of this and the duplicator, it glitches it into only checking when something else goes near it.

____________________________
SubTerra
- Ultimate rank
- 2009 level design contest, 2nd place

[Last edited by Danjen02 at 03-27-2009 03:08 PM]
03-27-2009 at 01:50 PM
View Profile Send Private Message to User Show all user's posts Quote Reply
wonkyth
Level: Goblin
Rank Points: 15
Registered: 06-18-2007
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
Danjen02 wrote:they do not fall unless you walk past them.
I've noticed this sometimes, like in "Cell Block"(Finally Mastered!), but haven't been able to reproduce it.

____________________________
"Satire denounces the world;
Wit penetrates it;
Humour accepts it;
But Nonsense Transforms it"
- Cedric Whitman
w.r.t. Aristophanes
03-27-2009 at 10:39 PM
View Profile Send Private Message to User Show all user's posts Quote Reply
Radiant
Level: Moderator
Avatar
Rank Points: 142
Registered: 02-05-2003
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
Danjen02 wrote:
the rock slides onto the rounded wall but curiously, no longer falls until you step near it.

Yes, that would be a bug.

I'll add some background information. SubTerra was written several years ago to (also) run on what then counted as low-end computers. We're talking 100 MHz here, or thereabouts. SubTerra was also designed to allow for a truly humongous amount of moving objects, simultaneously, without slowing down noticeably.

I feel it has succeeded at both. It did require thorough optimization of the heartbeat routine, some nasty pointer arithmetic, and a tricky inter-object message system. Essentially, checking every square during every "tick" (and we get at least 20 of those per second) is extremely inefficient. So what it does is check only the moving objects. To make this work, whenever vacating a square, an object will tell the adjacent squares that hey, you can move now (which is cheerfully ignored if said squares don't happen to contain anything).

So a rock works like this, kind of. It falls. Then it tells whatever is below it that it just got bonked on the head (to which several objects will respond by exploding). Then, it will check if it can fall some more (or roll of) and if so, go back to step one. If not, it becomes inactive, until any adjacent square is vacated (at which point it once again checks if it can fall or roll).

There are surprisingly few glitches with this system, on account of heavy-duty testing (particularly by Gerben47). But yes, there are a few.

____________________________
= Radiant =
03-27-2009 at 11:49 PM
View Profile Send Private Message to User Visit Homepage Show all user's posts Quote Reply
Danjen02
Level: Roachling
Avatar
Rank Points: 11
Registered: 11-08-2007
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
Interesting read - I like reading about how things work behind the scenes.

So based on what you said, the object sees that it is no longer falling and cannot roll, so it just sits there "inactive" until movement triggers it? From what I infer, the way to fix this bug would be to also check behavior to see if it could fall, and then make it act accordingly. However, I don't know how exactly that would work, since right now, the rock falls on a rounded wall by default...

____________________________
SubTerra
- Ultimate rank
- 2009 level design contest, 2nd place
03-28-2009 at 12:24 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
Kwakstur
Level: Smiter
Avatar
Rank Points: 385
Registered: 05-05-2006
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
Radiant explained stuff
I knew it! The immediate response event system is familiar to me (MESH is similar, with all objects passing Arrival and Departure messages like yours to all objects in a 2-tile radius), and just a few hours ago I added something similar to my... large work-in-progress for this thread (I'm investigating how you control object interaction, how you keep track of moving objects in memory, and which elements are objects and which are tiles). Now I just have to hope you don't soon give away another big secret on a subject I investigated...

____________________________
Also known as ExpHP everywhere else.

[Last edited by Kwakstur at 03-28-2009 12:56 AM]
03-28-2009 at 12:48 AM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
Danjen02
Level: Roachling
Avatar
Rank Points: 11
Registered: 11-08-2007
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
Is it that important to keep track of memory usage in this day and age? As far as I can tell, isn't most of it handled automatically?

____________________________
SubTerra
- Ultimate rank
- 2009 level design contest, 2nd place
03-28-2009 at 01:46 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
Kwakstur
Level: Smiter
Avatar
Rank Points: 385
Registered: 05-05-2006
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
When was it ever handled manually?

I enjoy figuring out trivial stuff like this because I have a scientific mind, and this is the scientific method; I make a theory on how the game works, I test it, revise it, and so on. And besides, it takes a lot of research on the game to do this, so I learn a lot of neat quirks in the process... many of which are to the nature of this thread.

Also, I may in turn discover the usefulness of some programming techniques that I never considered using myself.

Last but not least, it helps me to explain the quirky things. I do have a guess why certain objects explode faster... I explain it more in my WIP, but basically I believe this is all by design; in the case of Cryo Birds and Wraithwings, it's because they yield different things upon death depending on the context.


Here's one quirk I was going to mention in the post but that I'll list here instead:


Conveyor switches turn all existing belts of their color to the same position. Through Wraithwing explosions, it is possible to create a still conveyor when the rest are moving. But when you hit the switch again, the moving ones will stop moving, and the still ones will stay off, and they'll continue to activate in unison with the rest after that.

In other words, it is possible to get asynchronous conveyors, but the next switch you hit will synchronize them.

____________________________
Also known as ExpHP everywhere else.

[Last edited by Kwakstur at 03-28-2009 03:25 AM]
03-28-2009 at 03:01 AM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
Danjen02
Level: Roachling
Avatar
Rank Points: 11
Registered: 11-08-2007
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
it is possible to get asynchronous conveyors, but the next switch you hit will synchronize them.
And that would probably be because the switch changes all active objects at the time it is actived, at opposed to a controller that always enforces the direction.

____________________________
SubTerra
- Ultimate rank
- 2009 level design contest, 2nd place
03-28-2009 at 04:50 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
Kwakstur
Level: Smiter
Avatar
Rank Points: 385
Registered: 05-05-2006
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
You got it more or less, but what really happens when you step on them is unique. Unlike the other switches, Conveyor switches work by creating an invisible object that scans the level for conveyors and then self-terminates. I can prove this.

____________________________
Also known as ExpHP everywhere else.
03-28-2009 at 04:59 AM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
Danjen02
Level: Roachling
Avatar
Rank Points: 11
Registered: 11-08-2007
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
That's pretty interesting... I've only ever considered a controller object that just sits there, but doesn't terminate.

How did you discover this?

EDIT: Oh, and would anyone care to explain the mechanics behind the obscure timing of "Don't Try This at Home!" ?

And I noticed with the editor, that if you fill the whole thing up with moving objects (rocks, flowstone, etc) only about a quarter of them show up when the level is run. I assume this is intentional and for good reason, but why is there such a small limit of moving objects compared to the size of the level?

____________________________
SubTerra
- Ultimate rank
- 2009 level design contest, 2nd place

[Last edited by Danjen02 at 03-28-2009 07:35 AM]
03-28-2009 at 05:16 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
Radiant
Level: Moderator
Avatar
Rank Points: 142
Registered: 02-05-2003
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
Danjen02 wrote:
Is it that important to keep track of memory usage in this day and age?
Memory usage has nothing to do with it. It's CPU usage that I am (or was) worried about (and I'm not going to rewrite SubTerra to take account of the fact that computers are faster now).

In general, Windows applications also get zero CPU time until they're triggered by a message (and there are several hundred Windows internal messages, but one of the most basic ones is when the user clicks the mouse).

Kwakstur wrote: Unlike the other switches, Conveyor switches work by creating an invisible object that scans the level for conveyors and then self-terminates. I can prove this
Correct. Bonus points for figuring out why it does that :)

Danjen02 wrote:
And I noticed with the editor, that if you fill the whole thing up with moving objects (rocks, flowstone, etc) only about a quarter of them show up when the level is run.

Yes. The reason for this is that the objects are stored in a static array. The reason for that is that allocating new memory whenever an object is created is really, really slow. Being a static array, it has an (arbitrary) size limit, that I've never increased because it's never bothered anyone.

The only levels ever that (potentially) break the object limit are those levels that consist entirely of skelwings that explode to create a random level.

Now I do not believe it is bad to have limits to a game, in this case an object limit and a level size limit. If e.g. the level size were twice as big, this would not result in better levels. It would, perhaps, result in bigger ones (it might encourage people to make a maximum-size level of the bigger size) but that's not the same. Some of the best levels, e.g. Razzle Dazzle, show their elegance by restricting themselves to a small size.

____________________________
= Radiant =
03-28-2009 at 09:39 AM
View Profile Send Private Message to User Visit Homepage Show all user's posts Quote Reply
wonkyth
Level: Goblin
Rank Points: 15
Registered: 06-18-2007
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
Radiant wrote:
Kwakstur wrote: Unlike the other switches, Conveyor switches work by creating an invisible object that scans the level for conveyors and then self-terminates. I can prove this
Correct. Bonus points for figuring out why it does that :)

I'm only just starting to dig my teeth into real object oriented programming, so I couldn't even take a wild guess.


____________________________
"Satire denounces the world;
Wit penetrates it;
Humour accepts it;
But Nonsense Transforms it"
- Cedric Whitman
w.r.t. Aristophanes
03-28-2009 at 11:24 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
Kwakstur
Level: Smiter
Avatar
Rank Points: 385
Registered: 05-05-2006
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
Danjen02 wrote:
That's pretty interesting... I've only ever considered a controller object that just sits there, but doesn't terminate.

How did you discover this?
And I noticed with the editor, that if you fill the whole thing up with moving objects (rocks, flowstone, etc) only about a quarter of them show up when the level is run.
You just answered your own question. I found that conveyor switches do not work when you have too many objects.

The max number of moving objects in a level seems to be 2014 1998. Then even Effect, or "Ghost" objects (those that do not occupy the square; you called them "container" sprites), won't appear; Dirt just disappears when you walk through, rocks fall through broken wall without any special FX, and Star Blocks don't work at all when you have too many objects.




There are some interesting things to note. Lightbulbs are plain wall tiles, not objects; you can have unlimited lightbulbs. But it's impossible to have more than one lit; the game isn't built that way.
You see, because they're just tiles, they can't have special properties, so I think the way they work is simply that whenever one is touched, the game resets three global variables: The X, Y, and Time Remaining of the active lightbulb.
That's just my speculation.

Unsurprisingly to me, switches are plain floor tiles. I think that in the Move command, objects are designed to activate switches when they land on them - not switches are designed to activate when something is on them (because then they need to track when the object leaves as well, and as tiles they have nowhere to store the information necessary to track that).

I thought cloners and Traps would be objects, but they're regular wall/floor tiles, too! Thus, the switches don't send a message telling them to activate. Instead, the switch (or, more accurately, the object on the switch) must directly activate the target mechanism themselves!

____________________________
Also known as ExpHP everywhere else.

[Last edited by Kwakstur at 03-29-2009 12:07 AM]
03-28-2009 at 02:48 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
Danjen02
Level: Roachling
Avatar
Rank Points: 11
Registered: 11-08-2007
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
Kwakstur wrote: The max number of moving objects in a level seems to be 2014. Then even Effect, or "Ghost" objects (those that do not occupy the square; you called them "container" sprites), won't appear;
So that means that all the special effects are just temporary objects that play an animation and fizzle out?

Also, 2014 seems like an odd upper number, and it is not a power of two.

____________________________
SubTerra
- Ultimate rank
- 2009 level design contest, 2nd place
03-28-2009 at 08:04 PM
View Profile Send Private Message to User Show all user's posts Quote Reply
Kwakstur
Level: Smiter
Avatar
Rank Points: 385
Registered: 05-05-2006
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
Enough pieces of the post I was making have made it into discussion that I figure I won't even bother finishing it; I'll just keep on slipping stuff in. But maybe I should at least finish the list of tiles and objects I was making - not only would that be a nice reference, but it was also one of the few things in my post that isn't just speculation.
Danjen02 wrote:
So that means that all the special effects are just temporary objects that play an animation and fizzle out?
Yes.

Interestingly enough, though, I suspect that Explosions and lasers are not like this, and this is a part of why I think some objects explode faster.

A technical, probably-correct-in-a-few-aspects-but-not-entirely-so explanation follows:
Click here to view the secret text


Also, 2014 seems like an odd upper number, and it is not a power of two.
Gah! It isn't 2014! It's an even stranger amount... 1998!

You can get up to 34 tiles short of 16 rows of objects. I assumed the max level size was 128x128 (so 128x16-36 = 2^11-36 = 2048-36 = 2014). But I just counted, and the max level size is actually 127x127. Interesting decision.

127x16 - 34 = 1998.

____________________________
Also known as ExpHP everywhere else.

[Last edited by Kwakstur at 03-29-2009 12:09 AM]
03-28-2009 at 09:20 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
Radiant
Level: Moderator
Avatar
Rank Points: 142
Registered: 02-05-2003
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
Kwakstur wrote:
Then even Effect, or "Ghost" objects (those that do not occupy the square; you called them "container" sprites), won't appear; Dirt just disappears when you walk through, rocks fall through broken wall without any special FX, and Star Blocks don't work at all when you have too many objects.
You could probably make some nasty meta-levels with this. I probably wouldn't accept them for the contest, but I'd like to see them anyway.

There are some interesting things to note. Lightbulbs are plain wall tiles, not objects;
Yes. That's because they don't actually do anything. Purely reactive things don't need to be objects.

I think that in the Move command, objects are designed to activate switches when they land on them
Correct. Objects have to check what the floor is, anyway.

I think Explosions are regular, tile-occupying objects, meaning that when they are formed, the thing under them immediately disappears.
Pretty much, except that the thing underneath doesn't always disappear (e.g. rubies don't).

But if a Cryo Bird gets caught in an explosion and is overwritten, then the exploding tile can't tell what item it needs to drop!
Technically it can, it could read that data from the cryo bird.
That doesn't actually happen, though. If an explosion ends up on top of another object, it will tell that object "hey, you're being exploded". Most enemies, including cryo birds, will react to that signal by exploding themselves. Since this second explosion overwrites the result of the earlier one, the cryo bird gets to drop what he's carrying.

It definitely is odd, although Radiant did say he picked an arbitrarily high number.
It doesn't have to be a power of two; the size of each object data chunk is a power of two. Each row is actually 127 tiles long (because the 128th is a wall).

There's actually room for 2000 objects. However, object zero is a placeholder, and the player is also an object. Hence, 1998.

____________________________
= Radiant =

[Last edited by Radiant at 03-28-2009 10:09 PM]
03-28-2009 at 10:08 PM
View Profile Send Private Message to User Visit Homepage Show all user's posts Quote Reply
Kwakstur
Level: Smiter
Avatar
Rank Points: 385
Registered: 05-05-2006
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
Player object?

I assume you're referring to some special invisible thing and not the little brown thief, because the level I used to count 34 missing consisted 90% of him (the right half of row 15 had rubies mixed in to help count).

What does this "player" do? Receive input?

____________________________
Also known as ExpHP everywhere else.
03-29-2009 at 12:26 AM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
The Stew Boy
Level: Master Delver
Rank Points: 247
Registered: 05-10-2005
IP: Logged

File: movers.SUB (553 bytes)
Downloaded 56 times.
License: Public Domain
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
There's a minor bug with the movers:
If a mover is moving an object but is blocked completely, and the obstacle is removed, the mover won't start moving again until something changes in the squares surrounding it (with the exception of the NE and NW squares). See the level for details. Also pay attention to the rock on the right.

Also: A ruby, when landing on top of a monster, will roll off it while it explodes. This means that when it kills a drake, only 7 rocks are created instead of 8.

Also also: Dirt, when cloned onto ice, bounces like a normal object, but unlike other objects, when it is trapped on 1 square of ice, it doesn't stop moving - it waits until the obstacle is removed, then bounces. (Oh, and dirt with gems behaves the same way as dirt here.)

Other things: All tools (including the watch, but not including dynamite) behave the same way as dirt with regards to cloning and ice.
When a 'no scrolling' wall gets cloned, the copy does not have the same effect as the original.
When a background wall gets cloned, the copy briefly shows the blue 'Background' sprite before reverting to the actual background.


[Last edited by The Stew Boy at 03-29-2009 06:45 AM]
03-29-2009 at 06:25 AM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
Radiant
Level: Moderator
Avatar
Rank Points: 142
Registered: 02-05-2003
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
Kwakstur wrote:
Player object?
No, I meant the little brown thief.

Hm, I suppose the last object is also a placeholder, I don't remember every little detail of what I wrote years ago :)


____________________________
= Radiant =
03-29-2009 at 10:15 AM
View Profile Send Private Message to User Visit Homepage Show all user's posts Quote Reply
Danjen02
Level: Roachling
Avatar
Rank Points: 11
Registered: 11-08-2007
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
Radiant wrote:I don't remember every little detail of what I wrote years ago :)
Where would the fun be if you did? :P

____________________________
SubTerra
- Ultimate rank
- 2009 level design contest, 2nd place
03-29-2009 at 11:12 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
The Stew Boy
Level: Master Delver
Rank Points: 247
Registered: 05-10-2005
IP: Logged

File: buggedlevel.SUB (550 bytes)
Downloaded 64 times.
License: Public Domain
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
Here's a pretty weird, though obscure, bug.
Try out this level. Move the first player onto the top left cloner button (that is, the top left button which still has the cloning machines next to it), and then move all the players downwards. Hold f5 if it helps (it does). Once you get the players in a blockade, move some to the bottom left-hand corner. Keep moving them around, especially downard. You should notice that some players are going outside the level, even through the steel wall. Once players go outside, you might notice some of the player sprites being replaced by slimeys. Also, F6 at the top left hand corner of the level while moving players outside the level, you might notice some changes. Subterra will probably freeze, or crash at this point, so I recommend windowed mode.
04-02-2009 at 11:54 PM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
Danjen02
Level: Roachling
Avatar
Rank Points: 11
Registered: 11-08-2007
IP: Logged
icon Re: The (Un)Official SubTerra Object Behavior Thread! (0)  
I think it's safe to say that a level containing a self-cloning switch the player steps on will break the game.

____________________________
SubTerra
- Ultimate rank
- 2009 level design contest, 2nd place
04-03-2009 at 03:42 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
Page 1 of 3
23
New Topic New Poll Post Reply
Caravel Forum : Other Boards : Crystal Shard Games : The (Un)Official SubTerra Object Behavior Thread!
Surf To:


Forum Rules:
Can I post a new topic? No
Can I reply? No
Can I read? Yes
HTML Enabled? No
UBBC Enabled? Yes
Words Filter Enable? No

Contact Us | CaravelGames.com

Powered by: tForum tForumHacks Edition b0.98.8
Originally created by Toan Huynh (Copyright © 2000)
Enhanced by the tForumHacks team and the Caravel team.