Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - raft

Pages: 1 ... 126 127 [128] 129 130 ... 132
1906
Projects / aptal karga (foolish crow)
« on: February 09, 2006, 04:04:01 pm »
* fixed run mode for windows & linux (hope it will run at MacOS & Solaris too)
* extended LoD mechanism to cover avatars too
* some more small improvements for sending user movements

Code: [Select]
r a f t

1907
Projects / Technopolies
« on: February 05, 2006, 12:44:23 am »
brave decision !

why ? what went wrong ? talk about details please.. i really wonder as (i guess) many others do

1908
Projects / aptal karga (foolish crow)
« on: February 02, 2006, 08:59:09 pm »
* added run mode: double tap forward key to run (1)
* improved animation load mechanism to allow using same mesh in multiple sequences: resulting in reduced load time, disk and memory usage
* seperated walk forward, backward, turn, strafe left, right and run animations
* improved footstep synchronization
* improved the way user movements sent to other clients: they are almost replicated now in an efficient way

(1) i've just noticed that run mode doesnt work on win32 platforms since Java generates different KeyEvent sequences on win32 and linux. i'll fix it soon

test tool running to show the sent user movement


Code: [Select]
r a f t

1909
Projects / aptal karga (foolish crow)
« on: January 20, 2006, 04:31:42 pm »
since my last post,

* tcp communications are compressed now
* added the tube: it's an old fashioned multi purpose device, used as both personal teleporter and dressing room (binded to key t for some time)
* replaced the sky-box with a better one
* added third person custom view: both camera distance and angle can be adjusted by shift and arrow keys
* regions panel does not show up anymore if there is only one region
* added server side configuration files
* camera now moves smoothly
* implemented basic paired animation mechanism: right click to a user to suggest him some action

new sky-box and the tube in action:


Code: [Select]
r a f t

1910
Projects / Technopolies
« on: December 15, 2005, 06:31:43 pm »
good luck rolz ! and tech site looks cool  8)

Code: [Select]
r a f t

1911
Projects / aptal karga (foolish crow)
« on: December 08, 2005, 11:54:42 am »
well, since i'm busy with lots of 'life' issues, nothing new yet.  but i just feeled i left my thread and project too lonely..

just for reference this is what 'aptal karga' (foolish crow) means:

foolish crow is the crow who resurrected for revenge after his death but forgot his reason of resurrection because of the happiness of returning life again. foolish crow is not real, just an urband legend among crows

(in turkish)
aptal karga ölümünden sonra intikam için geri dönen, tekrar yasamanın büyüsüne kapılarak varoluş amacını unutan kargadır. gercek degildir. kargalar arasında bir $ehir efsanesidir.

this should be in the first post of thread but who cares  :wink:

Code: [Select]
r a f t

1912
Projects / Imperio - Galaxy-wide strategy
« on: December 07, 2005, 12:47:50 pm »
Quote from: "rolz"
Raft, What i NICE IDEA !!!!!!!!!!!!!!!!

:lol:  8)

Quote from: "meinfilter"
The second balloons you use, the blitted ones, do they hide behind objects? How did you do it if they do? I can't figure how to do it if they are not 3D objects in the scene.


i simply decide to blit or not, by checking object's visibility and casting rays and see if they reach target.  blitting always done after rendering, so they never hide behind any objects. to interfere with rendering, i once thought of a object or polygonRendered method to add to paintListener interface but Egon said it wont do the trick since rendering is done from front to back for optimization purposes (Egon please correct me if i remember it wrong)

not a perfect solution but handles most cases. if you find a better one i would like to hear..

Code: [Select]
r a f t

1913
Projects / Imperio - Galaxy-wide strategy
« on: December 06, 2005, 04:54:12 pm »
hello meinfilter,

you can almost forget about texture based strings, they arent readable. have a look at the screenshots at karga thread

for skybox, instead of using a huge sphere i store a small sphere in a seperate world where the camera is always located at origin. than i simply render both of my worlds (the skybox one and the regular one) to same frame buffer one after another

Code: [Select]
r a f t

1914
Projects / Raven's projects
« on: November 18, 2005, 05:53:12 pm »
Quote from: "Raven"
Due to my state of newbieness to the matter..

nevermind, i'm also a newbie for this kind of projects, or at least i was before karga :wink:
Quote from: "Raven"
if I understand correctly, you're basically normalizing game animations and events by checking how fast the application is running?

yes, exactly. the idea is to increment the game state (animation indices, positions of moving objects etc) as much as the time elapsed since last update

say you have an opening door animation which you want to last for 2 seconds, and your fps is 50 (= 1/50 seconds elapsed) you increase animation index of door by 1 / (50 * 2) each frame

Code: [Select]
r a f t

1915
Projects / Technopolies
« on: November 17, 2005, 10:45:23 pm »
hey rolz, that's a really cool screen  :D

1916
Projects / Raven's projects
« on: November 17, 2005, 10:24:38 pm »
Quote from: "raft"
assuming constant fps it is trivial to decide where that user will be in each frame. with un-constrained fps it's somewhat more complicated


himm, i'm re-thinking now about the subject and, assuming constant fps even in an un-constrained enviroment may be a good assumption. normally fps doesnt change that much if something doesnt change radically (such as world size doubles or user opens another cpu eater application).

so, measuring fps every -say- 5 seconds and assuming it constant may also simplify things. i guess this way fps increases slightly since number of updates decrease. a drawback is, if one moves with key strokes every frame, fps/ups results in a smoother feeling

sorry raven, filling your forum with self thoughts  :oops:

Code: [Select]
r a f t

1917
Projects / Raven's projects
« on: November 17, 2005, 09:53:59 pm »
Quote from: "EgonOlsen"
in theory...it never happened for Paradroidz because collision detection is too fast


certainly it is. in fact everything, even those you mark as expensive in javadocs, is quite fast compared to render time. dont get me wrong, i dont mean rendering is slow :wink:

i choosed this way since i couldnt find effective solutions for some questions, especially in a multi-user enviroment. for instance, if some user moves from point A to B, basicly only these two points are broadcasted to other clients. assuming constant fps it is trivial to decide where that user will be in each frame. with un-constrained fps it's somewhat more complicated

Code: [Select]
r a f t

1918
Projects / Raven's projects
« on: November 17, 2005, 08:46:11 pm »
hello raven,

Quote from: "Raven"

So, to sum up, my question basically is: is this the way to go? Or is there some other method that's better when making 3D games? For example, should I be looking into threading each type of manager so it runs independantly?


as a rule of thumb, you should avoid threading whenever you can. it only complicates things and cost some performance (due to syncronization and context switching overhead). use threading where you have to do so (for example when use blocking i/o)

in karga, to simplify things, i targeted a constant fps. even collision detection and other non-render stuff doesnt cost much compared to rendering, so if i cannot reach targeted fps, i simply skip rendering for some frames and update the game state only. this method depends on measuring render time, something like this:

Code: [Select]

while (running) {
    long startTime = System.nanoTime();
    gameUpdate();
    gameRender();
    long elapsedTime = System.nanoTime() - startTime;

    if (elapsedTime < expectedElapsedTime) {
        // sleep here for some time
    } else {
        // do some gameUpdate without render
    }
}


with this approach, even on a slow machine updates stay closer to high targeted fps (50 for instance) so you can decide animation indexes etc depending on targeted fps

instead of controling animations and other things (movements etc) from a central location i've also defined a FrameListener interface which lots of my 3d objects implement. so they can 'take care of themselves'
Code: [Select]

public interface FrameListener {
    public void timeForNewFrame(/* pass here whatever you want like frame no, world etc*/);
    public void timeForRender(/* same as above */);
}



so what i do in gameUpdate and gameRender is:
Code: [Select]

private void gameUpdate() {
    for (FrameListener l : frameListeners) {
        l.timeForNewFrame(/* some parameters */ );
    }
}
private void gameRender() {
    for (FrameListener l : frameListeners) {
        l.timeForRender(/* some parameters */ );
    }
}


hope this helps :wink:

Code: [Select]
r a f t

1919
Support / Question: Models, lighting, and more.
« on: November 07, 2005, 09:14:02 am »
Quote from: "Raven"
I think you're talking about the same thing that Helge had already already pointed out to me, except that you want me to put it in a seperate file? But wouldn't I then have to align my map.3ds with the lights.3ds after I import them into jPCT?

not exactly, i think we were talking about different things.
i couldnt get what you meant by aligning ? those dummy 'light' objects are already positioned in your world. just export the world to map.3ds and lights to lights.3ds
Code: [Select]
r a f t

1920
Support / Undersampling
« on: November 06, 2005, 01:54:35 pm »
Quote from: "EgonOlsen"
Undersampling simply renders at half the resolution and doubles  the rendered pixels in x- and y-direction. Maybe scaling is faster because it can benefit from hardware support, but i somehow doubt it, because it's a non-accelerated BufferedImage.


on my box (both redhat and win xp), scaling runs almost 10% faster then undersampling. swing uses VolatileImage (accelerated) by default for back buffer, but the result doesnt change even if i disable double buffering. strange :?: (btw, i dont if copying from a non-accelerated image to an accelerated one offers any improvement)

anyway, i preferred the undesampling way since it makes things (like 2d blitting) much easier. and 50% undesampling makes almost a 50% speed impovement so i see no point in using other scaling ratios

Code: [Select]
r a f t

Pages: 1 ... 126 127 [128] 129 130 ... 132