Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (107)
games submitted by our members
Games in WIP (536)
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  
  Stacker - Block stacking arcade game  (Read 3763 times)
0 Members and 1 Guest are viewing this topic.
Offline Elsealabs

Senior Newbie


Projects: 1



« Posted 2013-08-01 05:02:34 »



Commercial Explanation:
Stacker by Elsea Labs is a free and open-source game based on the popular “Stacker” physical arcade game. Use your gaming skills to stack blocks on top of each other and try to make your tower reach the top of the grid. You'll earn points based on time and skill and be able to compare your score with friends who also play. This arcade-styled game is a great way to pass time or challenge yourself.

Development Notes
The game is almost done, so I figured I would put it on the forums for suggestions and to have people review the code. I'm new to JGO, so hello, and I hope you enjoy this and my future games!

If you run the game via console/terminal, you will see more details about the scoring system.

Check the to-do list to see what's left, and feel free to help out, make suggestions, or point out bugs.

Download: Current Github Pre-Release
Note: This is the game in its current state as seen on GitHub. This is unfinished and not fully featured.

Source Code: https://github.com/Elsealabs/Stacker/tree/master/com/elsealabs/stacker
Changes: https://github.com/Elsealabs/Stacker/commits/master
To-do List: https://github.com/Elsealabs/Stacker/blob/master/TODO
Offline mrdeathjockey

Senior Member


Medals: 5
Projects: 1
Exp: 3 years


Trying to be a good programmer, step by step


« Reply #1 - Posted 2013-08-01 12:07:25 »

Nice, I always wanted to make it but was never really bothered to. This brings back old and horrible memories about the damn machine showcasing PSP and Nintendos. For some reason I could never stack it to the top.

Fun game regardless though

Offline Drenius
« Reply #2 - Posted 2013-08-01 18:02:46 »

Fun little game and nice simple design.
Good work!
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Elsealabs

Senior Newbie


Projects: 1



« Reply #3 - Posted 2013-08-01 22:16:17 »

Thanks for trying it out! If anyone has any suggestions for additions to gameplay, or any constructive criticism of anything about the game, it would be much appreciated.
Offline Drenius
« Reply #4 - Posted 2013-08-01 22:29:34 »

When pressing spacebar before the light is on, the window closes and maybe you could add a little animation when winning the game instead just starting a new one.
Offline Elsealabs

Senior Newbie


Projects: 1



« Reply #5 - Posted 2013-08-01 22:42:32 »

Thanks for pointing out the error.

And I had planned for a winning screen of some sort, and a statistic tracking system. There will also be a few other additions that make it better graphically, such as menus, and an animation of the block "falling" when it misses the block selection below it instead of just disappearing. I'll update the "TODO" with those ideas.
Offline Drenius
« Reply #6 - Posted 2013-08-02 04:30:22 »

Why does it take so long (about 5 seconds) until the light goes on?
Offline Elsealabs

Senior Newbie


Projects: 1



« Reply #7 - Posted 2013-08-02 04:43:16 »

It's hard coded to wait exactly three seconds before the machine "turns on" just for effect. Eventually there will also be music that sounds as if it's "booting up" with the machine. Whenever I add the music I'll shorten the time it takes for the machine to turn on.
Offline Drenius
« Reply #8 - Posted 2013-08-02 04:46:34 »

It's not a problem, just wondered why...
Offline Herjan
« Reply #9 - Posted 2013-08-02 16:41:21 »

Sadly there is no winning screen...

In other words, I failed at the last row (I guess) :S

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

JGO Wizard


Medals: 66
Projects: 4
Exp: 3 years


Radirius Software Developer


« Reply #10 - Posted 2013-08-02 23:43:31 »

That's cool! Just wondering, did you use lwjgl? I just got linux, and was wondering if I can make one jar for all platforms on lwjgl, I saw your game ran on all, and just thought of it.

Offline Drenius
« Reply #11 - Posted 2013-08-03 00:20:26 »

lwjgl (like most of the graphic libraries) is always for all desktop systems isn't it?
Offline wessles

JGO Wizard


Medals: 66
Projects: 4
Exp: 3 years


Radirius Software Developer


« Reply #12 - Posted 2013-08-03 00:33:51 »

Yes, but I want it to work on all desktops (i.e. linux, windows, mac)

Offline Drenius
« Reply #13 - Posted 2013-08-03 01:18:59 »

Thats exactly what I wanted to say...
Are'nt other lwjgl programs running on your linux/mac?
If, there's something wrong.
Offline wessles

JGO Wizard


Medals: 66
Projects: 4
Exp: 3 years


Radirius Software Developer


« Reply #14 - Posted 2013-08-03 01:26:27 »

Wait, I think you just put all the natives for all OS's in the jar file. Lwjgl doesn't run on linux sometimes b/c programmers don't put in all the natives, if I am correct.

Offline Elsealabs

Senior Newbie


Projects: 1



« Reply #15 - Posted 2013-08-03 02:52:33 »

I'm using LibGDX which is an AMAZING framework that runs on all desktop operating systems, and iOS and Android, without altering your code. LibGDX is based off of LWJGL, OpenGL, OpenAL, and stuff like that though. Click my Github link on the main post to see some of the code in action.

http://libgdx.badlogicgames.com/
Offline wessles

JGO Wizard


Medals: 66
Projects: 4
Exp: 3 years


Radirius Software Developer


« Reply #16 - Posted 2013-08-03 03:32:50 »

Nah. I'll make one game maybe in libgdx. Then I'll make my own library. I like to know that I made the framework, rather than just take someone else's work.

Offline Elsealabs

Senior Newbie


Projects: 1



« Reply #17 - Posted 2013-08-03 06:14:16 »

Added what I've done in the past day as a pre-release on Github. Basically new falling animations, and under the hood optimization.

For the next week I will focus on organization, and re-programming and re-thinking the way things are rendering, and attempting to make it more centralized and organized. Right now the way the program renders things in general feels unorganized and messy, and I will aim to fix that.

Once that's done in my eyes, I will add menus, music, statistic tracking, and then put up another pre-release.

Current Release: https://github.com/Elsealabs/Stacker/releases/tag/0.1.1
Offline Drenius
« Reply #18 - Posted 2013-08-03 20:13:26 »

The new animation is making it looking VERY much better!
For a small winning animation without having to wait for a new screen:
Maybe something coming from top destroying the tower line by line...
Offline theBasicMelon

Junior Member


Projects: 2



« Reply #19 - Posted 2013-08-03 21:46:29 »

Hi there I just downloaded your new release. Unfortunately it doesn't run Sad

Here's the trace:
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  
JavaVM WARNING: JAWT_GetAWT must be called after loading a JVM
JavaVM WARNING: JAWT_GetAWT must be called after loading a JVM
JavaVM WARNING: JAWT_GetAWT must be called after loading a JVM
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: com.badlogic.gdx.utils.GdxRuntimeException: Unable to create OpenGL display.
   at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:113)
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Unable to create OpenGL display.
   at com.badlogic.gdx.backends.lwjgl.LwjglGraphics.createDisplayPixelFormat(LwjglGraphics.java:212)
   at com.badlogic.gdx.backends.lwjgl.LwjglGraphics.setupDisplay(LwjglGraphics.java:181)
   at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:122)
   at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:110)
Caused by: org.lwjgl.LWJGLException: Could not get the JAWT interface
   at org.lwjgl.opengl.AWTSurfaceLock.lockAndInitHandle(Native Method)
   at org.lwjgl.opengl.AWTSurfaceLock.access$100(AWTSurfaceLock.java:51)
   at org.lwjgl.opengl.AWTSurfaceLock$1.run(AWTSurfaceLock.java:94)
   at org.lwjgl.opengl.AWTSurfaceLock$1.run(AWTSurfaceLock.java:92)
   at java.security.AccessController.doPrivileged(Native Method)
   at org.lwjgl.opengl.AWTSurfaceLock.privilegedLockAndInitHandle(AWTSurfaceLock.java:92)
   at org.lwjgl.opengl.AWTSurfaceLock.lockAndGetHandle(AWTSurfaceLock.java:66)
   at org.lwjgl.opengl.MacOSXCanvasPeerInfo.initHandle(MacOSXCanvasPeerInfo.java:57)
   at org.lwjgl.opengl.MacOSXDisplayPeerInfo.doLockAndInitHandle(MacOSXDisplayPeerInfo.java:56)
   at org.lwjgl.opengl.PeerInfo.lockAndGetHandle(PeerInfo.java:85)
   at org.lwjgl.opengl.MacOSXContextImplementation.create(MacOSXContextImplementation.java:47)
   at org.lwjgl.opengl.ContextGL.<init>(ContextGL.java:132)
   at org.lwjgl.opengl.Display.create(Display.java:847)
   at org.lwjgl.opengl.Display.create(Display.java:754)
   at com.badlogic.gdx.backends.lwjgl.LwjglGraphics.createDisplayPixelFormat(LwjglGraphics.java:208)
   ... 3 more


I'm running OSX so maybe that's part of the problem.

The art style is really nice from what I can see though  Grin
Offline Elsealabs

Senior Newbie


Projects: 1



« Reply #20 - Posted 2013-08-03 22:36:05 »

That looks like a problem with the LibGDX framework on OSX specifically. I'll look more into it and go see if it runs on my Mac. Could you tell me the version of Java you're using, and what version of OSX you are running?

Edit: Yep, it's not running at all on my Mac. I'll look on the LibGDX forums and try to figure out what's happening.

Edit II: After doing some quick research, "LWJGL is completely broken under OSX Java 7, and needs a ground-up rewrite of the Display implementation." But that is a quote from 2012, and the issues seems to be that LibGDX doesn't use the latest version of LWJGL, so the issues still exist. I'll try to see if I can put a newer version of LWJGL in LibGDX and see if it fixes anything.
Offline theBasicMelon

Junior Member


Projects: 2



« Reply #21 - Posted 2013-08-03 22:47:48 »

Mac OSX 10.8.4

Java 1.7.0_25

Hope it helps  Smiley
Offline Elsealabs

Senior Newbie


Projects: 1



« Reply #22 - Posted 2013-08-03 22:58:40 »

Here, I made a quick version using native OSX libraries and an updated version of LWJGL. Note that this jar works on Mac, and will only work on Mac. In the future I'll find a more elegant way of porting to Mac, but for now this will have to do.

http://elsealabs.com/storage/Stacker_MacOnly.jar
Offline theBasicMelon

Junior Member


Projects: 2



« Reply #23 - Posted 2013-08-04 00:08:27 »

Awesome that works.

It's a classic game, and you've pulled it off really well  Cool

The only problem I had was knowing whether or not I won the game. I think I did, but the game just instantly reset so it was a little short lived.  Tongue

The art style is great and I hope you manage to get it working cross-platform again.
Offline Elsealabs

Senior Newbie


Projects: 1



« Reply #24 - Posted 2013-09-05 04:19:58 »

Sorry for such a long break. I just started my first semester of a new boarding school and it's fairly rigorous. The craze of the first few weeks is starting to die down, and I should have the new version with a new rendering engine, menus, and music, on Github and up for download fairly soon.
Offline matheus23

JGO Kernel


Medals: 106
Projects: 3


You think about my Avatar right now!


« Reply #25 - Posted 2013-09-05 11:08:58 »

Nicely done, but too simple for me to be qualified as fun Roll Eyes

See my:
    My development Blog:     | Or look at my RPG | Or simply my coding
http://matheusdev.tumblr.comRuins of Revenge  |      On Github
Offline Elsealabs

Senior Newbie


Projects: 1



« Reply #26 - Posted 2013-09-05 18:29:27 »

I see where you're coming from. But I'm aiming it towards being kind of a time wasting game such as Doodle Jump or Temple Run that people would play on mobile devices. I am also adding a few features that may increase the enjoyment of the game, such as an infinity mode where instead of it stopping when you get to the top, it keeps going up (sort of like Doodle Jump), global statistics and leaderboards, achievements, and maybe even some mini-challenges that you do with the blocks.

If you or anyone else has any suggestions on how to make the game more interesting, fire away.
Offline matheus23

JGO Kernel


Medals: 106
Projects: 3


You think about my Avatar right now!


« Reply #27 - Posted 2013-09-05 18:41:49 »

Oh wow, sounds cool Smiley

Yeah, I'm one of the younger ones ... Roll Eyes

See my:
    My development Blog:     | Or look at my RPG | Or simply my coding
http://matheusdev.tumblr.comRuins of Revenge  |      On Github
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.

Riven (15 views)
2014-07-29 18:09:19

Riven (10 views)
2014-07-29 18:08:52

Dwinin (10 views)
2014-07-29 10:59:34

E.R. Fleming (28 views)
2014-07-29 03:07:13

E.R. Fleming (10 views)
2014-07-29 03:06:25

pw (40 views)
2014-07-24 01:59:36

Riven (39 views)
2014-07-23 21:16:32

Riven (27 views)
2014-07-23 21:07:15

Riven (29 views)
2014-07-23 20:56:16

ctomni231 (59 views)
2014-07-18 06:55:21
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22
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!