less popups but..

Messages are moved here (should anyone ever want to see them again) once they are no longer applicable to the current version (e.g. suggestions that have been implemented or bugs that have been fixed).

Moderator: George Gilbert

Forum rules
Please read the Forum rules and policies before posting. You may Image to help finance the hosting costs of this forum.
Post Reply
User avatar
cowsmanaut
Moo Master
Posts: 4380
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

less popups but..

Post by cowsmanaut »

anyone else noticed a drop in the popup rate? However it seems that they instead now include much larger banners.. as well as big ads on the page as well.

still $10 yet to fill the void. Is there a way I can put in some without needing a credit card.. and is it going to be worth it when I think about how little traffic is in here of late.

George.. is there an update comming soon. That will pick things up a bit.

moo
User avatar
beowuuf
Archmastiff
Posts: 20686
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Re: less popups but..

Post by beowuuf »

yes, there is paypal...if i get a credit card, then i´will do it, but....not going to happen right now
but no, i don´t think things will pìck up right now, as the main people seem busy....George has released at least two or three good versions recently with enough features to keep ppeople happy if they weren´t busy, i reckon....
Was unable to (permenantly) kill off ian_scho (Haynuus), Ameena, oh_brother (Westian), money (Falkor), raixel (Petal) and Lord_Bones (Aurek) in the DM D&D game Time's Champions!

CONGRATULATIONS TO THOSE WHO MADE THE GAME WHAT IT WAS - GREAT!
User avatar
George Gilbert
Dungeon Master
Posts: 3022
Joined: Mon Sep 25, 2000 11:04 am
Location: London, England
Contact:

Re: less popups but..

Post by George Gilbert »

I've got a working V0.20 that covers lots of issues (most noteably monster AI) but not currently the fixes to the CSB dungeon. As the next version will require people to restart (but importing should still work) I want to put as many fixes in to it as possible...

So, to cut a short story short and somewhat perversely, the more things you can find to fix, the quicker the next version of RTC will come out!
User avatar
cowsmanaut
Moo Master
Posts: 4380
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

bugs?

Post by cowsmanaut »

well that's just plain odd.. :)

So you want us to list off as many things to fix as we can so the next version will come out sooner? Interesting.. very interesting..

well one MAJOR bug that has haunted you from the start would be that problem with moving things colliding rather than passing through.

Did you give any thought to the idea of shadowing moving objects (leaving a representation of it on the square it's left untill it's actively on it's new location) so that even if they are moving at the same time one of them will get hit.

Ie. the fireball will hit the mummy shadow or the mummy will hit the fireball shadow.

It would be invisible to the user as long as you don't show the shadowed object graphically. however I'm not sure if it would slow things down any?

but anyhow, if you were to fix that.. well.. that would be worthy of a new version!!
User avatar
amaprotu
Adept
Posts: 211
Joined: Thu Jan 25, 2001 9:47 pm
Location: California, USA
Contact:

Re: bugs?

Post by amaprotu »

It seems you should only have to shadow the monster or the projectile. Shadowing both would probably lead to double damage.
- Amaprotu
User avatar
cowsmanaut
Moo Master
Posts: 4380
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

hmm

Post by cowsmanaut »

I doubt it.. if one of the fireballs hits the object both would be killed.. not one hitting and then the otherone comming up behind it and hitting again..
User avatar
George Gilbert
Dungeon Master
Posts: 3022
Joined: Mon Sep 25, 2000 11:04 am
Location: London, England
Contact:

Re: hmm

Post by George Gilbert »

Unfortunately it won't be that. Each object is moved atomically and in sequence. In other words an object is removed from one tile and put back onto another in a single locked thread that is guaranteed not to be inturrupted by other objects moving.

This means that any kind of shadowing isn't necessary and that a fireball can't "swap" places with a monster as both move towards each other. What must be happening is that when the monster is put down on the tile with the fireball, then it doesn't notice that it's there and therefore doesn't explode. Any other suggestions are gratefully recieved though as I'm pretty sure the collision detection code works!
User avatar
cowsmanaut
Moo Master
Posts: 4380
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

hmm

Post by cowsmanaut »

you know.. I just thought that perhaps there is a special case needed here.. I mean after all you can have a knife on a tile or above a tile but how much of a difference does it make in the engine? When the knife hits the square a split second before the monster then does the knife go.. ok nothing here and the monster says ok there is a knife here.. but perhaps thinks it's on the floor?
User avatar
Zyx
DSA Master
Posts: 2592
Joined: Mon Jun 05, 2000 1:53 pm
Location: in the mind
Contact:

my 2p guess

Post by Zyx »

I suppose you invoke the collission detection routine twice: right after moving the fireball AND right after moving the monster, right?
User avatar
cowsmanaut
Moo Master
Posts: 4380
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

idea..

Post by cowsmanaut »

Perhaps, George, you could post some form of psudo code to show how you've set up collision. Then those who know anything about that could provide a solution?
User avatar
cowsmanaut
Moo Master
Posts: 4380
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

hmm

Post by cowsmanaut »

I guess that is a No then? You do realise I'm not suggesting posting actual code. I know how you feel about that. I'm just suggesting posting how you went about doing collision without actully posting the code made to do this.

Just explaining how you came about it in a manner understandable to those special people we call programmers. :)
User avatar
George Gilbert
Dungeon Master
Posts: 3022
Joined: Mon Sep 25, 2000 11:04 am
Location: London, England
Contact:

Re: hmm

Post by George Gilbert »

It's not really a no, it's more a question of the pseudo code not being very useful to you as it's very simple; there must be something in the detail. The code is as I've described in english above but here it is again if you like...

function UpdateDungeon()
{
..for each tile in the dungeon within 1 level of the party
..{
....if a monster and can move
......MoveItem(item,x,y,z,positionontile);
....if an item flying through the air
......MoveItem(item,x,y,z,positionontile);
....<snip lots of other stuff!>
..}
}

function MoveItem(item,x,y,z,positionontile)
{
..decide where to go(item,&new_x,&new_y,&new_z,&new_positionontile);
..RemoveItemFromTile(monster,x,y,z)
..AddItemToTile(item,new_x,new_y,new_z,new_positionontile);
}

function AddItemToTile(item,x,y,z,positionontile)
{
..get list of items on this tile
..for each item in this position already
..{
....collision if either is a monster and the other is in the air
....<snip other checks for objects hitting teleporters, doors etc>
..}
}
User avatar
cowsmanaut
Moo Master
Posts: 4380
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

moo moo moo

Post by cowsmanaut »

here are some questions.

1. how often is collision checked? Everytime something moves?
2. Does everything move on a specific beat, so to speak?By this I mean can things be offset by a microsecond or do they have to happen at the same time. Like and animation where it is 24 frames per second. So everything has to happen on one of those frames and not between.
3.Does it account for mosnters shifting on a tile? a monster can sit on 5 different places on a tile.. center, back left and right and forward left and right. where as a knife or fireball seems to be two positions, left or right.

I have no idea what it could be but perhaps one of these questions may spark an idea?
User avatar
George Gilbert
Dungeon Master
Posts: 3022
Joined: Mon Sep 25, 2000 11:04 am
Location: London, England
Contact:

Re: moo moo moo

Post by George Gilbert »

1. Yes - that's covered by the code above!
2. Yes, the UpdateDungeon function (which is the only place that things are moved) is called 6 times a second. That's the only time when items can move (note that the mouse is a special case and on a seperate timer and can move whenever).
3. Yes; all items are treated equally when it comes to that sort of thing (see the code above again). There may be something in this though; I'll have a closer look at something similar...
billgus
Journeyman
Posts: 92
Joined: Sun May 05, 2002 4:01 am
Location: US/OR/Portland

Re: tick tick

Post by billgus »

George, where did you pick your tick rate from? I have been timimg the Amiga version (under WinFellow) and it is 260ms. That is 4 ticks per second adjusted for the Amiga's 20ms ticker.
User avatar
cowsmanaut
Moo Master
Posts: 4380
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

uhm..

Post by cowsmanaut »

Ok I'm confused.. if things can only move on a beat then the only way to confirm that a collision should happen is to check to see if there is an item in the next square immediately after checking the square it's on. This way it could tell a possible collision. Otherwise you could theoritically have them switch places on a beat.

I think that it shoudl check the square ahead and then if it reaches it and the item that was there is no longer there it should then confirm if it went to the location it previously occupied and if so a collsion has occured. If not then it got out of the way.

Makes more sense to me.. ofcourse you may have done this and I'm simply a moron.. but you know..
User avatar
George Gilbert
Dungeon Master
Posts: 3022
Joined: Mon Sep 25, 2000 11:04 am
Location: London, England
Contact:

Re: uhm..

Post by George Gilbert »

Two replies in one...

1. Billgus: The clock frequency comes from experience. Earlier versions used to be 200ms but this felt too sluggish and so I upped it to 166ms. I find it hard to believe that making it even slower would be good; but I'm willing to be proved wrong here as I'm going on guess work.

2. Cowsmanaut: Erm no. You've got completely the wrong end of the stick (almost certainly due to my poor explanation). The PDL above shows that whislt everything occurs on a single beat (i.e. the UpdateDungeon call is called precisely every 1/6th of a second and not inbetween) individual items are moved in sequence. The kind of swapping of objects just can't happen Have a look at the stuff above again; if it still doesn't make sense then I'll try explaining again in a different way. I'm still convinced however that this isn't the root cause of the problem.
User avatar
cowsmanaut
Moo Master
Posts: 4380
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

ahh ha!!

Post by cowsmanaut »

Egads I think I have it now..

so every 1/6th a second it goes like this
beat.. monster moves
beat.. fireball moves
beat.. mummy in the corner scratches bum
beat.. fireball moves again
beat.. monster tries to move but collision occurs instead because they are overlapped.

So several things can not happen at the same time.. right? 6 things can happen in one second though. How does one set priority then though.. hmm ahh well.

Anyway, you said you had an idea.. did it pan out?
User avatar
George Gilbert
Dungeon Master
Posts: 3022
Joined: Mon Sep 25, 2000 11:04 am
Location: London, England
Contact:

Re: ahh ha!!

Post by George Gilbert »

Yep, every 1/6th of a second there are about 1,000 beats (one for each object over the 3 active levels) that all occur one after each other and are all completed in about 1/60th of a second. Then nothing at all happens for the remaining 9/60ths of a second and then it all repeats.

The sequence in which the objects are updated (I think that's what you mean by priority) is simply determined by their position in the dungeon. On each level the items on tile 0,0 are updated then 0,1 then 0,2 and so on with the proviso that no object can be updated twice (for example if an object that is on 0,0 get moved to 0,1, when it's time to update tile 0,1 then it will be left alone (although if anything else moves in to 0,1 then it's still checked for collisions)).

That might not be the best way of doing it, but I've never seen any issues resulting from doing it that way.
User avatar
amaprotu
Adept
Posts: 211
Joined: Thu Jan 25, 2001 9:47 pm
Location: California, USA
Contact:

Re: ahh ha!!

Post by amaprotu »

since you go through row by row ( 0,0-0,1-0,2..0,x-1,0-1,1...) are there any issues with items jumping columns (from 3,4 to 4,4) or more specificaly, back columns (from 4,4 to 3,4 which hasalready been calc'd)? I mean they should be getting grabbed the next 1/6 of a second right, unless you are only calculating for a collision after it moves...... ah gad sorry for thinking as I type. It seems you need to check for a collision before an item moves. But I'm not really sure about my own logic here. Might try it at least, check for a collision before you move it as well as after. If you really have as much free time in the program then it shouldn't hurt anything.
- Amaprotu
Post Reply