Rimscape

Hello crazy coding world! I have a game to share. Here’s what I KNOW it’s missing:
In a day or two game saving will be up, but it’s just a php thing I have to change to get it working with Webstart.
I’m coding a tutorial to run through all the stuff in the game because it has a lot of features you don’t see outright when you start.

You start with the Preloader. You set how you want the screen setup to be… yeah.

Then comes the Main Menu. Go to the Options screen to view all of the controls. Simply highlight a control to get it’s name/function displayed at the top. That should help give you an idea of what you can do. I’ll give you some basic ones:

Basic Controls
Escape - Kills the game while it’s loading or takes you to the main menu if the game is done loading.

Enter - Action. Land on a planet if you’re over one, drop cargo if you’re not. It’ll load the Navigation Menu to jump between systems if you’re outside of the system. To get outside just fly in one direction for a while until you see a star icon at the top left.

Z - Fire pulse weapon. It uses the same energy as your shields and engines
X - Fire missiles. They track the nearest thing in front of them.

Arrows control movement.
Space bar works as the brakes. Click it once and it’ll keep stopping you until you try to move again.

What to do
When you start you’ll get some popups for instructions to start the quests, and to get your first ship. You don’t have to follow any quest but the first one if you don’t want to.

Run around, shoot transports (the thin and long ships) to convince them to drop cargo for you to grab and sell. Shoot other guys, and you might not get anything but a fight :slight_smile:

Good things to look for
The higher the difficulty you set, the more common enhanced weapons will be. Some of the mods can make weapons VERY powerful. So that’s kinda like Also you’ll find Special Items that sit in your cargo slots and give enhancement to your ship, like nano-repair or upgrades to hull strength or engine speed. All sorts of good stuff :wink:

Sooo… run around and shoot things! When you want a little more, try to follow the quests :slight_smile: Let me know if anything screws up or you have any suggestions!

http://www.gamelizard.com/webstart/rimscape.php

Very very nice!

I haven’t had time to play it much yet, but the first impressions really made the game feel polished.

One suggestion would be to zoom the view farther from the ship the faster you’re traveling (like in GTA 1 and 2). It feels a bit claustrophobic when traveling fast now, even though I KNOW there are no walls in space. :wink:

The game seems to run pretty good, except in menus. In the menus the game bogs down really bad. The game does look pretty nice, I didn’t play the game much due to the menu issue.

I use JDK1.5RC1. After loading game and choosing resolution, it loads all resources and stop at 100%. Then nothing happens - CPU usage is 100%, but same screen stays. If I will switch from fullscreen and back, it is just full black. In windowed mode, it is pure white :slight_smile:

It’s not a 1.5 problem - it doesn’t work on 1.4 either. This appears to be another of those games that crashes if it has any minor problem trying to find some kind of sound resource that lots of people don’t have (I’ve seen a lot of games recently where they don’t work for around 30% of people who DO have sound cards but apparently not the same sound card as the other 70% of people, and are missing some capability?)

So, I get:

Two other things:

  1. 4.2Mb JAR file == bad. You should split it up into many small JAR’s unless you are running jardiff server, because I don’t want to download another 4.2Mb evrey time you change anything - e.g. you correct a spelling mistake, and suddenly we each have a 4.2Mb download :stuck_out_tongue:

  2. What is the loading screen AFTER the webstart is finished? Are you pre-generating-and-caching images or something?

Loaded, did second loady thing, then nothing, just hung there (JRE1.5rc). Lemme guess, you’re using AWT?

Cas :slight_smile:

Except that many small jars makes the Webstart check for updates slow, at least for 1.4.

see:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4667651
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4859147

  • elias

Fair enough, I should have said “a handful of medium-sized jars” :stuck_out_tongue:

Markus_Persson: Try turning the Art Scale down some if you think the ships look too big at your resolution. I can’t very well scale the whole screen seeing as how I’m sticking to Java2D :wink:

Menu slowdowns… yeah I’m working on it :slight_smile: I need to think of a nice, organized way for caching states of the screen for all the segments that don’t have to animate. Could someone explain to me how exactly Swing manages to keep all its stuff fast?

The screen staying white then black after alt-tab is something I have no idea how to fix. I DO know, however, that if you just try a couple more times it’ll work. Sometimes I get a white screen, but most of the time it works fine… I just have to keep trying. To answer the AWT question: yes. I’m using a Frame to hold the stuff and getting a BufferStrategy from it. In Windowed mode I draw on a Canvas that I add to the Frame. Should I be doing something else?

blahblahblah: Did the game actually crash after trying to load the sounds? I do have errors printing out during the loader sequence since I want you guys to be able to find things that are really wrong :wink: However when the game itself finds it can’t get a sound, sounds are disabled and the game keeps running. At least that’s been my experience when no device was present. If it actually crashed, please give me more detail so I can try and fix the problem.

Yes, I will have jardiff running sometime in the near future. Still, I do have things I can split into separate jars so I’ll be sure to do that. Thanks for the suggestion!

The loading screen to open the actual game is caching all of the images and sounds and game classes and fonts and the last strip of the loading bar going across is actually calling some of the in-game initialization calls like connecting to the database (if necessary) to get the save information and creating all the game objects.

Hopefully you guys can help me solve those issues and then give me some in-game criticism :slight_smile: Thanks!

I gave you a stack trace. I can’t do anything more than that. If you were “cunning” enough to obfuscate your own code, that’s your problem (and I have no sympathy at all…). Shrug.

Well that trace told me exactly where in my code the Exception was thrown, so I’m not sure why you felt the need to comment on your lack of sympathy, as there is no problem here. I’m sorry if Proguard offends you, I’m not really sure what’s up with that. My code only caught LineUnavailableExceptions, but now it catches any Exceptions to make sure that other random errors are caught and sounds are disabled as they should be. Thank you!

This update will be added when I have the game broken into smaller jars :wink:

[quote]Well that trace told me exactly where in my code the Exception was thrown, so I’m not sure why
[/quote]
Because you seemed to be asking me for more info (“please give more detail”) - there’s no more info to provide; your game crashed with a stack trace. That’s all that happened. Um. Confused.

“Did the game actually crash after trying to load the sounds?” That was my first and most important question. Now I know, and it has been fixed. Thank you. I’ll let you all know when the update is available

Really polished looking game. I really like the menu and loading screens a lot.

I’m getting sub-par frame rates with fullscreen mode when a menu is shown on-screen, ~ 20FPS or so. With windowed mode (in the same 1280 x 1024) resolution, I’m getting ~ 130 FPS constantly. I’m pretty sure it’s a translucency and BufferedStrategy/page-flip issue (since your menus are translucent), that is if you’re using Java2D only for your rendering. Have you tried enabling the experimental HW-accel system property flags?

Regarding the game itself, I found it difficult to navigate. I tend to get lost pretty often, and it’s a dull experience trying to find my around in vain. Maybe you could implement a STAR MAP that shows important locales, and probably add RANDOM COMBAT EVENTS and ANIMATING BACKGROUNDS to make travelling a bit more eventful? Think Star Control 2. Somehow, travelling from star system to star system was quite a fun experience in itself.

Also, I can’t really tell which way the ship is facing - I took it that the pointy side of the ship image is the “front”. However, when I press the “up” arrow key, which I take to be “accelerate forward”, the ship travels in the opposite direction. Maybe you could also add ENGINE TRAILS to show movement.

All in all though, I think it’ll shape up to be a cool game (the art was really well done).

EDIT: Oh yeah, I was running JRE 1.4.2 on Windows XP, P4 3ghz Radeon 9800. It ran pretty smoothly for me. No crashes so far

I have some new ideas to help with the menu system slowdowns, I know I can do much better, and I will in a few more days, because I know I should get better framerates in the menu than I do in the actual game (or so I should think!).

I am currently setting these flags first thing when the jar runs:
sun.java2d.translaccel, sun.java2d.ddscale, and sun.java2d.opengl

Output displays for all of them if they get set.

So lemme get this straight. Did you get lost navigating between systems, or within the system? If you read my description of what the Enter key does, you’ll see I have a start chart (or nav menu) the helps you to navigate between systems. But if you’re suggesting a mini-map for the system, I think that’s a pretty cool idea :slight_smile: However if you’re looking for anything, you should be able to just follow the indicators around the screen. There are never more than a few planets in one system and their indicators can be seen at all times.

What do you mean by random combat events? If you fly around for a few minutes, you’ll find groups of ships fighting. Typically pirates being attacked by military ships or mercenaries, or pirates attacking cargo ships. Follow the dialogue displayed up top and you can see why people are fighting other people when they start going at it.

As for animating backgrounds, do you mean just in general for showing things while you fly around, or do you mean during the system to system jump animation sequence? I haven’t played Star Control 2 :frowning:

As for the art looking backwards, I totally agree. You just have to play for a bit to get used to it then it stops looking so funny… However, no matter how many people say that (including me), my designer (and artist) doesn’t want to change it, go figure :slight_smile: As for the engine trail idea, I think that’s a great idea! I’ll put that on my list of things to do :slight_smile: Thanks for that one!

Oh, and a new version is up. This version should fix the sound bug crashing the game, and also the class files are in a 400k jar, while all of the art (which doesn’t change) is in a 3.5mb jar. So now I’ll just keep chaning the 400k one and not the other one. That should help a lot with having to download updates :slight_smile: I still get that weird situation where the screen becomes white when I try to start it, and I’ve done some research on the problem, but the only solution I’ve found for it (turning direct draw off) actually made the problem permanent instead of just a 1 out of 4 tries problem. Any help would be greatly appreciated, I have no idea how to fix that one!

Granted, I never tried jumping to another system since I didn’t know you could do that. So ignore my comments on navigation on that one.

A mini-map thing that shows planets and other ships (green for friendly, blue neutral, red hostiles etc) would be better than the onscreen indicators though.

Regarding animating backgrounds - you could add occasional star trails, random pieces of debris (which would be more apparent near populated planets etc) and twinkling stars instead of just a constant red/black smoke-like texture (although the texture itself looks pretty cool). More variation is what I should be saying I guess.

Anyways, your updated game crashes on startup:

java.lang.IllegalArgumentException: input == null!

      at javax.imageio.ImageIO.read(Unknown Source)

      at com.gamelizard.util.GLUIUtil.loadImage(GLUIUtil.java:281)

      at com.gamelizard.games.rimscape.PreLoader.<init>(PreLoader.java:145)

      at com.gamelizard.games.rimscape.RimscapeRunner.main(RimscapeRunner.java:111)

      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.continueLaunch(Unknown Source)

      at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)

      at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)

      at com.sun.javaws.Launcher.run(Unknown Source)

      at java.lang.Thread.run(Unknown Source)

Missing art file perhaps?

ahh ok that makes sense! Time to describe another key. You should check out the Options menu to make sure you’re not missing anything:

M key - switches the colors from faction colors (kinda like each ship/planet advertising their flag for their government) to colors that illustrate their relation to you. This key will toggle this setting back and forth.

Different systems have different backgrounds. If a system has “Field” at the end of its name, it will be populated by asteroids. However I do like your idea to add more random stuff floating around just for fun :slight_smile:

The problem you’re facing now is that the .php file is cached. You need to clear that to get the new .php file that tells about the new jars. Otherwise it’ll just grab the new rimscape.jar which only contains classes and thus no images.

Edit: By the way, the audio code I use was donated to me by Onyx… so I hope he’ll come to the rescue and say he knows what’s up with his method of using sounds :slight_smile:

Er nope. I’m pretty sure it’s not a cached file issue since I’ve set my (IE) browser to not use cached pages.

EDIT: and to make sure I’m not being dumb, I’ve cleared my cookies and any temporary internet files that might have somehow been inadvertently used. Still didn’t work when i tried again:(

EDIT2: Just want to say again that I really liked your game though! And the other stuff on your website’s pretty neat too! Keep it up :slight_smile:


Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
      at com.gamelizard.games.rimscape.PreLoader.mousePressed(PreLoader.java:878)
      at java.awt.Component.processMouseEvent(Unknown Source)
      at java.awt.Component.processEvent(Unknown Source)
      at java.awt.Container.processEvent(Unknown Source)
      at java.awt.Window.processEvent(Unknown Source)
      at java.awt.Component.dispatchEventImpl(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.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)
Sony Ogg Vorbis 1.0 Final
done with images, audio, fonts
1.5 NanoTimer selected.

And not reacting to anything…

ya I haven’t gotten it to work with the latest RC1 release. I’ll try to figure that out. So much for being backward compatible eh?

Barfy it sounds like maybe the caching problem is with Webstart. Try loading Webstart and getting rid of Rimscape in there.

I tried today on two computers that haven’t run Rimscape ever, and they both ran the game successfully. One was a linux machine and the other a Windows one, so it does work and the URL’s are valid if you can get to the latest stuff.

But yeah that mousePressed error I’ll fix, thanks for that trace!

Oh and barfy, thanks for the compliment :wink: