erikd
JGO Kernel      Posts: 2561 Medals: 7
Maximumisness
|
 |
«
Reply #30 on:
2003-07-16 06:52:01 » |
|
Too bad it is difficult to do that for Web Start.. You could try to add the following lines to the (cached) jnlp file of Wurm Online, in the <resources> element: <property name="sun.java2d.ddscale" value="false"/> <property name="sun.java2d.noddraw" value="true"/> <property name="sun.java2d.ddoffscreen" value="false"/> <property name="sun.java2d.d3d" value="false"/>
|
|
|
|
swpalmer
JGO Kernel      Posts: 3438 Medals: 4
Where's the Kaboom?
|
 |
«
Reply #31 on:
2003-07-16 07:14:49 » |
|
I guess that might work, so long as WebStart ran the app in a new VM. WebStart itself will have started and likely popped up a 'downloading' GUI before any of those parameters could be read.
It would make for an interesting experiment anyway.
|
|
|
|
Markus_Persson
JGO Kernel      Posts: 2092 Medals: 10
Mojang Specifications
|
 |
«
Reply #32 on:
2003-07-16 07:40:10 » |
|
The terrain looks very nice... what kind of rendering are you using (ROAM / CLOD / Brute force etc...)? As I said, it's very brute-force-ish.  I implemented ROAM just to see how it worked, and I got slightly better results in the heightmap, but ran into rather big problems when it came to the dynamic textures. I realize that brute-force terrain mipping is not as "cool", but it seems to do the trick well enough, while leaving the code simple enough to keep it relatively bug free.
|
|
|
|
Games published by our own members! Go get 'em!
|
|
Matzon
« League of Dukes » JGO Kernel      Posts: 1805 Medals: 8
I'm gonna wring your pants!
|
 |
«
Reply #33 on:
2003-07-16 07:49:14 » |
|
Regarding the LWJGL-fullscreen-failing-after-swing component bug, I have contacted the ATI CATALYST team, and awaiting their response. The crash is happening in wglMakeCurrent. The parameters passed to it, is fine - and even if they weren't it still shouldn't crash _inside_ that method!
|
|
|
|
elias
|
 |
«
Reply #34 on:
2003-07-16 10:52:19 » |
|
just a crazy suggestion:
wglMakeContextCurrent (instead of wglMakeCurrent) is used when dealing with Pbuffers. Maybe the same call has to be used in the gl window? It's an extension so it have to be detected, but it' worth a try.
- elias
|
|
|
|
Markus_Persson
JGO Kernel      Posts: 2092 Medals: 10
Mojang Specifications
|
 |
«
Reply #35 on:
2003-07-16 11:18:30 » |
|
Promoted the Jogl version to the main version, and got rid of the LWJGL version. The only url now is http://www.theintraclinic.com/wurm/, and /wurmjogl/ is gone.
|
|
|
|
rgeimer
Jr. Member   Posts: 51
|
 |
«
Reply #36 on:
2003-07-16 12:36:14 » |
|
Nothing but errors for me:
java.lang.UnsatisfiedLinkError: no timer in java.library.path at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at com.dnsalias.java.timer.windows.WindowsTimer.loadLibrary(WindowsTimer.java:30) at com.dnsalias.java.timer.windows.WindowsTimer.available(WindowsTimer.java:18) at com.dnsalias.java.timer.AdvancedTimer.init(AdvancedTimer.java:33) at com.dnsalias.java.timer.AdvancedTimer.<init>(AdvancedTimer.java:25) at com.wurmonline.client.WurmClient.run(WurmClient.java:177) at com.wurmonline.client.WurmClient$4.run(WurmClient.java:256) 14 fps 20 fps 18 fps 20 fps 18 fps 18 fps java.net.SocketException: Address family not supported by protocol family: no further information at sun.nio.ch.DatagramChannelImpl.disconnect0(Native Method) at sun.nio.ch.DatagramChannelImpl.disconnect(Unknown Source) at org.rubberbrain.util.udp.UdpClient.disconnect(UdpClient.java:57) at org.rubberbrain.rhyme.RhymeClient.disconnect(RhymeClient.java:184) at com.wurmonline.client.gui.WorldView.disconnect(WorldView.java:842) at com.wurmonline.client.gui.WorldView.clientTick(WorldView.java:781) at com.wurmonline.client.WurmClient.clientTick(WurmClient.java:221) at com.wurmonline.client.WurmClient.run(WurmClient.java:208) at com.wurmonline.client.WurmClient$4.run(WurmClient.java:256)
...
the message window also constantly reports GLERRORs. When I try to force quit, my computer crashes.
Windows XP Pro Java 1.4.2 P4 2GHz 512M RAM Intel 82845G/GL Graphics (built into Dell motherboard)
|
|
|
|
|
Markus_Persson
JGO Kernel      Posts: 2092 Medals: 10
Mojang Specifications
|
 |
«
Reply #37 on:
2003-07-16 12:43:47 » |
|
Ah, I think I know what caused the first stacktrace, and the second one is known, but not fatal. It happens when the UDP package tries to disconnect from the server. As for the GL errors, I blame your drivers and/or card.  Thanks for the feedback! [edit: Typo] [edit2:] Yep, fixed the first error. I had forgotten to include the native libs for the gagetimer for win32.
|
|
|
|
EgonOlsen
JGO Strike Force    Posts: 821 Medals: 6
|
 |
«
Reply #38 on:
2003-07-16 13:42:51 » |
|
As for the GL errors, I blame your drivers and/or card.  Edit: I had posted a text about not being too sure that it's driver related here....forget it! ATI released the Cat 3.6 today (or yesterday) and the problem with the jogl version is gone now!! No more graphics glitches.
|
|
|
|
Markus_Persson
JGO Kernel      Posts: 2092 Medals: 10
Mojang Specifications
|
 |
«
Reply #39 on:
2003-07-17 18:25:36 » |
|
0.0.13a is up To quote the annoying popup: New in 0.0.13a:
- The trees now work the way they're supposed to
- Swimming!
[/tt] Framerate is bound to be horrible. I'm getting ~60 fps in this version. I'll optimise the tree culling further.. As it is now, I get the same fps with tree culling on as I do when it's off, and the culling strips about two thirds of the trees. 
|
|
|
|
Games published by our own members! Go get 'em!
|
|
kaffiene
Sr. Member   Posts: 418 Medals: 1
|
 |
«
Reply #40 on:
2003-07-17 18:53:03 » |
|
As I said, it's very brute-force-ish.  I implemented ROAM just to see how it worked, and I got slightly better results in the heightmap, but ran into rather big problems when it came to the dynamic textures. I realize that brute-force terrain mipping is not as "cool", but it seems to do the trick well enough, while leaving the code simple enough to keep it relatively bug free. No, that's quite sensible. The CLOD (chunked level of detail) approach is only a tweak on top of the geomip-mapped approach and that seems to be one of the most popular approaches recently. IMO ROAM is a doomed approach for HW acelerated rendering. No point in tying up the CPU when the HW can handle the data just fine. Thanks for the answer.
|
|
|
|
|
Markus_Persson
JGO Kernel      Posts: 2092 Medals: 10
Mojang Specifications
|
 |
«
Reply #41 on:
2003-07-19 15:02:12 » |
|
0.0.14a is up. Look at this cool screenshot instead of playing it, as performance is bound to be horrible, but I'll let further optimisations wait until later. I'll keep the server up for a couple of hours from posting this, just so you know.
|
|
|
|
AndersDahlberg
Full Member   Posts: 196
|
 |
«
Reply #42 on:
2003-07-19 15:19:47 » |
|
Why did you have to tell us not to download and play it? Now I just have to  Downloading now using my lovely 56k connection (I miss my broadband god dammit!). EDIT: The screenshot is cool and very nice looking...  Hate being a nitpick, but the good 'ol "can't change display mode" problem is back - so much for trying to get my system to crawl 
|
|
|
|
|
Markus_Persson
JGO Kernel      Posts: 2092 Medals: 10
Mojang Specifications
|
 |
«
Reply #43 on:
2003-07-19 15:36:58 » |
|
uhoh. Got a stacktrace or two for me?  I should learn to just leave code alone once it works.
|
|
|
|
AndersDahlberg
Full Member   Posts: 196
|
 |
«
Reply #44 on:
2003-07-19 15:41:06 » |
|
sure: java.lang.UnsupportedOperationException: Cannot change display mode at java.awt.GraphicsDevice.setDisplayMode(Unknown Source) at com.wurmonline.client.WurmClient.initGraphics(WurmClient.java:138) at com.wurmonline.client.WurmClient.init(WurmClient.java:41) at com.wurmonline.client.WurmClient$4.run(WurmClient.java:253) java.lang.reflect.InvocationTargetException at java.awt.EventQueue.invokeAndWait(Unknown Source) at javax.swing.SwingUtilities.invokeAndWait(Unknown Source) at com.wurmonline.client.WurmClient.clientTick(WurmClient.java:224) at com.wurmonline.client.WurmClient.run(WurmClient.java:172) at com.wurmonline.client.WurmClient$4.run(WurmClient.java:255) Caused by: net.java.games.jogl.GLException: Error making context current at net.java.games.jogl.impl.x11.X11GLContext.makeCurrent(X11GLContext.java:138) at net.java.games.jogl.impl.x11.X11OnscreenGLContext.makeCurrent(X11OnscreenGLContext.java:108) at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:156) at net.java.games.jogl.GLCanvas.displayImpl(GLCanvas.java:179) at net.java.games.jogl.GLCanvas.display(GLCanvas.java:84) at com.wurmonline.client.WurmClient$3.run(WurmClient.java:228) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(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) Linux java.lang.NullPointerException at com.wurmonline.client.gui.WorldView.gameTick(WorldView.java:525) at com.wurmonline.client.WurmClient.gameTick(WurmClient.java:215) at com.wurmonline.client.WurmClient.run(WurmClient.java:196) at com.wurmonline.client.WurmClient$4.run(WurmClient.java:255)
|
|
|
|
|
Markus_Persson
JGO Kernel      Posts: 2092 Medals: 10
Mojang Specifications
|
 |
«
Reply #45 on:
2003-07-19 16:07:15 » |
|
Yeah, it's the same thing.. But I've FIXED that. :-/ (or worked around, rather)
Sometimes I just don't understand java.
|
|
|
|
jbanes
JGO Neuromancer     Posts: 1178
"Java Games? Incredible! Mr. Incredible, that is!"
|
 |
«
Reply #46 on:
2003-07-19 17:07:32 » |
|
For me it connects to the server, the screen goes blood red, and the error messages state "GL: Invalid Enumerant (1280)". I get 1 fps on my black and red screen. Specs:
PIII 733 w/512MB GeForce2 GTS w/32 MB
|
|
|
|
Markus_Persson
JGO Kernel      Posts: 2092 Medals: 10
Mojang Specifications
|
 |
«
Reply #47 on:
2003-07-21 08:25:44 » |
|
Enumerant 1280 seems to have something to do with some nvidia extensions.. Can't find specifically what it is, though.
Oh, and Wurm requires OpenGL 1.4 (uses automatic mipmap creation right now, and will use multidrawarrays later on), so make sure you've got the latest drivers.
|
|
|
|
jbanes
JGO Neuromancer     Posts: 1178
"Java Games? Incredible! Mr. Incredible, that is!"
|
 |
«
Reply #48 on:
2003-07-21 08:36:29 » |
|
I have the latest as of March, so that should be up to date.
|
|
|
|
Markus_Persson
JGO Kernel      Posts: 2092 Medals: 10
Mojang Specifications
|
 |
«
Reply #49 on:
2003-07-21 08:40:14 » |
|
<route type="easy">Ok, then your system isn't one of the target systems.</route>  Hey, what was that sound? Oh, we just lost half our customer base!
|
|
|
|
Markus_Persson
JGO Kernel      Posts: 2092 Medals: 10
Mojang Specifications
|
 |
«
Reply #50 on:
2003-07-22 05:11:45 » |
|
0.0.15a is up. (settings, loginscreen, optimisations) That pretty much wraps up the first version of the client.
Now I implement picking and basic world interaction.
|
|
|
|
swpalmer
JGO Kernel      Posts: 3438 Medals: 4
Where's the Kaboom?
|
 |
«
Reply #51 on:
2003-07-22 06:47:37 » |
|
Looking really nice.. The distant hills look much better than the previous version I tried out.
My friend asked how you built the landscape and suggested using real-world elevation data.. apparently it is easy to get.
|
|
|
|
Markus_Persson
JGO Kernel      Posts: 2092 Medals: 10
Mojang Specifications
|
 |
«
Reply #52 on:
2003-07-22 06:53:34 » |
|
Thanks. =)
I found some sites with heightmaps, and got about halfway through loading them before remembering that we're supposed to have "random" maps.
Each server is going to run it's own map, and the maps are going to be way too big for us to make them manually.
Oh, ok, we're lazy.
|
|
|
|
cknoll
Full Member   Posts: 126
Flame On!
|
 |
«
Reply #53 on:
2003-07-22 07:05:43 » |
|
Hey, lookin good now, i really like it.
If i may make a suggestion, i've seen this effect done in other games, and i think it would be very helpful in this one: When objects are brought into view, there is a sort of 'fade in' (i guess the transparency is brought from 100% to 0% over the course of a few seconds) and it makes it look a lot smoother walking around, than if trees and tall grass was just blipping in and out of the screen immediately. Maybe you'd could implement that when an object is made visible on the screen, it is placed in the drawing area transparant, and when the object is to be removed, it can fade away first? Just a thought.
-Chris
|
|
|
|
|
Mojomonkey
JGO Ninja    Posts: 540 Medals: 3
ooh ooh eee eeee
|
 |
«
Reply #54 on:
2003-07-22 07:24:23 » |
|
Fantastic vegetation. I've been recently looking into that. What technique did you use for the grass and trees? That's exactly the look I wanted to go for in my app. Any pointers would be great. Keep it up, it's starting to look fantastic.
|
Don't send a man to do a monkey's work.
|
|
|
Markus_Persson
JGO Kernel      Posts: 2092 Medals: 10
Mojang Specifications
|
 |
«
Reply #55 on:
2003-07-22 07:26:03 » |
|
I've considered that, but I'm not entirely sure how other people do that.. I'd need to z-sort everything each frame, and there can be up to a thousand trees and a thousand "grasspatches" in view at the same time..
That's 4000 multiplications and 2000 sqrts. :-/
|
|
|
|
Markus_Persson
JGO Kernel      Posts: 2092 Medals: 10
Mojang Specifications
|
 |
«
Reply #56 on:
2003-07-22 07:43:31 » |
|
Fantastic vegetation. I've been recently looking into that. What technique did you use for the grass and trees? That's exactly the look I wanted to go for in my app. Any pointers would be great. Keep it up, it's starting to look fantastic. This could get lengthy, but here we go: There are two similar systems in place, one for the trees and other "big" items (like buildings and so) and one for the tile decoration. Whenever the user moves to a new tile, the engine scans the closest tiles with a simple for (x=-n; x<n; x++) for (y=-n; y<n; y++) for trees. For each tile that contains a tree, it calculates how far away it is from the tile the user and how many tree neighbors it has. If the ratio of neighbors versus distance is over a certain threshold, AND the tree is on an "odd" tile (odd==((x+y)&1)), that tree is ignored. (effectively "trimming" dense forests when they are far away that you don't notice the difference) Then a new Random is created with x*somePrime+y*someOtherPrime as the seed, and a new Tree object is created based on that Random object. This will ensure that a tree on a specific tile will always look the same without me ever having to store that information. Information like offset within the tile, rotation, size and color is generated. That Tree object is then added to a SortedSet, sorted by distance. The rendering loop iterates over the set, checks if the tile the tree is on is visible, and renders the tree if it is. The first trees up to a certain limit are rendered in high detail mode (right now just a cross of three polygons. Will be full models later), and the rest are rendered in low detail mode (billboards). When more than the maximum number of trees has been rendered, the iterator exits. Tile decorations work almost the same, with the exception of the texture of the tile deciding what types of decorations will be added to it. The amount of decorations added to a tile depends on the distance to that tile, with the biggest decorations being added first.
|
|
|
|
erikd
JGO Kernel      Posts: 2561 Medals: 7
Maximumisness
|
 |
«
Reply #57 on:
2003-07-22 07:44:56 » |
|
I'd give it a try and see how much performance it will cost. In my experience, z-sorting doesn't take that much time and will make blended stuff look better...
|
|
|
|
Markus_Persson
JGO Kernel      Posts: 2092 Medals: 10
Mojang Specifications
|
 |
«
Reply #58 on:
2003-07-22 07:51:22 » |
|
It WOULD be nice.. The grass would look a lot better if it was blended for real instead of just "clipped" as it is now. But I've got a lot of intersecting polygons. Like ALL trees. 
|
|
|
|
AndersDahlberg
Full Member   Posts: 196
|
 |
«
Reply #59 on:
2003-07-22 08:06:47 » |
|
/me is jealous of all others being able to see this beautiful world Maybe I should pray to "Nick" so that he fixes the linux bug by some of his "godly powers" 
|
|
|
|
|
|