Java-Gaming.org    
Featured games (91)
games approved by the League of Dukes
Games in Showcase (579)
games submitted by our members
Games in WIP (500)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: 1 2 [3] 4 5 ... 39
  ignore  |  Print  
  TUER: Truly Unusual Experience of Revolution, FPS using JOGL  (Read 197202 times)
0 Members and 1 Guest are viewing this topic.
Offline gouessej

« In padded room »



TUER


« Reply #60 - Posted 2007-07-09 13:40:04 »

Exp-mode works fine on Core2 Duo@3Ghz, Vista, HD2900XT at around 91fps. However, it doesn't work on an old Intel onboard chipset (all white...).

Now it works on old intel onboard chipsets! It is very very slow Sad but that is not my fault, these kind of chipset is only compatible with immediate mode (glVertex...) and maybe with display lists.

Offline EgonOlsen
« Reply #61 - Posted 2007-07-09 22:48:38 »

Quote
these kind of chipset is only compatible with immediate mode (glVertex...) and maybe with display lists.
Vertex arrays should work too. At least i had them working on exactly the same machine.

Offline gouessej

« In padded room »



TUER


« Reply #62 - Posted 2007-07-11 13:51:42 »

Vertex arrays should work too. At least i had them working on exactly the same machine.
It depends on the exact model. The intel 82810 does not support vertex arrays. But more recent chips may support it. In my code, I check every extensions before using them. If I don't use vertex arrays with a chip, it means that they are not available. Look at my source code if you're not convinced, inside the package called "drawer" in the class called "DynamicVertexSetFactory".

For example, on the chip "Intel 82865 G", the display lists and the vertex arrays are available.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline gouessej

« In padded room »



TUER


« Reply #63 - Posted 2007-07-11 14:21:52 »

NEW version :
- using Java 1.6 and JOGL 1.1.0
- "FPS counter becoming crazy" bug may disappear
- better "seperation of concerns" in the source code
- artworks displayed in the experimental version
- less use of system memory, more use of video memory for resident textures
- a very small increase of speed

WARNING!
Some recent open source drivers under Linux may cause some problems, gray rectangle flickering on the screen. These drivers don't support alpha components inside the textures. I'm sorry, you will need to use proprietary drivers if your card itself really support 32 bits textures.

Offline EgonOlsen
« Reply #64 - Posted 2007-07-11 16:49:23 »

- using Java 1.6 and JOGL 1.1.0
Not a good idea. This machine (the intel one) has Java5 installed. I can't test your game anymore on this machine, as i'm not permitted to upgrade.

Offline Orangy Tang

JGO Kernel


Medals: 51
Projects: 11


Monkey for a head


« Reply #65 - Posted 2007-07-11 17:05:54 »

It depends on the exact model. The intel 82810 does not support vertex arrays. But more recent chips may support it. In my code, I check every extensions before using them. If I don't use vertex arrays with a chip, it means that they are not available.
Vertex arrays are not an extension, they're always available.

Are you sure you're not getting confused with vertex buffer objects?

[ TriangularPixels.com - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Offline gouessej

« In padded room »



TUER


« Reply #66 - Posted 2007-07-12 08:59:16 »

Not a good idea. This machine (the intel one) has Java5 installed. I can't test your game anymore on this machine, as i'm not permitted to upgrade.

Sorry, I didn't do this to bother anyone and you tested my game on many computer, I thank you. With Java 6 and JOGL 1.1.0, the game uses really less memory and it is the only solution to have resident textures.

Offline gouessej

« In padded room »



TUER


« Reply #67 - Posted 2007-07-12 09:13:20 »

Vertex arrays are not an extension, they're always available.

Are you sure you're not getting confused with vertex buffer objects?

PLEASE read the code before saying wrong things! "GL_EXT_vertex_array" is an extension! I know my source code is dirty but I explained above that the answer was inside this class! I have been programming games for eight years, I really make the difference between vertex arrays and VBO. Of course, they are not always available. Come back down to Earth! There are still people who have old chipsets and old graphics cards where nor display lists neither vertex arrays are available. Ok, it is very rare as time goes by but it doesn't mean that it is always available, you are totally wrong!

On the other hand, I will make effort to clean the code and to add much more comments before implementing the cells-and-portals algorithm as I know my code is hardly readable.

Finally, I am really surprised that someone who has been here for a long time is able to tell something so wrong. It is evident that hardware has evolved. Everything has not always been available.  I'm sorry, Orangy Tang, how long have you used OpenGL in your life?

WARNING! The source code on my website has not been updated since the beginning of July. Things have changed...but not inside the class below which show you how I check some extensions.

/*This program is free software; you can redistribute it and/or
  modify it under the terms of the GNU General Public License
  as published by the Free Software Foundation, version 2
  of the License.
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place - Suite 330, Boston,
  MA 02111-1307, USA.
*/
package drawer;

import java.nio.FloatBuffer;
import javax.media.opengl.GL;

class DynamicVertexSetFactory implements IDynamicVertexSetFactory{

    
    private IDynamicVertexSetFactory delegate;
    
    
    DynamicVertexSetFactory(GL gl){
        if(gl.isExtensionAvailable("GL_ARB_vertex_buffer_object")
       && gl.isFunctionAvailable("glBindBufferARB")
       && gl.isFunctionAvailable("glBufferDataARB")
       && gl.isFunctionAvailable("glBufferSubDataARB")
       && gl.isFunctionAvailable("glDeleteBuffersARB")
       && gl.isFunctionAvailable("glGenBuffersARB"))
       delegate=new DynamicVertexBufferObjectFactory(gl);
   else
       if(gl.isExtensionAvailable("GL_EXT_vertex_array")
       && gl.isFunctionAvailable("glColorPointer")
       && gl.isFunctionAvailable("glDrawArrays")
       && gl.isFunctionAvailable("glDrawElements")
       && gl.isFunctionAvailable("glDrawRangeElements")
       && gl.isFunctionAvailable("glIndexPointer")
       && gl.isFunctionAvailable("glNormalPointer")
       && gl.isFunctionAvailable("glTexCoordPointer")
       && gl.isFunctionAvailable("glVertexPointer"))
           delegate=new VertexArrayFactory(gl);
       else           
      delegate=new DynamicDefaultVertexSetFactory(gl);
    }
    
    
    public DynamicVertexSet newVertexSet(float[] array){
        return(delegate.newVertexSet(array));
    }
    
    public DynamicVertexSet newVertexSet(FloatBuffer floatBuffer){
        return(delegate.newVertexSet(floatBuffer));
    }
    
    public DynamicVertexSet newVertexSet(VertexSet vertexSet){
        return(delegate.newVertexSet(vertexSet));
    }
}

Offline cylab

JGO Knight


Medals: 34



« Reply #68 - Posted 2007-07-12 09:58:19 »

PLEASE read the code before saying wrong things! "GL_EXT_vertex_array" is an extension! I know my source code is dirty but I explained above that the answer was inside this class! I have been programming games for eight years, I really make the difference between vertex arrays and VBO. Of course, they are not always available. Come back down to Earth! There are still people who have old chipsets and old graphics cards where nor display lists neither vertex arrays are available. Ok, it is very rare as time goes by but it doesn't mean that it is always available, you are totally wrong!

On the other hand, I will make effort to clean the code and to add much more comments before implementing the cells-and-portals algorithm as I know my code is hardly readable.

Finally, I am really surprised that someone who has been here for a long time is able to tell something so wrong. It is evident that hardaware has evolved. Everything has not always been available.  I'm sorry, Orangy Tang, how long have you used OpenGL in your life?

Man, what's your problem, had a bad day or what?

Mathias - I Know What [you] Did Last Summer!
Offline Orangy Tang

JGO Kernel


Medals: 51
Projects: 11


Monkey for a head


« Reply #69 - Posted 2007-07-12 11:47:24 »

There are still people who have old chipsets and old graphics cards where nor display lists neither vertex arrays are available.

Ok, so technically vertex arrays are an extension. But they were introduced with GL1.1 which is usually considered the basic version everyone has. I've never seen a 1.0 driver in the wild, especially since having no installed drivers on windows will give you a default software 1.1 renderer. OpenGL 1.0 is so limited it's practically unusable anyway - it doesn't even support texture objects, and I'll bet you don't check for their presence before using them (I'd check, but I can't see any references to gl textures in your old source code).

Conversely, display lists have been present since 1.0, so your assertion that they might be unavailable is incorrect.

[ TriangularPixels.com - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline gouessej

« In padded room »



TUER


« Reply #70 - Posted 2007-07-12 12:50:48 »

Ok, so technically vertex arrays are an extension. But they were introduced with GL1.1 which is usually considered the basic version everyone has. I've never seen a 1.0 driver in the wild, especially since having no installed drivers on windows will give you a default software 1.1 renderer. OpenGL 1.0 is so limited it's practically unusable anyway - it doesn't even support texture objects, and I'll bet you don't check for their presence before using them (I'd check, but I can't see any references to gl textures in your old source code).

Conversely, display lists have been present since 1.0, so your assertion that they might be unavailable is incorrect.

I use glBindTexture only inside the MD3 loader. In other classes, I use TextureIO. No you can have GL 1.1 and have no support of vertex arrays. At work, I tested my game on a PC with a Intel 82810 chipset, it should be fully compatible with GL 1.1 and there is no vertex arrays.
Therefore, unlike you, I don't assume everyone has at least a particular version, I prefer taking care to have no bad surprise. Sometimes, these kind of chipset may pretend to support GL 1.1 and prevent you from using display lists. It is why I check it too, even though you find it useless.  There is a difference between "hardware support" and "software support". You can install the latest version of OpenGL on a PC with an old graphics card. Then, some extensions or even some integrated functions might be unsupported at all.

If I had followed your way of thinking, the "all white screen" bug would never have been corrected, it would not have appear, the program would have crashed directly and users with old chipsets would have been "punished" because they don't have any hardware that is fully compatible with the "basic version" of OpenGL. On my view, I have to do my best to support as much hardware as possible in some limits.

You're right on one point, I should check if textures are supported too. If it is not supported somewhere, it would be better to show at least a popup message to tell the user that there is something wrong.

Why do you speak about windows? It is a particular case. I know many people use windows but I have tested the game on Mac and Linux too. As Java is good to design softwares independent from hardwares, I think of this too, I don't consider only the most popular configuration for  the operating system and the graphics card.

Offline gouessej

« In padded room »



TUER


« Reply #71 - Posted 2007-07-12 13:10:15 »

Man, what's your problem, had a bad day or what?
Don't you have anything more interesting to say?

Offline Orangy Tang

JGO Kernel


Medals: 51
Projects: 11


Monkey for a head


« Reply #72 - Posted 2007-07-12 13:22:06 »

I use glBindTexture only inside the MD3 loader. In other classes, I use TextureIO.

Well I guess if you want to run on entirely 1.0 then you'd better stop using TextureIO, since it uses texture objects.

Quote
No you can have GL 1.1 and have no support of vertex arrays. At work, I tested my game on a PC with a Intel 82810 chipset, it should be fully compatible with GL 1.1 and there is no vertex arrays.

Vertex arrays were made part of the core in 1.1. That means that anything with GL 1.1 or later must support vertex arrays. Often, once an extension is rolled into core then it might not be included in the extension string since it's redundant information (especially for very old extensions like this). Of course, there is always the possibility of driver bugs preventing a feature from working, but thats an entirely separate matter.

Quote
If I had followed your way of thinking, the "all white screen" bug would never have been corrected, it would not have appear, the program would have crashed directly and users with old chipsets would have been "punished" because they don't have any hardware that is fully compatible with the "basic version" of OpenGL. On my view, I have to do my best to support as much hardware as possible in some limits.

You seem to be confusing driver bugs for extensions. Disabling certain features on certain hardware is fine for working around such bugs, but that doesn't mean you can start claiming that display list support (or vertex arrays in 1.1) are optional and should be checked for in the extension string.

[ TriangularPixels.com - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Offline gouessej

« In padded room »



TUER


« Reply #73 - Posted 2007-07-12 13:35:45 »

Well I guess if you want to run on entirely 1.0 then you'd better stop using TextureIO, since it uses texture objects.
I won't fully support it, I told that at least, I would show a popup if there is something wrong.

Vertex arrays were made part of the core in 1.1. That means that anything with GL 1.1 or later must support vertex arrays. Often, once an extension is rolled into core then it might not be included in the extension string since it's redundant information (especially for very old extensions like this). Of course, there is always the possibility of driver bugs preventing a feature from working, but thats an entirely separate matter.
Fine, I treat even a separate matter!  Grin That's good!

You seem to be confusing driver bugs for extensions. Disabling certain features on certain hardware is fine for working around such bugs, but that doesn't mean you can start claiming that display list support (or vertex arrays in 1.1) are optional and should be checked for in the extension string.
Don't suppose that I'm confused. At work, no feature has been disabled for OpenGL, I checked it, maybe it is a bug on the driver. Finally, my "optional" check prevents the game from crashing. That is why it is not useless to check it. Display list support is not optional but sometimes, a chipset is announced to be fully compatible with GL 1.1 and that is not true. Sometimes, it is only a problem of driver, sometimes it is really unsupported.

I don't agree with you. I will do my best to correct bugs when it is possible. A part of my code corrects a problem of buffer swap on this kind of chip. I won't remove it. I can't correct every bugs of the environment but I will do what I can.

Offline cylab

JGO Knight


Medals: 34



« Reply #74 - Posted 2007-07-12 13:40:46 »

Don't you have anything more interesting to say?

Hmm - I see what I can do.

Have you tried testing the game without the GL_EXT_vertex_array check on the intel chipset?

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
// (...)
else
       if(gl.isFunctionAvailable("glColorPointer")
       && gl.isFunctionAvailable("glDrawArrays")
       && gl.isFunctionAvailable("glDrawElements")
       && gl.isFunctionAvailable("glDrawRangeElements")
       && gl.isFunctionAvailable("glIndexPointer")
       && gl.isFunctionAvailable("glNormalPointer")
       && gl.isFunctionAvailable("glTexCoordPointer")
       && gl.isFunctionAvailable("glVertexPointer"))
           delegate=new VertexArrayFactory(gl);
// (...)

Mathias - I Know What [you] Did Last Summer!
Offline gouessej

« In padded room »



TUER


« Reply #75 - Posted 2007-07-13 09:30:06 »

Hmm - I see what I can do.

Have you tried testing the game without the GL_EXT_vertex_array check on the intel chipset?

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
// (...)
else
       if(gl.isFunctionAvailable("glColorPointer")
       && gl.isFunctionAvailable("glDrawArrays")
       && gl.isFunctionAvailable("glDrawElements")
       && gl.isFunctionAvailable("glDrawRangeElements")
       && gl.isFunctionAvailable("glIndexPointer")
       && gl.isFunctionAvailable("glNormalPointer")
       && gl.isFunctionAvailable("glTexCoordPointer")
       && gl.isFunctionAvailable("glVertexPointer"))
           delegate=new VertexArrayFactory(gl);
// (...)

Good idea! At first, I have to find a way to detect this kind of chipset. Then, I must plan to design a mechanism to catch GLException and to perform an adequate treatment if the vertex arrays are not supported.

Nevertheless, I am not sure that I can detect which graphics card or chipset is being used. If you know how to do it, I am really interested in this.

Finally, on some architectures, I fear that the game might crash even though I try to catch the GLException and to associate an other treatment. With JOGL, I think almost all functions are available. It is not enough, you can't only check if the function is available in a particular machine. For the vertex arrays, it will always answer "true", won't it?

Offline cylab

JGO Knight


Medals: 34



« Reply #76 - Posted 2007-07-13 10:40:10 »

Regarding the information available in the jogl javadoc, I first assumed that a certain functionality would work, if all functions you need are present:

Quote
While the Java APIs for OpenGL extensions are unconditionally exposed, the underlying functions may not be present. A program can query whether a potentially unavailable function is actually available at runtime by using the method GL.isFunctionAvailable.

But reading the complete "isFunctionAvailable()" javadoc, I am not sure anymore, since it only tests if the functions queried are available in a specific core version or extension:

Quote
isFunctionAvailable

public boolean isFunctionAvailable(String glFunctionName)

    Returns true if the specified OpenGL core- or extension-function can be used successfully through this GL instance given the current host (OpenGL client) and display (OpenGL server) configuration.

    By "successfully" we mean that the function is both callable on the machine running the program and available on the current display.

    In order to call a function successfully, the function must be both callable on the machine running the program and available on the display device that is rendering the output (note: on non-networked, single-display machines these two conditions are identical; on networked and/or multi-display machines this becomes more complicated). These conditions are met if the function is either part of the core OpenGL version supported by both the host and display, or it is an OpenGL extension function that both the host and display support.

    A GL function is callable if it is statically linked, or can be dynamically linked at runtime. Whether or not a GL function is available is determined as follows:

        * If the function is an OpenGL core function (i.e., not an extension), glGetString(GL_VERSION) is used to determine the version number of the highest OpenGL specification version that both host and display support, and then the function name is cross-referenced with that specification version to see if it is part of that version.
        * If the function is an OpenGL extension, the function name is cross-referenced with the list returned by glGetString(GL_EXTENSIONS) to see if the function is one of the extensions that is supported on both host and display.

    NOTE:The availability of a function may change at runtime in response to changes in the display environment. For example, when a window is dragged from one display to another on a multi-display system, or when the properties of the display device are modified (e.g., changing the color depth of the display). Any application that is concerned with handling these situations correctly should confirm availability after a display change before calling a questionable OpenGL function. To detect a change in the display device, please see GLEventListener.displayChanged(GLAutoDrawable,boolean,boolean).

    Parameters:
        glFunctionName - the name of the OpenGL function (e.g., use "glBindRenderbufferEXT" to check if glBindRenderbufferEXT(int,int) is available).

On the other hand I suspect that the Intel driver maybe just don't report the vertex array ARB extension, because the queried functionality is available in the core version it implements, so it might be sufficient to skip the extension test and only test for the glfunctions you need in this case.

You could maybe show a warning message, if the extension is not but the functions are supported and let the user decide, if he want's to try the potentially faster code path at his own risk.

Also keep the 90/10 rule in mind: the last 10% to perfection take 90% of the time, so you might be better off to ignore some problems... at least til you know they are really serious and affecting more than 10% of your target audience.

Mathias - I Know What [you] Did Last Summer!
Offline gouessej

« In padded room »



TUER


« Reply #77 - Posted 2007-07-13 13:32:22 »

Currently, the game uses another mode of drawing if there is something wrong with vertex arrays, it is just slower. I know that I can't correct every bugs not inside the game but rather in the environment, that is not the aim of my project. Nevertheless, I will do my best to prevent the game from crashing. Don't forget that I plan to use a cells-and-portals algorithm in a few months. Then, the game will be hugely faster than now.  Grin

Finally, as I have still some problems with my driver, I won't be able to modify any visual effect this week and maybe next week. I will use this time to improve the readability and the design of the code. I plan to reach the following aims :
- more comments, at least a complete description of each class, each attribute and each method to make the source code more readable
- respect the MVC design pattern to make easier the creation of the multiplayer online mode
- decompose the project in some components to improve the "reusability" and the "maintenability" of the source code
The following components will be created :
- interfaces : component containing all the interfaces of the project
- main : main component of the project which uses the other component
- sound : component handling the whole sound system (using JOGG + JORBIS)
- tools : component with misc. devices to convert files from Vincent Stahl's format into an OpenGL friendly format and to modify the way to build the textures (priority handling)
- drawer : component used to build, modify, draw and delete set of vertices, textures coordinates and normal coordinates
- md3 : component used to load the MD3 model
- context : component handling the OpenGL (available extensions...) and the sound context

If I succeed in installing my driver, I will go on trying to display all objects in the experimental mode.

I have a lot of things to do  Grin

Offline gouessej

« In padded room »



TUER


« Reply #78 - Posted 2007-07-16 18:36:47 »

The source code will be updated tomorrow. If someone needs quickly to optimize my MD3 loader, I can do it first.

Link removed

Warning! Recent graphics cards with proprietary drivers seem to work correctly for my game under Mandriva Linux 2007. If you don't want to have problems with 32 bits textures with any game, you should invest at least in a recent ATI card. Can someone tell me if there is something wrong with nvidia cards under linux please?

Offline gouessej

« In padded room »



TUER


« Reply #79 - Posted 2007-07-20 13:26:28 »

The component architecture is going to be finished. I had the choice between 2 kinds of component architecture :
- component, link, provided/required interface
- component, port, connector

The first kind is really fine when the provided interface and the required interface are exactly the same. It is very simple and it prevents the redundancy of interfaces (an interface appearing multiple times only with a different name or in a different package). However, the component is not independent, it always depends at least on the component which contains all the interfaces, it complicates the tests on the component and it decreases the reusability of your code as the programmer can't put only your component and connect it directly to another project. I advice to use this kind of architecture only for very simple projects.

The second kind is better fitted when the provided interface and the required interface are different. Then, you use an adapter. It is more complicated and it might force you to duplicate interfaces uselessly. However, the component is fully independent, it can be tested separately and more easily reused as the programmer can take your component and put it in his own project (if it is well documented). I advise to use this kind of architecture for complex projects, open source projects when the maintenability and the reusability are very important.

I chose the second one and it works. The source code will be updated monday. I will try to handle unbreakable objects in the experimental version during this weekend.

Warning! Important information about the future of the game
Money can be a serious obstacle in the development of a project. Nvertheless, my game will always be free (open source and with no charge). I didn't give up the multiplayer online mode, I only need to find a solution to share a dedicated server with some people. If I need money, I will pay it directly if I can afford it, I won't charge the users, I don't plan to create fees or anything like this. I know that my game is still ugly and slow. I won't ask for money even though it would become more interesting. I consider that the video games are works of art, everyone should have an equal access to the art and the culture in a fair world. The only way I know to be sure to give an equal access to my game to everyone is to keep it free of charge. This project is open source because I consider that everyone should have an equal access to the information, whatever the subject (sciences, history ...). Allowing people to access easily to the information is a benefit for the whole society.
I understand that many people here want to live from their games, I respect this choice, they don't do evil, they dream of living from their passion, it's beautiful, I respect their ambition. Many of them would agree with charging the customer, it's their viewpoint, it is the most evident way of getting money. However, I've made a different choice, a complicated choice : I want to avoid charging customers even though the development of my game has a real cost. As I'm not only a dreamer, I have found a solution, a realistic solution to provide a free access to gaming without advertissement or sponsoring. I will announce it on my own website in a few days.




game executable :
Link removed
Link removed

source code :
Link removed

Offline gouessej

« In padded room »



TUER


« Reply #80 - Posted 2007-07-23 13:42:02 »

NEW UPDATE :
- some objects appear correctly in the experimental mode : bonsaï trees, vending machines, flower pots, tables...
- the package "drawer" may be used as a component
- deeper zbuffer

I will try to handle explosions and bots in the next weeks. Please tell me if something is wrong when you start the game. I tried a software to count the number of hit and it may cause some problems.

game executable :
Link removed
Link removed

source code :
Link removed

Offline erikd

JGO Ninja


Medals: 15
Projects: 4
Exp: 14 years


Maximumisness


« Reply #81 - Posted 2007-07-23 14:33:33 »

Quote
I have found a solution, a realistic solution to provide a free access to gaming without advertissement or sponsoring. I will announce it on my own website in a few days.

Could you post about it here too? I'm interested in your solution, and others here might be too.

Offline gouessej

« In padded room »



TUER


« Reply #82 - Posted 2007-07-23 17:22:18 »

Could you post about it here too? I'm interested in your solution, and others here might be too.
The explanation is a little bit long. I will write a kind of sum up and post it tomorrow. However, it would be better if all the people interested by this aspect read the whole declaration. Maybe it should be posted on an other forum. Thanks for your interest. Grin

Please can you just launch the game one time? I don't use the same computer at work, I don't have any JRE here and I don't know if the software "lycos statistics" prevents my game from working.

Offline SimonH
« Reply #83 - Posted 2007-07-23 20:01:59 »

Works OK here - still a bit on the slow side though! (AMD 2800+ JRE 1.6)

People make games and games make people
Offline EgonOlsen
« Reply #84 - Posted 2007-07-23 20:55:17 »

Doesn't work (neither version). It keeps telling me that "stahlforce.d3caster" can't be found. I've emptied the webstart-cache too but to no avail (Java6, Windows Vista Ultimate).

Offline gouessej

« In padded room »



TUER


« Reply #85 - Posted 2007-07-24 09:41:00 »

Doesn't work (neither version). It keeps telling me that "stahlforce.d3caster" can't be found in "Link removedtuer.jar". I've emptied the webstart-cache too but to no avail (Java6, Windows Vista Ultimate).
Ok. Thanks for this feedback. It doesn't come from my game because the manifest file has been updated, I changed the "Main-Class" attribute some days ago. There must be an other cache somewhere. This cache must contain data about the old manifest file but it tries to use it with the new jar file. As the main class changed between these two versions, there is a contradiction between the old manifest file and the new jar file. Then, Microsoft Vista Ultimate doesn't find the "stahlforce.d3caster" class which was the old main class.
As I want to be able to confirm this without any doubt, I will check my config files anew. Did you use the link? Did you start the game from the command line? I am very sorry for the disturbance and I'm really grateful for your answer as I don't own Vista and my alpha testers are not available currently.
Works OK here - still a bit on the slow side though! (AMD 2800+ JRE 1.6)
Yes, the slow side is slow, that's why it is called the "slow version" but you couldn't know that I don't work on it anymore. I don't optimize the slow version anymore, it would be a waste of time. I'm currently rewriting a complete model (MVC) and a precise collision system to provide all the features currently available in the slow version in the experimental version this time. Thanks for your help. Which operating system did you use to launch the game? Thanks for the feedback too. Don't forget that it is like 2 games work together at the same time. The next version will be quicker. Grin

Offline gouessej

« In padded room »



TUER


« Reply #86 - Posted 2007-07-24 09:48:29 »

NEW UPDATE : bug corrected. You were right. The config files tuer.jnlp and tuer.php had not been updated. Linux only uses the manifest file (which had been updated) to know where the main class is whereas Vista Ultimate looks in priority in the config files (which had not been updated before you told me something was wrong). I wouldn't have found this bug alone. Thank you very very much.  Cheesy

Offline SimonH
« Reply #87 - Posted 2007-07-24 14:42:56 »

Which operating system did you use to launch the game?
Windows 2000 pro

People make games and games make people
Offline EgonOlsen
« Reply #88 - Posted 2007-07-24 18:48:08 »

Now it starts up, shows the title screen and then comes this:

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
javax.media.opengl.GLException: java.lang.NullPointerException
   at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:271)
   at javax.media.opengl.GLCanvas.maybeDoSingleThreadedWorkaround(GLCanvas.java:256)
   at javax.media.opengl.GLCanvas.display(GLCanvas.java:130)
   at main.GameGLEventController.display(GameGLEventController.java:189)
   at main.GameModel.<init>(GameModel.java:462)
   at main.GameModel.main(GameModel.java:3172)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at com.sun.javaws.Launcher.executeApplication(Unknown Source)
   at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
   at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
   at com.sun.javaws.Launcher.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
   at main.VertexSetSeeker.getIDynamicVertexSetInstance(VertexSetSeeker.java:46)
   at main.GameGLEventController.display(GameGLEventController.java:351)
   at com.sun.opengl.impl.GLDrawableHelper.display(GLDrawableHelper.java:78)
   at javax.media.opengl.GLCanvas$DisplayAction.run(GLCanvas.java:281)
   at com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:194)
   at javax.media.opengl.GLCanvas$DisplayOnEventDispatchThreadAction.run(GLCanvas.java:298)
   at java.awt.event.InvocationEvent.dispatch(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)

Offline gouessej

« In padded room »



TUER


« Reply #89 - Posted 2007-07-25 11:07:01 »

Now it starts up, shows the title screen and then comes this:

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
javax.media.opengl.GLException: java.lang.NullPointerException
   at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:271)
   at javax.media.opengl.GLCanvas.maybeDoSingleThreadedWorkaround(GLCanvas.java:256)
   at javax.media.opengl.GLCanvas.display(GLCanvas.java:130)
   at main.GameGLEventController.display(GameGLEventController.java:189)
   at main.GameModel.<init>(GameModel.java:462)
   at main.GameModel.main(GameModel.java:3172)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at com.sun.javaws.Launcher.executeApplication(Unknown Source)
   at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
   at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
   at com.sun.javaws.Launcher.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
   at main.VertexSetSeeker.getIDynamicVertexSetInstance(VertexSetSeeker.java:46)
   at main.GameGLEventController.display(GameGLEventController.java:351)
   at com.sun.opengl.impl.GLDrawableHelper.display(GLDrawableHelper.java:78)
   at javax.media.opengl.GLCanvas$DisplayAction.run(GLCanvas.java:281)
   at com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:194)
   at javax.media.opengl.GLCanvas$DisplayOnEventDispatchThreadAction.run(GLCanvas.java:298)
   at java.awt.event.InvocationEvent.dispatch(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)

Hi! Thanks for this feedback. I made the same mistake a second time. Now, the main method is in the component called "connection" inside the class called "GameServiceProvider". I've just updated the config files anew. I hope it will work this time and thank you for your patience. When you launched the game, it called the old main method which did not instantiate the connection between the provided services (from "drawer") and the required services (from "main"). Then, the delegate does not reach the class which provides the service. Sorry. I'm tired, I have made more and more mistakes!

On the other hand, I'm testing the vertex shaders and the pixel shaders for my game. I hope it will be useful.

Pages: 1 2 [3] 4 5 ... 39
  ignore  |  Print  
 
 

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

xsi3rr4x (31 views)
2014-04-15 18:08:23

BurntPizza (28 views)
2014-04-15 03:46:01

UprightPath (43 views)
2014-04-14 17:39:50

UprightPath (26 views)
2014-04-14 17:35:47

Porlus (43 views)
2014-04-14 15:48:38

tom_mai78101 (64 views)
2014-04-10 04:04:31

BurntPizza (124 views)
2014-04-08 23:06:04

tom_mai78101 (224 views)
2014-04-05 13:34:39

trollwarrior1 (190 views)
2014-04-04 12:06:45

CJLetsGame (198 views)
2014-04-01 02:16:10
List of Learning Resources
by SHC
2014-04-18 03:17:39

List of Learning Resources
by Longarmx
2014-04-08 03:14:44

Good Examples
by matheus23
2014-04-05 13:51:37

Good Examples
by Grunnt
2014-04-03 15:48:46

Good Examples
by Grunnt
2014-04-03 15:48:37

Good Examples
by matheus23
2014-04-01 18:40:51

Good Examples
by matheus23
2014-04-01 18:40:34

Anonymous/Local/Inner class gotchas
by Roquen
2014-03-11 15:22:30
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!