Check out my new game, beta testing ahoy!

Started by blue_tomato, February 05, 2005, 14:32:31

Previous topic - Next topic

blue_tomato

I am inviting everyone at this board to participate in an early beta testing of my new game which is based on 100% Java and LWJGL!

It is now complete (hopefully), and I send my thanks to everyone who contributed so far by answering my LWJGL newbie questions in these forums! :)

You can download it here:

http://66.116.195.174/download/setup.exe

If you encounter any problems, please check the output log by starting run.bat from the installation directory, and paste it in here.

Hope you enjoy, and I offer free full version games to the ones who contribute to the beta testing! ;)

Matzon

Wow, that really changed from the webstart I tried some weeks ago :shock:

Some comments:
- Would appreciate some sound effects
- Music seriously has to be longer! I know this is a resource issue but 1 min music for this kind of game just isn't enough. You might consider using some other format than ogg vorbis. Alternatively cut down the bitrate - 128 kbit & 44100 Hz is a bit high for a game? (IMO).
- Sometimes it feels like the correct pieces are not removed (will try to take a screenshot of this...)
- Consider powerups (remove line, remove color, invert color)
- More doublers (x2, x4, x8)

Nice game btw :)

blue_tomato

Webstart? Must have been another game, I never used webstart on mine... :)

Yes, I agree, the music should be longer, and in fact I have a much longer song coming up. My main issue is not technical though, but rather that the musician refuse to provide the music at a lower bitrate, even 128 was only possible after some effort and lots of cursewords... Artists... :P

Sound effects: Yeah, I tried for a while, but I simply do not want to bother. Java sound support is so bugged, limited, time consuming and hopeless I do not want to mess around with it anymore. Sorry, just takes too much time to do very basic things like playing a sound at a correct amplitude, with the correct quality at the *correct* time, without messing up background music, crashing etc... Call me lazy, but I do not want to spend the rest of my young life to figure out bugs related to something as simple as .play()... I already spent almost a day on this, and never again! :(

As for 4x,.8x etc, you can do this, you just need to combine more 2x together. 2*2x is 4x while 2*2*2x=8x for example. This way you have to be yet more strategic for the really high bonuses, I do not want the player to get it for free, the whole point of the game is to make it easy to survive and get few points, but really hard if you want to score high. :)

I am pretty sure the correct bricks are removed, but you might be referring to when the flaming beam is passing over a brick that was just melded into a solid block. If the lightbeam is already in the middle of such a block, only half of it will be removed. This is correct behaviour, and again, I want the advanced player to be aware of where the lightbeam is at all times to time things accordingly and score higher...

More game features? Yes, would be nice, but it will be in Illuminati 2, the sequel, I'll see how this one does first. Things can always be better, now I just need to complete it and hopefully make it compatible with all kinds of crazy setups out there... :)

Thanks for the feedback though, keep it coming ... ;)


Quote from: "Matzon"Wow, that really changed from the webstart I tried some weeks ago :shock:

Some comments:
- Would appreciate some sound effects
- Music seriously has to be longer! I know this is a resource issue but 1 min music for this kind of game just isn't enough. You might consider using some other format than ogg vorbis. Alternatively cut down the bitrate - 128 kbit & 44100 Hz is a bit high for a game? (IMO).
- Sometimes it feels like the correct pieces are not removed (will try to take a screenshot of this...)
- Consider powerups (remove line, remove color, invert color)
- More doublers (x2, x4, x8)

Nice game btw :)

tomb

Quote from: "blue_tomato"Sound effects: Yeah, I tried for a while, but I simply do not want to bother. Java sound support is so bugged, limited, time consuming and hopeless I do not want to mess around with it anymore. Sorry, just takes too much time to do very basic things like playing a sound at a correct amplitude, with the correct quality at the *correct* time, without messing up background music, crashing etc... Call me lazy, but I do not want to spend the rest of my young life to figure out bugs related to something as simple as .play()... I already spent almost a day on this, and never again! :(
Have you looked at OpenAL? You have to put a little work into the source management, but after that it's pure joy :)

Matzon

QuoteWebstart? Must have been another game, I never used webstart on mine...
Spooky! - someone else made the exact same game then (It's a clone of a GBA title, right?) - just much more simple than yours.

QuoteMy main issue is not technical though, but rather that the musician refuse to provide the music at a lower bitrate, even 128 was only possible after some effort and lots of cursewords... Artists...
Bah! - the artist is a moron then (sorry for being harsh). If the artist cannot produce within a constraint, then he is at fault. However, it looks like the music used is part of a CD, which is why I think why he is reluctant to release something of "low" quality.
Make him do something that is not part of the CD and muuuch longer. Preferably 2 songs at least

blue_tomato

Yep, I looked into OpenAL, embedded sound routines (AudioClip), various external APIs... They all produced some kind of strange side effect, especially when combined with FMOD music.

I got it to *work*, but always screwed up somehow (delays, bad quality, channels killing other channels, mysterious error messages, crashes over time), and in general the APIs are totally over-complex if you just want to load and play a sound, making it take forever to figure out...

I guess I am like the guy who fell off the horse and did not get back on in time, because I will go nowhere near Java and sound again... Not comparing it to a horse though, it is more like a moth flapping around the campfire. :)

Quote from: "tomb"Have you looked at OpenAL? You have to put a little work into the source management, but after that it's pure joy :)

blue_tomato

Quote from: "Matzon"Spooky! - someone else made the exact same game then (It's a clone of a GBA title, right?) - just much more simple than yours.
I got the main idea from a PSP game, but added quite a lot of new things and looks, so hopefully I wont get sued :D

Quote from: "Matzon"Bah! - the artist is a moron then (sorry for being harsh). If the artist cannot produce within a constraint, then he is at fault. However, it looks like the music used is part of a CD, which is why I think why he is reluctant to release something of "low" quality.
Make him do something that is not part of the CD and muuuch longer. Preferably 2 songs at least
hehe, well, honestly I just found the demo music on the web and though it was kinda cool. And the artist offered to provide me the full song for free if I promoted his music in the game, so I cannot really demand him to do much as I did not pay him.

Probably he imagines every PC owner has a $50.000 sound system like the one he most likely have connected to his computer, but the fact is, on most PCs you can barely hear the difference between 128 and 64kbit rate.

However he absolutely agrees the music needs to be longer, and offered to make a few shorter samples than can be randomized, which can work quite well, so we'll see what he can come up with... :)

Do you know of an OGG downsampler? Maybe I can sneak in a lower bitrate without telling, hehe :D

jam007

Tried it but graphics not working. Screen just a mess.
Sorry.
WinXP, RADEON 8500

Anders

blue_tomato

Quote from: "jam007"Tried it but graphics not working. Screen just a mess.
Sorry.
WinXP, RADEON 8500

Anders

Can you try to run the game using the run.bat in the installation folder? It should give you some error log. Can you paste it here?

And, can you run other LWJGL programs?

Thanks

blue_tomato

A new demo is out, now with longer music and a few other fixes:

http://www.ninjasoftware.com/download

:)

jam007

here is the output from bat. This is the original version that you posted. It works in Windowed mode using run.bat.

Quote

C:\Program\Illuminati>bin\java -cp lwjgl.jar;lwjgl_fmod3.jar;il.jar;. illuminati
.Main
Display driver version: 6.14.10.6462
Given email address is: null
Owners encoded emailadress is:
Initializing FMOD
Init completed in 6219 msorg.lwjgl.opengl.OpenGLException: Invalid value (1281)
       at org.lwjgl.opengl.Util.checkGLError(Util.java:56)
       at org.lwjgl.opengl.Display.update(Display.java:468)
       at illuminati.Main.d(Unknown Source)
       at illuminati.Main.<init>(Unknown Source)
       at illuminati.Main.main(Unknown Source)
Current dir is: C:\Program\Illuminati\.
Attempting to load: data\IR-Singularity-Demo.ogg
loaded 1052692 bytes
Waiting 1m 5s, for song to finish

Yes, I can run other LWJGL programs.

Good hunting!

Anders

elias

Quote from: "blue_tomato"
You can download it here:

http://66.116.195.174/download/setup.exe

What do you want me to do with an exe? You're using java and LWJGL and yet you're making sure that I can't run it on my linux machine (or mac for that matter). Use a more portable format like web start or give us a zip file with jars and run scripts.

please?

- elias

blue_tomato

Quote from: "elias"
Quote from: "blue_tomato"
You can download it here:

http://66.116.195.174/download/setup.exe

What do you want me to do with an exe? You're using java and LWJGL and yet you're making sure that I can't run it on my linux machine (or mac for that matter). Use a more portable format like web start or give us a zip file with jars and run scripts.

please?

- elias

Although my code is 100% Java, the installer, embedded JVM and LWJGL DLLs are in native code.

Packaging this for easy and independent installation on any kind of platform is way too much work. My target audience is not programmers, but people with no technical skills, like kids and girls (speaking in general terms here ;) ), and they need an easily installable file...

If I have hopes to make any money on this, I have to focus on the platform most people use, which is Windows.  I simply use Java because it is a nice language, not to make my software run on several OSes...

Sorry.

blue_tomato

Quote from: "jam007"
here is the output from bat.

This is the original version that you posted. It works in Windowed mode using run.bat.

org.lwjgl.opengl.OpenGLException: Invalid value (1281)
       at org.lwjgl.opengl.Util.checkGLError(Util.java:56)
       at org.lwjgl.opengl.Display.update(Display.java:468)
       at illuminati.Main.d(Unknown Source)
       at illuminati.Main.<init>(Unknown Source)
       at illuminati.Main.main(Unknown Source)
This is the output from running the fullscreen version, while the windowed version works fine and produces no errors, right?

In fact, this error here looks like something I am familiar with before, and the exception is simply caught and a workaround is applied automatically.

Hm, works in window mode, not in fullscreen mode. It sounds lilke a native LWJGL problem to me...?

But then, why does other programs you run work in fullscreen mode (I assume you have made other programs work in fullscreen mode?)

Here is my init display code, which is in fact copied righ out of some tutorial here:

   private void initDisplay() {
        try {
            DisplayMode modes[] = Display.getAvailableDisplayModes();
            boolean modeFound = false;

            for (int i = modes.length-1; i >=0; i--) {
                DisplayMode currentMode = modes[i];
                if (currentMode.getWidth() == Global.DISPLAY_W &&
                        currentMode.getHeight() == Global.DISPLAY_H &&
                        currentMode.getBitsPerPixel() >= Global.DISPLAY_BPP) {
                    modeFound = true;
                    Display.setDisplayMode(currentMode);
                    break;
                }
            }

            if (!modeFound) throw new Exception();
        } catch (Exception e) {
            e.printStackTrace(System.err);
            Sys.alert(Global.GAME_TITLE + "Error", "Unable to set desired display " +
                    "mode (" + Global.DISPLAY_W + "x" + Global.DISPLAY_H + "x" + Global.DISPLAY_BPP + ").");
            System.exit(0);
        }

        try {
            String title=Global.GAME_TITLE;
            if (Global.registered)
                title+=" - Registered to "+Global.email;
            Display.setTitle(title);
            Display.setFullscreen(Global.fullscreen);
            Display.setVSyncEnabled(true);
            Display.create();
        } catch (Exception e) {
            e.printStackTrace(System.err);
            Sys.alert(Global.GAME_TITLE + " - Error", "Unable to initialize display.");
            System.exit(0);
        }
    }


and

Global.DISPLAY_W=800;
Global.DISPLAY_H=600;
Global.DISPLAY_BPP=16;


Any known problems with this approach?

asifmansoor

Quote from: "blue_tomato"
Quote from: "jam007"
here is the output from bat.

This is the original version that you posted. It works in Windowed mode using run.bat.

org.lwjgl.opengl.OpenGLException: Invalid value (1281)
       at org.lwjgl.opengl.Util.checkGLError(Util.java:56)
       at org.lwjgl.opengl.Display.update(Display.java:468)
       at illuminati.Main.d(Unknown Source)
       at illuminati.Main.<init>(Unknown Source)
       at illuminati.Main.main(Unknown Source)
This is the output from running the fullscreen version, while the windowed version works fine and produces no errors, right?

In fact, this error here looks like something I am familiar with before, and the exception is simply caught and a workaround is applied automatically.

Hm, works in window mode, not in fullscreen mode. It sounds lilke a native LWJGL problem to me...?

But then, why does other programs you run work in fullscreen mode (I assume you have made other programs work in fullscreen mode?)

Here is my init display code, which is in fact copied righ out of some tutorial here:

   private void initDisplay() {
        try {
            DisplayMode modes[] = Display.getAvailableDisplayModes();
            boolean modeFound = false;

            for (int i = modes.length-1; i >=0; i--) {
                DisplayMode currentMode = modes[i];
                if (currentMode.getWidth() == Global.DISPLAY_W &&
                        currentMode.getHeight() == Global.DISPLAY_H &&
                        currentMode.getBitsPerPixel() >= Global.DISPLAY_BPP) {
                    modeFound = true;
                    Display.setDisplayMode(currentMode);
                    break;
                }
            }

            if (!modeFound) throw new Exception();
        } catch (Exception e) {
            e.printStackTrace(System.err);
            Sys.alert(Global.GAME_TITLE + "Error", "Unable to set desired display " +
                    "mode (" + Global.DISPLAY_W + "x" + Global.DISPLAY_H + "x" + Global.DISPLAY_BPP + ").");
            System.exit(0);
        }

        try {
            String title=Global.GAME_TITLE;
            if (Global.registered)
                title+=" - Registered to "+Global.email;
            Display.setTitle(title);
            Display.setFullscreen(Global.fullscreen);
            Display.setVSyncEnabled(true);
            Display.create();
        } catch (Exception e) {
            e.printStackTrace(System.err);
            Sys.alert(Global.GAME_TITLE + " - Error", "Unable to initialize display.");
            System.exit(0);
        }
    }


and

Global.DISPLAY_W=800;
Global.DISPLAY_H=600;
Global.DISPLAY_BPP=16;


Any known problems with this approach?

Hi,

even I am getting this error when I run my game on the full screen mode. I had developed my game in two phases. The first worked fine but when I started working on the second phase and added more graphics this error started appearing.

Is this because of some image format because it works fine in windowed mode. Please inform me too in case any one knows how to resolve this error.

Thanks in advance