Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (539)
Games in Android Showcase (132)
games submitted by our members
Games in WIP (603)
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
  ignore  |  Print  
  PORT4K  (Read 8584 times)
0 Members and 1 Guest are viewing this topic.
Offline bysse

Senior Devvie


Medals: 3
Projects: 1



« Posted 2012-02-21 19:59:38 »

I've just submitted my entry for this years competition, hopefully it will appear on the site ASAP.
The game is basically a 2.5D demake of Portal with music. I've worked hard on this game so i hope
you like it, i might be able to squeeze in 1 or 2 more levels before deadline.


http://java4k.com/index.php?action=games&method=view&gid=394

If you have problems starting the game, please turn off all other sound sources. If it still doesn't
work, give me a shout.

The synth and tracker will be released after the competition ends.
Offline Groboclown
« Reply #1 - Posted 2012-02-21 21:13:28 »

Wow!  Very nice port.

I have a lot of difficulty getting the jump to respond, whether I use "W" or space.  If I just hold down the key, the character occasionally jumps.

The biggest difference that caught me by surprise was that you can die by falling!

Also, the "portal physics" (speedy in, speedy out) seem a bit fiddly, in terms of maintaining the momentum direction on the exit.  I can imagine that this would be tricky to get right, and is more of a minor point.

But, again, the game is very impressive.

Offline elamre
« Reply #2 - Posted 2012-02-21 21:18:09 »

FUN! Cheesy thats what i had while playing it.
What i did not exactly got, were the areas where i could shoot, and where i couldn't. Marking these a bit better wont be a bad idea me thinks Smiley.
Finished all btw, make more! Cheesy

My projects:
Tower Defence!]http://www.java-gaming.org/topics/iconified/25690/view.html]Tower Defence! [lll.......] 30%!
Lightsnakerider! [llllll....] 60%!
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Damocles
« Reply #3 - Posted 2012-02-21 22:09:19 »

Nice game!.
Maybe seeing the area where a portal can be placed (transparent hover at pointerpos)
would be cool. Should be able to use the "trace" as for placing the portals.

Offline ReBirth
« Reply #4 - Posted 2012-02-22 03:51:17 »

Great work! can't figure out way to pass lvl 4.

Offline ra4king

JGO Kernel


Medals: 356
Projects: 3
Exp: 5 years


I'm the King!


« Reply #5 - Posted 2012-02-22 04:31:58 »

OH MY GOD THIS IS AMAZING! Great job! Smiley

Offline bysse

Senior Devvie


Medals: 3
Projects: 1



« Reply #6 - Posted 2012-02-22 07:28:58 »

Groboclown:
The jump behavior is very strange. What system are you running? I've tried it on both slow and fast computers but the input response have always worked. The physics can be a bit strange, i had to cut corners. 'die by falling' is actually when you fall though the floor. As for the portal they don't adjust to from which way you shoot them as in the real game, so that is one reason why they can feel fiddly Smiley

elamre & Damocles:
Light gray areas can be shot at, might look different on certain monitors? With 10bytes to spare i don't think i can project a portal on the wall but i might be able to squeeze in an aim. A very cool idea however.

My focus this year was to get music in the game so unfortunately a lot of eye-candy and features was thrown out.
Offline Groboclown
« Reply #7 - Posted 2012-02-22 15:12:56 »

Groboclown:
The jump behavior is very strange. What system are you running? I've tried it on both slow and fast computers but the input response have always worked. The physics can be a bit strange, i had to cut corners. 'die by falling' is actually when you fall though the floor. As for the portal they don't adjust to from which way you shoot them as in the real game, so that is one reason why they can feel fiddly Smiley

I'm running on Windows with Firefox:
Quote
Java Plug-in 1.6.0_24
Using JRE version 1.6.0_24-b07 Java HotSpot(TM) Client VM
64-bit, quad-core, 3GHz system, though Firefox+Java are running in 32-bit space.

When I just tap the space bar, roughly 1 out of every 3 presses causes the figure to jump.  It's not consistent; sometimes it's after 2 presses, sometimes after 5.  When I have a direction key pressed, it's even more erratic, up to 9 presses before a jump.

Even worse, if I press and hold the jump key, then keep a constant left/right motion (so I don't die by falling in the level 1 trap), it never jumps.  But, standing still with the jump key pressed causes the jump to happen with at most a 1 second delay between jumps.

However, that wasn't enough to keep me from finishing all the levels.

Offline bysse

Senior Devvie


Medals: 3
Projects: 1



« Reply #8 - Posted 2012-02-22 15:18:07 »

I'll try to tweak the input system a bit, i have some ideas of what may cause this.
Thanks for your help!

EDIT: Ok, just reread my code. And there shouldn't be anything strange there, same inputcode as i used last year. I've noticed that mac users can't run the game either, which is strange....

EDIT2:
On mac, the game receives the input but it's only the animation that reacts to it....
Offline ra4king

JGO Kernel


Medals: 356
Projects: 3
Exp: 5 years


I'm the King!


« Reply #9 - Posted 2012-02-22 17:13:50 »

I am also experiencing same issues as Groboclown. The space bar doesn't always cause the character to jump.

Using Java 7 on Chrome.

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

« JGO Spiffy Duke »


Medals: 87
Projects: 1
Exp: 6 years


Java guru wanabee


« Reply #10 - Posted 2012-02-22 17:35:40 »

Win7, Firefox Java6

Same issue, space only sometimes work. When I manage to jump I sometimes die from landing (it looks like I fall through the floor). When going in/out of portals the physics seems really weird and level 4 is more or less unplayable because of it. Other than that, nicely done with the size limitation Smiley

Mike

My current game, Minecraft meets Farmville and goes online Smiley
State of Fortune | Discussion thread @ JGO
Offline bysse

Senior Devvie


Medals: 3
Projects: 1



« Reply #11 - Posted 2012-02-22 19:02:07 »

Thanks this was an unexpected turn, because it works very well on bot my laptop and my computer at work.
The problems might be caused by too fast or too slow fps. I've updated a version with a 20-60fps limit.
If you could try it out i would appreciate it very much.
Tanks
Offline Aeroren

Senior Newbie


Medals: 1



« Reply #12 - Posted 2012-02-22 19:27:41 »

The jump button seems to work fine now, but now the fps is crappy Tongue
Offline bysse

Senior Devvie


Medals: 3
Projects: 1



« Reply #13 - Posted 2012-02-22 19:31:45 »

The jump button seems to work fine now, but now the fps is crappy Tongue

Okey thanks a lot, I'll fix this issue ASAP Smiley

EDIT: So does it work now perhaps? Smiley
Offline Groboclown
« Reply #14 - Posted 2012-02-22 21:51:57 »

It's working much, much better now.  It's very playable now.

I just encountered a collision detection bug - on the 5th level (I think, the one with the two diagonal jumps up and down) I launched sideways and walked through the left-hand wall in mid-air.  This might be because of some tweaks you made to the physics code?  It's pretty minor, though, and as soon as the character when off screen, the game recognized it as a death and started the level over, so it worked itself out.

Offline Mike

« JGO Spiffy Duke »


Medals: 87
Projects: 1
Exp: 6 years


Java guru wanabee


« Reply #15 - Posted 2012-02-23 06:33:26 »

It still misses the jump button sometimes, I fell through the floor a couple of times and died when I landed on a portal. It is a lot better than before though.

Mike

My current game, Minecraft meets Farmville and goes online Smiley
State of Fortune | Discussion thread @ JGO
Offline bysse

Senior Devvie


Medals: 3
Projects: 1



« Reply #16 - Posted 2012-02-23 07:57:38 »

I just encountered a collision detection bug - on the 5th level (I think, the one with the two diagonal jumps up and down) I launched sideways and walked through the left-hand wall in mid-air.  This might be because of some tweaks you made to the physics code?  It's pretty minor, though, and as soon as the character when off screen, the game recognized it as a death and started the level over, so it worked itself out.
No, it has happened before, that's why the check was implemented Smiley I didn't have enough space to implement the collision detection properly so it's only done in one step. Hence the artifacts...

It still misses the jump button sometimes, I fell through the floor a couple of times and died when I landed on a portal. It is a lot better than before though.
Sad to hear that it still doesn't work properly. But on the flip side, at least it works.

Anyway, what do you think about the aim? Is it counter intuitive with the colors?
Offline Quentin

Senior Newbie




Big newb


« Reply #17 - Posted 2012-02-23 10:49:28 »

Holy oranges on steroids, I love how the room rotates with you. The physics can mess up a bit(slow down when doing the infinite portal thing after a few travels) but hey, it's a tiny game, and it's better than I could ever do in my entire life xD Nice job!
Offline bysse

Senior Devvie


Medals: 3
Projects: 1



« Reply #18 - Posted 2012-02-23 12:39:36 »

Holy oranges on steroids, I love how the room rotates with you. The physics can mess up a bit(slow down when doing the infinite portal thing after a few travels) but hey, it's a tiny game, and it's better than I could ever do in my entire life xD Nice job!

Thanks! Yes, it's a "time lock" on the portal transitions. It's an ugly, but small, hack to fix the floor to floor portal scenario.
Offline StephR

Senior Devvie


Medals: 9



« Reply #19 - Posted 2012-02-24 23:29:20 »

Very good and impressive game ! Stuck on level 5. Futhermore, I'm not sure about the music. It is cool, although it seems there is a bit of extraneous noise. Is it voluntary, or is there a problem with my computer ?
Offline bysse

Senior Devvie


Medals: 3
Projects: 1



« Reply #20 - Posted 2012-02-25 09:01:32 »

Very good and impressive game ! Stuck on level 5. Futhermore, I'm not sure about the music. It is cool, although it seems there is a bit of extraneous noise. Is it voluntary, or is there a problem with my computer ?

Thanks, thinking about cutting the aim and add a new level instead.
The music do contain a fair bit of high frequencies and noise. But if you use headphones or 'real' speakers it shouldn't be too noisy. You need to be able to hear the base tones to appreciate it Wink

Hint: On Level 5 you need to shoot a portal midair.
Offline StephR

Senior Devvie


Medals: 9



« Reply #21 - Posted 2012-02-25 09:29:00 »

It would be too bad to cut this music. You should better consider how to fix it. You may give a look at the source code of Rick Townsend's Mazer 4K, which includes a rather good synth. Thanks for the tip for level 5. I'll try my best to pass it.
Offline bysse

Senior Devvie


Medals: 3
Projects: 1



« Reply #22 - Posted 2012-02-25 10:07:49 »

What i meant is that if you for example listen on it trough the laptop speakers you will only hear the high frequencies.

But yeah, the noise in the song is there by design Smiley For instance the lead is using a square wave oscillator and the drum track is, of course, just noise with a fast envelope and a delay effect. But I'll review the sound settings for the published song later today. If it's too much noise I'll lower the delay effect or volume on that track a bit.

For those interested, here's the synth itself. As you can see there are plenty of room for bit loss in the calculations, but it's very compact!
It features three oscillators, a delay effect, envelope, transpose on each track.

I'll publish the complete code including the tracker, with more comments, in a few days.

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  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  
      final int[][] wave = new int[3][WAVE_BUFFER];
      for (index = 0; index < WAVE_BUFFER; index++) {
         wave[0][index] = (int) (FP_S1 * (float) Math.sin(index * (2f * PI / WAVE_BUFFER)));
         wave[1][index] = index < (WAVE_BUFFER >> 1) ? FP_S1 : -FP_S1;
         wave[2][index] = (int) (FP_U1 * (float) Math.random()) - FP_S1;
      }
      while (true) {
         for (int track = 0; track < NUM_TRACKS; track++) {
            final int[] ins = song[INSTRUMENT_OFFSET + track];
            ins[ENV_LEVEL + 1] = FP_U1;
            final int pattern = song[SEQUENCE_OFFSET + (track >> 1)][((track & 1) * SEQ_LENGTH) + (sequence >> 5)];
            final int note = song[PATTERN_OFFSET + pattern][sequence & 0x1f];
            if (note == 1 && ins[ENV_STAGE] < (2 << FP)) {
            ins[ENV_STAGE] = (2 << FP);
            }
            if (note > 1) {
               ins[OSC1_RATE] = frequencies.charAt((note - 2 + ins[PITCH]) & 0xf) << ((note - 2 + ins[PITCH]) >> 4);
               ins[ENV_STAGE] = 0;
            }
            for (index = 0, offset = 0; index < SAMPLES_PER_TICK; index++, offset += 2) {
               if (track == 0) {
                  out[offset] = 0;
                  out[offset + 1] = 0;
               }
               final int stage = ins[ENV_STAGE] >> FP;
               ins[ENV_STAGE] += ins[ENV_RATE + stage];
               ins[OSC1_PHASE] += ins[OSC1_RATE];
               int value = wave[ins[OSC_TYPE]][ins[OSC1_PHASE] & WAVE_BUFFER_MASK];
               final int env = ins[ENV_LEVEL + stage]
                     + (int) ((long) (ins[ENV_LEVEL + stage + 1] - ins[ENV_LEVEL + stage]) * (ins[ENV_STAGE] & FP_U1) >> FP);
               value = (((value * env) >> (FP + 2)) * ins[VOLUME]) >> 6;
               value += ((delay[track][(ins[DELAY_POS] - ((ins[DELAY] * SAMPLES_PER_TICK >> 1))) & DELAY_MASK]) * ins[DELAY_MIX]) / 128;
               delay[track][ins[DELAY_POS]] = (value * ins[DELAY_FEEDBACK]) / 128;
               out[offset + 0] += (byte) value;
               out[offset + 1] += (byte) (value >> 8);
               ins[DELAY_POS] = (ins[DELAY_POS] + 1) & DELAY_MASK;
            }
         }
         index = 0;
         while (index < BUFFER_SIZE) {
            index += line.write(out, index, BUFFER_SIZE - index);
         }
         sequence = (sequence + 1) & SEQ_WRAP;
      }



Offline me

Senior Devvie


Projects: 4


Java games rock!


« Reply #23 - Posted 2012-02-25 10:20:14 »

Great improvement over the first itteration.
I personally would like to alter the keys so that the arrow keys could be used
instead of the A-D keys.

Best regards from
M.E.

M.E.
--------
Offline bysse

Senior Devvie


Medals: 3
Projects: 1



« Reply #24 - Posted 2012-02-25 13:07:05 »

Here is the source release for TinySynth which is the tracker and player i use in PORT4K.
Offline bysse

Senior Devvie


Medals: 3
Projects: 1



« Reply #25 - Posted 2012-02-25 13:21:58 »

Ok, i've removed the aim and added the last super hard level Smiley
Offline StephR

Senior Devvie


Medals: 9



« Reply #26 - Posted 2012-02-26 10:33:52 »

How many levels, Bysse ? You may add the option to go to the next level, so everyone could see them all. Without it, I'm not sure I will be able to see this last super hard one.
Offline bysse

Senior Devvie


Medals: 3
Projects: 1



« Reply #27 - Posted 2012-02-26 10:36:51 »

How many levels, Bysse ? You may add the option to go to the next level, so everyone could see them all. Without it, I'm not sure I will be able to see this last super hard one.

It's only eight levels so it shouldn't take too long Wink
I don't have enough space for a level skip, trying to squeeze in the aim again... I'll think about it
Offline StephR

Senior Devvie


Medals: 9



« Reply #28 - Posted 2012-02-26 22:13:20 »

Tests complete ! Finally... This eighth level was tricky but passing it was very satisfactory. Really a great game. And thanks for all the informations about your 800 bytes synth.
Offline bysse

Senior Devvie


Medals: 3
Projects: 1



« Reply #29 - Posted 2012-02-27 18:32:21 »

Good job!
Check out http://www.java-gaming.org/topics/music-player-for-4k-games/25845/view.html for the complete source.
Pages: [1] 2
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

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

The first screenshot will be displayed as a thumbnail.

rwatson462 (30 views)
2014-12-15 09:26:44

Mr.CodeIt (23 views)
2014-12-14 19:50:38

BurntPizza (50 views)
2014-12-09 22:41:13

BurntPizza (84 views)
2014-12-08 04:46:31

JscottyBieshaar (45 views)
2014-12-05 12:39:02

SHC (59 views)
2014-12-03 16:27:13

CopyableCougar4 (57 views)
2014-11-29 21:32:03

toopeicgaming1999 (123 views)
2014-11-26 15:22:04

toopeicgaming1999 (114 views)
2014-11-26 15:20:36

toopeicgaming1999 (32 views)
2014-11-26 15:20:08
Resources for WIP games
by kpars
2014-12-18 10:26:14

Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50
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!