Gameboy Development Forum

Discussion about software development for the old-school Gameboys, ranging from the "Gray brick" to Gameboy Color
(Launched in 2008)

You are not logged in.

Ads

#1 2020-08-27 06:45:14

0x7f
Member
Registered: 2019-11-24
Posts: 65

New game: Black Castle

Hi,
I have just finished a playable demo version of my new project: Black Castle. It is a action platformer inspired by "Fortress of fear", "Ghosts n Goblins" and many more. I hope you like it!

https://drive.google.com/thumbnail?id=19o6nR4rUZ2TOpltPhe5i4zPYg-ORR3Ht https://drive.google.com/thumbnail?id=1tvgmUj1N4T5K6WFMCYPrcRp2_WZENt61 https://drive.google.com/thumbnail?id=10BFdDvVjAwcoGPr8fJOo3IjdCMnXg9FD

Here you can download the demo version:
https://drive.google.com/file/d/17WxUuu … txe7v8_ksU

Offline

 

#2 2020-08-27 06:56:56

toxa
Member
Registered: 2020-02-13
Posts: 305

Re: New game: Black Castle

WOW! VERY nice! smile outstanding performance too. not the latest gbdk-2020, though.

ps: can you make jumping with cursor too?

Last edited by toxa (2020-08-27 10:55:37)

Offline

 

#3 2020-08-27 09:11:59

quangdx
New member
Registered: 2013-10-01
Posts: 8

Re: New game: Black Castle

This is super awesome.
How long have you been working on it for?

Offline

 

#4 2020-08-27 11:22:18

0x7f
Member
Registered: 2019-11-24
Posts: 65

Re: New game: Black Castle

Thanks! I think I started in May this year but worked very unregulary on the project. I also tested a lot and had implemented 2-way scrolling but in the end I decided to keep it simple and switched to 1-way scrolling.

Also thanks to toxa for all your support and to Zal0 for GBDK-2020!

Jumping with cursors is possible but I prefer to use a button for jumping. How do you see its not the latest GBDK-2020?

Last edited by 0x7f (2020-08-27 11:24:57)

Offline

 

#5 2020-08-27 14:30:02

toxa
Member
Registered: 2020-02-13
Posts: 305

Re: New game: Black Castle

0x7f wrote:

How do you see its not the latest GBDK-2020?

i moved that array, required by drawing.s, now it is located by another offset and is only linked when you use drawing.h. it was very poorly located - this place is used for RST vector or functions.
https://d.radikal.ru/d15/2008/4b/8ed73f1fd903.png

Offline

 

#6 2020-08-27 14:46:13

toxa
Member
Registered: 2020-02-13
Posts: 305

Re: New game: Black Castle

0x7f wrote:

Jumping with cursors is possible but I prefer to use a button for jumping.

why not make both at once?

Offline

 

#7 2020-08-27 16:08:47

toxa
Member
Registered: 2020-02-13
Posts: 305

Re: New game: Black Castle

i killed that bee. more levels, please smile

Last edited by toxa (2020-08-27 16:08:56)

Offline

 

#8 2020-08-27 17:23:45

Zalo
Member
From: Spain
Registered: 2016-07-26
Posts: 103
Website

Re: New game: Black Castle

Awesome game!!
And the performance again is brilliant

I hope you release the code when it's finished smile

Offline

 

#9 2020-08-28 10:34:40

0x7f
Member
Registered: 2019-11-24
Posts: 65

Re: New game: Black Castle

I am working on new levels and also the source will be released after finishing the game. Then you can easy implement cursor jumping if you want smile

Offline

 

#10 2020-08-28 14:28:05

bbbbbr
Member
Registered: 2019-03-04
Posts: 124

Re: New game: Black Castle

Looking forward to more levels!

The little hidden extras to discover are a nice touch and encourages more deliberate game play. The controls and movement feel good. Appreciate that graphics look clear and are easy to see on non-backlit screens. smile

Offline

 

#11 2020-08-28 18:22:51

Jonas
Member
From: Frankfurt, Germany
Registered: 2016-06-06
Posts: 112
Website

Re: New game: Black Castle

Very good job! smile

I think the controls are spot on. A to jump and B to attack is exactly what you would expect from a game like this. Please don't change it. You also got the jump arc right. In homebrew games, jumping often tends to be either too floaty or too stiff but in this one it feels just like it should.

My only complaint would be the music. It could sound a bit more upbeat.

By the way: You mention "Fortress of Fear" and "Ghosts 'n' Goblins", but all the ideas are taken straight from "Castlevania":

- First level boss is a giant bat
- You definitely need the best power-up (holy water in "Castlevania", morningstar in "Black Castle")
- Any other power-up is actually a downgrade
- Grim reaper is your worst enemy, he will kill you every single time until you find out how to bypass him

Please make Dracula the final boss. tongue

Did you use ZGB or some other engine or is it all your own work?

Last edited by Jonas (2020-08-28 19:16:20)

Offline

 

#12 2020-08-29 03:02:30

0x7f
Member
Registered: 2019-11-24
Posts: 65

Re: New game: Black Castle

Thanks for all your great feedback and don't worry, I wont change the controls.

Regarding the music I need to say I am quite happy with the tilte and boss music. When I composed the music for the level I also had feeling it could be a bit more action orientated. But the more I heard it the more I liked it.

Of course Castlevania is a heavy influence. The first boss however in Black Castle is a giant bee and no giant bat roll

The mace should be the best weapon but I also think the sword is maybe a bit weak. The axe however is good vs flying enemies because of its arc. Maybe I will improve the sword. For example it could be very effective vs bats (kill with one hit)? What do you think?

I didn't use ZBG or any another engine, just GBDK-2020.

Last edited by 0x7f (2020-08-29 03:39:36)

Offline

 

#13 2020-08-29 06:00:56

Jonas
Member
From: Frankfurt, Germany
Registered: 2016-06-06
Posts: 112
Website

Re: New game: Black Castle

0x7f wrote:

The mace should be the best weapon but I also think the sword is maybe a bit weak. The axe however is good vs flying enemies because of its arc. Maybe I will improve the sword. For example it could be very effective vs bats (kill with one hit)? What do you think?

Hard to say. Just try it out. Probably you just have to build the world around the player's capabilities. My only problem with the weapons was that some of them are very effective against airborne enemies but don't allow you to kill an enemy directly in front of you. That feels a bit strange because you have to move away from an (even weaker) enemy to kill it, but maybe that's a deliberate design choice.

You could consider to give the player a primary and secondary weapon (again like in Castlevania). Then you would always have a weapon for standard foes and could reserve the special weapons for specific enemies? Just an idea.

0x7f wrote:

I didn't use ZBG or any another engine, just GBDK-2020.

Impressive! Keep up the good work.

Offline

 

#14 2020-08-29 16:22:06

toxa
Member
Registered: 2020-02-13
Posts: 305

Re: New game: Black Castle

0x7f wrote:

Thanks for all your great feedback and don't worry, I wont change the controls.

why change? i'm not speaking about changing, just make "UP" alias to "A". many games have this. because firing while juming is better to do with both hands. for me, ofc, but somebody might agree with me, that's quite common.

Offline

 

#15 2020-08-30 03:19:00

0x7f
Member
Registered: 2019-11-24
Posts: 65

Re: New game: Black Castle

Hi toxa, in this point I agree with Jonas. Most of the games, maybe not all, have A as jump button and B as shoot button. I think also just adding the up cursor as additional jump button will confuse the player. Since I will make the source code available after finishing the game you can change everything to your needs.

Offline

 

#16 2020-08-30 05:06:12

toxa
Member
Registered: 2020-02-13
Posts: 305

Re: New game: Black Castle

as you wish. no matter.

in geneses you used move_sprite() and scroll_sprite() widely. in modern SDCC there is support for inline functions. so you may increase the speed of those functions dramatically with just C. i compared old move_sprite with new imove_sprite, old takes 83 cycles versus 12 cycles of new (nearly 7 times!!! faster!) :

move_sprite():A6
imove_sprite():18

scroll_sprite():AE
iscroll_sprite():2C


here is the code:

Code:

typedef struct sprite_t {
    UINT8 y, x;
    UINT8 tile;
    UINT8 prop;
} sprite_t;

volatile struct sprite_t __at(0xC000) shadow_OAM[40];

inline void imove_sprite(UINT8 nb, UINT8 x, UINT8 y) {
    OAM_item_t * itm = &shadow_OAM[nb];
    itm->y=y, itm->x=x; 
}

inline void iscroll_sprite(UINT8 nb, INT8 x, INT8 y) {
    OAM_item_t * itm = &shadow_OAM[nb];
    itm->y+=y, itm->x+=x; 
}

inline void iset_sprite_tile(UINT8 nb, UINT8 tile) {
    shadow_OAM[nb].tile=tile; 
}

inline UINT8 iget_sprite_tile(UINT8 nb) {
    return shadow_OAM[nb].tile;
}

inline void iset_sprite_prop(UINT8 nb, UINT8 prop){
    shadow_OAM[nb].prop=prop;
}

inline UINT8 iget_sprite_prop(UINT8 nb){
    return shadow_OAM[nb].prop;
}

in this case you will get not only better performance, but smaller size too!

Last edited by toxa (2020-08-31 12:29:01)

Offline

 

#17 2020-08-31 10:27:07

0x7f
Member
Registered: 2019-11-24
Posts: 65

Re: New game: Black Castle

Wow, could this also be implemented directly in GBDK-2020?

Offline

 

#18 2020-08-31 12:26:47

toxa
Member
Registered: 2020-02-13
Posts: 305

Re: New game: Black Castle

0x7f wrote:

Wow, could this also be implemented directly in GBDK-2020?

of course, i made the pull request already:  https://github.com/Zal0/gbdk-2020/pull/48

Offline

 

#19 2020-09-01 12:04:12

Nekete
New member
Registered: 2020-08-21
Posts: 2

Re: New game: Black Castle

It's great, the music is perfect
Hope to see more smile

Offline

 

#20 2020-09-14 10:13:57

0x7f
Member
Registered: 2019-11-24
Posts: 65

Re: New game: Black Castle

I have the second level ready now and I also changed the boss of the first stage to a giant bat. I know this seems to be a carry over from Castlevania but overall I think it fits better. In addition I could fix a bug causing the game to crash when you kill an enemy and get damage at the same time.

https://drive.google.com/thumbnail?id=1nh0jUoSWHJpPcZuZ59HYO3SNmQwJjC8c https://drive.google.com/thumbnail?id=1sH6nEZrqTy41lRwInCMOjbQEWtl65J81

New demo ROM:
https://drive.google.com/file/d/1xxsfjW … uZa8ePrO3m

Offline

 

#21 2020-09-15 04:57:47

toxa
Member
Registered: 2020-02-13
Posts: 305

Re: New game: Black Castle

smile those nasty shooting ghosts!

Offline

 

#22 2020-09-22 10:03:58

0x7f
Member
Registered: 2019-11-24
Posts: 65

Re: New game: Black Castle

Can you finsh the demo or is it too hard? While developing the game I play it a lot of times. Its hard to find the proper difficulty...

Offline

 

#23 2020-09-23 00:20:14

bbbbbr
Member
Registered: 2019-03-04
Posts: 124

Re: New game: Black Castle

Caveat: I'm a so-so player of platformers, especially things like boss patterns.

Anyhow- The second boss seemed easier than the first boss.

I am probably missing the right pattern to use, but avoiding being hit by the first boss/bat sometimes felt like luck instead of skill since there isn't a clear way to dodge or lead it.

It could be good to have the spiders that drop be more challenging. Right now they feel easy to avoid (maybe that's the intention). But if they only dropped down once you were directly under them it could add a little more strategy and tension.

Offline

 

#24 2020-09-23 02:01:11

toxa
Member
Registered: 2020-02-13
Posts: 305

Re: New game: Black Castle

i think it's possible, but hard. i gave up myself and made a cheat in BGB. smile) i'm not a good platformer player either, and i have problems with "shooting while jumping", but i can pass levels without cheats, having troubles with bosses.

Offline

 

#25 2020-09-24 10:03:04

0x7f
Member
Registered: 2019-11-24
Posts: 65

Re: New game: Black Castle

Thanks for your feedback!

The first boss is a bit tricky. The bat moves in a random direction or straight towards the player. When you have enough lifes you can just keep on attacking. If not you need to try to jump over the bat which is not easy. I already completely reworked the second boss.

Yes, the spiders are a little bit to easy. I will try to change the movement and check how it is...

I think I will also make it overall a bit easier.

Last edited by 0x7f (2020-09-24 10:03:35)

Offline

 

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson