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.
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!
Here you can download the demo version:
https://drive.google.com/file/d/17WxUuu … txe7v8_ksU
Offline
WOW! VERY nice! 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
This is super awesome.
How long have you been working on it for?
Offline
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
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.
Offline
0x7f wrote:
Jumping with cursors is possible but I prefer to use a button for jumping.
why not make both at once?
Offline
i killed that bee. more levels, please
Last edited by toxa (2020-08-27 16:08:56)
Offline
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
Offline
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.
Offline
Very good job!
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.
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
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
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
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
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
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
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:
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
Wow, could this also be implemented directly in GBDK-2020?
Offline
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
It's great, the music is perfect
Hope to see more
Offline
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.
New demo ROM:
https://drive.google.com/file/d/1xxsfjW … uZa8ePrO3m
Offline
those nasty shooting ghosts!
Offline
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
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
i think it's possible, but hard. i gave up myself and made a cheat in BGB. ) 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
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