CPCWiki forum

General Category => Programming => Topic started by: reidrac on 21:53, 29 August 17

Title: Kitsune's Curse (Development)
Post by: reidrac on 21:53, 29 August 17
[attach=2]

All the time I was working on Magica I couldn't stop thinking that the engine was way better than the iteration I used in Golden Tail. Not that I'm not happy with it, but I think I can do better now.

Golden Tail ended with a "to be continued". I guess is time to know that happened to Kitsune...

I've just started this and it may take a while until is finished, so stay with me. I'll be posting updates on Twitter, and here (although less often, sorry!).
Title: Re: Kitsune's Curse (Development)
Post by: keith56 on 04:40, 30 August 17
Great to hear about your new project!
I look forward to hearing more!
Title: Re: Kitsune's Curse (Development)
Post by: ervin on 07:38, 30 August 17
Best of luck with the dev!
Looking forward to progress updates.
8)
Title: Re: Kitsune's Curse (Development)
Post by: mr_lou on 11:11, 30 August 17
Always great to get new games for the CPC.  :)
Unfortunately I'm way behind checking new games. Will have to catch up soon.
Title: Re: Kitsune's Curse (Development)
Post by: VincentGR on 13:01, 30 August 17
This is fantastic!!!
Title: Re: Kitsune's Curse (Development)
Post by: Targhan on 19:14, 30 August 17
Grreeeeaaat! Golden Tail is really, to me, the best action game released these last years. I thought the gameplay based on disappearance/power gain was very clever. I'm pretty sure this sequel will be even better :) .
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 19:22, 30 August 17
Quote from: Targhan on 19:14, 30 August 17
Grreeeeaaat! Golden Tail is really, to me, the best action game released these last years. I thought the gameplay based on disappearance/gain power was very clever. I'm pretty sure this sequel will we even better :).

Well, there will be changes, and hopefully that will improve the idea.

I mean, you don't want me to make the same game again, do you? :)
Title: Re: Kitsune's Curse (Development)
Post by: Targhan on 22:25, 30 August 17

QuoteI mean, you don't want me to make the same game again, do you?


It would actually be fine to me, the first game was great :) .


Oh, please add a password or save game if the game gets huge!
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 21:39, 12 September 17
Not a lot to show yet, I've been tweaking and preparing the sprite engine for the game.

I tried a prototype using a reduced memory buffer, but it was too complicated to even get it right; although the memory saving is tempting enough that I may try it again, but it makes more sense to do it when the game is more advanced (I tried the prototype with Magica and that's not ideal).

So for now I'm focusing on performance and I'll think about memory savings later.

Anyway, also I wanted to announce that Kitsune's Curse will have a loading screen by Vanja Utne.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 22:53, 01 October 17
I finally decided to implement my engine idea, and I'm happy that I didn't give up because the results are totally worth it!

Basically my usual tile/sprite engine uses a linear back-buffer split in 8x16 or 8x8 cells. That buffer is used to compose the scene (background + sprites) and track the cells that have changed between current frame and the previous. Then the screen is updated drawing only the cells that change, of course as fast as possible. It really helps that the back-buffer is linear, unlike the CPC video memory. Drawing the sprites is trivial and quite fast!

This works very well and I've successfully used the idea in all my CPC games so far, and I'm happy with it: it provides performance in exchange of memory use.

And that's the only weak point of the idea, as it uses a lot of memory and makes quite hard to make big games in 64K (please, don't start with the 64 vs 128 argument; not interested).

Since Magica I've been thinking on how to reduce the memory usage while maintaining the strategy of tracking changes, because most of that back-buffer is not used (there's a limit in the number of sprites you can move per frame anyway).

Now, this is the idea: instead of having one large buffer, each sprite splits the draw operation in cells (e.g. 8x8), using  the cell's linked mini-buffer if it exists, or allocating a new one. Every time the screen is updated all mini-buffers are unlinked, so in practice only "sprite height x 2 + 2" mini-buffers are require per sprite in worst case (the sprites don't overlap). Say that you want to move 10 sprites of at most 8x24 (like in Golden Tail), and your buffer is just 2816 bytes.

How big is the difference? Well, in Golden Tail that back-buffer is 13056 bytes (plus the structures to track the "dirty" cells). So that's a lot!

The downside is that drawing the sprites is quite complicated now. Other operations are simpler and I save bytes and time (for example, the translation from the linear back-buffer to the CPC video memory is gone), and that helps a bit to compensate for that complexity drawing sprites; but I don't think a game like Magica would be possible with this engine (although I haven't tested it, yet).

Anyway, I think I can't more or less get the same performance than in Golden Tail, with a lot of less used memory; which means that Kitsune's Curse will be a larger game.

I'm starting now with graphics and re-implementing the platforming engine to "fix" some bits in Golden Tail that could be better (based on feedback from players), and I'm experimenting with some new ideas that hopefully will add to Kitsune's Curse gameplay.

And that's all for this update!
Title: Re: Kitsune's Curse (Development)
Post by: Joseman on 23:34, 01 October 17
Good news! i read you on twitter all days.


BTW i'm playing Magica right now!!
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 07:31, 02 October 17
Oh, now that we can embed Tweets here, let me share a video I shared last night!

https://twitter.com/reidrac/status/914603011095318528

Testing Kitsune's animation and few other things. Ignore the background graphics, I'm use Golden Tail tiles as placeholder.

As you can see Kitsune has shape-shifted. I'll explain later.
Title: Re: Kitsune's Curse (Development)
Post by: Gryzor on 15:03, 03 October 17
That's so damn cute, as always!
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 22:47, 05 October 17
Quick update!

https://twitter.com/reidrac/status/916055728577761281

I'm still testing the new tile/sprite engine and found another bug, but it should be stable soon.

This new video shows Kitsune's sprite and animation, still keeping part of the style I used in Golden Tail (it is the same character), but I think this one is better animated. Also it is closer to the human-fox thing I had in mind.

I've finished with the collision detection, way more efficient than the one in Golden Tail (although not as good as in Magica, but that's because Magica uses a different type of platforming anyway).

I've started with the kõga magic, and it currently works very similar to how it works in Golden Tail (you may not need to re-learn how to use it), but there's a small detail I don't like and I'll try to improve.

I'm still using Golden Tail as placeholder graphics for the background; and for now that's all!
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 14:18, 07 October 17
I just had an idea to help people not understanding how the kõga magic works!

In this video Kitsune is visible when the magic is on.

https://twitter.com/reidrac/status/916652449007587329

The challenge, and the fun I think, is learning to control it when you don't see the character because he's invisible.

I'm considering a "practice" mode where you can do stunts in a single room and you'll be able to see Kitsune like this for part of the practice. I don't like tutorials like that, I prefer to teach the player just by playing the game and forcing the action just a bit more each screen; but I understand that some people can find it too hard and give up.

What do you think?
Title: Re: Kitsune's Curse (Development)
Post by: khaz on 14:56, 07 October 17
How magic works is weird, in the fact that jumping and running appear to work differently:
if you run and disappear: you reappear further away
but only if you press both fire and jump at exactly the same time do you jump higher.

For example, it doesn't seem like you can input a jump command while being invisible, but you can start going left or right.
If you jump and then press the button, you will keep your original momentum and won't go higher, but you will still land further away if you were doing a long jump.

At first I thought it worked like a teleport, where if you press both a direction and the button simultaneously it would teleport you n pixels away in that direction. But even as you describe it, a mix of invincibility and bigger momentum, it doesn't match with the controls in game.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 15:08, 07 October 17
Quote from: khaz on 14:56, 07 October 17
How magic works is weird, in the fact that jumping and running appear to work differently:
if you run and disappear: you reappear further away
but only if you press both fire and jump at exactly the same time do you jump higher.

For example, it doesn't seem like you can input a jump command while being invisible, but you can start going left or right.
If you jump and then press the button, you will keep your original momentum and won't go higher, but you will still land further away if you were doing a long jump.

At first I thought it worked like a teleport, where if you press both a direction and the button simultaneously it would teleport you n pixels away in that direction. But even as you describe it, a mix of invincibility and bigger momentum, it doesn't match with the controls in game.

That's right, you can't jump when already invisible (I found it too uncontrollable because without visual queue is almost impossible jump at the right time).

Other than that, is as described... if you look at the video, when moving left-right you still walk (but he's be able to walk over water as part of being "invulnerable"), but in the case of jump you have to initiate the jump with the magic.

I need improve the instructions, but it is hard to explain!
Title: Re: Kitsune's Curse (Development)
Post by: khaz on 15:12, 07 October 17
Quote from: reidrac on 15:08, 07 October 17
That's right, you can't jump when already invisible.

Other than that, is as described... if you look at the video, when moving left-right you still walk (but he's be able to walk over water as part of being "invulnerable"), but in the case of jump you have to initiate the jump with the magic.

I need improve the instructions, but it is hard to explain!

It may be how you want it to be, but it still feels like broken gameplay. Sorry. There is no logical reason as to why you can't jump while invisible, or why your jump momentum can't be accelerated as well. It's only discoverable through trial and error, and used correctly after acceptance by the player.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 15:23, 07 October 17
Quote from: khaz on 15:12, 07 October 17
It may be how you want it to be, but it still feels like broken gameplay. Sorry. There is no logical reason as to why you can't jump while invisible, or why your jump momentum can't be accelerated as well. It's only discoverable through trial and error, and used correctly after acceptance by the player.

Do you think it would be better if you can jump invisible? How would you be able to control that? Golden Tail doesn't even force you to make the highest possible jump to progress (there's always a platform nearby to make thing easier); but if you learn to control that jump, the game is more fun as is a bit harder.

If jump is restricted to the start of the magic you can calculate where you want to jump. It takes practice, of course. Also the magic not only allows you to jump higher, it makes you fall slower. And you get that with practice.

But you're right, is has its special rules and part of the game is learning how to use it. For some people is frustrating and too hard, for other people it was a fun game and they enjoyed the learning process.

It's OK if you don't like it or if you don't find it fun; the game doesn't *click* with everybody and I'm OK with that. Is not an usual game, fair enough.

There are always arguments in one way or another, and no matter what I choose, there will always be someone that doesn't like it.
Title: Re: Kitsune's Curse (Development)
Post by: khaz on 15:26, 07 October 17
In regards to exposition to the controls through gameplay, I'm a big proponent of that. but the game may have been too difficult too quickly. There is no room to breathe, even in the first screens: in the first screen the skull traverse the whole area horizontally, the player has to be on edge to avoid it any time he's staying on that screen; the second screen have another skull storming right at the player with barely enough time to react (even less when it's the first playthrough ever). Falling down (is it a hole? is it a bridge) shouldn't be optional that early in the game if you want to educate the player that falling down isn't bad: it probably would have been better to have the screen on the right to be a dead end to force further exploration. In the first screen underground, you are very likely to fall directly on a monster, and there is a barely a place to breathe (I'm starting to see a pattern here). Only on the screen on the left of it, the dead end with a pool of water on the right, do you have time to actually hone your skills. And the one jump that matter ends up in the water if you do it wrong. This is unnecessarily harsh. You have plenty of time to implement trick jumps and delicate situations in later screens.

I'm sorry if I sound antagonising, I know it's not fun to receive criticism, especially on a finished product. I really like what you have done so far and I couldn't dream of doing anything remotely similar. I just believe you have the talent to make it "just a little bit better".
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 15:39, 07 October 17
Quote from: khaz on 15:26, 07 October 17
In regards to exposition to the controls through gameplay, I'm a big proponent of that. but the game may have been too difficult too quickly. There is no room to breathe, even in the first screens: in the first screen the skull traverse the whole area horizontally, the player has to be on edge to avoid it any time he's staying on that screen; the second screen have another skull storming right at the player with barely enough time to react (even less when it's the first playthrough ever). Falling down (is it a hole? is it a bridge) shouldn't be optional that early in the game if you want to educate the player that falling down isn't bad: it probably would have been better to have the screen on the right to be a dead end to force further exploration. In the first screen underground, you are very likely to fall directly on a monster, and there is a barely a place to breathe (I'm starting to see a pattern here). Only on the screen on the left of it, the dead end with a pool of water on the right, do you have time to actually hone your skills. And the one jump that matter ends up in the water if you do it wrong. This is unnecessarily harsh. You have plenty of time to implement trick jumps and delicate situations in later screens.

I'm sorry if I sound antagonising, I know it's not fun to receive criticism, especially on a finished product. I really like what you have done so far and I couldn't dream of doing anything remotely similar. I just believe you have the talent to make it "just a little bit better".

It's OK, I like feedback; even if it is criticism. Thank you very much!

You can crouch, all the screens have a places were you can be out of the way of enemies (even with the bats that follow you, they have limited sight!).

In my opinion the game only has one screen that is quite unfair when a Kappa jumps from the water without warning (previously there was a warning sign); but in general I don't think it is as bad as you say specially when early in the game it means you may lose 2-3 screens of progress before starting again. Even if you die further on, it is a short game that can be finished in less than 20 minutes when you know the map and how to play.

Golden Tail is a hard game (is it unfair? not convinced, but it could be), and I thought a lot about it.

I don't like 80s-hard games in 2016 (when this one was released), but I've tried the other approach (not too hard) and people play it for an afternoon and the game is forgotten. There's too much competition, too many good games to play!

If you think of the time I put on making Golden Tail, is fair to say that I want you to play it for few days; if you like it. If you don't, because it is too hard, that's fine. There are more games that you can play anyway, just don't waste a minute with this one.

I got very good feedback from people that found it a bit hard but manageable; and to be honest, I liked that they enjoyed the game a lot, even if that means for more casual gamers it'll be a missed opportunity. This is a game for an Amstrad CPC anyway! Have you played Rick Dangerous? :D

Does this make any sense? :)
Title: Re: Kitsune's Curse (Development)
Post by: khaz on 15:54, 07 October 17
An example I like to give for gameplay and difficulty progression is Super Meat Boy. You can't argue that it isn't a difficult game, but it's also an incredibly accessible game, with how it starts extremely easy in the first few screens, progressively adding the difficulty elements until it becomes incredibly difficult. It's also a totally fair game where you can only blame yourself for the mistakes, as there is almost no surprise difficulty. You know what's coming for you.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 15:57, 07 October 17
Quote from: khaz on 15:54, 07 October 17
An example I like to give for gameplay and difficulty progression is Super Meat Boy. You can't argue that it isn't a difficult game, but it's also an incredibly accessible game, with how it starts extremely easy in the first few screens, progressively adding the difficulty elements until it becomes incredibly difficult. It's also a totally fair game where you can only blame yourself for the mistakes, as there is almost no surprise difficulty. You know what's coming for you.

Yes, that's a good example.

I like to think I didn't do it that bad for a CPC game, considering that it was really hard to include 4 songs, 6 different enemies and 30 40 screens; in a 64k game.

I'll try to do it better with this one, specially now that I'm going to have a bit more memory!

EDIT: Golden Tail has 40 screens and not 30!
Title: Re: Kitsune's Curse (Development)
Post by: khaz on 15:59, 07 October 17
Quote from: reidrac on 15:39, 07 October 17You can crouch, all the screens have a places were you can be out of the way of enemies (even with the bats that follow you, they have limited sight!).

Crouching isn't relaxing though, you're clamping your controller and you know you'll be in danger as soon as you let go. I truly think an extra safe ledge on the right of the first screen would have been interesting. You're not removing any difficulty and add a resting place for the person who is playing for the very first time and don't know what to expect.
Title: Re: Kitsune's Curse (Development)
Post by: khaz on 16:01, 07 October 17
Quote from: reidrac on 15:57, 07 October 17
Yes, that's a good example.

I like to think I didn't do it that bad for a CPC game, considering that it was really hard to include 4 songs, 6 different enemies and 30 screens; in a 64k game.

I'll try to do it better with this one, specially now that I'm going to have a bit more memory!

Oh you did incredibly well! Again, I don't dream doing a tenth of what you achieved.

I'm just the ghost of what could have been.
Title: Re: Kitsune's Curse (Development)
Post by: khaz on 16:03, 07 October 17
To get back to that jumping thing:

Quote from: reidrac on 15:23, 07 October 17
Do you think it would be better if you can jump invisible? How would you be able to control that? Golden Tail doesn't even force you to make the highest possible jump to progress (there's always a platform nearby to make thing easier); but if you learn to control that jump, the game is more fun as is a bit harder.

If jump is restricted to the start of the magic you can calculate where you want to jump. It takes practice, of course. Also the magic not only allows you to jump higher, it makes you fall slower. And you get that with practice.


I believe it would be easier, more predictable. the "magic" button becomes a teleport button: if you implement an acceleration after a visible jump, you give the player a higher jump without removing their visual clue to time the jump right. it would even allow for even higher jumps, giving you one more gameplay trick, for example like using the magic at the apex of a jump to reach even further than a simultaneous jump+magic.

Or as something closer than what you already done, where the magic is fast-tracking invisibility: momentum obtained before the magic is kept but not accelerated, only the momentum built in magic invisible mode is faster. But in that case, you can't limit jumping to exactly when magic start. If you can start moving left and right after having pressed the button, you should be able to jump. No matter how dangerous it is for the player.

Jumping while invisible would be just something the player would have to learn to avoid (which is easier when jump is FIRE2 and not UP), or would want to learn to master, like if a monster is next to a ledge, they would want to use the magic  just a moment before jumping, to try to reach the ledge before vaulting. and if they miss, too bad, they fall down. To the ground where they can then climb up and try again to get the timing right, or try differently.

As of now, it makes for a gameplay that is more static: the player instinctively stops before a long jump to time the inputs correctly, instead of doing a more natural run and jump.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 16:04, 07 October 17
Quote from: khaz on 16:01, 07 October 17
Oh you did incredibly well! Again, I don't dream doing a tenth of what you achieved.

I'm just the ghost of what could have been.

Thank you again for your comments. This is gold!

(I'll try to not disappoint too much with Kitsune's Curse)
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 16:07, 07 October 17
Quote from: khaz on 16:03, 07 October 17
To get back to that jumping thing:

I believe it would be easier, more predictable. the "magic" button becomes a teleport button: if you implement an acceleration after a visible jump, you give the player a higher jump without removing their visual clue to time the jump right. it would even allow for even higher jumps, giving you one more gameplay trick, for example like using the magic at the apex of a jump to reach even further than a simultaneous jump+magic.

Or as something closer than what you already done, where the magic is fast-tracking invisibility: momentum obtained before the magic is kept but not accelerated, only the momentum built in magic invisible mode is faster. But in that case, you can't limit jumping to exactly when magic start. If you can start moving left and right after having pressed the button, you should be able to jump. No matter how dangerous it is for the player.

Jumping while invisible would be just something the player would have to learn to avoid (which is easier when jump is FIRE2 and not UP), or would want to learn to master, like if a monster is next to a ledge, they would want to use the magic  just a moment before jumping, to try to reach the ledge before vaulting. and if they miss, too bad, they fall down. To the ground where they can then climb up and try again to get the timing right, or try differently.

As of now, it makes for a gameplay that is more static: the player instinctively stops before a long jump to time the inputs correctly, instead of doing a more natural run and jump.

It doesn't have inertia; if you stop pushing, it won't move. You have full air-control.

I can try that approach, but I experimented a lot when I was working on Golden Tail and what I got at the end is what I though it was working best (even if is not too logic or 100% consistent; perhaps the problem here is that the instructions suck).

There's a speed run by Metr8 in YouTube that can show you how fluid Golden Tail can be after some practice. Needless to say I don't play like that, I'm more "careful" and I avoid those extreme jumps he performs.
Title: Re: Kitsune's Curse (Development)
Post by: khaz on 16:16, 07 October 17
Oh, and for something entirely different (I'm playing it as I post):

You can't pick up stuff right after being hit! the interactions are deactivated for everything, not just the enemies, while blinking.

It's probably not worth mentioning, it's just something I noticed lol.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 16:19, 07 October 17
Quote from: khaz on 16:16, 07 October 17
Oh, and for something entirely different (I'm playing it as I post):

You can't pick up stuff right after being hit! the interactions are deactivated for everything, not just the enemies, while blinking.

It's probably not worth mentioning, it's just something I noticed lol.

Yes; because when you're hit you jump back a bit and I found confusing when you touched a piece of the Golden Tail or a potion and you picked it up without noticing.

After being hit you're invulnerable and you can't interact with things until you're back to normal.
Title: Re: Kitsune's Curse (Development)
Post by: khaz on 16:43, 07 October 17
Quote from: reidrac on 15:39, 07 October 17

In my opinion the game only has one screen that is quite unfair when a Kappa jumps from the water without warning (previously there was a warning sign); but in general I don't think it is as bad as you say specially when early in the game it means you may lose 2-3 screens of progress before starting again. Even if you die further on, it is a short game that can be finished in less than 20 minutes when you know the map and how to play.


And I just met that kappa! yeah I didn't mind it, are they are meant to startle you. Though did it just one shot me or was I low on health? Because that would be unfair lol.

I didn't take into account that you had to work with a limited amount of screens in my criticism. Is it a memory limitation?
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 17:14, 07 October 17
Quote from: khaz on 16:43, 07 October 17
And I just met that kappa! yeah I didn't mind it, are they are meant to startle you. Though did it just one shot me or was I low on health? Because that would be unfair lol.

I didn't take into account that you had to work with a limited amount of screens in my criticism. Is it a memory limitation?

Yes, it is. Even using compression and self-imposing restrictions on the level design, there's that much that you can squeeze in a 64k game.

I've improved the tile/sprite engine and now it uses way less memory, so that means more enemies and screens!
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 23:41, 14 October 17
Another update!

I've been working on the game engine (the platforming, not the tiles/sprite), and it is progressing nicely. Few bug fixes and that's pretty much it. I've implemented the auto-checkpoint system, like I did recently for Rescuing Orc instead the overly complicated version of Golden Tail.

[attachimg=1]

Also I've started working on some graphics, but until I have the script and the complete story I'm not sure what kind if tiles I'll need, so for now I'm using it for testing and to warm up a bit.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 21:48, 19 October 17
Quick update!

Nothing too exciting; but... spikes kill :o.

https://twitter.com/reidrac/status/921113522620289024

Looks pretty similar to Golden Tail, but the code is new; especially the auto-checkpoint to respawn the player after death (you can't respawn where you die, in case of spikes).

Golden Tail approach was good, but the code got ridiculously complicated. The new code is very simple and it works really well, and it may even place you in a previous room if you somewhat teleport yourself into death after changing rooms  ;D.
Title: Re: Kitsune's Curse (Development)
Post by: ervin on 22:53, 19 October 17
Looking good!
I'm really looking forward to this game.
Title: Re: Kitsune's Curse (Development)
Post by: Gryzor on 11:56, 20 October 17
Same here, looks extremely cute and nostalgic!
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 23:16, 23 October 17
First prototype of an enemy!

https://twitter.com/reidrac/status/922587163409002496

Very *prototype*, needs refining.
Title: Re: Kitsune's Curse (Development)
Post by: ervin on 05:35, 24 October 17
Looking great.
8)


Just wondering, are you still using cpcsrclib?
Or have you given cpctelera a go?
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 08:57, 24 October 17
Quote from: ervin on 05:35, 24 October 17
Looking great.
8)


Just wondering, are you still using cpcsrclib?
Or have you given cpctelera a go?

I use cpcrslib for few things that there's not benefit on writing my own code: controls, WYZ player (although I have patched it heavily, I don't have time to write my own player & tracker), and a couple of sprite drawing functions. On that video, only the HUD is drawn using cpcrslib (although I'm using my own text routines), the game area uses my tile/sprite engine that blits directly to the screen.

I contributed some changes to cpcrslib a couple of years ago, but for the things I use it, I think it is perfect: it doesn't get in the way, I can have my own pipeline and tools, and its footprint is quite small.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 09:26, 28 October 17
Update time!

I'm reviewing the tile/sprite engine... it is too slow to be used. Now I'm almost 100% sure.

I usually aim at around 16 updates per second for the graphics and the game logic, meaning that I'm sure that I'm faster than that but I set this cap to make animations constant (and smooth).

My engine design has two parts: draw the scene in buffers (one big buffer generally, or in the new one... few mini-buffers), and update the screen.

The new engine is faster updating the screen, but because drawing sprites is complicated, the first part is too slow to fit in those ~16Hz that I have for this (and the game logic!).

Moving the player is OK, one enemy is mostly OK; but then I'd love to move more than two things at the same time, right? :)

It's a shame, I put a lot of work on this, but sometimes you can't win. I'm going back to the old engine and I'll introduce some ideas from this experiment to make it even better; although it means I'm back to less memory and things will be tight.

I'll find ways to squeeze more things in!
Title: Re: Kitsune's Curse (Development)
Post by: khaz on 14:18, 28 October 17
Have you considered using the RAM extension modules that exist to give you additional space?

Or maybe doing multiload with chapters?
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 14:37, 28 October 17
Quote from: khaz on 14:18, 28 October 17
Have you considered using the RAM extension modules that exist to give you additional space?

Or maybe doing multiload with chapters?

I could use 128k and then I would have more memory than I can possible use. I want it to fit in 64k. I target the 464 because that's the one I have.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 16:18, 28 October 17
A short video comparing the engines!

https://www.youtube.com/watch?v=bbgcULnY3Xk

The mini-buffers version struggles a bit on the right. That's 6 moving sprites 8x16 + the player 8x24 (not moving, but being redrawn).

EDIT: well, the truth is that I don't know what to do.

Turns out that some glitches I was experiencing were issues with the composite manager in my desktop (I upgraded a month ago and something broke).

The mini-buffer engine is less performant than the other one, but I've been comparing and is as good as the one in Golden Tail... but using way less memory. Summing up; I don't know what to do :picard2:.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 15:52, 29 October 17
Quick update!

https://twitter.com/reidrac/status/924648506006138882

I like when the player jumps back after being hit. It has a nice retro-feel and it adds to the final result.

I know that this may not be very popular, specially the way it was implemented in some classic games (and AVGN making a big fun complain video of it regarding some NES games doesn't help).

My implementation is not that unforgiving: you have full air control, so you can push in the opposite direction and almost completely cancel the effect.

One improvement over Golden Tail is that you can be thrown away into a different room, and is using the new code base; so it is more efficient.

Speaking of code base... I'm using the mini-buffer engine, so there's no way back!  :laugh:
Title: Re: Kitsune's Curse (Development)
Post by: Targhan on 19:12, 29 October 17
That's great. I think that as long as you don't get stuck and lose all your energy just because a monster touched you once, this is fine. Can't wait!
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 21:54, 29 October 17
Quote from: Targhan on 19:12, 29 October 17
That's great. I think that as long as you don't get stuck and lose all your energy just because a monster touched you once, this is fine. Can't wait!

You could end on spikes, for example. But even if that happens, I think it is part of the fun  ;D
Title: Re: Kitsune's Curse (Development)
Post by: Gryzor on 08:25, 30 October 17
That would be fair I guess; for me the danger is, if you get kicked back a screen and land on something that wasn't visible before. But I like the mechanics of it :)
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 23:39, 31 October 17
I'm currently implementing boring stuff, like... doors.

[attachimg=1]

It's quite interesting when I check how I implemented the same thing in Golden Tail and... :picard:

Which is not bad. I mean, it is easy to do it better this time :D
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 08:52, 04 November 17
More boring stuff: keys!

https://twitter.com/reidrac/status/926716959655383040

I think I have a good story for the game; because this is not (again) about collecting pieces of the Golden Tail but about breaking Kitsune's curse; it happened after he restored the stone in the first game.

You're a ninja spy, the sneaky class and no the murderous one (that's why you avoid being seen, thanks to the kõga magic); so you'll have to steal some stuff to accomplish your objective.

Anyway, I'll update more on the story when I'm sure it will work.
Title: Re: Kitsune's Curse (Development)
Post by: villain on 10:34, 04 November 17
Chapeau!  8)
Title: Re: Kitsune's Curse (Development)
Post by: ervin on 10:44, 04 November 17
This is looking really promising.
I have to say - your pixel skills have come a long way as well. This is a very attractive game, even at this early stage!
Title: Re: Kitsune's Curse (Development)
Post by: Gryzor on 12:21, 04 November 17
Of course, with doors go keys :)


Looking better and better with each gif!
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 23:15, 09 November 17
Quick update: moving platforms

https://twitter.com/reidrac/status/928745308477157378

At this point I think I have implemented the same functionality Golden Tail had; excluding enemies (I only have the "Oni head" for now).

I've been experimenting with the platform movement, but the best I can do is move 2 pixels every other frame, but it looks OK (doesn't it?). Definitely better than moving 1 pixel and having glitches derived of the 2 pixels per byte of mode 0.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 16:04, 26 November 17
Small update!

https://twitter.com/reidrac/status/934799033260036097

This is fixing something few people commented after playing Golden Tail: Kitsune died with a *puff*, using the same effect of the Kõga Magic.

That was easy (and cheap), but it had a problem when you were reappearing from using the magic and you ended on top of spikes (this wasn't a problem with water, as there was a "splash" effect).

So the end result was two puffs, and I agree it was confusing. If you're on top of the action, you may not miss what killed you, but if things happen fast... then it may feel unfair.

Anyway, small change but I think it improves things quite a lot.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 10:57, 03 December 17
Update time!

After I got a draft of the back story I've working on the graphics, and it is hard!

[attachimg=1]

One tip I got in gamedev few years ago was that you don't make the story and then the graphics; you make the best graphics you can come up with and then write the story so it fits.

This tileset is for the Sensō-ji temple (hopefully) where you'll have to steal one of the relics (the magic fan; although all is magic here I guess).

Anyway, slow progress is progress!
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 23:13, 11 December 17
I'm back at it!

https://twitter.com/reidrac/status/940342083986055170

I've improved the tileset and I think I'm happy with it now. I'm working on a new enemy type: monks (for the temple).

At this point it is quite basic, and I'm struggling a bit to get the animation right. Because pixel alignment to the byte in mode 0 they look best when moving at 2 pixels per update, but then they move at the same speed as the player and... looks like they run!

I'm also undecided on their behavior. I've started with a basic "patrol" movement, but they may do something else (jump small gaps in the screen? flying kick? I don't know yet!).

EDIT: there was a bug!

Also, now I thing I got the right speed for the monks.

https://twitter.com/reidrac/status/940357981421604864
Title: Re: Kitsune's Curse (Development)
Post by: ervin on 23:26, 11 December 17
Quote from: reidrac on 23:13, 11 December 17
I'm back at it!

https://twitter.com/reidrac/status/940342083986055170 (https://twitter.com/reidrac/status/940342083986055170)

I've improved the tileset and I think I'm happy with it now. I'm working on a new enemy type: monks (for the temple).

At this point it is quite basic, and I'm struggling a bit to get the animation right. Because pixel alignment to the byte in mode 0 they look best when moving at 2 pixels per update, but then they move at the same speed as the player and... looks like they run!

I'm also undecided on their behavior. I've started with a basic "patrol" movement, but they may do something else (jump small gaps in the screen? flying kick? I don't know yet!).


I really enjoy reading these updates. They give a very interesting insight into the development process.
The game is looking great so far, by the way.
Title: Re: Kitsune's Curse (Development)
Post by: Gryzor on 06:46, 12 December 17
I agree, it's quite interesting :)


I don't see what the problem with running monks is, apart from upping the difficulty?
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 08:05, 12 December 17
Quote from: Gryzor on 06:46, 12 December 17
I agree, it's quite interesting :)


I don't see what the problem with running monks is, apart from upping the difficulty?

Yes, it'd be quite hard.

Half speed is better I think. Other enemies will be faster, like the Oni Heads. But the heads can be avoided jumping or ducking, whilst the monks require magic.

Anyway, I'm glad you're enjoying the updates.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 15:34, 04 August 18
Update time!

And this is still on! I've backported all the improvements to the tile/sprite engine and the entity system from Kernel's code base to Kitsune's Curse and it all runs great. A bit faster, a bit less memory, all good!

When I left the game, the engine was almost completed. I would say around 80% (I still need to implement switches and few ideas that will push the gameplay to the next level compared to Golden Tail), so I'm going to start drawing enemies and tilesets; and I'm going to scrap all the story I had because I think that's a bad approach.

Basically I'm struggling to draw what I described in the story, so instead I think I'll start "discovering" what I can draw, and then I'll put the story together.

The end result will be better!
Title: Re: Kitsune's Curse (Development)
Post by: Targhan on 17:21, 04 August 18
Yaaaaay! The first episode was one of my favorite arcade game of these last years!
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 20:41, 18 August 18
I've finished the ninjas. The cay use Kõga magic.

(please ignore the frame rate of the video)

https://twitter.com/reidrac/status/1030900684512747521

It works like Kitsune's Kõga magic, they can travel the same distance in the same time and also with the same rules (they won't hurt you when invisible).

They're "smart" and they look at the environment to move and decide what to do, deciding if a jump is possible or not.
Title: Re: Kitsune's Curse (Development)
Post by: XeNoMoRPH on 10:56, 13 June 19
Hi again Reidrac !!!
any news?  :o
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 19:07, 23 August 19
I got distracted again, sorry!

This year I've released a MSX game and is likely I'll release another one. Unfortunately it is unlikely I will finish a CPC game in 2019.

But not all is bad news! I've ported few improvements from my MSX projects to this one and I've reclaimed a good number of bytes and CPU time. Other than that, the engine is 90% finished and feels very solid.

Which takes me to the basic blocker here: I need to draw tiles and do the level/enemy design. On top of that I need to think what is going to be the story, because all the BS I planned doesn't make sense if I can't really produce the art needed to back it. I try to make my games as good looking as I can, but is not easy for me at all (the struggle is real, compared... programming is just fun!).

Is not that hard, but if I'm feeling very inspired somewhere else (like happened with Kernel), this project will be delayed.

Golden Tail had a nice mechanic and the story, level and enemy design played very well together. I don't want to make the same game again, neither make something not worth of being a sequel.

So be patient and I'll update this space when there's anything to show!

EDIT: btw, didn't receive an email or notification. Or may be I did and I missed it. Sorry, I do my best to reply in my threads!
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 19:54, 17 December 19
I'm back at it!

https://twitter.com/reidrac/status/1206976008076828683

WIP
Title: Re: Kitsune's Curse (Development)
Post by: Gryzor on 20:33, 17 December 19
Ooh nice!
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 08:16, 18 December 19
Few improvements, but I think this tileset is ready (for now).

[attach=1]

There are still some bits of the game design that I'm not sure what to do. Golden Tail was a "collect them all" platformer, but in that game the magic stone was put together again at the end, so unless I break the stone again... there are not items to collect  ;D

We'll see!
Title: Re: Kitsune's Curse (Development)
Post by: Targhan on 10:18, 18 December 19
Oh yeah! It looks good! I'm really eager to play this game, absolutely loved the first one.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 16:54, 23 December 19
Experimenting with Forest Spirits.

https://twitter.com/reidrac/status/1209138892147957760

Only two frames animation... yes or nope? I mean, adding one extra frame is not that much extra memory, but 2 enemies with 2 frames means 1 extra enemy with 2 frames, isn't it? :D

EDIT: yep, three frames looks better!

https://twitter.com/reidrac/status/1209171484024946688
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 10:51, 24 December 19
I'm getting most of my holidays ;D

Anyway, I'm not going to post too often here, but I had to rework that forest spirit because it didn't match the rest of the game's art style. I'm keeping the idea, I think is the perfect basic enemy for the forest.

I also added a vampire (or giant bat). Different behaviour from what I implemented in Golden Tail, but in essence the same enemy and gameplay opportunities. The magic works great with stealth, so this enemy that is triggered by proximity (unless you are invisible!) is kind of a must.

I think I need one more enemy for the forest; probably horizontal movement that forces the player to dodge. I want to use this area as tutorial, so forcing all basic movements in the first 4 to 6 screens is important.

I also want to add giant spiders, but that doesn't cover the dodging part, so we'll see. I'm using my low memory engine, but the memory is what it is :)
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 15:42, 26 December 19
Added spiders.

https://twitter.com/reidrac/status/1210206719705522176

I think the forest is ready to start with some level design. We have white spirits, fireballs, vampires and now spiders. Enough variety, or I may run of of memory before I can work in the next area!
Title: Re: Kitsune's Curse (Development)
Post by: SkulleateR on 19:55, 26 December 19
This really looks cool, keep it up  8)
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 16:21, 27 December 19
A bit of extra work on the tileset. Thinking about level design, didn't want to make it completely lineal, so I'll add caves. Yes, I know is quite similar to Golden Tail. I may change my mind when I get better ideas.

https://twitter.com/reidrac/status/1210580948158484480

EDIT: also those background rocks can't be blue. Visibility!

BETTER!

https://twitter.com/reidrac/status/1210590036321865728
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 11:10, 02 January 20
Quick update!

I've improved the spiders' behaviour and they are quite fun now to deal with. The main change is that now they only hurt the player when going down, so I can use them in a tighter places because you can trigger the attack and then walk past them when they are going up.

[attach=1,msg181995]

I have a first section to be used as tutorial. My main concern is that I don't want it to feel too similar to Golden Tail, but then it makes sense if you're learning the same basic mechanics, isn't it?

For now some forest and caves, then progress to the next part. I'm going to introduce objects, kind of following my silly story idea. Because there aren't collectables like in Golden Tail (you had to collect pieces of the gem), there's no really a good reason to explore the complete map, so for now it feels a bit more lineal. The objects may work as a key at the end, but it makes the game a bit more interesting and less samey.

Anyway, after the forest I plan to add a transition area before getting to the big area where the Golden Tail is hidden (you have to find it to break the curse, allegedly  ;D).

Btw, happy new year!
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 21:12, 06 January 20
After reviewing some old feedback in this thread re: Golden Tail (thanks again @khaz (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1619)!), I decided to make some changes so the game is a bit more accessible.

First of all, I've added a visual cue when Kitsune uses the magic and is invisible. Everything else works the same, and the hint is not the size of the ninja, so you still need to learn how to use the magic. Buuut it IS easier.

Second, the jump can be activated a couple of frames after the magic is triggered, and it still works. This should be a huge help when playing with the joystick and, again, it will make the game a bit easier.

It still uses the same mechanics that I introduced in Golden Tail, with all its logic (or lack of it!), but I hope it will make the game less frustrating for those that didn't "get" the first game.

A quick video:

https://twitter.com/reidrac/status/1214277575834517511

(30 FPS, and not captured brilliantly, but it looks OK)
Title: Re: Kitsune's Curse (Development)
Post by: Gryzor on 22:21, 06 January 20
Really love the attention and polish you put into your games... Shows in the final product!
Title: Re: Kitsune's Curse (Development)
Post by: Skunkfish on 15:45, 14 January 20
Quote from: reidrac on 21:12, 06 January 20
After reviewing some old feedback in this thread re: Golden Tail (thanks again @khaz (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1619)!), I decided to make some changes so the game is a bit more accessible.

First of all, I've added a visual cue when Kitsune uses the magic and is invisible. Everything else works the same, and the hint is not the size of the ninja, so you still need to learn how to use the magic. Buuut it IS easier.
The effect here looks nice and I think is a good compromise for new players to ease them in.

Quote
Second, the jump can be activated a couple of frames after the magic is triggered, and it still works. This should be a huge help when playing with the joystick and, again, it will make the game a bit easier.
This was one of the trickier things to learn in the first game, being able to activate the magic and jump simultaneously. I did find the first game much easier to play on a two button pad, it sounds like this is a good change but hopefully won't make it too easy!  :)

Quote
It still uses the same mechanics that I introduced in Golden Tail, with all its logic (or lack of it!), but I hope it will make the game less frustrating for those that didn't "get" the first game.
I found the mechanics of the first game quite novel in a world where every concept seems to have been done already. I'm eagerly awaiting this sequel - keep up the good work, it's really appreciated!
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 08:19, 04 February 20
Update time!

I lost some velocity after Christmas holidays, and I'm back to my normal schedule. I still think that the game may be ready by April, but the unexpected could always happen!

Level design keeps progressing. I added the Arkos 2 player to the game, to avoid last minute surprises running out of memory. In Dawn of Kernel I ported the player to SDCC assembler, which was a lot of work and very risky (because of bugs introduced by the port; and updating the player after releases was a PITA), and it did work well at the end; but I didn't feel like doing that again. So I came up with a smart and elegant idea that doesn't have much work. So that's done.

I put some placeholder music (silenced on the video), and I have started with the sound effects.

https://twitter.com/reidrac/status/1224590708004265984

Title: Re: Kitsune's Curse (Development)
Post by: Targhan on 09:40, 04 February 20
So did the use of AT2 worked flawless? I should, thanks to Disark source converter! Please contact me if that's not the case. There is also a full tutorial about how to proceed on the website of AT2.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 10:21, 04 February 20
Quote from: Targhan on 09:40, 04 February 20
So did the use of AT2 worked flawless? I should, thanks to Disark source converter! Please contact me if that's not the case. There is also a full tutorial about how to proceed on the website of AT2.

I tried to use the converter but I failed; I should try again and send you feedback. I don't recall exactly, but it was like the generated code was not readable or it was missing some exports or something like that; so is not useful to me. Sorry, I found a workaround so I didn't think much about it.

EDIT: what I'm doing is compiling with RASM into a fixed address at the beginning of the binary and then "force" the linker to put it there; so I don't need to compile the source with SDCC assembler, and if I need to make changes to the player, I can easily (because it is your source from the AT2 distribution).
Title: Re: Kitsune's Curse (Development)
Post by: Targhan on 12:33, 04 February 20
I corrected some stuff about SDCC in the latest release of AT2. Things should and MUST be flawless! :)
Please me another try if you can.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 12:56, 04 February 20
Quote from: Targhan on 12:33, 04 February 20
I corrected some stuff about SDCC in the latest release of AT2. Things should and MUST be flawless! :)
Please me another try if you can.

I'm still with the previous version. I know I should upgrade, but currently I'm focusing on the game and I don't want to get distracted by other things. I'll try to allocate time for that and I'll let you know how it goes; although current arrangement is PERFECT for this project so it may not be worth the effort of doing the translation.

Which is a good thing. It means AT2 is pretty good already!
Title: Re: Kitsune's Curse (Development)
Post by: Targhan on 14:24, 04 February 20
Yes, you are right. It is works, don't bother :). Release your game as soon as possible and I'll be happy :).
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 23:27, 06 February 20
More sound effects!

It is amazing how the game feel changes with these on. It'll be a bit until I start working on the music, but it "sounds" promising already ;D

https://twitter.com/reidrac/status/1225545478349172738
Title: Re: Kitsune's Curse (Development)
Post by: Gryzor on 08:29, 07 February 20
Looks great - and difficult?
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 09:17, 07 February 20
Quote from: Gryzor on 08:29, 07 February 20
Looks great - and difficult?

Now that magic is easier to control, the platforming can be more demanding (after passing the "tutorial area"); and the enemies are going to move faster than in Golden Tail because the engine is better.

I don't think it is going to be harder than GT. Some bits will be, but a better control will make it easier to play (and less hard to master). What will be different for sure is that the game will be longer, and because of that 3 lives may make it a bit of a challenge.

I still need to do play-testing; and there's time for tweaks.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 15:20, 15 February 20
Update time!

I'm implementing switches and doors; although I still don't know if they will work as a time based puzzle. In any case, I'm keeping them!

https://twitter.com/reidrac/status/1228684822392049665

This area is progressing nicely, and it is almost March! May be April is a bit too tight, we will see!
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 15:02, 16 February 20
Extra update!

Looks like it works!

https://twitter.com/reidrac/status/1229043224150528000

Exciting  :laugh:
Title: Re: Kitsune's Curse (Development)
Post by: Gryzor on 08:58, 17 February 20
For a moment there I thought that was the Arkanoid ship :D

Lack of sleep probably...
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 23:39, 19 February 20
Half of the screens!

https://twitter.com/reidrac/status/1230258313528532992

There's still a lot to do. The switches work really well and I've used them in a few screens, but this needs play testing and tweaking until it is perfect.

Mostly because I'm not the best player, but the fact that I can navigate the screens doesn't mean it will be possible for everybody.

Anyway, progress!
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 15:31, 29 February 20
Update time!

Progress is steady. I'm about 4 screens to finish the "basement" of the castle, and then it will be 12 screens to the end of the basic layout.

https://twitter.com/reidrac/status/1233759563712733184

After that I need to program a couple of scripted events (may change my mind if it doesn't look as good as I expect it to look :laugh:), and then probably start with testing. Edit: oh, and the music!

I'm still undecided on publishing this one (or what publisher). There will be free download anyway, but I feel we may be getting to the end of some media (3" discs), so it may be one of my last chances to release a game in a classic format.

Anyway, I'll try to decided ASAP because in case there's a physical release, I wouldn't like to delay the game because of that.
Title: Re: Kitsune's Curse (Development)
Post by: teopl on 08:44, 01 March 20
Hi reidrac, sorry for small off topic...

First thanks for this thread, it's great to see how the games are made, I wish there are more threads with even more details but I guess people don't have time or think it's not that valuable to share the "making of". (myself included)

I also watched some of your videos on youtube, they are very interesting, I plan to watch more when there is time. (oh the time... :) )

We made our first game for the cpcretrodev and it was very painful to learn the platform and all so although we ranked very well, I feel the game needs to be upgraded and only then released again.
(improving the engine, better compression, new levels, better level balancing, new arcade mode, new story/characters, new physic elements, ai, ...)

And now the question:

While I try to complete the game (again) - can you give some opinions on how to release a game, maybe some publishers, pros/cons of releasing without publisher and how/where to buy 3" discs?
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 12:07, 01 March 20
Quote from: teopl on 08:44, 01 March 20
Hi reidrac, sorry for small off topic...

[...]

And now the question:

While I try to complete the game (again) - can you give some opinions on how to release a game, maybe some publishers, pros/cons of releasing without publisher and how/where to buy 3" discs?

I like to release my games as free download first and then, optionally, a physical edition that is aimed at collectors and fans that want a bit more than just the game; so homemade plain jewel case cassette editions are not my cup of tea.

I always waive any royalties of the physical edition; and those either go to charity or to the publisher to keep publishing games (because it is hard to break even).

Yep, this is off-topic and I would prefer to not derail this thread if you don't mind. You can send me a PM or an email if you want.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 08:34, 19 March 20
Quick update

The level design is finished!

I'm currently tackling a bug I introduced recently and has me a bit confused, but after that is fixed the only bits left are intro, end game and music. I have 3208 bytes for that, so it is going to be very tight; I may have to make a quick pass trying to optimize a bit and reclaim some bytes.

Beta testing should start soon, but I think early May is probably more reasonable than my original April target, alas. All considering what's going on in real life, I can't complain.

In related news, Poly Play will make a physical edition of this one; but it will come a bit later after the free download release. I don't think it matters too much as it is for those that would love the extras of the Collector's Edition.
Title: Re: Kitsune's Curse (Development)
Post by: Gryzor on 08:48, 19 March 20
PolyPlay, cool!!!!
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 08:46, 28 March 20
Another update

Not a big change since last update, but moving forward. I fixed a sneaky bug, and finished the end game. I asked my testers and they're happy to test a beta without music, and when I finish the music, another round with a master version.

This is because the beta I send usually is a debug build that uses a bit more memory and is may be a bit slower. It helps testing because if something goes wrong, it shows clues of what happened; but with the downside that is not the binary that gets released.

Then I was planing to make a complete walk-through to check that everything was OK, and I thought I would run it in master mode so I can get screenshots and release the website. And then the game was crashing badly.

Long story short, I spent two days debugging my code and it was a bug in SDCC.

SDCC supports a Z88DK function call convention that is faster than the regular C way of doing it. Instead of using the stack to pass parameters, if you only have one, HL is used for that.

When this was first introduced it only supported calling functions but not writing functions like this in C; but looks like it is full supported now. So yay! I used it :(

So fn(uint8_t b) uses L to pass that byte parameter. My code was doing something like this:

void fn(uint8_t b)
{
    global_flag = b;
    ...
}


And SDCC was generating code such as:

_fn::
    ld hl, #_global_flag
    ld (hl), l
    ...


You can see the WTF. Uses HL to address the global flag variable and overwrites L.

It was not happening in debug mode because the generated code was different and looks like it was using IY to address the variable. Code generation in SDCC is like that, it depends a lot on the state of the register allocator I guess.

Anyway, software sometimes has bugs, and a compiler that generates broken code is an awful case. You can't be reviewing the generated code all the time, and when something breaks, it is likely it is your code. Unless it isn't.

I will report the bug, but for now the game is fixed and I'll do the walk-through today so I can send the beta ASAP and start with the music.

Not much left for the release now!
Title: Re: Kitsune's Curse (Development)
Post by: Targhan on 10:11, 28 March 20
... Which is why I would never use a C compiler on CPC :).

Anyway, glad the game is almost over! I really long to play it.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 17:33, 28 March 20
The first beta is out for the testers to play it!

I did a complete walk-through myself and it took me a bit over 40 minutes. I did a couple of tweaks to the level design, but overall it was good.

Now I need to finish the music and, by the time I have a master, I'll have a good idea of what could be the release date.
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 09:13, 29 March 20
The website is up!

https://www.usebox.net/jjm/kitsunes-curse/

Exciting!  ;D
Title: Re: Kitsune's Curse (Development)
Post by: XeNoMoRPH on 09:51, 29 March 20
Quote from: reidrac on 09:13, 29 March 20
The website is up!

https://www.usebox.net/jjm/kitsunes-curse/ (https://www.usebox.net/jjm/kitsunes-curse/)

Exciting!  ;D
Waiting release for report !!!  :o :o
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 10:24, 29 March 20
Quote from: XeNoMoRPH on 09:51, 29 March 20
Waiting release for report !!!  :o :o

Feel free to open a thread in Amstrad.es. The forum is very quiet, looks like most people moved to Telegram  :'(
Title: Re: Kitsune's Curse (Development)
Post by: Targhan on 11:44, 29 March 20
"Kistuse"? I think your hero is wrongly name on the website :). Can't wait to play the game!
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 11:50, 29 March 20
Quote from: Targhan on 11:44, 29 March 20
"Kistuse"? I think your hero is wrongly name on the website :). Can't wait to play the game!

Fixed, thanks!
Title: Re: Kitsune's Curse (Development)
Post by: SkulleateR on 12:19, 29 March 20
Looks really really nice, can't wait to play this one  ;D


Great news here that there will be a physical copy  8)
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 21:52, 04 April 20
Music update

Music is hard, but I'm getting there!

https://twitter.com/reidrac/status/1246538254180065282

Also testing is going well. So far nothing really broken...  ;D

Anyway, I think end of the month looks increasingly possible.
Title: Re: Kitsune's Curse (Development)
Post by: XeNoMoRPH on 06:36, 05 April 20
nice music :)
Title: Re: Kitsune's Curse (Development)
Post by: trocoloco on 07:24, 05 April 20
nice music weldone! writing the code, making graphics and music too? you truly are one man band

Almost there, Kee up the good work  :)
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 08:54, 12 April 20
Release candidate!

https://twitter.com/reidrac/status/1249238057972371456

It could be as soon as next weekend! Wow!

Playing on my 464 and a Sony Trinitron.

[attach=1,msg185583]
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 20:54, 14 April 20
Last update!

Testing is going very well so I plan to release Friday 17/04/2020; will make a release thread, so I'm not updating this one anymore.

Also, preview of the physical edition by Poly Play (to come later).

[attach=1]
Title: Re: Kitsune's Curse (Development)
Post by: reidrac on 21:21, 16 April 20
The game has been released here: https://www.cpcwiki.eu/forum/games/new-game-kitsune's-curse/
Title: Re: Kitsune's Curse (Development)
Post by: XeNoMoRPH on 05:51, 17 April 20
Very nice !!!!  :o :o
Powered by SMFPacks Menu Editor Mod