Nate
|
 |
«
Posted
2010-09-03 04:01:19 » |
|
It's taken me forever to get anywhere on my game, but I finally have a little to show. Here is an applet version: http://www.esotericsoftware.com/dragon-applet/applet.htmlWhen run it connects to my server and you get control of a random character (out of 15 total). If you find you are alone, you can run it again in a new tab in your browser. Click your character, click move or attack, then click an adjacent square to move or attack. You can only move 1 square at a time. A square must be occupied for an attack to happen. Once you are dead you stay connected but you no longer have a character to control. Click and drag to move the view of the map. The game is destined for both the desktop and Android phones. I know the buttons to control your guy are non-intuitive, but it was quick. Right now it's hard to tell which guy is actually yours. I'll replace it with a better system soon. Mostly I just would like people to connect and mess around to see if there are any issues with the networking. 
|
|
|
|
teletubo
|
 |
«
Reply #1 - Posted
2010-09-03 04:50:23 » |
|
no luck here, Nate . it pops up a "Dragon Server" JFrame, wich prints 1 2 3 4 5 6 7 8 9 10
| 00:00 DEBUG: [kryonet] Broadcasted host discovery on port: 54777 00:01 INFO: [kryonet] Host discovery timed out. 00:02 DEBUG: [kryonet] Port 3352/TCP connected to: nateshome.dnsalias.com/98.237.143.225:54777 00:04 DEBUG: [kryonet] Unable to update connection: nulljava.net.SocketTimeoutException: Connected, but timed out during UDP registration.
at com.esotericsoftware.kryonet.Client.connect(Client.java:190) at com.esotericsoftware.kryonet.Client.connect(Client.java:117) at com.esotericsoftware.dragon.Dragon.onStart(Dragon.java:86) at com.esotericsoftware.skorpios.opengl.DesktopGLView.start(DesktopGLView.java:73) at com.esotericsoftware.skorpios.opengl.AppletGLView$2$1.run(AppletGLView.java:39) |
when I close it, the applet is pitch black and no response .
|
|
|
|
Nate
|
 |
«
Reply #2 - Posted
2010-09-03 06:05:46 » |
|
Hmm. Can you try again?
Cool, someone joined (mushroom) and I whacked them a couple times. Some synchronization problems though.
|
|
|
|
Games published by our own members! Check 'em out!
|
|
zammbi
|
 |
«
Reply #3 - Posted
2010-09-03 06:25:16 » |
|
Worked fine for me. Cool, someone joined (mushroom) and I whacked them a couple times. Some synchronization problems though.
Yeah that was me. I killed 2 people.
|
|
|
|
Mads
|
 |
«
Reply #4 - Posted
2010-09-03 11:30:24 » |
|
I got the same problem as teletubo. I'm on a dual-booted ubuntu - installed yesterday.
|
|
|
|
gouessej
|
 |
«
Reply #5 - Posted
2010-09-03 13:28:08 » |
|
Sorry: java.io.IOException: Unable to connect to: nateshome.dnsalias.com/98.237.143.225:54777 at com.esotericsoftware.kryonet.TcpConnection.connect(TcpConnection.java:91) at com.esotericsoftware.kryonet.Client.connect(Client.java:154) at com.esotericsoftware.kryonet.Client.connect(Client.java:109) at com.esotericsoftware.dragon.Dragon.onStart(Dragon.java:86) at com.esotericsoftware.skorpios.opengl.DesktopGLView.start(DesktopGLView.java:73) at com.esotericsoftware.skorpios.opengl.AppletGLView$2$1.run(AppletGLView.java:39) Caused by: java.net.SocketTimeoutException at sun.nio.ch.SocketAdaptor.connect(Unknown Source) at com.esotericsoftware.kryonet.TcpConnection.connect(TcpConnection.java:76) ... 5 more
I will retry later at home.
|
|
|
|
Hsaka
|
 |
«
Reply #6 - Posted
2010-09-03 14:17:34 » |
|
I got: 1 2 3 4 5 6 7 8 9 10 11 12 13
| Exception in thread "GL" com.esotericsoftware.skorpios.SkorpiosException: Error starting view. at com.esotericsoftware.skorpios.opengl.AppletGLView$2$1.run(AppletGLView.java:41) Caused by: org.lwjgl.LWJGLException: Pixel format not accelerated at org.lwjgl.opengl.WindowsPeerInfo.nChoosePixelFormat(Native Method) at org.lwjgl.opengl.WindowsPeerInfo.choosePixelFormat(WindowsPeerInfo.java:52) at org.lwjgl.opengl.WindowsDisplay.createWindow(WindowsDisplay.java:185) at org.lwjgl.opengl.Display.createWindow(Display.java:315) at org.lwjgl.opengl.Display.create(Display.java:855) at org.lwjgl.opengl.Display.create(Display.java:783) at org.lwjgl.opengl.Display.create(Display.java:764) at com.esotericsoftware.skorpios.opengl.AppletGLView$1.setupDisplay(AppletGLView.java:20) at com.esotericsoftware.skorpios.opengl.DesktopGLView.start(DesktopGLView.java:65) at com.esotericsoftware.skorpios.opengl.AppletGLView$2$1.run(AppletGLView.java:39) |
I'll try again when I get home.
|
|
|
|
|
Eli Delventhal
|
 |
«
Reply #7 - Posted
2010-09-03 16:40:06 » |
|
Looks like a good start. I was able to kill myself with some sync issues, like for example my two characters each thought they had killed the other, then the both disappeared when the server caught up.
|
|
|
|
BoBear2681
|
 |
«
Reply #8 - Posted
2010-09-03 16:47:18 » |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| 00:02 DEBUG: [kryonet] Broadcasted host discovery on port: 54777 00:02 INFO: [kryonet] Host discovery timed out. 00:03 DEBUG: [kryonet] Port 4099/TCP connected to: nateshome.dnsalias.com/98.237.143.225:54777 00:03 INFO: [kryonet] Connection 23 connected: nateshome.dnsalias.com/98.237.143.225 00:03 DEBUG: [kryonet] Connection 23 received TCP: AddCharacter 00:03 DEBUG: [kryonet] Connection 23 received TCP: AddCharacter Exception in thread "GL" com.esotericsoftware.skorpios.SkorpiosException: OpenGL error: Invalid value at com.esotericsoftware.skorpios.opengl.GL.throwGLError(GL.java:50) at com.esotericsoftware.skorpios.opengl.DesktopGL.loadTexture(DesktopGL.java:46) at com.esotericsoftware.skorpios.opengl.Image.reload(Image.java:82) at com.esotericsoftware.skorpios.opengl.Image.<init>(Image.java:30) at com.esotericsoftware.dragon.AnimationManager.activate(AnimationManager.java:107) at com.esotericsoftware.dragon.Character.setAnimation(Character.java:63) at com.esotericsoftware.dragon.Dragon.applyAnimation(Dragon.java:97) at com.esotericsoftware.dragon.Dragon$1.apply(Dragon.java:56) at com.esotericsoftware.dragon.Dragon$2.received(Dragon.java:78) at com.esotericsoftware.kryonet.Listener$QueuedListener$3.run(Listener.java:107) at com.esotericsoftware.dragon.Dragon.render(Dragon.java:151) at com.esotericsoftware.skorpios.opengl.DesktopGLView.start(DesktopGLView.java:147) at com.esotericsoftware.skorpios.opengl.AppletGLView$2$1.run(AppletGLView.java:39) |
Does this mean that ghetto integrated graphics won't cut it?
|
|
|
|
|
Mads
|
 |
«
Reply #9 - Posted
2010-09-03 19:27:36 » |
|
This now works for me  it is a cool start
|
|
|
|
Games published by our own members! Check 'em out!
|
|
steveyO
|
 |
«
Reply #10 - Posted
2010-09-03 23:10:18 » |
|
Nope sorry, same has Hsaka and BoBear.. Windows 2000, old(ish) laptop :-)
|
|
|
|
Nate
|
 |
«
Reply #11 - Posted
2010-09-05 06:49:54 » |
|
Thanks everyone for trying it!  gouessej, it looks like you were unable to establish a connection to my server. Any chance the problem is with your network? Hsaka, "Pixel format not accelerated" looks like you don't have OpenGL, is that possible? Eli, any chance you can provide repro steps?  BoBear2681, hmm. The line before the GL error check that failed is... 1
| GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, GL11.GL_RGBA8, width, height, 0, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, buffer); |
Anyone know if it would be better to pass GL11.GL_RGBA for internalFormat (3rd param)? However, the error check could be from an earlier call. On Android there is a way to turn on error checks after every GL call. Is there something like that for LWJGL? steveyO, Hsaka and BoBear had different errors, which one did you get? I think BoBear's error is fixable, but Hsaka's is just a lack of OpenGL support. The company I worked for had a reduction in force, so the satellite office I worked at got closed. Yay, more free time to work on my game! 
|
|
|
|
zammbi
|
 |
«
Reply #12 - Posted
2010-09-05 07:19:24 » |
|
Hsaka, "Pixel format not accelerated" looks like you don't have OpenGL, is that possible?
Can come from broken or old/beta drivers.
|
|
|
|
Nate
|
 |
«
Reply #13 - Posted
2010-09-08 10:16:21 » |
|
Heh, I was developing and saw someone was trying to connect. The version mismatch caused them to disconnect immediately though. I've updated the applet and I'll do my development on a different port.  I've been doing a lot of work on the game's framework, around abilities. I want to get that solid so I can go nuts adding ton of abilities. So it is mostly the same, with a better UI for choosing targets and a silly transition for the buttons. 
|
|
|
|
Eli Delventhal
|
 |
«
Reply #14 - Posted
2010-09-10 19:16:06 » |
|
Eli, any chance you can provide repro steps?  Not really, unfortunately. Basically, I had two browser windows open, each running the app, and each character attacked the other, then both of them died. This could be a logic issue rather than a sync issue (i.e. someone is allowed to finish an attack after they're already dead).
|
|
|
|
Nate
|
 |
«
Reply #15 - Posted
2010-09-11 11:55:54 » |
|
Thanks Eli, I now handle that situation.  I just updated the applet (and server) to the latest. Everything is significantly better. I can now add actions that affect the networked simulation with very little code. Abilities have cooldowns and the ability buttons have fancy shmancy animation. Everything is server enforced, ability usage, cooldowns, etc. Also, there is proper pathing, and any collisions during walking are server enforced. The slightly darker gray squares show which squares are occupied by a character. I added heal and run abilities just for kicks. The heal ability has particle effects, though they are just hacked in. My next programming push will be all about making it easy to create new effects. The particle editor in Skorpios just needs some TLC. Effects include projectiles. After effects, I will have to start thinking about gameplay. I have tons of ideas for that. I'll probably use a point system similar to the various miniatures board games, except that I will allow character customization. Eg, you start with X points and you spend points to build a party of characters. You can also spend points to buy and/or customize abilities for your characters. This should add huge gameplay depth. The mage class could be tweaked to be a fire mage, ice mage, enchanter (buffs other characters), jack-of-all-trades, etc. This also helps squeeze more out of my limited number of sprites (~17). Balancing will be fun! 
|
|
|
|
markus.borbely
|
 |
«
Reply #16 - Posted
2010-09-11 13:28:57 » |
|
I got a network timeout exception yesterday, but today it worked! It works. Sometimes walking is stuttering a bit, sometimes teleporting. I think the client could guess more freely what the server are going to permit. I saw strange texts flashing under one of my characters. "e etc" "addChi" or something like that. Another character hade some strange dot pattern under him. Some texture gone wrong? A gameplay thing. Attacks should never need cooldown after I arrive! The one standing and waiting will always get the first hit. And sometimes he can just move away after that. But I guess it is to early for gameplay comments... 
|
|
|
|
|
Dries
Senior Newbie 
|
 |
«
Reply #17 - Posted
2010-09-11 20:04:48 » |
|
I'm getting this error in my Java Console when trying to open the applet :
java.net.MalformedURLException: no protocol: lwjgl_util_applet.jar at java.net.URL.<init>(Unknown Source) at java.net.URL.<init>(Unknown Source) at sun.plugin.util.GrayBoxPainter.setProgressFilter(Unknown Source) at sun.plugin2.applet.Plugin2Manager.setupGrayBoxPainter(Unknown Source) at sun.plugin2.applet.Plugin2Manager.access$600(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) java.net.MalformedURLException: no protocol: lzma.jar at java.net.URL.<init>(Unknown Source) at java.net.URL.<init>(Unknown Source) at sun.plugin.util.GrayBoxPainter.setProgressFilter(Unknown Source) at sun.plugin2.applet.Plugin2Manager.setupGrayBoxPainter(Unknown Source) at sun.plugin2.applet.Plugin2Manager.access$600(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) exception: name. java.lang.IllegalArgumentException: name at sun.plugin2.applet.Applet2ClassLoader.addJar(Unknown Source) at sun.plugin2.applet.Applet2Manager.loadJarFiles(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Exception: java.lang.IllegalArgumentException: name
This was with the browser chrome on a vista pc. I'm running java version "1.6.0_04".
|
|
|
|
|
Nate
|
 |
«
Reply #18 - Posted
2010-09-11 22:34:37 » |
|
markus.borbely, cool, thanks for trying it!  Sometimes walking is stuttering a bit, sometimes teleporting. I think the client could guess more freely what the server are going to permit. Strange. The client asks the server if it can move along a path, the server sends a message to everyone saying to do so. After that, it is all client side, so the moving should be smooth, without stutter or teleporting. If an obstacle is encountered during the movement along the path, then the server sends a correction which will cause the blocked character to teleport to where they are supposed to be and stop moving. Were you seeing stuttering when walking with no one else on the server? I've simulated a random amount of lag, from 0 to 1 second, and it worked fine. I saw strange texts flashing under one of my characters. "e etc" "addChi" or something like that. Another character hade some strange dot pattern under him. Some texture gone wrong? Strange. I wonder if I'm doing something wrong somewhere. :/ A gameplay thing. Attacks should never need cooldown after I arrive! The one standing and waiting will always get the first hit. And sometimes he can just move away after that. But I guess it is to early for gameplay comments...  Ha, yeah, the current cooldowns are mostly just to prove they are working. However, gameplay needs to be pretty slow I think, since you'll be controlling a group of characters. Dries, strange, I'll post on the LWJGL forums about that problem. Thanks for reporting it!
|
|
|
|
kappa
|
 |
«
Reply #19 - Posted
2010-09-11 22:43:56 » |
|
I'm getting this error in my Java Console when trying to open the applet :
....
This was with the browser chrome on a vista pc. I'm running java version "1.6.0_04".
Strange error, doesn't seem like its anything to do with Nate's code as its blowing up before it even runs the jars. Its likely some sort of java plugin bug. You are running a pretty old version of Java and still on the horrid java applet plugin1, you should update to the latest java version.
|
|
|
|
|
Arvutis6ber
Senior Newbie  Projects: 1
|
 |
«
Reply #20 - Posted
2010-09-11 23:04:14 » |
|
Looks great!
Only thing that disturbs a bit atm are those grey squares. Would be great to see some stoney or grassy graphics instead of this one-coloured background.
|
|
|
|
|
DzzD
|
 |
«
Reply #21 - Posted
2010-09-12 01:34:51 » |
|
start fine & run smooth, look very nice but did not found anyone to fight with
|
|
|
|
markus.borbely
|
 |
«
Reply #22 - Posted
2010-09-12 07:10:04 » |
|
1
| Strange. The client asks the server if it can move along a path, the server sends a message to everyone saying to do so. After that, it is all client side, so the moving should be smooth, without stutter or teleporting. If an obstacle is encountered during the movement along the path, then the server sends a correction which will cause the blocked character to teleport to where they are supposed to be and stop moving. Were you seeing stuttering when walking with no one else on the server? I've simulated a random amount of lag, from 0 to 1 second, and it worked fine. |
It was only me and my other self (loaded in another tab). It could of course be something with my crappy computer... :-)
|
|
|
|
|
markus.borbely
|
 |
«
Reply #23 - Posted
2010-09-12 07:20:54 » |
|
I tried it again. The stuttering didn't occur with the bat, only with the zombie-with-sword.
Also, when the bat was alone, the pattern under with where small dots flashing in sync with it flapping its wings. When the zombie joined, the bat got pieces of he zombie or bat flashing under itself (still in sync with wing flapping). I have a screenshot.
|
|
|
|
|
Dries
Senior Newbie 
|
 |
«
Reply #24 - Posted
2010-09-12 14:44:29 » |
|
Strange error, doesn't seem like its anything to do with Nate's code as its blowing up before it even runs the jars. Its likely some sort of java plugin bug. You are running a pretty old version of Java and still on the horrid java applet plugin1, you should update to the latest java version.
If update my Java to version "1.6.0_21". Still getting the same error.
|
|
|
|
|
kappa
|
 |
«
Reply #25 - Posted
2010-09-12 14:55:57 » |
|
If update my Java to version "1.6.0_21".
Still getting the same error.
do other lwjgl applets work for you e.g. http://lwjgl.org/applet or the boing test ?
|
|
|
|
|
Dries
Senior Newbie 
|
 |
«
Reply #26 - Posted
2010-09-12 15:11:53 » |
|
Nope, same error. I have tested your test links on FF, and there they open. I FF I can play your game without a problem. Runs nice. But I was all alone so couldn't test the fight or heal system.
|
|
|
|
|
|
|
Dries
Senior Newbie 
|
 |
«
Reply #28 - Posted
2010-09-12 15:21:23 » |
|
@Kapta : I have edit my post.
For the new links you have given none work in Chrome.
|
|
|
|
|
kappa
|
 |
«
Reply #29 - Posted
2010-09-12 15:24:06 » |
|
ok, its likely you've got a broken install somehow, uninstall everything (java) and do a fresh install. hopefully should fix Chrome for you.
|
|
|
|
|
|