Java-Gaming.org    
Featured games (91)
games approved by the League of Dukes
Games in Showcase (577)
games submitted by our members
Games in WIP (498)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  HyperBlazer Neon  (Read 3457 times)
0 Members and 1 Guest are viewing this topic.
Offline erikd

JGO Ninja


Medals: 15
Projects: 4
Exp: 14 years


Maximumisness


« Posted 2013-01-15 17:39:48 »



So it'll be a follow up to an old game I made, this time aiming for a 'neon' aesthetic.
This time the engine also features lighting and alpha (the old game had none whatsoever Smiley), the gameplay will be a bit less extreme (a bit slower paced, but still as unforgiving and 'arcadey' as the last one), the road is now much more flexible allowing for more interesting level elements.

It's already somewhat playable, but it's still really bare-bones. Using libgdx, it works on both android (intended for tablets only) and desktop.

EDIT:
Download links:
Java Web Start version
android tablet version

Offline Varkas
« Reply #1 - Posted 2013-01-15 23:37:25 »

I spot a trailblazer clone!

http://www.youtube.com/watch?v=A5N80ji28ag

I hope you can make it as good as the Atari 800XL and C64 Versions. The Atari ST version wasn't nearly as much fun.

if (error) throw new Brick(); // Blog (german): http://gedankenweber.wordpress.com
Offline erikd

JGO Ninja


Medals: 15
Projects: 4
Exp: 14 years


Maximumisness


« Reply #2 - Posted 2013-01-17 01:30:32 »

Yes, Trailblazer was one of my favourite games at the time (played it on MSX myself).

Here's another screenshot with the ball disintegrating in an explosion of light Smiley:

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Varkas
« Reply #3 - Posted 2013-01-17 16:32:36 »

Do you have any new ground types with new special effects in mind?

if (error) throw new Brick(); // Blog (german): http://gedankenweber.wordpress.com
Offline erikd

JGO Ninja


Medals: 15
Projects: 4
Exp: 14 years


Maximumisness


« Reply #4 - Posted 2013-01-17 20:24:14 »

Well, first there will be the same ones from the first 'hyper blazer' (which isn't online atm).
It had the same ones from trailblazer + some original ones:
- static wall
- wall appearing from the ground when you approach
- disappearing tiles when you approach
- overhead barriers you can crash into when you jump into it
- tiles that make the camera do a 360 degrees roll
- elevated tiles you have to jump onto

That was already plenty to give the game enough diversity, but I'm thinking of also adding tilted tiles so you can create hills etc. and perhaps walls with holes you have to jump through. The road can now also be any width instead of always 5 tiles wide, so it's now also possible create bends and make the road split. Maybe I'll also add hoops you have to jump through for extra bonus points, and teleporting tiles.
However I don't want to make things too complex so I'm not sure if I'll add all that.

One big difference with trailblazer is that if you fall through a hole (or crash into something), the ball explodes and you have to restart the level, so it's rather less forgiving. Personally I think that's an improvement, but not everyone felt that way with the first 'hyperblazer'.

Offline erikd

JGO Ninja


Medals: 15
Projects: 4
Exp: 14 years


Maximumisness


« Reply #5 - Posted 2013-01-19 02:18:13 »

Just a little update:

First of all, when I said the gameplay will be slower paced, I lied Cheesy
One of the good things about the first Hyper Blazer was its challenge and sense of speed, so I decided to stick with that. I'll just have to be more careful with level design to not make players give up too soon.

There are now multiple levels (still just place-holders to test things out), and I've implemented the tiles from the original trailblazer.
I'm testing now on PC and a Nexus 7 tablet, and this tablet is quite close to Ouya in specs (I'd like to ultimately release this on Ouya too because that seems it could be the best platform to play this on).
That said, it (surprisingly tbh) plays quite well on a Nexus 7 with touch controls. I think I've come to an implementation of a 'virtual stick' that actually works quite well.

Performance is not bad on the Nexus 7, but I'm also already a bit struggling to keep things at 60fps. I've now implemented some optimisations to the road layer so that it merges similar tiles to one larger tile in geometry, and that helps a lot.
For now the framerate is still a quite stable 60fps (I'm logging each frame drop), but I'll also have to be more careful with throwing around alpha blending everywhere if I want to keep it that way.

I'm also making the camera more dynamic; the fov now depends on your speed, which is quite a neat effect and for example I'm also planning to make the camera go down when you're going under things (which is quite necessary since I've implemented this 'skewed' perspective now).
I've also added music and some sounds.

I must say I have to be careful not to churn out levels now, because on one hand it's already quite fun to play, but on the other hand I need to work on the basic mechanics too if I want to realize what I have in mind.

Offline erikd

JGO Ninja


Medals: 15
Projects: 4
Exp: 14 years


Maximumisness


« Reply #6 - Posted 2013-01-19 23:53:03 »

Here's a very early Android version:
download .apk

It's just 3 simple levels, no title screen or anything, just a very early test

It's been developed on a Nexus 7 tablet so I've no idea if performance is anywhere acceptable on other devices (or if it works at all).

Offline erikd

JGO Ninja


Medals: 15
Projects: 4
Exp: 14 years


Maximumisness


« Reply #7 - Posted 2013-01-20 14:37:08 »

I've made the level data files more flexible, so it's more easy to change the look of the levels.
The whole background type is now also configurable, but I've just made 1 so far.

The level files are simple text files looking like 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  
=== BG START ===
type=com.gagaplay.hb2.engine.Background1
color0=#7f7fff
color1=#ff7f7f
=== ROAD START ===
color_ground=#1a00e6
color_obstruct=#33004d
color_beam=#ff7fff
_|_|_|_|_
_|_|_|_|_
_|_|_|_|_
_|_|_|_|_
_|_|_|_|_
_|_|_|_|_
_|_|_|_|_
d|d|_|d|d
_|_|_|_|_
_|_|_|_|_
_|_|_|_|_
f|f|f|f|f
_|f|f|f|_
_|_|f|_|_
_|_|_|_|_
_|_|_|_|_
_|_|_|_|_
_|_|_|_|_
_|_|_|_|_
_|_|_|_|_
(..etc...)


Some screenshots:



Offline Varkas
« Reply #8 - Posted 2013-01-21 15:01:05 »

One big difference with trailblazer is that if you fall through a hole (or crash into something), the ball explodes and you have to restart the level, so it's rather less forgiving. Personally I think that's an improvement, but not everyone felt that way with the first 'hyperblazer'.

Trailblazer required you to "know" the levels, just seeing and reacting was not enough. It's really hard to learn new levels if the first mistake makes you start again. Having a few lives means that you can see more of the level, even if the time penalty for the mistakes makes it unlikely that you get very far beyond the level.

I can imagine that some players found this quite frustrating, particularly of the game is fast paced so you can't make good decisions based on what you can see ahead.

if (error) throw new Brick(); // Blog (german): http://gedankenweber.wordpress.com
Offline erikd

JGO Ninja


Medals: 15
Projects: 4
Exp: 14 years


Maximumisness


« Reply #9 - Posted 2013-01-21 17:40:09 »

Quote
Trailblazer required you to "know" the levels, just seeing and reacting was not enough. It's really hard to learn new levels if the first mistake makes you start again. Having a few lives means that you can see more of the level, even if the time penalty for the mistakes makes it unlikely that you get very far beyond the level.

That's an excellent point.
Hyper-Blazer is the same way in that you must memorize the level, and that it's sort of trial-and-error until you've mastered it.

However the way I remember Trailblazer is that making one mistake typically meant a quick 'game-over' and while it allowed you to see a bit past your mistake, it didn't give you the opportunity to retry that one particularly difficult spot. It just went on for bit leaving you inevitably running out of time.
So in practice, instead of restarting the level you had to restart the whole game after 1 mistake. I found this very frustrating myself.

Hyper-Blazer let's you just start over the level with a new ball, so at least you have a chance to do it right the second time.

In a way having to start over the level is perhaps also *more* forgiving as it gives you more opportunity to master a difficult patch.
Also, because Hyper-Blazer has many more tile-types than trailblazer the tough spots in the levels are often more intricate (and can even present the player with totally new tile types), so I personally found the exploding ball + restart works better than 'The Trailblazer way'.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Varkas
« Reply #10 - Posted 2013-01-21 22:22:05 »

Yes, I think being able to try the same level again instead of restarting the game is the better approach.

Eliminator had level codes, which you got once you mastered one level, so you could start at that level next time if you wanted to:

http://www.youtube.com/watch?v=zKRf4oiW1b0

A shooter variant on top of such a trail.

if (error) throw new Brick(); // Blog (german): http://gedankenweber.wordpress.com
Offline EgonOlsen
« Reply #11 - Posted 2013-01-21 22:33:33 »

Performance is not bad on the Nexus 7, but I'm also already a bit struggling to keep things at 60fps. I've now implemented some optimisations to the road layer so that it merges similar tiles to one larger tile in geometry, and that helps a lot.
For now the framerate is still a quite stable 60fps (I'm logging each frame drop)....
Just keep in mind that on a lot of Samsung devices, there's a cap to ~58fps (not 60!). If you log anything below 60, you'll spam the log on such devices.

Offline EgonOlsen
« Reply #12 - Posted 2013-01-21 22:44:29 »

Runs fine on a Galaxy Note with Android 4.0.3. It also runs fine on a Nexus S with Android 4.1.2, but because game logic doesn't seem to be frame rate independent, so it runs very slow on that device. I actually didn't notice that until i tried it on the Note and experienced how it was supposed to run... Wink

Offline erikd

JGO Ninja


Medals: 15
Projects: 4
Exp: 14 years


Maximumisness


« Reply #13 - Posted 2013-01-21 22:54:18 »

thanks for testing!

Yes, the logic is indeed independent from frame rate.
With the previous HyperBlazer I found that making the logic depend on the delta-time makes things a bit less precise (sometimes you can make a jump, sometimes you can't), so the logic is fixed now.
Instead I might implement frame skipping to make it 30fps, while the logic still runs at 60fps (only on slower devices of course).

Offline erikd

JGO Ninja


Medals: 15
Projects: 4
Exp: 14 years


Maximumisness


« Reply #14 - Posted 2013-01-22 00:50:57 »

For anyone interested, I've also uploaded a desktop version (unpack the zip and run either run-linux.sh or run-windows.cmd. The windows version is untested, the .sh might work on a mac but that is also untested).
The android version is updated too.

Both links are in the first post.

I've added a title screen and game-over screen, font rendering and many other changes.
It's actually starting to resemble a game now Smiley

Offline erikd

JGO Ninja


Medals: 15
Projects: 4
Exp: 14 years


Maximumisness


« Reply #15 - Posted 2013-01-23 23:27:16 »

I've made a rather large addition to the road: the height can now be defined.
This means levels can now have hills and ramps Smiley
I've also tweaked the physics a bit for that so that the ball can get airborne by racing over a ramp.


Offline erikd

JGO Ninja


Medals: 15
Projects: 4
Exp: 14 years


Maximumisness


« Reply #16 - Posted 2013-01-26 00:59:09 »

Just a little update...

I found a huge performance sapping bug!
It turned out that I was setting the active texture for every single tile in the road (no idea why I did that because I don't use multitexturing at all...). This meant that if there were many road tiles visible, things would slow down (even on a Nexus 7). Now everything is rock solid smooth again, no matter what I throw at it Cheesy

There are now 14 different road tile types available (actually the same as the first hyper-blazer), but the new 'hills dynamic' and the fact that the road can now be any width has quite some potential to make things more exciting.

I've found something in libgdx that doesn't seem quite right: mipmapped textures with a checkerboard pattern looks very wrong on Android (on desktop it's quite allright). The whole texture seems to shift right the farther it is. The mipmapping seems to happen in native code, but I'll just see if I can come up with something that looks better in Android.

Finally, I'm preparing a full demo with a scoring system in place and about 5 levels.
My goal is to have something in a state that it can be released when the Ouya comes out (because playing this with a controller on a TV is always better than touch-screen controls on a 7'' screen). That means implementing controller support too (I don't think libgdx supports it yet out-of-the-box?)

Offline erikd

JGO Ninja


Medals: 15
Projects: 4
Exp: 14 years


Maximumisness


« Reply #17 - Posted 2013-01-28 00:49:52 »

I've uploaded a 5 level demo here:
desktop version (windows, linux, mac might work too)
android tablet version

Offline erikd

JGO Ninja


Medals: 15
Projects: 4
Exp: 14 years


Maximumisness


« Reply #18 - Posted 2013-02-01 20:51:47 »

I'm currently in the process of getting a website back online with HyperBlazer Neon and my older stuff.
My old domain (gagaplay.com) is down and I don't have the means to get it back up again any time soon, so I've registered gaga-play.com and am knocking together a simple website to host my stuff again.
People have been hammering me on a sometimes daily basis with questions about what happened to JEmu2 too so I'll bring that online again too.

Offline erikd

JGO Ninja


Medals: 15
Projects: 4
Exp: 14 years


Maximumisness


« Reply #19 - Posted 2013-02-08 18:41:21 »

I've uploaded a Java Web Start demo version: *click*

(I only tested on Ubuntu, but it should work on other platforms too)

There are obviously all kinds of visual references to the Android version; "Tap the screen to start" obviously won't work Smiley (press space)

SPACE/CTRL = JUMP
CURSOR KEYS = Steer/accelerate/brake

Offline kevglass

JGO Kernel


Medals: 85
Projects: 25


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #20 - Posted 2013-02-08 18:43:36 »

erikd is here too? Kick ass.

Kev

Offline erikd

JGO Ninja


Medals: 15
Projects: 4
Exp: 14 years


Maximumisness


« Reply #21 - Posted 2013-02-08 18:47:23 »

Hey Kev, long time no see here too Smiley

Pages: [1]
  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.

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

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

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

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

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

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

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

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

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

CJLetsGame (187 views)
2014-04-01 02:16:10
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

Anonymous/Local/Inner class gotchas
by Roquen
2014-03-11 15:05:20
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!