Ambiera Forum

Discussions, Help and Support.

Ambiera Forum > CopperCube > Announcements and Showcase
Saboteur remake (2D platformer)

Registered User
2023-11-13 19:06:25

A 2D platform game I'm making using Just-In-Case's 2D Camera and Controller plugins and Sv3n's SAPI speech plugin, both from their dev pages on Musicby Luposian. I've updated the speech library with a realistic, natural female-voice which I'll distribute it in the final package.


Original concept by Clive Townsend.

Graphics will be continually updated throughout the map. Extremely low-poly collision mesh made in blender (svg extrusion method) - 3D character animations made with mixamo, then rendered as 2D sprite-sheets using Quickspite-3D. Dog animation manually ripped from public-domain run-cycle reference images.

Latest Update: 09:35, 27Nov, 2023

Added health-bar.
Added health regeneration whilst idle.
Added damage from dogs and sentry cannon.
Added water-spray effect from dinghy.
Sentry cannon sweeps by default.
Sentry cannon tracks player when LASER beam tripped.
Sentry cannon sound while gun is firing.
Added in-game music by Luposian.
Dog walks when patrolling, runs when triggered.
Player enters scene on boat.
Added boat sound.
Game restarts when killed (basic).
Added pickup place-holders.
1st Switch now enables/disables sentry cannon.
Footstep sounds for ladders.
Updated player sprites to "Ninja".
Working Ladders.
Working switches (no doors yet).
Realistic 2D run/walk dog animations (Dobermann Pinscher).
Added parallax background scene.
Switches work (push "W" to switch on/off).
Dog sounds (scamper/attack).
Bubble particle-effect when underwater.
HUD layout for messages, health-bar and pickup icons.
Mission timer.
CRT scan-line bezel.
Player movement almost complete (using Just_In_Case's 2D controller).
Jump detection.
Underwater detection.
Jumping and landing sounds.
Footstep sounds when walking.
Footstep sound variations for land/water.
Extruded 3D Map Geometry and collision-mesh.
Transparent alpha 2D map facade.
2D background and foreground mapped.
Animated 3D security cameras/sentry guns follow player.
Sentry guns activate/de-activate on player detection.
Added basic speech events (using Sven's SAPI plugin).
Added some game sounds.
Added climb up/down/idle animations.

Widened the stereo channels of the music.
Fixed dogs turning no longer disappear/clip into the walls.
Fixed sentry-gun sounds, now only sounds once per bullet.
Medium performance increase (switched to OpenGL renderer).
Resized dog run/walk animations to 128x128 pixels.
Fixed a sentry cannon that didn't fire.
Added a missing ladder.
Canceled walk sounds while climbing.
Slight performance increase (draw distance).
Changed the camera-distance to match the original game.
Slight performance increase (animated textures).
Slight performance increase (lower resolution).
Prevented jumping whilst climbing.
Prevented walking whilst climbing.
Adjusted all the ladders to make dismounting easier.
Fixed sound-loop when climbing.
Fixed player gets stuck when dismounting ladders.
Added a better hit-box to the player.
Fixed ladder drift - player stays central.
Removed shadow from dog animation.
Tweaked gravity and speed for best overall feel.
Added ground-plane collision detection to prevent glitches.

To do.....
add 2D pop-in sprite for female narrator/messages/hints.
resize all sprites to avoid blipping during animation change.
code to keep player central on ladders
add fall-damage for long drops.
fix the player friction on walls (pending).
add pickups (pending).
add NPC characters.
add Bomb-timer.
add helicopter.
add lift/elevator
add subway trains.
continually decorate the map textures (ongoing).

2023-11-14 05:19:21

Good start, running around is pretty responsive, maybe a little fast until you get used to it. lol

Keep it up, Id like to see what you create. :)

Registered User
2023-11-14 07:55:50

Thanks Sam!, this seems to be a project that I might actually finish, lol.

I finished all the security cameras/sentry-cannons yesterday. Once, I make the ladders work, the whole map will be accessible for the player to explore. Then I just need to make the doors and switches work to make it playable and add enemies/pickups and update the graphics to finish.

About the speed being too fast,thanks - I've just changed the move speed from 0.35 to 0.25 - but how fast is it on yours? Here's how it looks on mine....


Is yours moving left/right at the same speed or is it moving way faster than this for you? If you mean the ridiculous run animation, lol - yeah, I'll be changing it soon.


2023-11-14 17:54:44

Nice, game and Idea it feels old and new at the same time. Maybe chnage the sound of the shooters a bit to match the firing speed. The only thing you can't jump when going down and also can find your self falling down in slow-motion when jumping and still moving through a wall that's kind of weird other than that its good start.

Registered User
2023-11-15 15:55:20

Beautiful, very good VP, keep it up, it's a great project!

Registered User
2023-11-15 22:43:48

Thanks Guru and andgameplay obviously still needs quite a bit of work but it's looking fairly promising.

Really happy with the dogs. Trying to make the ladder mechanics at the moment - just came up with a perfect ladder solution - very simple and works well. Will implement it tomorrow.


I'll keep going with this. Really enjoying it as a project.

2023-11-16 01:07:46

Nice, looking good so far and is functional too. For the Ladder stuff, you can checkout JIC sunnyland game demo. Afaik, it has a working ladder system, and that game is in 2D so won't be an issue for you to implement the same in your game.

Maybe add some more enemy types to the game. How cool it would be if there will be 2D driveable objects. The game start with the player on a raft boat, it would have been so cool if we could drive the raft. Maybe add a bike or a scateboard too.

There are lot of 2D stuff maybe you can use ideas from those games.

I mean I would love something lile "Metal Slug" in CopperCube. It has good styles and so many good features and gameplay.

Registered User
2023-11-16 07:56:08

Thanks Guest!

Coppercube seems well-suited for 2Dgames; very quick and easy, much simpler than 3D. Blender can extrude a 2D svg (scalable vector graphic) into a 2d map fro coppercube in a few seconds. The map has pixel-perfect geometry, very low poly and tiny file-size - you can then also convert the same svg to a png to place over the top of the 3D mesh in coppercube and edit it in a drawing app to add the textures/photos without having to create a UV map. To make the SVG's I use "Inkscape" and "trace" the 2D map image.

I tried the Sunnyland demo you mentioned, from what I can tell, it doesn't seem have a working ladder system. I tried everything I could think of for 2D ladder ideas - nothing worked reliably - in the end, after many hours of different ideas, I managed to make a working ladder system by using a huge triangular wedge, which moves on the z-axis to push the player up/down using physics simulation). The same wedge-system is then recycled and snapped each new location, whenever the player walks near a ladder. I'll try to to add to clone it to the remaining 48 ladders today, if I have time, and I'll upload it - but I got it working perfectly on a single test-ladder last night.

The 2D player controller I'm using doesn't really allow for climbing animations yet (it's only has walk, jump and fall set up), so I'll have to figure a way to switch the animation to climb up/down and disable the other anims while climbing (I'll also have to add add all the extra animation frames to the ccb-file). I've rigged and textured 30 models and made around 200 frames per character in total, including walk/run/idle/climb/jump/fall/die) - but I won't need anywhere near that amount of frames for the game.

Thanks for the suggestions! I'll hopefully be adding most of the features you mentioned (maybe not the skateboard in this particular game), it just takes time to add/update it all. For example, eg: it took a few hours just to place all the empty nodes for each switch, ladder and dog, then another couple of hours to clone the paths and actions to make the dog attack the player on proximity (I have to edit each node separately as cloning doesn't automatically adjust the variables over). I guess there are around 300 nodes in total so far for the switches, ladders and dogs - once the ladders are finished, I'll probably add doors and enemies next.

This game is planned to have 3 basic vehicles - the raft (as you mention), trains/subways and a helicopter. For the characters, it will have security-guards, guard-dogs, lab-technicians, hazmat-suits, chimps, monkeys and an alien. Sab2 also featured a bike!

Yes, the metal slug games are awesome! Their animation is very fluid. At the moment, I'm screen-grabbing mixamo animations from Coppercube scene in orthagonal-view, for simplicity/ease/speed, I'm considering buying "Get Sheet Done" to speed up that process using blender - but I've purchased a bone-rig/animate system called SmackStudio which looks amazing and creates/exports 2D-bone animations as sprite-sheets for Coppercube games - just takes a while to make the character-art to animate, but I can do that as a hobby in the future and over a year or so I'll hopefully have some really cool home-made 2D animations out of it.

For the dog animation, I ripped this walk cycle.... and manually removed (masked and cut-out) the background from each frame. To rip animation sequences (frames) from video, you can use You select the desired frame rate and it extracts and exports all the frames as separate png images in a zip file for you.

By the way, if anyone wants the dog as a CopperCube prefab, I can create and upload it.

2023-11-16 09:00:08

Coming along really good, however, I don't recommend to use the use of path nodes for the enemy dog if you are going to use dogs as enemy.

Sunnyland demo, indeed has a working "climbing Ladder", that allows you to climb the ladder when you hold down the control key.

You can easily integrate your own animations in the controller, I can guide you if you want, it will just take some conditions, or maybe I will update the controller a bit to use switches and cases for easy animation states.

I also recommend you to check out the beat'em up demo. you can easily utilize the AI behavior from there. That might help you a lot you won't need to change a lot in the code to make it work for you or maybe I should update it to work with 2D much better and add it to the controllers pack.

There are other things that you can do with it as well. I am not that big fan of 2.5D games but yeah it's a good start and your game looks quite functional. Let me know if you need any kind of help and guidance with behaviors or anything.

From the begining I have been into 2D games with CC, I know that you can create any kind of 2D games with CC including any functionality.

There are other extensions and behaviors on my site and that might be helpful for you but that all depends on the use case.

Like the pallet swapping shader, to create variations for the same sprite without actually loading a different texture with some color alteration.

You can combine different things and can creat any kind of 2D game that you want.

Let me know if you need help with AI, Ladder, or other stuff and I will be happy to provide you with sample files.

Registered User
2023-11-16 09:20:08

Thanks Just_In_Case! Glad you like it so far.

Here's my "Physical Wedge" ladder system so far...

*[EDIT] ...I just checked Sunnyland again (didn't realise that Ctrl key was climb) and I think your ladder system is way better than my idea. Thanks - I'll be using that in my game too, if that's OK.

Yes please, I'd love some help! If you could update the 2D controller to add switches for different animations that would be great, if not, I can probably edit the script myself to add the extra animations.

A couple of bugs I'd really like to be addressed for the controller (pretty-please) are...
1- Walk animation accidentally plays if left/right are pressed simultaneously. Would be better if switches to idle when left/right pressed together.
2- Walk animation continues to play when player is stopped by a wall. Would be better if switched to Idle when stopped by a wall.
3- If jumping or falling into a wall, player will hang in the air and fall slowly due to friction/collision - I imagine this be will be hard to fix - (unless there is a way to discern horizontal/vertical collisions using ray-casting?).

For the dog enemies, it's just really basic - no A.i. required - they just trigger health-decrease on proximity to the player, so paths are perfect for simply controlling where they can patrol. The security guards will need some kind of A.i. so I'd appreciate some advice for that in the future - but it's all going to be very simple on proximity events - ie: not chasing the player through the map.

As for 2.5 view, I discovered it by accident whilst extruding the collision mesh from the original 2D map. I quite like it but I'll add an option in the menu to switch between full 2D to 2.5 as 2D is probably more preferred.

Other than that, I can't foresee any major problems at the moment.

2023-11-16 13:12:35

Sure, you can use the same method for climbing it is nothing but simply setting the physics velocity by a bit and on proximity changing the position of some stuff. The wedge system works fine too, if I remember correctly when I was an absolute newbie here I used the same method for creating a working elevator using a similar approach.

For the bugs you encountered:-

1. I think it is supposed to play walk animation when you press the arrow keys, maybe I can add a bit of delay or you are right I should add a flag that will stop movement or walk animation.

2 and 3rd are easy to fix, actually, if you want you can do that by yourself as well, that is the exact reason why I created the directional proximities extension/ prefabs. All you need to do is create 2 directional proximities one for the left side wall and one for the right side wall, and add your logic to stop the player movement/animation when the player comes in proximity.

That way you can disable both the falling and walking animation when colliding with a wall. Be sure to make your logic carefully, when using directional proximities, you probably need to use variables to stop the player, otherwise, when you try to move back to the other side your player might get stuck.

Maybe I should create a sample demo for you to easily understand the logic. I already have a 2D project, the one that I showcased for the directional proximities.

I will try to show you how to do it using that demo.

For the switches, I think I will add one extra switch that will take a variable value and override any of the animation that is currently being played. That way you don't have to fiddle with the scripting and can set the animation directly by simply feeding the animation to the variable.

I will work on it tomorrow, I am fully exhausted right now.

2023-11-17 14:44:17

Just recorded and uploaded a video guide on YT, and sent the link to your mail, on how to add custom animations to the extensions.

2023-11-17 16:09:12

Thank you! I'll take a look today. Really appreciate all your help with this.

2023-11-18 04:52:33

Like I said I just had to get used to the old school speed, guess I have just gotten used to slower modern games lol. nothing wrong with the speed. Felt like an Amiga game, (not sure if saboteur was on amiga) I know it was on the c64 and probably speccy.
I think you are doing a great job :)

Registered User
2023-11-18 07:24:43

Just looked at the original Saboteur for the old 8-bit systems and it looks fun! Your dobie animation makes the dog awesome looking! Reminds me of the black panthers in Namco's Rolling Thunder!

I'm really looking forward to playing this remake! I'd be glad to donate some music for it, even! Not sure if the original version had any music or not.

Create reply:

Posted by: (you are not logged in)

Enter the missing letter in: "?nternational" (you are not logged in)




Possible Codes

Feature Code
Link [url] [/url]
Bold [b]bold text[/b]
Image [img][/img]
Quote [quote]quoted text[/quote]
Code [code]source code[/code]



Copyright© Ambiera e.U. all rights reserved.
Privacy Policy | Terms and Conditions | Imprint | Contact