[SH11] db - Green Grappler
Næssén

Downloads

Windows binary
Source

Controls

You control the player with the arrow keys and fire the grappler with left control. There is also experimental support for Xbox360 controller implemented. To exit levels, simply press escape.

Hints on how to get the baby to compile in Linux

We use precompiled headers, and the header is called Precompiled.hpp. However, we do not include it in the source, we instead relay on the fact that we can tell Visual Studio to force include a header into each file. The same functionality is present in XCode, so I bet there is a GCC option floating around that does the same. Also, we use Dumb and TMX-parser which sources are not included in the source package.

Have fun!

Edit:
I've updated the source package to contain the complete source, that is with the external dependencies (not including Allegro) and the Visual Studio project files if anyone wants to compile the game themselves. It might also ease how to compile on Linux by looking at the Visual Studio project files. The actual game source is the same as in our submitted entry.

Edit2:
Looks like we screwed up with the TMX-parser license in the Speedhack version. It's not copyrighted by me and Per, but copyrighted by Tamir Atias. Sorry for that Tamir, it was a copy paste error by me.

{"name":"604509","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/f\/5\/f53f979e8d7465553312863614cf3ce7.png","w":646,"h":505,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/f\/5\/f53f979e8d7465553312863614cf3ce7"}604509
{"name":"604510","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/9\/d\/9d95881541b45a62622bbb6785281040.png","w":646,"h":505,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/9\/d\/9d95881541b45a62622bbb6785281040"}604510

Edgar Reynaldo

Good game mechanics, fun little game. There are at least two levels I think are impossible though - Grapplin heaven, and glider. The colors are way too dark and desaturated for my taste though.

Edit
I managed to beat those two levels I thought were impossible. I just needed to learn to use my momentum to move more effectively. Good job completing an actual full game in just a weekend. Amazing.

GullRaDriel

Working fine there.

Impressive little game, as Ed said. But unlike him I like the gameboy color style style it has ^^

aniquilator

AMAZING! Just fantastic. Good job man.

AMCerasoli

You are the King of Kings Sr. you have my respects.

Neil Walker

I like this a lot :)

Add some fighting enemies and more weapons and it'll be just like ninja-5-O ;)

GameCreator

Some levels were much harder than others but I beat the game eventually. Very well done.

Good job completing an actual full game in just a weekend.

A lot of the game looks to have already existed before the competition and it was a team of people working on it but it's still incredibly polished and the gameplay is near perfect.

Næssén

A lot of the game looks to have already existed before the competition and it was a team of people working on it but it's still incredibly polished and the gameplay is near perfect.

No, most of the game did not exist before the competition... What would even be the point of a Speedhack if that was the case? Music yes, and a basic framework with a game loop, animation, input, music and sound playback, but that's basically a thin Allegro and Dumb wrapper.

Having a team helps. Having a team with pro-programmers definitely helps :)

kenmasters1976

Nice game. Very polished for a three day competition, as usual.

I recognized the gameboy look from the very Darkbits presentation so that explains the color scheme and it makes a great job for the Color Symbolism rule.

Slartibartfast

Nice and fun, though it crashed when trying to start a new game when I first tried it.
There's something I dislike about the controls, it feels like I move a bit like I'm slipping around on ice, and I personally dislike the arrow keys :P
But other than that - pretty awesome!
Also, quite pretty, and sounds good. I like the overall aesthetic.

titonbrujah

An impressive entry for a 3 days competition, as one would expect from Darkbits

The controls seems a bit clunky until you get the hang of it, but I found the game fairly easy to beat. Heard people complain about difficulty, but if anything I found it too easy. The final boss was a panzy, which was sort of a let down.

I have to say it gets a bit repetitive though. Some more interesting enemies/bosses/stages (like the tower) would have made it a definite hit.

[edit] Forgot to add: I thought your approach to the "Color" rule was kinda cheap :(

Overall, a serious candidate on all categories for this year ;)

Matthew Leverton

Did I get sources mixed up, or does your official SH upload use Allegro 4 and Allegro 5? ???

Næssén

Did I get sources mixed up, or does your official SH upload use Allegro 4 and Allegro 5?

We use only 4.4.2. I have never touched 5.

Mark Oates

A lot of the game looks to have already existed before the competition

I think you're misinterpreting what you're experiencing. What we're witnessing is a phenomenon known as "experience." :P

Matthew Leverton
Næssén said:

We use only 4.4.2. I have never touched 5.

Not sure why I got Allegro 5 references in your code. I redownloaded it, and it was fine.

However, there are plenty of errors like:

src/math3d/quaternion.h#SelectExpand
1 template<class ItInOut> 2 inline void transformMany(quaternion q, ItInOut first, ItInOut last) 3 { 4 for(It i = first; i != last; ++i) 5 { 6 *i = transform(m, *i); 7 } 8 }

"error: ‘It’ was not declared in this scope"

And from where does float2 originate?

Næssén

However, there are plenty of errors like:

Hmm, I see. The math3d lib doesn't play well with GCC. That's a bummer. Perhaps I can look into it after work today.

float2 is in the vector.h, which is included through our Precompiled.hpp header.

Edit:
I have included a Visual Studio solution and project files in the source attached to this thread. Perhaps you can use that?

Matthew Leverton
Næssén said:

I have included a Visual Studio solution and project files in the source attached to this thread. Perhaps you can use that?

That won't help Linux.

Quote:

float2 is in the vector.h, which is included through our Precompiled.hpp header.

It doesn't seem like Precompiled.hpp is included everywhere it needs to be.

Is there some MSVC magic with that? Edit: I see your first post addresses that.

Edit 2:

I got it to compile. The main problem was the missing Precompiled.hpp. I just wrote a script to insert it at the beginning of every cpp file.

There were many other things because C++ is pain in the butt. :P

Some examples:

Entity::Collides( const CollisionRect& aRect1, CollisionRect& aRect2 )

isn't compatible with:

Entity::Collides( const CollisionRect aRect1, CollisionRect aRect2 )

so any time you try to use a temp value, it complains.

Nested templates foo<foo<bar>> must have a space foo<foo<bar> >.

Næssén

Matthew, use -include Precompiled.hpp with GCC.

Edit: You got it to compile, excellent!

Matthew Leverton

Let me know if Green Grappler.exe (MinGW / gcc 4.5.2) works for you. It seemed to be correct here, but I don't know what the game is supposed to look like, etc...

Næssén

Seems to work fine.

Matthew Leverton

After playing through a couple levels, my complaints are:

  • It seems way too easy to just fly through without any consideration at all. This is probably some combination of level design and the hook being too easy to blindly use.


  • The graphics really bother me. I hated the Gameboy too. I think you could make everybody happy if you drew graphics in color, but just converted them to the Gameboy colors at runtime as an option.

But other than those things, it's obviously very solid.

MiquelFire

For me, this game is Mega Man hard. Hell, I skipped the first level when I played it.

Dario ff

{"name":"604572","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/3\/a38787856b8f1e70f46c9a64be3fa4ca.jpg","w":638,"h":477,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/3\/a38787856b8f1e70f46c9a64be3fa4ca"}604572
How?

Using the switch and running seems the correct, but I get like 1 hit only, and if I'm supposed to repeat it, then it's a no-no for me. Not patient enough.

From the right side I never manage to hit it!

Only level I couldn't beat so far.

Næssén

Dario, go to the right first and destroy the reactor throw the small hole. Hold the ctrl so the grappler reaches the reactor. Then, when it is destroyed, run to the left and grab the core.

Dario ff

Oh I figured out what my problem was. When destroying reactors I tend to hammer the grapple key a lot. I just had to hold it a bit longer. :-X Sorry. I thought the grapple hit instantaneously.

EDIT: Really polished and fun entry. And with a lot of content as well! Some shared complain with the people I've showed it to is that controlling the grapple does not really give you what you want sometimes.

For reference, this really reminds me of the grapple sections in Super Metroid. :)

kenmasters1976
Dario ff said:

For reference, this really reminds me of the grapple sections in Super Metroid. :)

Not to mention the final dialog.

Quote:

The last Metroid is in captivity. The galaxy is at peace.

Mark Oates

Unfortunately, I don't have anything bad to say about the game.

  1. Game was well balanced between hard and easy. The challenges are hard, but the setbacks are minimal, thanks to the flags.

  2. Animation effects!?!

  3. Comprehensive story!!? :o

  4. Multiple levels?!

  5. Balanced gameplay with perfectly balanced challenges!? How you do that?!

  6. Background styling!

  7. With joystick support!? You gotta be kidding me! fun++; :o

  8. Auto-saves my game when I close it!!?!?! :o:o

...dude...

The only negative things I can even consider mentioning is the difficulty of using the grapple, but even that was assisted making the game less frustrating and more skill-based.

Matthew Leverton

Maybe I should play more levels, but I thought it was insanely easy. ???

Mark Oates

It was easy, but only because of the flags.

And I wouldn't say that's "too easy >:(" but instead "glad I'm not getting frustrated having replay those sections." It's more of a larger single-serving type game.

Peter Wang

I finished this two days ago but I still don't know what to say. It's basically flawless. ('Basically' because at one stage I kept dying after respawning, but restarting the level was no big deal.)

kenmasters1976

Maybe I should play more levels, but I thought it was insanely easy. ???

Some levels are insanely easy, some others aren't.

Trezker

This game is the winner for me. It has gameplay, level design, puzzle, graphics...

But I seem to have a problem firing the grappler up-left. All the other directions work fine.

Næssén
Trezker said:

But I seem to have a problem firing the grappler up-left. All the other directions work fine.

Are you using a 360 controller? That implementation suffers from a couple of dead angels.

kenmasters1976
Trezker said:

But I seem to have a problem firing the grappler up-left. All the other directions work fine.

That's probably a keyboard hardware issue.

Trezker

I'm using a regular keyboard.
Up+Left shouldn't be an issue with any keyboard.

EIDT:
Oh, I was using space to shoot the grappler, apparently that doesn't work well.
CTRL+up+left is working.

:-[

Bruce Perry

Awesome ;D

I did find it a bit hard and frustrating, so maybe the laziness rule should have kicked in sooner. Alternatively maybe just having more levels or more reward between challenges would help; or maybe simply not being penalised as harshly (i.e. only losing a few coins) when you hit something?

[EDIT]
Also, I think I'd have appreciated being told explicitly that:

  • The grappler direction is basically one of the eight compass directions depending on which arrow keys are held;

  • The grappler auto-aims to some degree so I don't need to worry too much about it. If I worry too much about it, I'll struggle with something else e.g. a jump trajectory, or just burn out too quickly.

I had to figure these things out myself because I realised it was frustrating not knowing them. I don't think most people would realise what was frustrating them; they'd just assume the game was too hard.

weapon_S

...dude...

Just awesome :o I ran into some trouble I blame the developers, though ::) Auto-aim killed me couple of times[1], and jumping was very slightly inconsistent [2].

References

  1. I say up+right, auto aim goes for block on the right; I say up, auto-aim thinks up+left is a good place to hook onto the final boss(whcih is impossible :P)
  2. Jump, hold up in air => no jump. Jump, grapple, hold up in air => jump. This killed me a couple of times during the final boss.
Desmond Taylor

I just can't believe these guys managed to get this done in a 72 hour slot! It's worth while finishing the game for sure :D

someone972

Out of curiosity, is there a specific chip/system that you got the sounds for the music from?

kenmasters1976

Also, I think I'd have appreciated being told explicitly that the grappler direction is basically one of the eight compass directions depending on which arrow keys are held

Agreed. I had some trouble due to this on a level. Unfortunately, it was the first level I played and I almost assumed it was impossible to beat. Once I realized that keys affected movement while grappling, the game became much easier and enjoyable.

I didn't have problems with the auto aiming, though.

MiquelFire

I had issues where up+side didn't work on aiming for some reason (when jumping, either Up or side, not both), or when it did, I was not in a position for the auto-aim to help me grab something.

Næssén

I'm happy most of you seem to like our game. About the auto aim feature, we wanted it to not be so noticable, so players would think that they are good at aiming. It probably needs some tuning before it's perfect.

Also, level design is something that is very hard to do in such a short time. I remember I thought that the first level would be very easy to complete when I made it but it turns out I was wrong. There really isn't enough time to play through games made in competitions like Speedhack and TINS to notice level design flaws.

Out of curiosity, is there a specific chip/system that you got the sounds for the music from?

I used Milkytracker to compose the music. The samples are mostly made with Milkytracker as well using the sample editor to draw samples, generate samples or use a combination of drawing and generating samples. To play the music, we use the excellent Dumb library.

Trezker

Well I managed to complete the game.
Are you gonna continue working on it?

I'd like to see volume control so I can listen to other stuff while playing.
And new interesting levels would be nice.

Næssén
Trezker said:

Are you gonna continue working on it?

We usually never do. One exception is Ballz which Per - together with a friend - ported to Flash. However, this time I might make an exception as I think we ended up with a really nice game. Volume control would definitely be a good feature.

titonbrujah

A custom level editor would be a good idea IMHO

Just saying 8)

Næssén

A custom level editor would be a good idea IMHO

We used Tiled, so editing levels is a piece of cake.

titonbrujah

Congratulations on best overall ^^

Thread #607911. Printed from Allegro.cc