Shadows of Death

Complete Shadows of Death 1.2

No permission to download
Project is completed.

kimono

Well-known member
O_Ilusionista : Thanks onmovexscript was the correct script to make a boss like this and Bloodbane helped me much to set him :).

I'm currently trying to make a jukebox feature and wish to play the previous music when it's hit on the left side and the next music being hit on the right side:
Here's how the jukebox obstacle is set:
Code:
name		jukebox
type		obstacle
health 		9999
nolife		1
nomove 		1
type		obstacle
speed		0
noquake		1
shadow		1
death		1
nodieblink 	3

animationscript  data/scripts/lescript.c
takedamagescript data/scripts/facingpain.c

anim	idle
	loop 	1
	delay 	50
	offset	34 64
	bbox 4 0 54 64
	platform -90 65 84 84 170 158 20 70
	frame	data/chars/obstacles/jukebox/jukebox_light1.png
	frame	data/chars/obstacles/jukebox/jukebox_light2.png
	frame	data/chars/obstacles/jukebox/jukebox_light1.png
	frame	data/chars/obstacles/jukebox/jukebox_light2.png
	frame	data/chars/obstacles/jukebox/jukebox_light1.png
	frame	data/chars/obstacles/jukebox/jukebox_light2.png
	frame	data/chars/obstacles/jukebox/jukebox_light3.png
	frame	data/chars/obstacles/jukebox/jukebox_light4.png
	frame	data/chars/obstacles/jukebox/jukebox_light3.png
	frame	data/chars/obstacles/jukebox/jukebox_light4.png
	frame	data/chars/obstacles/jukebox/jukebox_light3.png
	frame	data/chars/obstacles/jukebox/jukebox_light4.png
	frame	data/chars/obstacles/jukebox/jukebox_light5.png
	frame	data/chars/obstacles/jukebox/jukebox_light6.png
	frame	data/chars/obstacles/jukebox/jukebox_light5.png
	frame	data/chars/obstacles/jukebox/jukebox_light6.png
	frame	data/chars/obstacles/jukebox/jukebox_light5.png
	frame	data/chars/obstacles/jukebox/jukebox_light6.png

anim	follow1
	delay	4
	offset	34 64
	bbox 4 0 54 64
	platform -90 65 84 84 170 158 20 70
	@script
	if(frame==0){
      playmusic("Data/music/Tune_Level_1.ogg",0);
    }
@end_script	
	frame	data/chars/obstacles/jukebox/jukebox_vibration1.png
	frame	data/chars/obstacles/jukebox/jukebox_vibration2.png	
	frame	data/chars/obstacles/jukebox/jukebox_vibration3.png	
	@cmd	setidle getlocalvar("self") openborconstant("ANI_IDLE") 1
	
anim	follow2
	delay	4
	offset	34 64
	bbox 4 0 54 64
	platform -90 65 84 84 170 158 20 70
	@script
	if(frame==0){
      playmusic("Data/music/Tune_Level_0.ogg",0);
    }
@end_script	
	frame	data/chars/obstacles/jukebox/jukebox_vibration1.png
	frame	data/chars/obstacles/jukebox/jukebox_vibration2.png	
	frame	data/chars/obstacles/jukebox/jukebox_vibration3.png	
	@cmd	setidle getlocalvar("self") openborconstant("ANI_IDLE") 1	
	
anim	death
	offset	34 64
	bbox 4 0 54 64
	platform -90 65 84 84 170 158 20 70
	frame	data/chars/obstacles/jukebox/jukebox_vibration2.png
	delay	10
	frame	data/chars/misc/empty.gif

And here is the music tracklist:
Tune_Level_0.ogg
Tune_Level_1.ogg
Tune_Level_2.ogg
Tune_Level_3.ogg
Tune_Level_4.ogg
Tune_Level_4_bonus.ogg
Tune_Level_5.ogg
Tune_Level_6.ogg
Tune_Level_7.ogg
Tune_Level_8.ogg
Tune_Level_9.ogg

Has anyone made something similar? :)
The demo for testing purpose:
https://drive.google.com/file/d/1TZNiSxX6Su46UZImyZZbWhryl9U-pTiC/view?usp=sharing
 

kimono

Well-known member
The jukebox is ready to play, thanks Bloodbane :).

I'm trying to write currently letters with enemy arrow like this:
wUdjfVT.png

The problem is that Openbor engine kills instantly the arrow entities that are beyond 200 pixels offscreen even if I try to change the offscreenkill distance; in this case some enemies won't appear.

Here how I set this shadowcreep enemy:
Code:
##MAIN
name				ShadowcreepA
type				enemy
subtype 			arrow
hostile 			npc 
hostile				player 
candamage			player npc 



##LIFE
health				2

##POWER
offense 			1 #SCRIPT

##SPEED
speed				12 #SCRIPT
running 			20 3.1 1.2 1 0

##JUMP
jumpmove	 3 3
jumpheight	 3

##ENERGY
mp					120
mprate  			1 #SCRIPT

##GRAB
grabdistance 		33 #36/33/30
grabfinish 			0 #PLAYER=0/ENEMY=1

##WEIGHT/HEIGHT
antigravity			-6 #-3/-6/-9
height				74

##MISC
jugglepoints		30
guardpoints			20
guardrate			4
risetime			170
riseinv				0.4 1 #HEROES 0.4 - ENEMY 0 - BOSS 0.4
makeinv				2 0
atchain				1
#gfxshadow			1 1
dust				dust
bflash				block
nodieblink 			2
death 				1
offscreenkill 		1000

##ICONS
icon				data/chars/shadowcreep/icon.png 1
iconpain			data/chars/shadowcreep/iconpain.png 1

##DIESOUND
diesound			data/voices/max1.wav

animationscript			data/scripts/lescript.c

load 	coin

##ANIMATIONS#############################################################################
anim spawn
	delay	16
	offset	35 35
	sound	data/sounds/Ready.wav
	frame	data/chars/shadowcreep/spawn1.png
	frame	data/chars/shadowcreep/spawn2.png
	frame	data/chars/shadowcreep/spawn3.png
	frame	data/chars/shadowcreep/spawn4.png
	frame	data/chars/shadowcreep/spawn5.png
	frame	data/chars/shadowcreep/spawn6.png

anim idle
	loop	1
	delay	16
	offset	35 35
	bbox 21 0 28 35
	frame	data/chars/shadowcreep/walk1.png
	frame	data/chars/shadowcreep/walk2.png
	frame	data/chars/shadowcreep/walk3.png
	frame	data/chars/shadowcreep/walk4.png
	frame	data/chars/shadowcreep/walk5.png

anim walk
	loop	1
	delay	12
	offset	35 35
	bbox 21 0 28 35
	frame	data/chars/shadowcreep/walk1.png
	frame	data/chars/shadowcreep/walk2.png
	frame	data/chars/shadowcreep/walk3.png
	frame	data/chars/shadowcreep/walk4.png
	frame	data/chars/shadowcreep/walk5.png
	
anim run
	loop	1
	delay	10
	offset	35 35
	bbox 21 0 28 35
	frame	data/chars/shadowcreep/walk1.png
	sound	data/sounds/Run.wav
	frame	data/chars/shadowcreep/walk2.png
	sound	data/sounds/Run2.wav
	frame	data/chars/shadowcreep/walk3.png
	frame	data/chars/shadowcreep/walk4.png
	frame	data/chars/shadowcreep/walk5.png
	
anim get
	loop	0
	delay	5
	offset	35 35
	bbox 21 0 28 35
	frame	data/chars/shadowcreep/stand3.png
	frame	data/chars/shadowcreep/stand3.png
	
anim pain #UP
	loop	0
	delay	24
	offset	35 35
	bbox 21 0 28 35
	sound	data/voice/shadow_hurt.wav
	frame	data/chars/shadowcreep/hurt.png
	frame	data/chars/shadowcreep/hurt.png

anim pain2 #DOWN
	loop	0
	delay	24
	offset	35 35
	bbox 21 0 28 35
	sound	data/voice/shadow_hurt.wav
	frame	data/chars/shadowcreep/hurt.png
	frame	data/chars/shadowcreep/hurt.png

anim fall #NORMAL
	landframe 1
	loop	0
	delay	30
	offset	35 35
	bbox 21 0 28 35
	sound	data/voice/shadow_hurt.wav
	frame	data/chars/shadowcreep/hurt.png
	frame	data/chars/shadowcreep/hurt.png

anim rise
	loop	0
	delay	0
	offset	35 35
	frame	data/chars/shadowcreep/stand3.png

anim death
	landframe 1
	loop	0
	delay	16
	offset	35 35
	sound	data/voice/shadow_die.wav
	@cmd   spawn01 "coin" 0 20 0 0
	@cmd   spawn01 "coin" 15 20 0 0
	frame	data/chars/shadowcreep/spawn6.png
	frame	data/chars/shadowcreep/spawn5.png
	frame	data/chars/shadowcreep/spawn4.png	
	frame	data/chars/shadowcreep/spawn3.png	
	frame	data/chars/shadowcreep/spawn2.png
	@cmd	Shadremen	
	frame	data/chars/shadowcreep/spawn1.png	

anim attack1
	fastattack 1
	jugglecost 5
	forcedirection -1
	loop	0
	delay	6
	offset	35 35
	bbox 21 0 28 35
	hitfx    data/sounds/aof2-199.wav
	hitflash blood
	sound	data/voice/shadow_attack.wav
	frame	data/chars/shadowcreep/attack1.png
	attack1 49 2 35 15 1 0 0 0 5 12
	frame	data/chars/shadowcreep/attack2.png
	attack1 0 0 0 0 0 0 0 0 0 0
	frame	data/chars/shadowcreep/attack1.png

The shadowcreep spawned in the level:
Code:
# "S" letter wave 
spawn shadowcreepA
flip 	1
coords -30 96
at 0

spawn shadowcreepA
flip 	1
coords -70 96
at 0

spawn shadowcreepA
flip 	1
coords -110 96
at 0

spawn shadowcreepA
flip 	1
coords -150 118
at 0

spawn shadowcreepA
flip 	1
coords -180 132
at 0

spawn shadowcreepA
flip 	1
coords -140 132
at 0

spawn shadowcreepA
flip 	1
coords -100 132
at 0

spawn shadowcreepA
flip 	1
coords -120 154
at 0

spawn shadowcreepA
flip 	1
coords -140 180
at 0

spawn shadowcreepA
flip 	1
coords -160 205
at 0

spawn shadowcreepA
flip 	1
coords -200 205
at 0

Does anyone have a suggestion to set these enemies groups with they being killed offscreen?
 

kimono

Well-known member
O_Ilusionista : As you can see, I set at the entity header
Code:
offscreenkill 1000
but all enemies with an arrow subtype won't appear if they are above 200 pixels offscreen.
This is at stage 9 test set if you wish to see it ingame :) :
https://drive.google.com/file/d/1FT7KcyMQFcIsjoxIpc3OEHiIkWyTlV5_/view?usp=sharing
 

Bloodbane

Well-known member
I've tried spawning that creeperA far offscreen and they are still spawned as expected.

Here's how I spawned them:
Code:
group	1 1
at	0

group	100 100
at	0


# "S" letter wave 2
spawn shadowcreepA
flip 	1
coords -630 96
at 0

spawn shadowcreepA
flip 	1
coords -670 96
at 0

spawn shadowcreepA
flip 	1
coords -710 96
at 0

spawn shadowcreepA
flip 	1
coords -750 118
at 0

spawn shadowcreepA
flip 	1
coords -780 132
at 0

spawn shadowcreepA
flip 	1
coords -740 132
at 0

spawn shadowcreepA
flip 	1
coords -700 132
at 0

spawn shadowcreepA
flip 	1
coords -720 154
at 0

spawn shadowcreepA
flip 	1
coords -740 180
at 0

spawn shadowcreepA
flip 	1
coords -760 205
at 0

spawn shadowcreepA
flip 	1
coords -800 205
at 0


group	1 1
at	0

group 1 1 followed by group 100 100 is to ensure this group is spawned after all enemies in previous groups are gone/defeated.

Simply put, there's no spawning problem here  8)
 

kimono

Well-known member
nedflandeurse: thank you ned, there a some cool features that are included in the game and I'll let you discover them with the final version that is not that far ;) .
Bloodbane; Thanks, it works perfectly :) .
 

NED

Well-known member
kimono Great! I can't wait ^^
BTW, can you help me with sprite sheet software suggestion ?
I send you a message about it :)
 

kimono

Well-known member
For those who are interessed with, this online packer make a spritesheet with your images very quickly:
https://codeshack.io/images-sprite-sheet-generator/
 

O Ilusionista

Captain 80K
kimono if you wanna it organized, so you can create and cut spritesheets easily, try Stitch Studio http://www.chronocrash.com/forum/index.php?topic=3517.msg48372#msg48372
its what I use when I need to create a spritesheet from existing chars on my game and I need to edit all sprites, for then cutting all the images back automatically.
 

kimono

Well-known member
Thanks for the tip O', this software seems to be very complete and have much customizable options for creating spritesheets ;) .
 

kimono

Well-known member
16-bit Fighter : the jukebox will enhanced one more time and will play some good music made by Pulsophonic :) .
A small teaser (sorry that this one is in French) and the final test version (the complete game) will come in the following days:
Kratus: I tested with the 7123 Openbor unofficial version that you released and it seems that I've got a problem with
Code:
anim victory
: the animation is not played and I can't finish the level, so I use v6412 currently.
 

Kratus

OpenBOR Developer
Staff member
kimono said:
Kratus: I tested with the 7123 Openbor unofficial version that you released and it seems that I've got a problem with
Code:
anim victory
: the animation is not played and I can't finish the level, so I use v6412 currently.

kimono
Buddy, the version 7123 uses the official source code, the only difference is that it was not launched officially, but everything in the main source is official.
The 7123 is not a build created by me, I added only a few fixes in the main source. There's a lot of other fixes added by other developers before me since the last stable build 6391.
I didn't change the "anim victory", if maybe there's a problem with the code, it's not related to my last changes. However, I will check it and look for a solution.
 

kimono

Well-known member
The trailer in english:
Kratus: Thanks for these precisions ;). Can you make some tests with this updated version of the game?
https://drive.google.com/file/d/14c3kZ27tx1Y7nNY2ybug_-8wL798utVY/view?usp=sharing
The pak file:
https://drive.google.com/file/d/1U0dVt3Ehq-Y8rU9it_xOq4Z_oVTo9QnT/view?usp=sharing
Davpreec: Can you please make a playthrough of this final test version when you have some time? :)
The game is completed and waiting for some feedback ;)
 

pepodmc

Active member
taking in account the limitations that the creator had when developing the game this looks really good.

You work with the guy in the game or only asked for the permission to make the port?



 

kimono

Well-known member
pepodmc: We are working together and the only game that exists is with Openbor 😊. Maybe a CPC port will come one day 😉.
A special thanks to Bloodbane that helps during the whole development process, Kratus for these catrush and Hall of Fame scripts and O_Ilusionista for the invicibility item and some other game issues  :D.

This mod can be moved at complete section, my first finished game :D.
 

dai92

Active member
kimono Hey buddy great news :) Yes i will try to get a playthrough of this up later night :D

Here it is :D https://www.youtube.com/watch?v=hiv7onoucXU
 

kimono

Well-known member
Thanks Damon Caskey for moving this topic and Davpreec for this playthrough ;). I see that you finished the game with 13 lives, so I need to reduce them :D. You miss some bonus levels too; here's the SoD general map:
M2hNcrw.png

One tip: there are 4 hidden feathers in the first levels of the game that gives you each +2 to your max health. So you can have a double lifebar collecting all of them  8) .
 
Top Bottom