www.jpct.net

jPCT - a 3d engine for Java => Projects => Topic started by: raft on March 24, 2005, 01:59:36 am

Title: aptal karga (foolish crow)
Post by: raft on March 24, 2005, 01:59:36 am
in shortest terms, karga is a 3d chat system. it can also be called a simple virtual reality enviroment

similar to multiplayer games, users can move around in 3d places, see and talk to each other, change their appearance, interact with the enviroment and each other (like dancing and kissing)

hopefully, in the future there will be much game elements like puzzles, vehicles, usable items, team based games etc.

www.aptalkarga.com (http://www.aptalkarga.com)

Code: [Select]
r a f t

since it still has a long way to complete 3d chat, i somehow changed my direction and updated the site accordingly. i assumed 3d artists would jump onto chat project but this was not the case unfortunately  :shock:

i prepared a demo for web to move user in a 3d model as first person. its almost nothing more than the fps sample but a 'render when necessary' version of it to make it web and cpu friendly. as always its the jpct what creates the magic

i find it a quite cool application for architects. well this is my idea, time will show if people will find it alike

the model is from (unfortunately) an anonymous artist at www.3dcafe.com

wish me luck, i wanna neither to sell my bike nor be a slave again 8)
Code: [Select]
r a f t

edit: added karga definition for newcomers
Title: aptal karga (foolish crow)
Post by: EgonOlsen on March 29, 2005, 07:29:26 pm
In case you haven't noticed yet: I've added a link to your page to the projects page.
Title: aptal karga (foolish crow)
Post by: Anonymous on March 29, 2005, 11:26:25 pm
proud to see that  :lol:
Title: aptal karga (foolish crow)
Post by: raft on April 29, 2005, 06:11:45 am
hi there,

i've removed the node groups since they only make things complicated. now there are only regions and nodes where each node is mapped to a jpct world. i've also added node switching mechanism and 3rd person view. not that smooth but will do the job for a start. to tell the truth it really challanged me

a scene from karga, with my primitive animation. houses from turbosquid. not that bad i guess 8)
(http://www.aptalkarga.com/images/shots/karga1.jpg)
Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: raft on May 06, 2005, 01:55:54 am
i've added a balloon implementation by creating textures on the fly, but it's almost useless. they arent readable  :roll: i should look for a different way :?:

(http://www.aptalkarga.com/images/shots/karga2.jpg)

Code: [Select]
r a f t
Title: Baloon popups with text
Post by: rolz on May 06, 2005, 11:19:24 am
Try blitting text instead of showing billboarded objects. This should lokk far more readable
Title: aptal karga (foolish crow)
Post by: raft on May 06, 2005, 01:38:42 pm
hey rolz,

yeap, i will go after that approach but it has its own difficulties like scaling text for perspective and deciding if it is visible or not
Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: raft on May 07, 2005, 07:19:19 pm
blitted version. still has problems but seems much better i guess

(http://www.aptalkarga.com/images/shots/karga3.jpg)

text lines are labels and the tail is a border indeed. god save the swing ;-)
Code: [Select]
r a f t
Title: hi
Post by: barış on June 23, 2005, 01:13:10 am
selam ben de jpct engine ile bi süre uuraştım ve üç boyutlu programlama üzerinde hatrı sayılır bi tecrübem var.Ve senin projen gibi bi proje yapmanın hayalini kudum fakat birtakım nedenlerden ötürü start veremedim. istersen tanışalım görüşelim. baris_avsar@hotmail.com dan maille ulaşabilirsin. Bu arada tebrik etmeyi unuttum kusura bakma:) NICE JOB FELLA GO AHEAD :) başarılar. Sorry for not usin' english
Title: aptal karga (foolish crow)
Post by: raft on July 06, 2005, 04:27:26 pm
hello,

it has been a lot since my last post, missed me ? :P

* ported client to java web start, added full screen support
* added registration (can be reached via the 'personal' link)
* changed the animation structure to use a series of 3ds files instead of md2
* added first texture based dressing implementation

Code: [Select]
r a f t
3d model, texture and texture mapping of current avatars are extremely ugly but demonstrates the idea. obviously i have no talent in 3d arts :roll:
Title: aptal karga (foolish crow)
Post by: raft on July 14, 2005, 03:19:24 am
hi,

i generalized texture based dressing, this will allow virtually any dressing combination without code change.

i also added support for mesh based accessories like hair, sun glasses etc. these have neither mesh nor skeletal animation. their translations and rotations for key frames are stored in text files via max script and then used in jpct

below is a simplified configuration file for avatars. thx to jibx (http://jibx.sf.net) and generics for converting such an xml tree to java objects in a pure type safe manner
Code: [Select]

<avatar scale="0.3" >
        <animation name="walk" frames="6" cycles="1" loopStart="1" loopEnd="5" />                                                                                                                                            
        <skin-group name="skin-color" drawOrder="0" noneAllowed="false" default="light">
                <skin name="light" file="skin/light.png" thumbNail="skin/light_thumb.png" />
                <skin name="dark" file="skin/dark.png" thumbNail="skin/dark_thumb.png" />
        </skin-group>
                                                                                                                                             
        <skin-group name="panths" drawOrder="1" noneAllowed="false" default="one" >
                <skin name="one" file="panth/one.png" thumbNail="panth/one_thumb.png" />
                <skin name="two" file="panth/two.png" thumbNail="panth/two_thumb.png" />
        </skin-group>
                                                                                                                                             
        <accessory-group name="hair" noneAllowed="true" default="marul" >
                <accessory name="marul" dir="marul" defaultTexture="blonde" thumbNail="marul_thumb.png" >
                        <texture name="blonde" file="blonde.png" />
                        <texture name="black" file="black.png" />
                </accessory>
        </accessory-group>
                                                                                                                                             
        <accessory-group name="earing" noneAllowed="true" >
                <accessory name="ring" dir="ring"  defaultTexture="silver" thumbNail="ring_thumb.png" >
                        <texture name="silver" file="silver.png" />
                        <texture name="gold" file="gold.png" />
                </accessory>
        </accessory-group>
</avatar>


avatar panel.
(http://www.aptalkarga.com/images/shots/karga5.jpg)

Code: [Select]
r a f t
those semi-transparent panels are addictive. they are sure performance killers but i cant leave them  :P
Title: aptal karga (foolish crow)
Post by: Remo on July 14, 2005, 08:13:18 am
That looks nice. Keep up the good work man :).
Title: aptal karga (foolish crow)
Post by: raft on July 14, 2005, 06:17:01 pm
Quote from: "Remo"
That looks nice. Keep up the good work man :).

thx.  :D
Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: raft on July 23, 2005, 05:34:21 am
* switched to active rendering
* after some tests, it is obvious animation loop performs better than a timer. switching part by part
* added a simple sky box
* dressing and accessories now persist among sessions (for registered users only)
* made an avatar tool for potensial 3d artists. this will help seeing all his/her work on avatar in a single place

i've also made some performance tests with AWTGLRenderer. for small worlds it is far more faster than software renderer, but as the world gets bigger the difference gets smaller. strange

    better with a sunny day. summer came to karga :wink:
(http://www.aptalkarga.com/images/shots/karga6.jpg)
Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: EgonOlsen on July 23, 2005, 02:34:21 pm
Quote from: "raft"
i've also made some performance tests with AWTGLRenderer. for small worlds it is far more faster than software renderer, but as the world gets bigger the difference gets smaller. strange
Because the processing overhead increases. Are you using octrees? And if you are using the AWTGLRenderer, make sure to enable Config.glVertexArrays is possible. It takes much load off from the command queue of the renderer.
Title: aptal karga (foolish crow)
Post by: raft on July 23, 2005, 05:20:03 pm
yes, i did use octrees. as in fps demo, i simply merge objects to a single one, create the octree from result and then assign it. didnt help much

glVertexArrays makes a slight difference on a ~20000 poly scene

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: raft on August 04, 2005, 06:21:25 am
as rolz asked for useful ideas, here is one. i use it since my first viewer prototype and find very convenient

if you use xml for static configurations (ie. not changed during program run) this is a simple receipt to make it robust and light-weight

* use jibx (http://jibx.sf.net) to convert your xml file to a tree of java objects. this eliminates those regular xml parsing issues which are both painful and error-prone
* serialize your object tree to a file
* re-compile the classes that make the object tree (as jibx uses bytecode enhancement, after using it your classes gets fatter and you need jibx runtime in your classpath to use them)
* now you can de-serialize that file in your program and use it without jibx runtime
* dont forget to manually assign a serial version id to your serializable classes -as below- otherwise above will fail

another advantage of this method is, since jibx uses reflection, you can make your configuration classes very small: with no setters-getters and almost all fields final

the result is, you get rid of xml parsing code and have a pure type-safe configuration in very little space

Code: [Select]

public class SomeConfigurationClass implements java.io.Serializable {
    private static final long serialVersionUID = 999;  // 'manually' assign serial version id
   
    public final String aStringValue = null;
    public final SomeOtherConfClass aComplexConfValue = null;
    // no need even for a constructor
    //..
}


Code: [Select]
r a f t
cheers :wink:
Title: aptal karga (foolish crow)
Post by: Anonymous on August 08, 2005, 08:12:05 pm
re-organizing terrain structure, including:

* an xml based terrain configuration as usual
* allowing max instance and reference clones (via max script) to decrease memory usage
* a simple LoD (level of detail) implementation
* switching between nodes is more like games now, simply walk to door
* changed to way balloons pop up

i used a transition area for LoD to minimize pop effect. i.e. only after the transition area is passed the object is replaced with a different mesh

following diagram demonstrates the transition area in LoD system (1, 2 are different LoD levels and the arrows indicates movement direction)
Code: [Select]

---- LoD (1) --->| (1) |---- (2) -->
<--- LoD (1) ----| (2) |<-- (2) ----


below image shows an extreme sample demonstrating LoD running. that is a huge map (1km x 1km in human scale) consists of 100x100 tiles each has 1000 polygons. that maps loads in a couple of minutes on my box and doesnt fit into a 256mb jvm. but runs fast enough

(http://aptalkarga.com/images/shots/karga7.jpg)

avatar panel is also transparent now. these are addictive on me with no doubt :P

(http://aptalkarga.com/images/shots/karga8.jpg)

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: raft on August 08, 2005, 08:20:11 pm
oops, forgot to login for post :oops:
and it is a 10x10 tile map. i cant correct it as i posted as guest :oops:
Title: aptal karga (foolish crow)
Post by: manumoi on August 08, 2005, 09:19:21 pm
Very nice! And yes... transparent panels are addictive :lol:
Title: aptal karga (foolish crow)
Post by: raft on August 09, 2005, 12:52:20 pm
obviously they are :shock:

one note about transparent panels, maybe it may help another addict :wink:

i found my self doing a common mistake. it is written every where but i did it  :oops: they say 'dont put your rendering code into your paint method, but simply copy a pre-rendered image' swing calls paint of background component everytime the foreground transparent one is repainted. and if you do a render as me in your paint method.. !$%@

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: raft on October 24, 2005, 01:53:48 am
since my last post:

* added jump
* some gui impovements and add-ons
* added 'dont see a user' option. (both sides simply dont see each other anymore) this has no take back at the moment so use it carefully ;-)
* added one way (client to server) heart beat mechanism. this is certainly necessary to detect network failures (especially in wireless ones)
* added basic i18n (internationalization) support. translated most parts to turkish but i've noticed that it's really hard to use turkish in computer generated messages :shock: for instance prepositions are in form of suffices which change depending on both wovels and last part of the word :evil:
* changed the way animations are loaded (from pre-serialized data). this takes 25% much space (than 3ds) but loads almost 20 times faster.
* added stand and talk animations (well in fact only the mechanism, animations are dummy). paired animations (like kissing each other) is coming soon. stand by ;)
* prepared a formal business plan. for god's sake, should i ever able to find resources for this project  :roll:

btw, i still think much can be done to decrease the serialized data size (with custom writeObject(..) and readObject(..) methods). even the mesh of a simple cube takes 2.5k space when serialized  :?:

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: rolz on October 24, 2005, 08:58:12 am
Looks nice, i'm going to check it out.

regarding heartbeat what transport do you use for the game - HTTP or just plain TCP/IP or UDP ? I assume in case when you use connected sockets you will not need heartbeat at all

regarding serialization - are you sure you need to send mesh data over network ? ;) You may want to choose lightweight objects with minimum required data - like name, gender, body type, hair color and so on - and a factory on client side that will create 3D objects from lightweight ones.

a couple of other tips on serialization - use transient modifier for fields which are not required to be passed over network. you could use ZIP compression to reduce size of serialized objects.

There could also be other techniques that further reduce serialized object's size. Technopolies uses javabeans-based serialization which writes only modified values when serializing the object. It is still flexible and capable of serializing full object graph but has some limitations and drawbacks which may or may not be applicable to your project. If you are interested I could share this code as it is does not have dependencies from the game engine at the moment.

Code: [Select]

WRITE:
Beans: -30ms; Size: 18000
Serialization: -60ms; Size: 421100
Serialization+Zip: -100ms; Size: 122000

READ:
Beans: -280ms
Serialization: -5606ms
Serialization+Zip: -6246ms
Title: aptal karga (foolish crow)
Post by: raft on October 24, 2005, 10:13:40 am
Quote from: "rolz"
regarding heartbeat what transport do you use for the game - HTTP or just plain TCP/IP or UDP ? I assume in case when you use connected sockets you will not need heartbeat at all

no udp or http. i use primarily tcp and for some criticial state information rmi (my type safety obsession :roll: ) i'm afraid heartbeat is necessary even for tcp sockets. otherwise you cannot detect -for instance- an unplugged network cable during inactivity.

i was testing karga in a friends' wireless network. they somehow disconnected but the server and even the clients didnt detect it. i dont know much about tcp low levels but i cannot find any other explanation for this

Quote from: "rolz"
regarding serialization - are you sure you need to send mesh data over network ? ;) You may want to choose lightweight objects with minimum required data - like name, gender, body type, hair color and so on - and a factory on client side that will create 3D objects from lightweight ones.

lol, you got me wrong. i'm not sending mesh data over network for sure. i was talking about about loading animation meshes from serialized (instead of 3ds or md2) files during startup ;)

thanks for the suggestion, it sounds good. i do something similar to your 'incremantal serialization' as i wrote in my first jpct days (http://www.jpct.net/forum/viewtopic.php?t=230). i believe, using transient fields in cooperation with readObject and writeObject methods may significantly lower the necessary space for serialized meshes or other jpct objects. helge are you with us ? :wink:

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: rolz on October 24, 2005, 10:24:44 am
Quote from: "raft"

no udp or http. i use primarily tcp and for some criticial state information rmi (my type safety obsession :roll: ) i'm afraid heartbeat is necessary even for tcp sockets. otherwise you cannot detect -for instance- an unplugged network cable during inactivity.

i was testing karga in a friends' wireless network. they somehow disconnected but the server and even the clients didnt detect it. i dont know much about tcp low levels but i cannot find any other explanation for this

TCP/IP sends ACK packets automatically to track connection losses. I believe that wireless network adapters somehow allow network to operate for some time, waiting for connection to be restored prior to claiming connection loss.

p.s. nice to see you people back after summer hiatus :)
Title: aptal karga (foolish crow)
Post by: raft on October 24, 2005, 10:53:41 am
as i know, ack's are only sent in response to other packages, as receipts. if application doesnt send any data, no packages will be transfered. when the socket is closed (either manually or by an application crash) a connection reset or whatever package is sent to notify peer. but i'm not sure, i dont know much about tcp as i said. who cares, as long as java net api's keep this much high level :wink:

Quote from: "rolz"
p.s. nice to see you people back after summer hiatus :)
 thx :D

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: EgonOlsen on October 24, 2005, 05:30:23 pm
Quote from: "raft"
i believe, using transient fields in cooperation with readObject and writeObject methods may significantly lower the necessary space for serialized meshes or other jpct objects. helge are you with us ?
What can be made transient in Object3D without much hassle already is transient. I don't see how to improve this further without adding more internal complexity to Object3D. For example, it would be possible to not serialize the vertex normals...but only if you haven't changed them in your code by using an IVertexController on the Mesh. Sure i could check for this somehow (or simply ignore it) but i don't think that it's worth it ATM.
Title: aptal karga (foolish crow)
Post by: raft on October 25, 2005, 04:40:37 am
if you say so..  :roll:
Title: aptal karga (foolish crow)
Post by: EgonOlsen on October 25, 2005, 08:21:14 am
I promise that i'll look into that topic once again if i find the time. But i can't promise that it will lead to something... :wink:
Title: aptal karga (foolish crow)
Post by: raft on October 25, 2005, 12:17:33 pm
if you say so..  :D
Title: aptal karga (foolish crow)
Post by: raft 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
Title: aptal karga (foolish crow)
Post by: raft 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:
(http://www.aptalkarga.com/images/shots/karga9.jpg)

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: raft 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
(http://www.aptalkarga.com/images/shots/karga10.jpg)

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: raft 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
Title: aptal karga (foolish crow)
Post by: raft on February 16, 2006, 10:53:06 pm
* added the new girl avatar (she's from turbosquid by bogdan iliesiu)
* fixed a bug about setting default accessories
* finally implemented normal talk mode at server side :/
* improved user movement resulting in smoother movement and less stuck
* added spring period to jump

the new girl avatar
(http://www.aptalkarga.com/images/shots/karga11.jpg)

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: EgonOlsen on February 16, 2006, 11:05:33 pm
Cute... :wink: She looks much better than the old avatar....except when you configure her to have no hair... :wink:
Title: aptal karga (foolish crow)
Post by: rolz on February 17, 2006, 11:24:36 am
looks nice indeed
Title: aptal karga (foolish crow)
Post by: raft on February 17, 2006, 09:48:29 pm
thx :D she's really cute, in fact i may fall in love with her ;) and she's only 470 polygons

for the old avatar, i suspect he's better than quasimodo :oops:

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: raft on February 27, 2006, 03:13:38 pm
* added the new boy avatar.
* improved avatar mechanism to allow mixing texture and mesh based variations.
* changed avatar panel to use thumbnails.
* improved avatar tool to test and fine tune paired animations (can be found at demos (http://www.aptalkarga.com/demos.html) section).
* slightly changed camera behaviour based on distance: one may feel it while adjusting camera with shift + arrow keys. i'm not quite happy with the new default angle but i have to since those avatars arent made to be viewed from above back

the new boy avatar
(http://www.aptalkarga.com/images/shots/karga12.jpg)

girl and boy kissing in test tool
(http://www.aptalkarga.com/images/shots/karga13.jpg)

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: rolz on February 27, 2006, 03:40:15 pm
new models look really awesome.
And animation editor looks awesome too ;) do you use mesh animation for your models (md2 or 3ds) or you have custom animation engine ?
Title: aptal karga (foolish crow)
Post by: raft on February 28, 2006, 11:45:42 am
yeap, he is a really talented 3d artist. but unfortunately i couldnt attract his interest, he doesnt reply my emails  :roll:

i use mesh animation initially stored in a series of 3ds files. then they're saved using standart java serialization to reduce loading time

for the test tool, it is a player more than an animation editor indeed, one can only fine tune and test some aspects of animation (loop time, distance to pair etc)

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: raft on March 08, 2006, 02:38:48 am
re-wrote balloons:
* changed the way they are drawn (i dont know why, previous mechanism hangs a bit on windows during first popup),
* changed their appearance,
* added some smoothness to their movements,
* and they are kind of (not that much) smart now: they try to avoid overlapping each other.

still needs some improvements for a clearer view in crowd

the new balloons
(http://www.aptalkarga.com/images/shots/karga14.jpg)

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: raft on March 23, 2006, 05:04:30 am
* fixed the so called 'climbing problem': avatars were climbing over others and some terrain objects when walking through.  thx Egon for the tip ;)
* added the LightsPanel to configure (place, move, delete, set color etc) lights in karga.
* changed the scene with a better one
* found and fixed a silly bug by chance: although one is always invisible, i was adding the same object twice for LoD purposes :/
* several other small improvements

behind lights panel world lights are displayed as cubes
(http://www.aptalkarga.com/images/shots/karga15.jpg)

a shot from new village
(http://www.aptalkarga.com/images/shots/karga16.jpg)

seems as a hot place ;)
(http://www.aptalkarga.com/images/shots/karga17.jpg)

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: EgonOlsen on March 23, 2006, 06:51:30 pm
Hey, it's looking really ace now. I guess i've to change the pics on the projects page to reflect this... :wink:
Title: aptal karga (foolish crow)
Post by: raft on March 23, 2006, 07:35:33 pm
thx  :D
after the scene change and adding the lights the apperance really changed. my only problem is texture aliasing but i will open a topic about it

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: raft on March 24, 2006, 02:31:54 am
to deal with texture aliasing i've added support for over sampling: use shift and +/- to switch among modes. i dont know who has a such monstrous fast machine but it's there to use :wink:

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: raft on March 28, 2006, 12:42:59 am
i've just noticed Egon has replaced the screenshots at projects page. i'm quite happy with them :) ehm especially after those quasimodo things..  :roll:

btw, an area based mip mapping (mip map level per polygon is decided according to the area of polygon on screen / area of polygon on initial texture) is active and default at the moment, m to switch mip mapping on/off, M to switch between area and distance based mip mapping

it's still work in progress: its effect and performance will be slightly improved but (at least to me) its effect is like a dream at the moment

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: raft on May 06, 2006, 12:40:40 am
well, except a couple of minor bug fixes there is nothing new on coding side. i've just reorganized the site and added some cosmetic makeup.

and, ehm, i've drunk and slept a lot meanwhile :roll: ;)

another shot from village with mipmapping enabled and maximum resolution (ogss)
(http://www.aptalkarga.com/images/shots/karga18.jpg)

the new login screen
(http://www.aptalkarga.com/images/shots/karga19.jpg)

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: raft on July 07, 2006, 10:51:19 pm
among lots of other boring admin and similar staff, these may be of interest:

* added basic sound support using Ogg Vorbis encoding
* added invisibility and away mode
* added dance animation and dance and kiss music
* and alice bot is in ;) she just chats and accepts all suggestions but doesnt move around at least for now

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: EgonOlsen on July 08, 2006, 10:50:04 am
It benefits greatly from the sounds and the music. The chat bot is a nice addition too but she was always calling me "hakan"... :wink:
Well done!
Title: aptal karga (foolish crow)
Post by: raft on July 08, 2006, 02:05:50 pm
thx, i'm glad to hear that from you :)
for alice, yes all users share the same chat session so alice remembers the last user's name ;)
Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: raft on August 09, 2006, 03:10:53 pm
* new dresses are in
* balloons are improved. they look better and placed more smartly. also they are configurable by user

some new shots:
(http://img143.imageshack.us/img143/8803/019zl0.png)
(http://img116.imageshack.us/img116/6017/022bg9.png)
(http://img150.imageshack.us/img150/9466/008by3.png)

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: EgonOlsen on August 10, 2006, 05:37:07 pm
Looks great and you finally got rid of this glove, that the avatars were carrying. It's much better this way. Comparing this project now with the early versions, it's hard to believe that it's the same application. I really like the look and feel of it. Does it get more popular now? There were at least a few people in it everytime i checked it out.
Title: aptal karga (foolish crow)
Post by: raft on August 10, 2006, 06:33:21 pm
thanks Egon  :D 8)
for popularity i'm not sure. time to time i wrote to some national forums to attract users, these are one of those days that's why there's some crowd inside. for other times i've a few old users who regularly visit karga
Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: manumoi on August 10, 2006, 09:31:43 pm
Nice outfits and interface :P
Good job, Raft.
Title: aptal karga (foolish crow)
Post by: raft on August 12, 2006, 02:50:06 am
thx manumoi  :D
Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: EgonOlsen on August 20, 2006, 12:57:37 pm
FYI: I've just done a little bit of "karga benchmarking" to test my shiny new Core2 Duo (with a shitty board (Abit ab9 pro...just don't buy it!!)). The Core2 Duo seems to LOVE Java. I benched in 800*600 on an Athlon XP 3200+, an Athlon 64 4400+ and the Core2 Duo @ 3Ghz. The 3200+ is between 8-13 fps, the 4400+ beween 9-18 fps....and the Core2 between 20-30 fps...  :shock:
Title: aptal karga (foolish crow)
Post by: raft on August 20, 2006, 05:26:34 pm
thanks for the feedback Egon ;)

as you know, as i use fixed timestep aprroach in karga, fps is limited (30 at the moment) so even on a super fast machine or with an empty scene it doesnt -shouldnt- exceed 30 fps

am i missing something ? what's that surprising you  :roll:

a few people reported karga running extremely slow (5 or less fps) on  very fast machines. i've never encountered that but i was suspecting it may be because of dual core cpus (because of thread synchronization or whatever) but according to your benchmark this isnt the case. at least not for all dual core cpus  ;)

btw, i have now a moderate laptop (toshiba m70-162) with intel mobile 915m video chipset but i still cant run fps and car demo with hw renderer at linux (fedora 4) it complains saying it couldnt find a valid video mode :roll: by default fedora 4 didnt recognize my chipset, so i downloaded a recent X server and compiled and installed it

r a f t
Title: aptal karga (foolish crow)
Post by: raft on September 28, 2006, 09:54:28 pm
hello,

since my last post these can be of most interest:
* singleton actions are in, they're available from either popup menu or by typing hot words :action name: in talk panel (:respect:, :clap: etc.)
* added support to rotate and move camera with dragging mouse and wheel respectively

tomorrow night karga is switching to papel system: papel will be money unit of karga and initially some of the dressings and later on some new services will be rented by karga papels. users will also be able to request papels from their partners for dance and kiss ;) hope people wont blame me for encouraging prostitution :roll:

anyway tomorrow (friday, 29th september) night there will be an online party at karga, all jPCT users are welcome ;)

hope to see you in karga

Code: [Select]
r a f t

party place, mushroom club ;)
(http://img227.imageshack.us/img227/5426/screenshotkargatheotherworldpd5.png)
Title: aptal karga (foolish crow)
Post by: EgonOlsen on January 01, 2007, 05:19:50 pm
I'm having a problem to run it on Java6. All i'm getting is this:

(http://www.jpct.net/img/karga_exception.jpg)

Code: [Select]
java.net.MalformedURLException: unknown protocol: socket
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URI.toURL(Unknown Source)
at com.sun.deploy.net.proxy.DeployProxySelector.connectFailed(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at raft.karga.net.Rmi$RmiSocket.<init>(Rmi.java:76)
at raft.karga.net.Rmi$ClientSocketFactory.createSocket(Rmi.java:24)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
at sun.rmi.server.UnicastRef.newCall(Unknown Source)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at raft.karga.client.e.g(Connector.java:142)
at raft.karga.client.e.b(Connector.java:64)
at raft.karga.client.v$2.actionPerformed(LoginPanel.java:101)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Title: aptal karga (foolish crow)
Post by: raft on January 01, 2007, 07:28:06 pm
ehm, i really dont know what's going on :?

it does work on my windows xp and fedora 4. there's one difference though, in untrusted mode (windowed) on windows, javaws displays a warning about connections to cave (localhost). it goes on to connect if user presses cancel :roll:

have you modified any configuration files ? maybe re-installing java6 may help.

on the good side, fullscreen exlusive mode is now supported on my fedora 4

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: EgonOlsen on January 01, 2007, 07:40:03 pm
No, nothing has been modified. This is my girlfriend's machine with a brand new Java6 installation (i also tried to reinstall but it didn't help). I remember a similar problem that i had with a Java6 beta and webstart (webstart couldn't access the server to load the jars). The solution was to modify some Java-config file to use an old style...i don't know...something to do with network stuff. I can't remember exactly what it was... :(
Title: aptal karga (foolish crow)
Post by: EgonOlsen on January 01, 2007, 07:45:56 pm
Found the old thread with that problem, but it doesn't seem to be related to this one. The workaround for that problem (remove dnsns.jar from the lib/ext-dir) doesn't do any good here either.
Title: aptal karga (foolish crow)
Post by: raft on January 01, 2007, 08:36:24 pm
so, it does work on your own machine but not on your girlfriends' one. is it a windows xp ?

can u please try to login using the following link:
http://www.aptalkarga.com/jws/karga_window_logall.jnlp

it logs lots of data to console. i'm interested in the two lines that are printed just after clicking the login button, like below:

Code: [Select]
FINE : create rmi socket www.aptalkarga.com:9998 [Rmi.java, raft.karga.net.Rmi$ClientSocketFactory:createSocket 23] [AWT-EventQueue-0]
FINE : create rmi socket 72.9.254.10:9998 [Rmi.java, raft.karga.net.Rmi$ClientSocketFactory:createSocket 23] [AWT-EventQueue-0]


i really dont know what may cause this but wonder if same information is passed to my rmi socket factories

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: EgonOlsen on January 01, 2007, 10:02:22 pm
I can't try it at my own machine ATM. I don't know, if it works there. Here's the debug:

Code: [Select]
01-Jan-07 21:54:46.125    FINE : pack fullScreen: false, maximized: false, windowSize: java.awt.Dimension[width=512,height=384], displayMode: 512x384 32 bits  60 hertz [Desktop.java, raft.karga.client.j:b 153] [javawsApplicationMain]
01-Jan-07 21:54:46.171    FINE : desktop resized: 512x384 [Desktop.java, raft.karga.client.j$2:componentResized 123] [AWT-EventQueue-0]
01-Jan-07 21:54:46.218    FINE : AvatarPanel.RenderPanel resized -119x-37 [AvatarPanel.java, raft.karga.client.q$_d$2:componentResized 512] [AWT-EventQueue-0]
01-Jan-07 21:54:46.250    FINE : AvatarPanel.RenderPanel resized 246x183 [AvatarPanel.java, raft.karga.client.q$_d$2:componentResized 512] [AWT-EventQueue-0]
01-Jan-07 21:54:46.281    FINE : created buffer 246x183 [AvatarPanel.java, raft.karga.client.q$_d:qf 613] [AWT-EventQueue-0]
01-Jan-07 21:54:57.265    FINE : AvatarPanel.RenderPanel resized 231x183 [AvatarPanel.java, raft.karga.client.q$_d$2:componentResized 512] [AWT-EventQueue-0]
01-Jan-07 21:54:57.375    FINE : created buffer 231x183 [AvatarPanel.java, raft.karga.client.q$_d:qf 613] [AWT-EventQueue-0]
01-Jan-07 21:55:28.281    FINE : create rmi socket www.aptalkarga.com:9998 [Rmi.java, raft.karga.net.Rmi$ClientSocketFactory:createSocket 23] [AWT-EventQueue-0]
Ignored exception: java.net.MalformedURLException: unknown protocol: socket
01-Jan-07 21:55:32.234 WARNING : java.rmi.ConnectIOException: Exception creating connection to: www.aptalkarga.com; nested exception is:
java.net.SocketException: Cant connect to SOCKS proxy:Connection refused: connect [LoginPanel.java, raft.karga.client.v$2:actionPerformed 124] [AWT-EventQueue-0]
java.rmi.ConnectIOException: Exception creating connection to: www.aptalkarga.com; nested exception is:
java.net.SocketException: Can't connect to SOCKS proxy:Connection refused: connect
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
at sun.rmi.server.UnicastRef.newCall(Unknown Source)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at raft.karga.client.e.g(Connector.java:142)
at raft.karga.client.e.b(Connector.java:64)
at raft.karga.client.v$2.actionPerformed(LoginPanel.java:101)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.net.SocketException: Can't connect to SOCKS proxy:Connection refused: connect
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at raft.karga.net.Rmi$RmiSocket.<init>(Rmi.java:76)
at raft.karga.net.Rmi$ClientSocketFactory.createSocket(Rmi.java:24)
... 33 more
Title: aptal karga (foolish crow)
Post by: raft on January 12, 2007, 11:29:53 pm
after some digging and hunting that seems to be a proxy related java bug but i'm not sure exactly what it is

if some of you has the same problem with java 6, can you please run the following application with both java 5 and 6 and post the result here or pm me. i hope this may clarify things

http://www.aptalkarga.com/jws/socks.jnlp

btw, it's a good thing that sun does not update get java page with initial release of every major version. i hope this connection issue will be solved till get java page is updated ;)

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: EgonOlsen on January 13, 2007, 09:28:39 pm
As already known, girlfriend's machine says:

selector: com.sun.deploy.net.proxy.DeployProxySelector@1ea5671
----
1 proxies for socket://www.aptalkarga.com:9998
SOCKS: SOCKS @ /10.10.10.18:8080: class java.net.Proxy, address: /10.10.10.18:8080
Title: aptal karga (foolish crow)
Post by: EgonOlsen on January 14, 2007, 01:07:19 pm
BTW: The jnlp explicitly asks for Java6. Difficult to run it using Java5... :wink:
Title: aptal karga (foolish crow)
Post by: raft on January 14, 2007, 05:26:54 pm
oops :oops: i've corrected the jnlp file. so can u please run it with java 5 so we can compare the results ?

thx
Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: EgonOlsen on January 14, 2007, 06:03:47 pm
Did that...the Console says something about 1.5....so i assume that 1.5 is actually being used. However, the results are exactly the same.

Edit: Can't run karga with 1.5 on this machine. The exception is the same. But i did ran Karga on this machine some month ago with 1.5. I've no idea what's wrong here.... Maybe the problem comes from the fact that even when running it with 1.5, the javaws is the one from 1.6.
Title: aptal karga (foolish crow)
Post by: raft on January 14, 2007, 06:38:36 pm
all my ideas about java bug were depending on the fact that karga runs with java 5 but not with 6. if that's not the case then certainly there's a problem on that machine

as direct connection works on that machine you can workaround the problem by disabling proxy usage, that is: on web start configuration panel, in general tab, in network seettings dialog, select direct connection option

hope that will solve -at least workaround- the problem
Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: EgonOlsen on January 14, 2007, 07:12:08 pm
No, it is a Java6 problem...just not like we thought with Java6 itself but with the webstart client. It defaults to do it's network connection like the browser does. But the browser is set to "direct connection". The webstart client doesn't seem to get it and uses a manual proxy setting instead which is present in the browser but not enabled. Java5's webstart client seemed to be able to handle this correctly, because that inactive setting is present in the browser from the first day of operation of this machine. I used it for setting up the machine and disabled it right after that.
Title: aptal karga (foolish crow)
Post by: raft on January 14, 2007, 07:38:22 pm
i guess you're talking about that java5 web start 6 issue :
Quote from: "Egon"
Maybe the problem comes from the fact that even when running it with 1.5, the javaws is the one from 1.6


you can force web start 5 from command line:
Code: [Select]
<java5 folder>/jre/bin/javaws.exe <jnlp file>

can u please run the test application again with java 5
Title: aptal karga (foolish crow)
Post by: EgonOlsen on January 14, 2007, 07:50:00 pm
Did that. Java5 webstart reads the browser setting correctly (i.e. direct connection) where the Java6 client uses the inactive proxy settings.

Edit: Should be easy to try this yourself. Just enter a proxy in the browser and don't use it but "direct connection". Set the Java network setting to "from browser" and see if it happens on your machine too.
Title: aptal karga (foolish crow)
Post by: raft on January 14, 2007, 08:06:59 pm
so the output of test program differs for web start 5 and 6. possibly java 5's output is something like, meaning direct connection:

Code: [Select]
selector: com.sun.deploy.net.proxy.DeployProxySelector@1592174
----
1 proxies for socket://www.aptalkarga.com:9998
DIRECT: DIRECT: class java.net.Proxy, address: null


if this is the case, we should submit a bug report to sun. i can do that but you have more information about the enviroment

my web start 6 uses correct settings from within both firefox 2.0 and internet explorer 7.0
Title: aptal karga (foolish crow)
Post by: EgonOlsen on January 14, 2007, 08:14:12 pm
Yes, that's what it does. Did some further testings: It uses the Firefox proxy settings, i.e. Firefox has a HTTP-Proxy configured but is set to direct connection. If i change the Firefox setting (and disable it again), it tries to use that one. I'll try the same on my home machine before reporting it.
Title: aptal karga (foolish crow)
Post by: raft on January 14, 2007, 08:41:13 pm
oops, you're right, same happens at my firefox too, provided with proxy settings are read at least once by web start when firefox is set up to use a proxy. after that even i disable the proxy, web start continues to use that proxy

edit: i can submit a bug report with this much information. thx ;)

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: raft on January 15, 2007, 12:28:14 am
i've submitted a bug report. the automated reponse says it may take up to 3 weeks before it is reviewed and processed. we'll see

thx for your help egon, i really appreciate it ;)

Code: [Select]
r a f t
Title: aptal karga (foolish crow)
Post by: EgonOlsen on January 15, 2007, 09:44:12 am
Good that we've finally found the problem. I should have noticed it earlier, because the shown address 10.10.10.18 of course wasn't the IP of that machine...well... :wink:
Title: aptal karga (foolish crow)
Post by: raft on January 17, 2007, 04:16:03 pm
as there is an another bug report (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6484949) related to proxy problem, my request isnt accepted. although i couldnt find it, it's nice to see someone has previosly reported it

Code: [Select]
r a f t
Title: Re: aptal karga (foolish crow)
Post by: raft on March 06, 2007, 04:39:18 am
well, after months i'm back to karga :)

first karga game is in ;D it is the simple 'rock paper scissors' game. right click over a user to suggest him/her to play. ALICE also plays it, btw i doubt any user or program can win a random playing player in long run  8) the implementation is an extension to the current suggestion mechanism and hopefully will help to add more panel games in time.

i've posted this in another thread but i guess it's better to mention here again: i've switched to delta time approach, refactored movement and other relevant code pieces accordingly. especially on slower machines, this will result in smoother movement. it's still a limited fps approach not to use fast cpus to their limits.

playing rock paper scissors with alice ;)
(http://img46.imageshack.us/img46/2725/aliceroshambobp3.jpg)

r a f t
Title: Re: aptal karga (foolish crow)
Post by: eye1 on March 06, 2007, 06:43:04 pm
Nice work raft.

I'm wondering if you use fenggui to show GUI stuff on screen. And if you do, what are your experiences with it?

Regards, Ivan
 
Title: Re: aptal karga (foolish crow)
Post by: raft on March 06, 2007, 07:02:21 pm
thx ;D

no, i decided to stick with software renderer so all my gui is based on swing. i once maked some quick tests with FengGUI to see if it fits into jPCT's hardware renderer support. here is a demo (http://www.aptalkarga.com/jws/fenggui_test.jnlp)

this is the FengGUI related part of source (http://www.aptalkarga.com/download/FengGui.java). it uses the everthing example of FengGUI. the code is quite dirty and you cannot compile or run it without karga classes but it will give an idea

r a f t

Title: Re: aptal karga (foolish crow)
Post by: cyberkilla on March 10, 2007, 12:11:35 am
FengGui looks a little too top-heavy for an important project.

Something like cad, sure, but no games. Not in my opinion anyway.
Title: Re: aptal karga (foolish crow)
Post by: raft on April 02, 2007, 12:26:20 am
well, this is indeed for turkish users of forum (if any), an interview  (http://dl.gameturks.com/nisan2007/)with me about karga ;D

r a f t

Title: Re: aptal karga (foolish crow)
Post by: halcor on April 02, 2007, 01:21:41 pm
Hello from Bulgaria, neighbour  ;)
Title: Re: aptal karga (foolish crow)
Post by: manumoi on April 02, 2007, 05:04:15 pm
hehe Raft, you re becoming famous.... And nice picture  8)... however i don t understand anything to turkish...  ???
Title: Re: aptal karga (foolish crow)
Post by: raft on April 03, 2007, 06:16:03 am
 ;D
Title: Re: aptal karga (foolish crow)
Post by: cyberkilla on April 16, 2007, 09:57:57 pm
I forgot to add that I tested it myself, and it is brilliant;)
Title: Re: aptal karga (foolish crow)
Post by: raft on April 17, 2007, 04:30:36 pm
I forgot to add that I tested it myself, and it is brilliant;)
thx cyber ;D
Title: Re: aptal karga (foolish crow)
Post by: raft on July 07, 2008, 09:34:24 pm
i had published a page for karga at facebook. i also plan to make a facebook application when i find time. it will display online friends, display user avatar in profile page, list user actions in mini feed (raft kissed that, that danced with this etc)

http://www.facebook.com/pages/aptalkarga/19052727583
Title: Re: aptal karga (foolish crow)
Post by: EgonOlsen on July 18, 2008, 12:07:32 am
How did it work out? I can't tell from the comments on the page, because my turkish is limited... ;)
Title: Re: aptal karga (foolish crow)
Post by: raft on July 18, 2008, 12:14:59 am
well nothing fancy, no special interest to page. most of those comments are from old users which are indeed friends
Title: Re: aptal karga (foolish crow)
Post by: raft on October 21, 2009, 10:46:18 pm
karga is now using jPCT 1.19, uses built in mipmapper by default and goes multi threaded on multi core cpu's. on a dual core machine, i've noticed %20 performance increase.

if you have a multi core cpu, especially a quad core one, i'd like to hear her performance on your system.

this is a link to run her single threaded regardless of cpu cores
http://www.aptalkarga.com/jws/karga_single_thread.jnlp

and this one goes multi threaded with multiple cores. if it does, it's logged to java console
http://www.aptalkarga.com/jws/karga_window.jnlp

at the bottom left of screen frames/updates per second is written. updates should always be around 40 and frames should never pass updates. so if your frames is around 40, either increase screen size or sampling or do both :) for sampling -> right click | options | video | sampling

cheers,
r a f t
Title: Re: aptal karga (foolish crow)
Post by: EgonOlsen on October 21, 2009, 11:55:36 pm
On my Core2 Quad @ 3.2Ghz, the single core variant runs @ around 10fps using a maximized window on a 1920*1200 desktop. The multi core variant runs @ 22fps with a cpu load of 65%. About sampling mode: There seems to be a problem with multithreaded downsampling of various buffer heights. It causes image distortion and/or crashes....i'll look into this tomorrow.

BTW: Are you using Config.loadBalancingStrategy=1 or =0 (default)?
Title: Re: aptal karga (foolish crow)
Post by: raft on October 22, 2009, 09:53:54 am
10 to 22, %120 increase, amazing :o ;D

i use loadBalancingStrategy 1. javadocs says 1 is better for dynamic scenes, and i thought it fits better to karga. those avatars make the  scene quite dynamic, right ?
Title: Re: aptal karga (foolish crow)
Post by: EgonOlsen on October 22, 2009, 12:42:02 pm
Yes, 1 is usually better.
Title: Re: aptal karga (foolish crow)
Post by: EgonOlsen on October 22, 2009, 05:19:16 pm
10 to 22, %120 increase, amazing :o ;D
Actually, that's pretty bad. I guess that the Swing GUI is a bottleneck here that prevents Karga from scaling better. Rendering only should scale like +80% increase with one additional core, +50% with two additional cores and +30% with four cores.
Title: Re: aptal karga (foolish crow)
Post by: raft on October 22, 2009, 05:57:40 pm
possibly right. but it is all i have for such a complicated gui.
Title: Re: aptal karga (foolish crow)
Post by: EgonOlsen on October 22, 2009, 11:46:59 pm
There seems to be a problem with multithreaded downsampling of various buffer heights. It causes image distortion and/or crashes....i'll look into this tomorrow.
I've looked into this issue and updated the jar. However, the fix is not 100% satisfying ATM. When using OGSS_FAST on a buffer of an uneven width, i had to to disable multi threaded downsampling. I just couldn't get that combination to work. OGSS should work fine though and sp should OGUS. Please give it a try anyway.
Title: Re: aptal karga (foolish crow)
Post by: raft on October 23, 2009, 08:23:06 am
thank you. i'l try it this evening or tomorrow.
Title: Re: aptal karga (foolish crow)
Post by: EgonOlsen on October 23, 2009, 10:52:16 am
However, the fix is not 100% satisfying ATM. When using OGSS_FAST on a buffer of an uneven width, i had to to disable multi threaded downsampling. I just couldn't get that combination to work.
Sometimes its useful to let some time pass, step back, delete all the stupid code and start from scratch...i did that with the downsampling and now it works multi threaded in all modes and all resolutions. I'll update the jar later as well as the official 1.19 release.
Title: Re: aptal karga (foolish crow)
Post by: EgonOlsen on October 23, 2009, 05:25:15 pm
I've uploaded a fixed jar. It's the same as the jar that is in the 1.19 update except that it carries the version number 1.20 instead of 1.19.
Title: Re: aptal karga (foolish crow)
Post by: raft on October 23, 2009, 07:15:37 pm
i've uploaded new jPCT jar to karga. all seems ok..
Title: Re: aptal karga (foolish crow)
Post by: EgonOlsen on October 23, 2009, 11:15:01 pm
Yes, works fine now. I've shown Karga to my almost 2 year old son. He loved hitting space to make the character jump and always winked at him expecting him to wink back. It would be really cool, if the gestures were mapped on some keys so that he can trigger them himself...
Title: Re: aptal karga (foolish crow)
Post by: raft on October 24, 2009, 01:14:46 pm
;D kids generally like jumping in karga i suppose. also i do  :D
gestures are activated either from popup menu or typing their names with a suffix and prefix colon, like :respect:

as karga is designed as a chat system in the very core, typing seemed more natural to me. but i agree some hot keys may be cool. let me see, if i have some time..
Title: Re: aptal karga (foolish crow)
Post by: raft on October 25, 2009, 03:51:11 pm
Quote from: EgonOlsen
It would be really cool, if the gestures were mapped on some keys so that he can trigger them himself...

done. keys 1 to 6 are bound to actions (gestures). keys up to 9 are reserved for future actions..
Title: Re: aptal karga (foolish crow)
Post by: EgonOlsen on November 25, 2009, 04:39:56 pm
Any information on when the server will be back online? I'm having a hard time since a few days to explain my son, why his virtual friend isn't available...
Title: Re: aptal karga (foolish crow)
Post by: raft on November 25, 2009, 04:47:49 pm
damn old hosting company. they just firewalled karga's ports which i had been using for 5 years. they shamelessly offer a higher package which costs double !$#%

i'm in the process of moving karga to a new server. karga server itself seems to be up at the moment, but problems may occur.. mail related functionality doesn't work yet..

say hello to your son :)
Title: Re: aptal karga (foolish crow)
Post by: EgonOlsen on November 25, 2009, 04:56:03 pm
Cool! Mail isn't a problem. He usually jumps and winks...he never mailed anything...yet... ;D
Title: Re: aptal karga (foolish crow)
Post by: raft on November 27, 2009, 05:01:21 pm
there is new light at the end of the tunnel for porting karga to OpenGL :D

JBullet guy modified GNU Classpath's reimplementation of Swing and made it renderable on different contexes like OpenGL.
* the home page of project: it's called PureSwing (http://pureswing.advel.cz/)
* and the thread of it (http://www.javagaming.org/index.php/topic,21430.0.html) at JavaGaming forums

current OpenGL implementation makes heavy use of Shaders and hence does not work on low end HW (like my intel on board chipsets) but he will port it to pure LWJGL

i can't wait it :D
r a f t
Title: Re: aptal karga (foolish crow)
Post by: EgonOlsen on May 10, 2010, 06:44:48 pm
How do i enable Alice again after hiding her once  ???
Title: Re: aptal karga (foolish crow)
Post by: raft on May 10, 2010, 06:47:01 pm
right click | options | privacy | invisible list. remove alice from list
Title: Re: aptal karga (foolish crow)
Post by: zammbi on August 12, 2010, 06:58:22 am
Looks nice. Have you done any more work to it lately? I suggest a public blog or news page.
Some reason I couldn't zoom back in or lower my quality(was in window mode). Might be a bug...
Then it disconnected me, and having trouble getting back in(connection timing out).

I found the movement/animations too slow... not really a big problem though.

Title: Re: aptal karga (foolish crow)
Post by: raft on August 12, 2010, 02:02:50 pm
thanks :) it has been a long time i haven't developed anything for karga..

i suppose connection timeout is a temporary network issue. possibly it's ok now