Alice Community

Alice Community (http://www.alice.org/community/index.php)
-   Works-In-Progress (http://www.alice.org/community/forumdisplay.php?f=14)
-   -   Collision detection engine (http://www.alice.org/community/showthread.php?t=3994)

King Gamer(gorit) 02-28-2010 10:04 PM

That...
 
That would require unecisary objects, while the time to add in iregular objects would not take alot of coding, I will upgrade my engine tonight for it.

jediaction 03-01-2010 08:20 AM

[QUOTE=Dameria;17778]Yeah, he was talking about the frame rate, not the speed of the world. The only way to decrease the frame rate is to use less objects and avoid using infinite loops (or while events because those are the same thing).[/QUOTE]


Oh Darn i have over 1000 loops

[QUOTE=Niteshifter;17776]You need to create a list, whether it be in an object or the world and when you drop the "For all in order/together", you would choose the list that you created.

As for the frame rate, I don't think that you can adjust this at the moment, but if you just want to speed the world up, you would set the world's speed multiplier (under seldom used properties inside world) to a higher number.[/QUOTE]


Ive been using Alice for 3 years. I know that

[QUOTE=Niteshifter;17776]You need to create a list, whether it be in an object or the world and when you drop the "For all in order/together", you would choose the list that you created.

As for the frame rate, I don't think that you can adjust this at the moment, but if you just want to speed the world up, you would set the world's speed multiplier (under seldom used properties inside world) to a higher number.[/QUOTE]


There is not "if behind camera" option. Ive took so much time looking

arty-fishL 03-01-2010 12:39 PM

1 Attachment(s)
[QUOTE=jediaction;17799]There is not "if behind camera" option. Ive took so much time looking[/QUOTE]

U can do this, but it only seems to work for me with a dummy.
[LIST=1][*]drop a [B]dummy at the camera[/B][*]Set its [B]vehicle to the camera[/B][*]Drop an [B]'if/else'[/B] tile into the method[*]Then you go into the [B]functions tab[/B] for the [I][B][COLOR="Red"]object[/COLOR][/B][/I] you want to check for behind the camera[*]Scroll down to the [B]spatial relation[/B] subheading[*]grab the [B]'[I][COLOR="Red"]object[/COLOR][/I] is behind'[/B] into the [B]if/else[/B] bit[*]then set it to if [B]'[I][COLOR="Red"]object[/COLOR][/I] is behind [I]dummy[/I]'[/B][*]Make it do whatever you want (eg. disappear) when it is behind the dummy[*]Set it to loop[*]Then it will do whatever you set (eg. disappear) when it is behind the camera[/LIST]Obviously you can do this for any [COLOR="Red"][I][B]object[/B][/I][/COLOR] or multiple objects, or an object list

Here is an example, the sky goes red if the joey is behind and green if it is in front.
Move the camera with the mouse:

Dameria 03-01-2010 02:00 PM

Jediaction, I have already created a world for you showing how you check if an object is behind the camera, it is with the fish? Or did I not publish that world?

jediaction 03-01-2010 02:13 PM

[QUOTE=arty-fishL;17810]
Here is an example, the sky goes red if the joey is behind and green if it is in front.
Move the camera with the mouse:[/QUOTE]

Thanks but unfortunatly...every time i try adding one of these things the game crashes and i cant save so i cant do this. Ill try and figure out buy not now sorry and thanks for your time

zonedabone 03-01-2010 03:38 PM

Again about the irregular objects! Programing a square to collide is on the list of todos! But anything more complex just can't be done.

Dameria 03-01-2010 03:56 PM

Yes but you can make bigger objects act as a square by using spacial distance. I have tried to do this with my own collision detection, but it did not work as I wanted it to because of some weird way Alice sets up objects spacial properties.

zonedabone 03-01-2010 04:16 PM

Exactly. Round objects are the easiest to collide with each other. Easier code is faster code, and faster code is smoother code. That's why I chose this method.

nsprangers 03-05-2010 05:02 PM

Congrats and nice job making this.

It may be faster, easier, and smoother, but it doesn't actually solve the problem of detecting if any two objects have collided. Sure, you could make a wall of invisible cylinders along your flat wall, but whatever object you're moving would bounce along the wall. I've only had Alice downloaded for a couple days, but it seems you can only interact with distances between objects, not surfaces. So who knows if it can actually be done.

In the main collision detection block, you have an expression that says

[CODE]if ((cylinder distance to item_from_close objects) <=
((item_from_close objects's width / 2) +
(item_from_close objects's width / 2)
)
)[/CODE]

Why are you dividing the width twice then adding it together?

In your maintenance area, you add objects that are within 5 meters to the wold.Close objects list, and then below you remove anything that is more than 2 meters away. The second check, for more than 2 meters away, is only done every 1/4 second, but isn't the 5 meter check done only once since it's not part of any loop? If the 5 meter check is meant to initialize the world.Close objects list, it should probably be up at the top, outside the "do together" block.

jediaction 03-05-2010 07:30 PM

Zonabone, how is the online thigy coming. DO you have moving objects working. If not, im gonna try.

I mean like an object movign and showing up on two different running alices


All times are GMT -5. The time now is 02:24 AM.

Copyright ©2020, Carnegie Mellon University
Alice 2.x 1999-2012, Alice 3.x 2008-2012, Carnegie Mellon University. All rights reserved.