Pullblox clone

Hi folks,

one of my favorite games is Pullblox and I decided to write a clone using jME. Just for myself to play and code a little bit.

I’ve been programming in Java for a pretty long time, but have no experience with game engines.

So I tried jME. The result is by far better than I ever expected. Regarding my skills, he he.
The funny thing is, the game looks pretty like the version I had running after three days.
Of course a lot of details were missing and illegal moves were possible, but wow! Three days!!!

A big thanks to the jME team. Excellent documentation and forum.

I do not intend to publish it. Pullblox is unbeatable and I guess Nintendo wouldn’t like it.

There is still a lot of work (fun) ahead…

5 Likes

Cool, glad you’re having fun with the engine :slight_smile:

Legally, you could clone the Pullblox game mechanics with no problems. Game mechanics aren’t copyrightable (but they could be patentable, though I doubt this has been done).

You cannot copy the graphics, or the levels; that would be a clear violation of copyright.
You also cannot use the Pullblox name, and I’d even avoid mentioning it as an influence to keep clear of any potential trademark infringement.

I do not know how quick Nintendo’s legal department is with nasty letters.
It’s not that easy for Nintendo either, if the recipient of the letter is well-established in their user community, they might be hit by a massive PR backlash.
Also, if users like you, a legal defense funds will be quick to set up, the more egregious the letter is the better the funds will be.
These legal waters requires some care and caution, and they’re never risk-free, but they can be navigated.

Of course, everybody’s definition of “fun” is different, so while I’d definitely consider that a fun way to tease a few high-and-mighty ones, this might not be your kettle of fish, so feel free to stick with your just-for-home-use policy :slight_smile:

But… if Pullblox is a trademark then Nintendo has to enforce it or they will lose it. Selective enforcement is not allowed with trademarks. So definitely try to avoid using other company’s trademarks as (if they notice) they will surely at least send a cease and desist letter.

The trademark protects just the name (and probably logo or whatever else is used to identify the product).
They have no trademark cause if you give it an easily distinguisable name - “Pulling the crates” or whatever.

@toolforger said: The trademark protects just the name (and probably logo or whatever else is used to identify the product). They have no trademark cause if you give it an easily distinguisable name - "Pulling the crates" or whatever.

Yep.

I only singled it out because it is the one thing even the most lax company will enforce since it requires enforcement to stay valid (within the realm of fair use/parody, etc.). Copyright and patents require no such diligence… you can selectively enforce them as you see fit.

Thanks for your comments. Currently I managed not to copy any graphics etc. jME provides some reasonable material. This shows again how usable the framework is.

Of course it’s no good idea to talk about that I was inspired by Nintendo. Well, but I wanted to share my experience. And it is a good exercise. You know, changing your goals because of your skills tends to change the result massively and this keeps me on track.

The game mechanic is so inspiring that I have so many ideas to leave the path of its original. But this will come later, I didn’t wanna start with a MMO :wink: The only harder thing would be designing addictive levels. Indeed the level shown is a clone.

I attached a gameplay video.

[video]http://youtu.be/sLUUjeYm5GY[/video]

3 Likes

Hi monkeys,

I’m still working on my tiny game clone. Here is a short summary of my progress:

  • Sindbad now turns smoothly. I did it manually using this technique. @pspeed Thanks Paul!
  • I used already the same technique for moving the blocks out of the wall. Why? I simply didn't get the MotionPath to work. I thought it was a good idea to attach the player to the block and then shift, but somehow the player shifts away. Very strange. Of course there were posts in the forum describing exactly this problem, but I didn't get it. My fault. But the other solution is also very nice. Short and readable.
  • Added a very simple start screen and pause menu. Wish I were a nifty GUI expert...
  • It is now possible to rewind the timeline. If you fall down and there are no stairs... much better than to restart a level! With a nice tape rewind effect. (Stripes and sound)
  • Full support for Pullblox QR codes. Now I can play all the levels and use my 3DS to create new levels. (Currently no switches or manholes supported)
  • Big levels lowered the framerate down to 5 fps. For a few days I thought I had to convert it to a minecraft like game. OMG! Fortunately I recognized that the blocks had a mass, although this isn't required for my game. Guess I copied it from HelloPhysics. So I didn't had to ask the 999999...999-th time "How do I make a minecraft like game???" LOL. You are really lucky!
  • I tried to use AppStates, but unfortunately this increases the CPU load, so I didn't do it. I'm not sure if this is my fault, but the same is true for this demo. Should I say that my PC is quite old?
  • If I switch to fullscreen and back again, there is also a higher CPU load than before.
Because of the excellent engine my code is still very small and clean. So thanks for this masterpiece!

You might ask, why am I still trying to clone Pullblox? Well, it’s still addictive and when learning jME it’s better not to change the spec over and over again. (IMO) On the other side maybe it could turn into something brand new and sells millions of copies… =D

1 Like

Hi monkeys,

I’m proud to present you an update:
[video]http://youtu.be/Gucmz0u96rs[/video]

This is a major release and I’m quite satisfied with it:

  • Added teleporters ("manholes" in Pullblox universe) with a nice cinematic effect. BTW Great API!
  • Added switches which pull out blocks of the same color.
  • Zoom out effect.
  • Credits ;-P

The video is pretty long (7:25 minutes), but I wanted to show all features. =D

The engine is great and the forum provides answers to almost all questions. Sometimes it takes time to understand the answer… but that’s natural I guess…

@revv said: Thanks for your comments. Currently I managed not to copy any graphics etc. jME provides some reasonable material. This shows again how usable the framework is.

Of course it’s no good idea to talk about that I was inspired by Nintendo. Well, but I wanted to share my experience. And it is a good exercise. You know, changing your goals because of your skills tends to change the result massively and this keeps me on track.

The game mechanic is so inspiring that I have so many ideas to leave the path of its original. But this will come later, I didn’t wanna start with a MMO :wink: The only harder thing would be designing addictive levels. Indeed the level shown is a clone.

I attached a gameplay video.

[video]http://youtu.be/sLUUjeYm5GY[/video]

In some ways I envy you for completing a game :slight_smile:
Being one of the mmo starters, that did not give up after a few days I’m like in the 4 complete rewrite of the base engine, and are finally progressing to the low level game logic after 6 years :slight_smile:

@Empire Phoenix said: In some ways I envy you for completing a game :) Being one of the mmo starters, that did not give up after a few days I'm like in the 4 complete rewrite of the base engine, and are finally progressing to the low level game logic after 6 years :)

Thanks. Indeed the game has very simple game mechanics, so a prototype can be achieved very quickly. But then when I saw the results I wanted to improve here a little, there a little and so each step was quite small and manageable. An MMO is a complete different league.

When I say “simple” I don’t mean the game design. Designing such a great game is very very hard. I’m just the programmer. 8)

Good luck with your project. Keep on…

That looks nice and I love the sound effects :smiley:

Heh. I liked the game very much but not the sound effects.
For what it’s worth :slight_smile:

I see there is a controversy discussion about my sound effects… =D
The idea was a nerve-racking sound for pushing and pulling. I had this sound in my mind for a long time before and therefore I started loving it. For me personally it gave the game a huge fun boost.

I should mention that all screen recording tools seem to increase the pitch of the sound effects. This makes the nerve-racking effect even worse which was not intended… :stuck_out_tongue_winking_eye:

Good work! :smiley:

Made me chuckle here and there.

Heh. If nerve-wracking was what you were shooting for, then yes that’s working :slight_smile:

1 Like

In the meantime I played around with an Android port of my game:

Of course it wasn’t playable without touch support, so I added a nifty menu and HUD (screenshots from desktop version):

Well, I do not have a physical Android device, but the emulator looks promising.
The difference was that I had to change the way how I load resources. I liked loading files relative to the installation directory. Some Linux filemanagers also don’t allow to run such jar with double click. Not very user friendly. But anyway I changed it.

But I do have an iPhone, but no developer account :cry:, regardless:

2 Likes

@revv

Nice work! =D

I’m looking at buying a Mac for my next computer and doing some OS X/iOS stuff too. Are the touch screen controls already working on iOS?

The nifty start menu does not appear, so this needs further investigation. Sorry, I can’t tell you more at the moment.
There were a lot of tiny problems to solve until I could make the screenshot, but I still need to fully understand what’s the matter.

The default BasicGame does also not react.

I added a TouchListener, but no events come through in iOS simulator. That’s a pity.
Some images also appear at the wrong locations and are upside down :roll:

Apart from that I think they’ve done a great job. I still can’t believe that packaging the JVM works such smoothly.

I’m looking for an update… I guess it’ll be ready before I know how to run apps on my physical iPhone :mrgreen: