I've been making a game for the past three months called "Agent: 00PK." In it you play as a spy who uses her incredible parkour skills to sneak into enemy bases and rescue the world from nuclear destruction.

Features• Over 40 different parkour moves your character can perform (not all implemented yet).• Realistic physics (a modified version of Phys2D, and currently the gravity is too low).• Adaptive AI (current not a very good AI because the learning function has issues, but nonetheless uses a Q-Learner algorithm).• Pretty sprites made with PNG-16 encoding, and expansive compressed backgrounds (although I haven't made nearly all the graphics yet).• An intricate level editor that allows you to construct anything you can imagine.• OpenGL and OpenAL via LWJGL.• Robots with simple AI and Guards with Q-Learning AI. Lasers, bullets, homing missiles.

Known Bugs• If you're at standing and hold the jump button, you'll do a crazy super jump.• You can often grab an edge from an inappropriate distance, or can't grab one when you should be able to.• If you try to play past the third level, the game will break (no other levels made yet).• If you see an "ugly" sprite, it's because the animation for it hasn't been added in yet.• You can't jump while running.

ControlsThe controls are all customizable, but it should be noted that they're very context sensitive. If you're using the defaults, here are some hints:• Move around with the left and right arrow keys.• Press C while moving to do a forward jump. Press C while still to do a standing jump.• Hold C when near an edge to have your character grab and hang (for as long as you hold C).• While hanging with C, also press Z and X to do a pullup and get on the ledge (careful this is sort of buggy, you might be hanging too low to actually get up).• If you have just jumped at a wall, press Z, X, and C, to do a "Tic Tac," which will propel you in the other direction.• If you have just jumped at a wall, press C to do a Wall Jump. Currently, this is broken.• If you are landing from a drop, hold down C to do a parkour roll. This will lower the likelihood of death from falling.• If you are landing from a drop, hold down X to do a precision landing. This increases your friction on landing.

CheatsThere are cheats in the game to mess around with things.• Kitty Cat Kong• Joints of Steel• Bullet Speed• I am David Belle• Moon Shoes• Coo Coo Raw Cha

I think that's about it. Have fun! There is a significant amount of tweaking that needs to happen to make this game more enjoyable, but you'll get the idea. Oh, and in order to finish a level, follow your compass in the bottom right corner. It will lead you to a glowing arrow that is the "exit." A good hint for getting past the guards is that they can't shoot you while you hang on a ledge. Try it out.

It works under Linux. It is very slow because of the driver, not your fault. I got a popup telling that there is an error while saving and I don't understand why the images are loaded each time I restart the game.

Wow. It's like Aladdin for the Super Nintendo except in real life. In other words, it's a real life platformer where you can catch the edge of a platform with your hands, but you don't whack your head on bricks.

Wow. It's like Aladdin for the Super Nintendo except in real life. In other words, it's a real life platformer where you can catch the edge of a platform with your hands, but you don't whack your head on bricks.

That's just great.

Sure, that sounds great. Yeah, I loaded all the sprites into the map, so it's really odd that they get completely reloaded, but I'll change that sometime soon.

As for all these bugs, it's probably because I didn't do the ulta-safe way of loading resources from within my classpath. I'll try to change that and find a PC to test it on to see if I get better results. Should be good to go later today.

It was a simple fix... the problem was that I was using file.separator to choose resource paths, which is a / on most systems but a \ on Windows. I was originally using file browsing instead of class path stuff, so that's why I had the \ stuff.

But why can't Windows just get with the program and use / like everyone else?

More updates and bug fixes implemented. Things should download and load significantly faster now, and I put in a simple AI to replace the failing Q-Learner AI (although I should get that working soon). If you still want to see the Q Learner AI, you can use the debug cheat. Its AI file isn't in the JAR, though, so it will start with an "empty" brain. The guards make it significantly more fun, adding an actual element of difficulty.

Lovely graphics!The physics were really weird, to the point of making the game unplayable. Sliding around and floating through the air for fifteen seconds isn't much fun.

What's with the weird perspective? The starting area seems to have an escher-like fence around it, and your appear to see the street behind you from above, yet most other things are seen from the side.

Lovely graphics!The physics were really weird, to the point of making the game unplayable. Sliding around and floating through the air for fifteen seconds isn't much fun.

What's with the weird perspective? The starting area seems to have an escher-like fence around it, and your appear to see the street behind you from above, yet most other things are seen from the side.

Basically, I'm a terrible artist. I drew half of the level from 50% magnification and then remembered I was zoomed in .

And yeah, the physics totally need work. It is completely playable if you get used to it (I can beat both levels with no issues), but I absolutely agree I need to do things like increase gravity and give you more control over sliding and whatnot on the ground.

That's just leftover from when I used file browsing and it saved the player save in the Players folder in the game directory. Now that it's webstart, I still need to create a folder in your preferences folder.

While I've got people here, does anyone mind posting exactly how you link to the path of the preferences folder using Windows and Linux? On Mac OS X it's /Users/user.name/Library/Preferences. The only thing holding me back from making save files there has been not knowing the paths for other OSes. So if I could get help that would be great.

Seemed to load and start fine, but I was very, very confused by the level. Not sure if that was a road in the background or what on earth the fences and platforms were doing. I think you really need to get a consistent perspective for the game and make it obvious where the actual surfaces are that you can interact with and what's just random fluff you can ignore.

Spent 5 mins trying to make the first jump then gave up when I fell straight down the second hole. Sorry.

Seemed to load and start fine, but I was very, very confused by the level. Not sure if that was a road in the background or what on earth the fences and platforms were doing. I think you really need to get a consistent perspective for the game and make it obvious where the actual surfaces are that you can interact with and what's just random fluff you can ignore.

Spent 5 mins trying to make the first jump then gave up when I fell straight down the second hole. Sorry.

Well that's not too surprising to me. I've started a training level that's a lot more straightforward, which I will release in the near future. I also have spent some more time on the Physics, so it's easier to survive.

That's just leftover from when I used file browsing and it saved the player save in the Players folder in the game directory. Now that it's webstart, I still need to create a folder in your preferences folder.

While I've got people here, does anyone mind posting exactly how you link to the path of the preferences folder using Windows and Linux? On Mac OS X it's /Users/user.name/Library/Preferences. The only thing holding me back from making save files there has been not knowing the paths for other OSes. So if I could get help that would be great.

System.getProperty("user.home");

Should work on all three systems.

To use preferences though, you should use the Preferences class. Java automatically maps them. On Windows it stores them in the registry. On Linux and Mac it stores them in a file store.

Check where FileSystemView.getFileSystemView().getDefaultDirectory() resolves to on MacOS X. I've used it in the past, since it resolves to "My Documents" on Windows and "/home/<user>" on Linux. I would also add "My Games/<game-name>" or something to the resulting path. That's what Crysis did.

Check where FileSystemView.getFileSystemView().getDefaultDirectory() resolves to on MacOS X. I've used it in the past, since it resolves to "My Documents" on Windows and "/home/<user>" on Linux. I would also add "My Games/<game-name>" or something to the resulting path. That's what Crysis did.

Okay, that sounds perfect. I know that the default directory on Mac OS X is also your documents folder, so that should work nicely.

Interesting game here but I'm not able to play it because of the controls. I try to jump while running but it doesn't work at all. The only time I jump is when I don't move. And I can do multiple jumps in a row like moving in thin air. At that time I get killed by that bad guy because he shoots me something. Also, it seems to me that there's too many keys to master at the beginning. Controls are easily an issue, right? (thinking about my game)

And speaking about gravity, I have the impression to have the mass of a sheet of paper. It really need adjustment.

Graphics are good, thought they are lacking perspective. Take the street for example.

You're quite right, there is indeed a ginormous (if that's a word) difficulty curve to learn the controls. I don't think the problem is the number of buttons, it's more the number of combinations, completely without any tutorial. I'm hard at work making a tutorial for the game, so I'll make sure to get a new opinion after that.

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