Home Register Arcade Gallery Chatroom Members Search Today's Posts Mark Forums Read Log In
Go Back   Inside: SereneScreen Fan Forum > SereneScreen Products > Marine Aquarium 3 for Windows > Marine Aquarium 2 for Windows Archive
Notices

Reply
 
Thread Tools
Old 05-01-2008, 12:29 AM   #1581
DavidLee
Registered
 
DavidLee's Avatar
 
Join Date: Apr 2008

Posts: 8
Question About collision control

Originally posted by Jim Sachs:
The music routine is almost doen, so I'm not really counting that. The two major items are collision detection and user interfaces. MA2.6 did not have a 3D background, so there was nothing for the fish to hit, except each other. That rudimentary fish-to-fish collision-detection is already in MA3, but with so many fish in the tank, it's not very effective.  
Jim,

What keeps you from programming a transparent 3D surface around all fish and obstacles with a parameter that skews fish direction when any two transparents theoretically meet? kind of like a force field.
Please don't laugh at me. I'm not a visual programmer, obviously.
DavidLee is offline   Reply With Quote
Old 05-01-2008, 09:18 AM   #1582
Jim Sachs
Developer
 
Jim Sachs's Avatar
 
Join Date: Dec 2000

Location: Southern Oregon
Posts: 9,771
How do you tell if a 3D surface (transparent or not) is touching another 3D surface?

There's a technique called Bounding Boxes, in which you set up the imaginary corners of a box around each object, then constantly test all those points to see if they are "within" another bounding box. Unless your objects are rather square to begin with, the boxes would be a pretty loose fit, preventing the objects from getting very close. Bounding Spheres are better for round objects, but what about something like a Finger Coral?

I actually have come up with a pretty good scheme, and was hoping to have a test version in the hands of the Alpha team last night. But there were some bugs that sent the fish hopping around uncontrollably, so it will take another day. (I will lose part of the day today, as it's our 26th anniversary, and my wife has two Shakespeare plays and a dinner planned.)
Jim Sachs
Creator of SereneScreen Aquarium
Jim Sachs is online now   Reply With Quote
Old 05-01-2008, 12:23 PM   #1583
ESHIREY
Smilie Dragon
 
ESHIREY's Avatar
 
Join Date: Nov 2001

Location: Lebanon, PA
Posts: 4,725
I hope you both have a great day. And night.
Thank you for taking the time to read this.
ESHIREY is offline   Reply With Quote
Old 05-01-2008, 02:04 PM   #1584
feldon34
Forum Administrator
 
feldon34's Avatar
 
Join Date: Dec 2000

Location: Rock Hill, SC
Posts: 10,938
Originally posted by Jim Sachs:
How do you tell if a 3D surface (transparent or not) is touching another 3D surface?  
With Calculus and Algebra II? Piece of cake.

Without Calculus or Algebra II? Test a million points.

I found a couple of things...
http://fajrvehr.googlepages.com/bscthesis
http://www.manning.com/kovach/
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
"If voting changed anything, they'd make it illegal." - Emma Goldman
feldon34 is offline   Reply With Quote
Old 05-01-2008, 03:57 PM   #1585
patscarr
Pet Shark
 
patscarr's Avatar
 
Join Date: Nov 2001
1 Highscore

Location: Back in Buffalo
Posts: 5,454
Happy anniversary Jim!

Man 1: "My best friend ran away with my wife yesterday."
Man 2: "How long have you been best friends?"
Man 1: "About a day."

Man 3: "You've been married for 25 years. How did you do it?"
Man 4: "Well, I treated my wife very well, I bought her things, and I took her to Timbuktu for our 5th wedding anniversary."
Man 3: "Wow! Timbuktu for your 5th wedding anniversary. What will you do for your 26th wedding anniversary?"
Man 4: "I'm going to go get her."
Patrick
patscarr is offline   Reply With Quote
Old 05-01-2008, 06:09 PM   #1586
Jim Sachs
Developer
 
Jim Sachs's Avatar
 
Join Date: Dec 2000

Location: Southern Oregon
Posts: 9,771
Morgan -

Thanks for the links, but I have two problems which prevent me from using those ideas. First, I have never been able to understand any code which I did not write myself.
Second, I have no math. In Junior High, I was plucked out of normal math and put in an experimental "new math" program which ruined me for life. All I can remember from it was months of converting things which looked something like this:
(x+y)*(y+x) into something more like this:
xx+3x+y
(I'm sure this is totally wrong, all I'm saying is that the first one had parentheses and the second one didn't.) As you can tell, I retained none of it. No point to this exercise was ever given, and the need for it has never come once up in my 59 years. How I longed to be in the same classes with my friends - they were learning real things like how to calculate the height of a building and accelerations of vehicles.
Jim Sachs
Creator of SereneScreen Aquarium
Jim Sachs is online now   Reply With Quote
Old 05-01-2008, 07:58 PM   #1587
KMan
Registered
 
KMan's Avatar
 
Join Date: May 2003

Location: Studio City, CA
Posts: 15
Originally posted by valeryan:
Wow! I have not ran my aquarium in a while but I just got a new system and it came with a really nice 22 inch widescreen monitor. I thought to my self this monitor would be amazing with MA on it. so I wondered by to download 2.6 only to find out that a new version is being developed. It reminded me of the happy days of beta testing. Hey Jim I am glad to know you are still around and doing your thing and its cool to see that this place is still kicking. I really look forward to seeing MA 3 on this aweosome monitor. How do we find information about beta testing?  
Everything valeryan said, I would like to repeat as my own comments. Except my new monitor is 24".

Hated to have to pay to upgrade to get 2.6, but well worth it, I'm sure... and I can't wait for 3.0! (another upgrade, no doubt, but well worth it)
KMan is offline   Reply With Quote
Old 05-03-2008, 08:37 AM   #1588
feldon34
Forum Administrator
 
feldon34's Avatar
 
Join Date: Dec 2000

Location: Rock Hill, SC
Posts: 10,938
Originally posted by Jim Sachs:
it was months of converting things which looked something like this:
(x+y)*(y+x) into something more like this:
xx+3x+y


How I longed to be in the same classes with my friends - they were learning real things like how to calculate the height of a building and accelerations of vehicles.  
I learned both. I loved Algebra.
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
"If voting changed anything, they'd make it illegal." - Emma Goldman
feldon34 is offline   Reply With Quote
Old 05-04-2008, 01:55 PM   #1589
DavidLee
Registered
 
DavidLee's Avatar
 
Join Date: Apr 2008

Posts: 8
To refine your box filter

[quote=Jim Sachs]How do you tell if a 3D surface (transparent or not) is touching another 3D surface?

To start,I would send one fish program to a unique,one colored background.The fish program modified to send it's own preassigned object identifier number to the main object seperation program.

The background would be defined as object "0". Object definition/priority, pixelmap flow tables would be created (one for each object ie.Background, Coral, Fish Ect.). Intercept the X+Y Horizontal/vertical pixel co-ordinate before it's placed on the screen., including the color attribute byte and the theoretical "Z" (3D depth co-ordinate from the fish program output).

Since at this time you only have one fish, all pixel outputs that are not the background color can be mapped as object "1". Adding others each with a greater priority in the same manner. To speed the program Templates of relative. repeating pixel placement patterns for each object could be created from this input using Calculus.

Every object itself a subprogram program subject to it's unique definition/priority pixelmap flow table.

The main program would encapsulate and maintain seperation of objects by comparing the next pixel redirection output request from each self defined subprogram and when two objects attempt to write to identical X+Y (same pixel) their priority table would give overwrite permission to the object with the smallest "Z"(closest to the front 3D perception) allowing fish to pass in front of each other when in horizontal or vertical motion. When fish are intersecting,the upcomming "identical X+Y+Zs"indicate an upcomming collision the priority tables send an order to redirect fish to the object subprogram with the highest priority.
DavidLee is offline   Reply With Quote
Old 05-04-2008, 02:23 PM   #1590
cjmaddy
Registered
 
cjmaddy's Avatar
 
Join Date: Nov 2001

Location: Lancashire, UK
Posts: 7,854
I doubt Stanley Unwin could have said it more clearly...
cjmaddy is offline   Reply With Quote
Old 05-04-2008, 03:51 PM   #1591
Jim Sachs
Developer
 
Jim Sachs's Avatar
 
Join Date: Dec 2000

Location: Southern Oregon
Posts: 9,771
Over here we have Professor Irwin Corey.
Jim Sachs
Creator of SereneScreen Aquarium
Jim Sachs is online now   Reply With Quote
Old 05-09-2008, 07:24 PM   #1592
dakarum
Registered
 
dakarum's Avatar
 
Join Date: Mar 2007

Posts: 2
Lately, there seems to be days inbetween the time the forum posts are viewible. Is it the provider controlling volume of data going through the site? The last message viewable is Jim's on the 4th.
dakarum is offline   Reply With Quote
Old 05-09-2008, 07:42 PM   #1593
johnblommers
The Architect
 
johnblommers's Avatar
 
Join Date: Aug 2004

Location: Seattle
Posts: 756
Originally posted by dakarum:
Lately, there seems to be days inbetween the time the forum posts are viewible. Is it the provider controlling volume of data going through the site? The last message viewable is Jim's on the 4th.  
"By the book, hours would seem like days" - Spock
Reasons people don't watch Star Trek:
60% - It’s for nerds.
39% - The show’s stupid.
01% - My parents were killed by Klingons and it's still too painful.
johnblommers is offline   Reply With Quote
Old 05-11-2008, 02:40 AM   #1594
Pyros9
Registered
 
Pyros9's Avatar
 
Join Date: Nov 2001

Location: Washington State
Posts: 49
Originally posted by Ad_Enuff:
I'd love to be a fly on the wall when Prolific's lawyers get their hands on it....  
Me too!

Doug................(Pyros9)
www.faddis.net

My goal in life is to be as good of a person as my dogs think I am.
Pyros9 is offline   Reply With Quote
Old 05-12-2008, 09:30 AM   #1595
feldon34
Forum Administrator
 
feldon34's Avatar
 
Join Date: Dec 2000

Location: Rock Hill, SC
Posts: 10,938
Originally posted by dakarum:
Lately, there seems to be days inbetween the time the forum posts are viewible. Is it the provider controlling volume of data going through the site? The last message viewable is Jim's on the 4th.  
Sometimes when you see # of posts in # of threads but there aren't any new ones, it is because there is discussion going on in the Beta test forum. When MA3 is ready for public eyes, you'll get to download it!
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
"If voting changed anything, they'd make it illegal." - Emma Goldman
feldon34 is offline   Reply With Quote
Old 05-12-2008, 03:20 PM   #1596
Shaw Goodwin
Registered
 
Join Date: Apr 2007

Posts: 1
Beta Test Forum

Originally posted by feldon32:
it is because there is discussion going on in the Beta test forum  
Feldon did you mean alpha test forum - which I assume is hidden. I only ask just in case I'm missing something/not looking in the correct place - I thought Jim said he would let registered users see MA3 when it got into Beta.

Waiting patiently in anticipation.

Shaw
Shaw Goodwin is offline   Reply With Quote
Old 05-12-2008, 06:18 PM   #1597
Jav400
Administrator
 
Jav400's Avatar
 
Join Date: Dec 2000
22 Highscores

Location: Tennessee
Posts: 9,725
Basically those areas have always been termed Beta areas. But with Jim's intention to release and let people follow along with his additions and changes after a certain point, you are correct in this instance that Alpha would be technically correct for this one.
Jav400 is offline   Reply With Quote
Old 05-12-2008, 11:06 PM   #1598
Jim Sachs
Developer
 
Jim Sachs's Avatar
 
Join Date: Dec 2000

Location: Southern Oregon
Posts: 9,771
I sent Prolific a test version today, and will follow up with a version for the Alpha testers in a couple of days. I still haven't got the collision-avoidance routine right yet, but I have been making some progress. There is now a fish-resizing routine in place (I almost called it a fish-scaling routine, but thought better of it ). The fish are now 20% bigger, which is probably pretty close to the size they were in MA2.6. I will be able to use this routine when I put in schooling, so that each fish in the school is a slightly different size.

I've also finally got a decent draw-ordering routine working. Before, when a fish passed behind andother fish which was drawn first, it would not show through the transparent fins. Now all the fish are renderend in the proper order, from farthest to nearest.
Jim Sachs
Creator of SereneScreen Aquarium
Jim Sachs is online now   Reply With Quote
Old 05-13-2008, 04:43 AM   #1599
Tiny Turtle
is pleased
 
Tiny Turtle's Avatar
 
Join Date: Mar 2001
27 Highscores

Location: Stockholm, Sweden
Posts: 7,365
Looking forward to it. Have you caught some sort of snafu on the collision avoidance, or is it just even bigger than I anticipated?
Thanks to Morgan, Tiny Snapshots is up and running again with "Tiny Järvafält" as the latest addition – Go have a look and tell me what you think.

"We knew the world would not be the same. A few people laughed, a few people cried, most people were silent.
I remembered the line from the Hindu scripture, the Bhagavad-Gita. Vishnu is trying to persuade the Prince that he should do his duty and to impress him takes on his multi-armed form and says,
'Now, I am become Death, the destroyer of worlds.'
I suppose we all thought that, one way or another.
" /Robert Oppenheimer on witnessing the first thermonuclear detonation in history.
Tiny Turtle is offline   Reply With Quote
Old 05-13-2008, 10:50 AM   #1600
Jim Sachs
Developer
 
Jim Sachs's Avatar
 
Join Date: Dec 2000

Location: Southern Oregon
Posts: 9,771
It's just very difficult to come up with an all-encompassing algorithm that fits any situation. It will probably have to patched together out of many different algorithms. Right now, I've got a routine in which a fish would move forward until it hits an object, stop, move up a little, try again. This gives the effect of pecking at the coral, and in many instances looks very good. But not ALL instances, so I need about a zillion conditional statements to determine which avoidance behavior to use in many different situations.
Jim Sachs
Creator of SereneScreen Aquarium
Jim Sachs is online now   Reply With Quote
Reply
Go Back   Inside: SereneScreen Fan Forum > SereneScreen Products > Marine Aquarium 3 for Windows > Marine Aquarium 2 for Windows Archive



Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


All times are GMT -6. The time now is 11:57 PM.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.