CPCWiki forum

General Category => Programming => Topic started by: reidrac on 13:43, 02 January 18

Title: The Dawn of Kernel (Development)
Post by: reidrac on 13:43, 02 January 18
I've started another project: The Dawn of Kernel

I had that idea of making a shooter for the CPC, so I started looking at hardware scroll and few tricks and I didn't get too far. Oh, well; far enough to conclude that it is a bit fiddly (it doesn't quite work in all emulators).

Then I thought: do I really need scroll for this? My new engine may be alright, with few tweaks because a shooter and a platformer have different requirements.

So I started this game, that shouldn't take me too long to finish; in theory.

The usual bits:

Two differences compared to my previous games: 25 FPS (is going to be challenging for sure), and Arkos 2 (I've briefly looked at the code and it should be OK to integrate in my codebase but I'm still not sure re: effects).

The gameplay will be inspired a bit by Cybernoid, Starquake, Jet Paco, and few other ideas that I hope will play well together. I mean, it looks quite Cybernoid already, but it'll be more than that (more exploration and less frantic shooter).

Some updates I've been sharing on twitter (@reidrac ; you know where you can find me):

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

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

I may be spreading myself too thin, but we'll see.

Kitsune's Curse is still going, but it kind of requires more inspiration because the story and all. I have another project in background, but I'm still not sure it makes any sense; and also a collaboration with @Carnivius (http://www.cpcwiki.eu/forum/index.php?action=profile;u=50) that I pushed a bit to the end of the queue because I'd like to get the Arkos 2 thing under control.

Busy year ahead. I didn't release any CPC games on 2017, but I did a lot of engine work that should pay off in 2018 and beyond!

Watch this space.
Title: Re: The Dawn of Kernel (Development)
Post by: mr_lou on 14:00, 02 January 18
Looks awesome!

Note: Videos can't be played here on the forum. You need to click the text to go to Twitter first. Then it plays.
Title: Re: The Dawn of Kernel (Development)
Post by: ervin on 14:45, 02 January 18
@reidrac (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1504) - that's a lot of great stuff in that post!
I'm particularly interested in the collab with Carnivius.

Title: Re: The Dawn of Kernel (Development)
Post by: ||C|-|E|| on 00:50, 03 January 18
Aaaah... reminds me Cybernoid!  :)
Title: Re: The Dawn of Kernel (Development)
Post by: Skunkfish on 20:59, 03 January 18
Aaaah... reminds me Cybernoid!  :)

I hope I'll be better at this than Cybernoid, never got very far in that game!
Title: Re: The Dawn of Kernel (Development)
Post by: Targhan on 03:22, 04 January 18
Great stuff, as always.
As for AT2 support, don't hesitate to ask me for more information, be aware the "generic" player hasn't been released yet. However, the Lightweight player has all you need, including sound effect support, and since your target is 64k, it is indeed a good choice.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 10:37, 04 January 18
Great stuff, as always.
As for AT2 support, don't hesitate to ask me for more information, be aware the "generic" player hasn't been released yet. However, the Lightweight player has all you need, including sound effect support, and since your target is 64k, it is indeed a good choice.

Thanks! I only had time to skim over it, but it looks like everything is there.

It's just matter of learning how to make the effects and see if I can include it all in my CLI pipeline to build the project; but is not a big deal if I have to prepare some bits by hand using the GUI.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 10:41, 04 January 18
Aaaah... reminds me Cybernoid!  :)

Yes, I mention that in the first post!

I hope I'll be better at this than Cybernoid, never got very far in that game!

My experience with Cybernoid was on the speccy, when I tried it on the CPC a couple of years ago I found that the slow down when there's a lot of stuff going on kind of kills the fun for me.

Anyway, I hope it'll be better; I can see what works and what doesn't, so I'll try to not repeat the same mistakes.
Title: Re: The Dawn of Kernel (Development)
Post by: seanb on 15:07, 04 January 18
Looks very good.


Like Cybernoid  ;D  which was a game I enjoyed even if I couldn't get very far in it.


Hope you are able to complete development.
Title: Re: The Dawn of Kernel (Development)
Post by: ||C|-|E|| on 22:20, 04 January 18
Yes, I mention that in the first post!

Heh, I was reading the forum during my lunch break and it seems that I missed that part!  :D

Regarding Cybernoid, I love both parts a lot, and I played them like crazy back in the days. Sadly, I must confess that I had to use cheats to finish them, they were just too difficult for me.  I always suspected that both parts use exactly the same engine with slightly different sprites. Has anybody checked this?  :)
Title: Re: The Dawn of Kernel (Development)
Post by: GUNHED on 16:33, 05 January 18
Hi! If I click at "loading tweet" the link disappears, but nothing happens. Any link there that works?

Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 17:19, 05 January 18
Hi! If I click at "loading tweet" the link disappears, but nothing happens. Any link there that works?

You may have to click to watch it on Twitter.

I may upload videos to YT, but I prefer waiting until the game is a bit more advanced.
Title: Re: The Dawn of Kernel (Development)
Post by: GUNHED on 19:25, 05 January 18
You may have to click to watch it on Twitter.

I may upload videos to YT, but I prefer waiting until the game is a bit more advanced.


Tried that couple time, seems not to work with Chrome, but I'm looking forward for your Vids.  :)
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 23:24, 05 January 18

Tried that couple time, seems not to work with Chrome, but I'm looking forward for your Vids.  :)

If you click on the time of the tweet, you go to the actual content on Tweeter and then it should play. I believe the problem is with cross-domain cookies or something like that.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 18:09, 06 January 18
Quick update!

Turrets and enemy bullets; I have few more sprites for the turrets that don't show in this GIF, when I have time to think about it I'd like to make them "smart" and track the player, but for now... they fire!

At the moment this is quite WIP, the enemy bullets are slower but have the same range as the player bullets, and that might a bit too much.

(click on the attachment to play the GIF; I can't insert it in the post)
Title: Re: The Dawn of Kernel (Development)
Post by: mr_lou on 19:28, 06 January 18
I assume the GIF framerate is lower than the actual game framerate? It doesn't look like 25 fps.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 20:42, 06 January 18
I assume the GIF framerate is lower than the actual game framerate? It doesn't look like 25 fps.

Of course not. The emulator emulates 50Hz on my display at 60Hz, and that's what I capture and convert into a GIF. If it used 25 frames, with GIF compression, it would be huge I think.

I tried a GIF because some people can't watch Twitter videos.

Out of curiosity, do you think that I would say I'm updating at 25 FPS and then do the frame rate you can see on that GIF?  :'(
Title: Re: The Dawn of Kernel (Development)
Post by: mr_lou on 20:45, 06 January 18
Well, it could be that you hadn't optimized something yet, or something. What do I know.

Experiment. See what a 25 fps GIF will take up of space.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 20:59, 06 January 18
Well, it could be that you hadn't optimized something yet, or something. What do I know.

Experiment. See what a 25 fps GIF will take up of space.

Sorry, I don't even know if is possible to get a GIF with accurate frame rate. Is not a video container, and the way I capture the emulator output is not very accurate anyway.

I thought it was clear that the GIF was only a preview.

I'll make it clear in the future to avoid confusion.
Title: Re: The Dawn of Kernel (Development)
Post by: mr_lou on 21:04, 06 January 18
25 fps shouldn't be a problem for GIF.

I'm merely suggesting that you try it before rejecting it, because it will give a better impression of the game.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 21:14, 06 January 18
25 fps shouldn't be a problem for GIF.

I'm merely suggesting that you try it before rejecting it, because it will give a better impression of the game.

Development previews are provided "as-is", I can assure you things will change before release anyway.

When the game is released, if someone decides to not give it a go based on a crappy GIF... What a shame :)

I may look at it, but I still think that whatever I do, the result may not be representative of the final product anyway.

But this is useful feedback, I'll include a disclaimer with each update to avoid misunderstandings!
Title: Re: The Dawn of Kernel (Development)
Post by: Skunkfish on 01:21, 07 January 18
It's looking pretty tricky already... Or were you getting hit on purpose?  ;D
Title: Re: The Dawn of Kernel (Development)
Post by: GUNHED on 02:06, 07 January 18
Looks really cool! This will be a great game :-)))
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 12:15, 07 January 18
It's looking pretty tricky already... Or were you getting hit on purpose?  ;D

The first one is hard to deal with using the primary weapon (plasma cannon); take into account that I'm testing enemies in a location that is probably not best, but yes... the game will have parts that aren't easy.
Title: Re: The Dawn of Kernel (Development)
Post by: Gryzor on 20:59, 13 January 18
Been following this, it looks ace!! Thanks for sharing :)


Note: Videos can't be played here on the forum. You need to click the text to go to Twitter first. Then it plays.


Twitter videos work fine for me every time...


I hope I'll be better at this than Cybernoid, never got very far in that game!

 


I loved Cybernoid. Both, actually, but I mainly played part I. Yes it was tough, but it was one of those titles, like Rick Dangerous, where repetition and concentration got you there...
Title: Re: The Dawn of Kernel (Development)
Post by: mr_lou on 21:08, 13 January 18
Twitter videos work fine for me every time...

First time I tried clicking a Twitter video I think, and it didn't work.
Seems to work now though. So dunno.
Title: Re: The Dawn of Kernel (Development)
Post by: Gryzor on 21:12, 13 January 18
May random snafu, ok :)
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 11:10, 15 January 18
Update time!

Disclaimer: the video doesn't capture 50Hz properly, also lots of debug are enabled and it looks "weird"; but the game is updating at 25 FPS.

What does the debug mean:


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

I've been optimising few bits that were OK for my previous games but a waste of time in this one; that includes better batched draw (e.g. the engine fire on the player's ship, now is not a composition of player + fire) and few places where I was was being silly using CPU (e.g. even for fixed path enemies, I tend to be lazy and make them "smart", looking for obstacles, although I know the complete path when the map is loaded).

I'm also updating the HUD when the game isn't busy, so it may delay updating the score a frame or two, but it will never slow down the action.

Next thing is improving how bullets are drawn. For performance I don't support blitting arbitrary sprite sizes but a limited fixed set (8x8, 8x16 and 8x24). Bullets can be consolidated into 4x4, and I may even not use a mask because the shape is square-ish.

With that change I think I'll be really close to the performance that is required for the game, and 25 FPS.

(to be honest, this game would play just fine at 16 FPS; but now that I'm used to play it at 25 FPS, it would be hard to play it at a lower frame rate)
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 10:56, 17 January 18
Faster, faster!

I made an optimisation for "small sprites" (still masked), and it improved a lot.

The following video isn't amazing, but it shows a bit what I'm talking about (if you look closely). See previous post for information about the debug bits on the video.

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

If the sprite is between tile boundaries, that means more pixels to push and it'll be slower, but it reduces "worst cases" reasonably.

This engine isn't ideal for a shooter anyway, but as I said in my first post, I plan it to be more tactical than just pew-pew.

I'm going to leave the engine alone for now and start making new enemies and probably prototype the terminals; although that part is still one of the "unplanned" bits of this game.

Anyway, progress!
Title: Re: The Dawn of Kernel (Development)
Post by: GUNHED on 14:42, 17 January 18
Any link to a video? Chrome doesn't pick up that tweet.  :)
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 14:46, 17 January 18
Any link to a video? Chrome doesn't pick up that tweet.  :)

You can watch it on Twitter, if you're interested. If you see the preview, click on the date and that opens the content on Twitter domain. If you don't see the preview, just open the link.

I guess is something related to cookies or anything like that.
Title: Re: The Dawn of Kernel (Development)
Post by: GUNHED on 14:48, 17 January 18
Well, I don't use Twitter, Facebook and all that stuff... Would be nice it you post us a message as soon as you got a video up somewhere.  :)
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 14:55, 17 January 18
Well, I don't use Twitter, Facebook and all that stuff... Would be nice it you post us a message as soon as you got a video up somewhere.  :)

You don't need Twitter account to watch the video, as far as I know.

I won't upload the videos to anywhere else, for now. I'm sorry you can't be bothered to watch it on Twitter, is your call.
Title: Re: The Dawn of Kernel (Development)
Post by: robcfg on 15:39, 17 January 18
Works for me on Chrome, maybe you adblocker is causing you trouble?
Title: Re: The Dawn of Kernel (Development)
Post by: Skunkfish on 12:45, 18 January 18
The videos are working for me now embedded on the forum which is nice, not sure what changed as they weren't before!
Title: Re: The Dawn of Kernel (Development)
Post by: Gryzor on 14:11, 18 January 18
They were always here :D Perhaps connection to Twitter was slow and so the page rendered without them or something, but it's been a while since they're available fully embedded ;)
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 00:32, 24 January 18
Update Time!

Fixed a bug that I believe it's been there since my first game; I probably imported it from a speccy game when I started working on the CPC, BUT it only shows at 25 FPS (well, probably shows at 50 FPS too). So I guess is not a bug in my previous games because all of them run at ~16.6 FPS.

I made few changes in the map renderer, simplifying the shadows. I really like the shadows I made in Golden Tail, but it requires too many tiles, so in this one I'm using a different approach that, as a side effect, improves compression of the maps (so WIN).

I'm working on the first tileset, and planing some map design and thinking on some ideas for the core gameplay.


* kernel-tileset.png
(552.19 kB, 1173x880 - viewed 137 times)

Title: Re: The Dawn of Kernel (Development)
Post by: ervin on 05:13, 24 January 18
That  is looking fantastic.
I love those glowy red-bullet-things in the top right corner. Very very nice pixel work.

Just wondering - what was the bug that is only visible at 25+ fps?
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 09:33, 24 January 18
That  is looking fantastic.
I love those glowy red-bullet-things in the top right corner. Very very nice pixel work.

Just wondering - what was the bug that is only visible at 25+ fps?

It is related to the code that tracks time to enforce the specific number of FPS. There's a divider ; with 16 FPS that divider is 3, and it was working fine, but it didn't work with 2 (50 / 2 = 25 FPS), making some updates longer and making the animations quite choppy.
Title: Re: The Dawn of Kernel (Development)
Post by: ervin on 12:56, 24 January 18
It is related to the code that tracks time to enforce the specific number of FPS. There's a divider ; with 16 FPS that divider is 3, and it was working fine, but it didn't work with 2 (50 / 2 = 25 FPS), making some updates longer and making the animations quite choppy.


Ah, ok... very interesting.
Do you do that to stop the game going too fast when there is less stuff moving on-screen?

Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 13:23, 24 January 18

Ah, ok... very interesting.
Do you do that to stop the game going too fast when there is less stuff moving on-screen?

Yes, something like that. The game updates state and redraws every other vsync, instead of 50Hz.

Without tracking time I wouldn't know how to make it constantly smooth. No all the updates require the same CPU time.
Title: Re: The Dawn of Kernel (Development)
Post by: Gryzor on 18:37, 27 January 18
How I love your pixel style... :)
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 00:24, 09 February 18
Quick update

I finished integrating Arkos 2 in my code and... well, I'm stupid. All my efforts to get things playing smoothly at 25Hz are just not enough, because I didn't take into account the CPU cycles required by the music and effects.

This is not all bad news, Arkos 2 is amazing, and I hope I'll show in the game with better music than usual; but I need to think how I can make it play smooth now.

I'm using the lightweight player and I still need to spend more time reading the code. I did the conversion to SDCC assembler (that is a bit "special"), but perhaps I can find ways of reducing the CPU use.

Anyway, this means that the game will have sound soon. Not sure if I'll be able to keep it running at 25Hz, though.
Title: Re: The Dawn of Kernel (Development)
Post by: ervin on 01:18, 09 February 18
Quick update

I finished integrating Arkos 2 in my code and... well, I'm stupid. All my efforts to get things playing smoothly at 25Hz are just not enough, because I didn't take into account the CPU cycles required by the music and effects.

This is not all bad news, Arkos 2 is amazing, and I hope I'll show in the game with better music than usual; but I need to think how I can make it play smooth now.

I'm using the lightweight player and I still need to spend more time reading the code. I did the conversion to SDCC assembler (that is a bit "special"), but perhaps I can find ways of reducing the CPU use.

Anyway, this means that the game will have sound soon. Not sure if I'll be able to keep it running at 25Hz, though.

How are the sprites being drawn?
Are you using an optimised asm routine, or a function provided by a framework you're using?

Also, the code that you've written that determines which parts of the screen need to be redrawn - is that code in C or asm?
I've been working on a little prototype of large sprites, and the code that determines how much to redraw makes a noticeable difference to performance, once optimised.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 22:59, 12 February 18
How are the sprites being drawn?
Are you using an optimised asm routine, or a function provided by a framework you're using?

Also, the code that you've written that determines which parts of the screen need to be redrawn - is that code in C or asm?
I've been working on a little prototype of large sprites, and the code that determines how much to redraw makes a noticeable difference to performance, once optimised.

It's all ASM; all my game engines are like that, I only write high level logic in C (and very often I end converting that to ASM too, once I proved the idea works).

I'm working on small optimisations and I'm getting some cycles back, so I may get there. I still have few options left (like make the bullets more "blocky" and don't use masked sprites for them).

Is not as bad as I though, but the audio player is definitely using a good chunk of CPU. At the moment I'm using 25Hz for the audio, meaning that I can update the sound every other int (and not the same one I use for drawing). That definitely helps!
Title: Re: The Dawn of Kernel (Development)
Post by: Targhan on 00:50, 13 February 18

Quote
Is not as bad as I though, but the audio player is definitely using a good chunk of CPU. At the moment I'm using 25Hz for the audio, meaning that I can update the sound every other int (and not the same one I use for drawing). That definitely helps!

You can also cut the player in two: the code that sends the data to the PSGs can be called one frame out of two. This will "smooth" the consumed CPU.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 09:19, 13 February 18
You can also cut the player in two: the code that sends the data to the PSGs can be called one frame out of two. This will "smooth" the consumed CPU.

I think I know how to do that, it is a brilliant idea. Playing at 25Hz is perfect. Thanks!
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 01:28, 19 February 18
Update time!

I've implemented few improvements on the engine itself:


Both seem to help, but is still not good enough. It all depends; with Arkos player on, trigger happy and few enemies; there will be some slow down when the bullets aren't tile aligned and there are explosions, etc.

I'll think about this further on; perhaps I may go back to the big-buffer memory-hungry engine. I still have one last idea to try that is basically stop using masked sprites for the bullets, and I'd like to experiment with some ideas to allow the engine to catch up minimizing the slowdown.

For now, I'm continuing with the game. I'm implementing the secondary weapons now. You can see the missile in the following video.

Usual disclaimer: the video was captured from an emulator and encoded to be shown on Twitter, it is not an accurate representation of the game updating at 25Hz on the real hardware.

https://twitter.com/reidrac/status/965245408829063168
Title: Re: The Dawn of Kernel (Development)
Post by: Gryzor on 10:21, 19 February 18
Still looking great... can't wait to play it - thanks for the updates!
Title: Re: The Dawn of Kernel (Development)
Post by: Targhan on 10:44, 19 February 18
Did you try using the AKY player? It is waaayy faster, but the music will take more memory, but maybe this will suit your needs. There is no sound effect for this player, but the next version will provide a stand-alone sound effect player, so mixing both shouldn't be too hard.
Title: Re: The Dawn of Kernel (Development)
Post by: Axelay on 11:55, 19 February 18
I still have one last idea to try that is basically stop using masked sprites for the bullets, and I'd like to experiment with some ideas to allow the engine to catch up minimizing the slowdown.



Are you using compiled sprites at all?  The bullets seem relatively small, so they could probably be done compiled and with those you get masking at little to no cost in cpu time, just the cost in memory.

Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 16:17, 19 February 18
Did you try using the AKY player? It is waaayy faster, but the music will take more memory, but maybe this will suit your needs. There is no sound effect for this player, but the next version will provide a stand-alone sound effect player, so mixing both shouldn't be too hard.

I'm using the lightweight one. I thought that it would be best.

Anyway, I think the player is fine. Is my code that is slow! It'd be nice if the player used less CPU, but I must improve my engine anyway.

Thanks!
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 16:22, 19 February 18

Are you using compiled sprites at all?  The bullets seem relatively small, so they could probably be done compiled and with those you get masking at little to no cost in cpu time, just the cost in memory.

That's an option, yes. The bullets (and few other sprites) are 4x5. I don't like non-masked sprites so I may try compiled ones.

The problem is that the engine is slow-ish because I wanted to save memory, and now I keep investing in memory to make it faster :')

I think it still pays off, but at this pace the complexity may make better go back to the single buffer approach (that I think it'll be fast enough).

Edit: thinking about it, I know why I discarded compiled sprites and is basically that it won't work with my small buffer approach (the size of a 8x8 tile). If the blit happens in more than one tile, that's bad for compiled sprites.

I'll think about it, but I suspect the answer is somewhere else.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 01:03, 24 February 18
Yet another update

After another round of optimisations, this time in the entity system (funny I didn't think about that one, it is heavily used by the bullets!), I've implemented... bombs! Nothing fancy, but they will have some interesting uses in the game (it's a vertical weapon for targets below the player ship).

Do I need to mention this is a *demo video* and that it doesn't represent how the actual game plays on a real CPC? Exactly: this was captured from an emulator and then encoded to be played in Twitter, just to give you an idea on how the game is evolving.

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

I haven't decided yet on how many secondary weapons there will be. For now I think I'll make three (you know two already), but if I can come up with more that aren't too expensive to implement and they really add to the gameplay, I may add more.
Title: Re: The Dawn of Kernel (Development)
Post by: ervin on 09:28, 24 February 18
Looking good.  8)
Have the entity system optimisations made a noticeable difference to the game's performance?
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 11:31, 24 February 18
Looking good.  8)
Have the entity system optimisations made a noticeable difference to the game's performance?

Not huge, but yes. Every time an entity is added/removed, it is faster. SDCC was using iy and not optimising the use of other registers.
Title: Re: The Dawn of Kernel (Development)
Post by: mr_lou on 12:58, 24 February 18
Do I need to mention this is a *demo video* and that it doesn't represent how the actual game plays on a real CPC?

No.

You do not need to mention that.

I commented on one GIF in this thread, because the framerate had slowed down a lot compared to previous posts (and also subsequent posts).

No one was criticizing anything. It was merely a question.

Smile and be happy.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 14:53, 24 February 18
No.

You do not need to mention that.

I commented on one GIF in this thread, because the framerate had slowed down a lot compared to previous posts (and also subsequent posts).

No one was criticizing anything. It was merely a question.

Smile and be happy.

It was a fair point, that "disclaimer" was not a reference to that conversation, or at least that wasn't my intention.

It really doesn't look like it should, but I don't see value in putting time to make it more accurate, so it's a good idea to remind people to avoid confusion.

If I wasn't happy I wouldn't post updates here.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 01:36, 28 February 18
Experimenting with controls

I'm trying to find a way to control the game with joystick without using the keyboard (and without relying on a second fire button, e.g. with the GX4000 controllers).

So I implemented:


With keyboard this works perfect, and with joystick... pretty much (it may need some practice). I wasn't sure but after testing it, I think I like it!

You can watch me trying the idea in the following video.

https://twitter.com/reidrac/status/968628373869285376
Title: Re: The Dawn of Kernel (Development)
Post by: ervin on 13:29, 28 February 18
Looks suitably hardcore!
Title: Re: The Dawn of Kernel (Development)
Post by: Skunkfish on 11:26, 01 March 18

  • Fire: fire main weapon
  • Down + Fire: fire secondary weapon
  • Down + Down: change secondary weapon

That sounds like it should work. I assume the ship relies on gravity to fall rather than pressing down on the joystick?

Also, can the controls be redefined so that the secondary weapon can still be mapped to Fire2 if desired?
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 12:54, 01 March 18
That sounds like it should work. I assume the ship relies on gravity to fall rather than pressing down on the joystick?

Also, can the controls be redefined so that the secondary weapon can still be mapped to Fire2 if desired?

Yes, ship goes down as effect of gravity.

You can only redefine up, down, left, right and fire (that's redefine keys). I'll map extra fire to go to change weapon anyway, so it'll work if available (like I did in The Return of Traxtor).

EDIT: actually, regular fire is fire 2 and fire 1 is the extra one!
Title: Re: The Dawn of Kernel (Development)
Post by: Skunkfish on 13:07, 01 March 18
I always forget that FIRE2 is actually the default on the Amstrad! (i.e. 'X')
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 00:26, 05 March 18
Update time!

I've updated my port of Arkos 2 player to SDCC to the latest release; not many changes, it was easy to backport by hand.

Other than that, I've implemented pickups, and "stations" that is an enemy structure that will play a special role in the game (more about that later).

I'm getting close to have all the functionality I want for the game engine. After that it would be "just" add enemy types and design the map (fun!).

The following video was captured from an emulator and encoded for twitter; so please remember that this is not exactly how the game plays on the real hardware.

https://twitter.com/reidrac/status/970423724435484673
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 00:51, 12 March 18
Quick Update!

I've implemented force fields, that work with the stations. The idea is that stations are required for the force fields to work, so to disable them you have to destroy the stations on the screen. Easy.

Also the force fields can be avoided, but not destroyed; and I think this will allow for several puzzles, specially because it is possible to fire through the fields.

Anyway, that's the idea at least, I'm still investigating and tweaking it. Because the mode 0 resolution  the horizontal fields move different to the verticals, but is not too bad I think.

This is an example video (captured from emulator, encode for Twitter;  expect missing frames!):

https://twitter.com/reidrac/status/972964117693829120
Title: Re: The Dawn of Kernel (Development)
Post by: ervin on 12:54, 12 March 18
Looking great!
I always get excited when I see an update to this thread!
 8)
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 00:59, 21 March 18
Dylan Barry has kindly offered to make a loading screen for the game; here you can see a first attempt kind of draft/concept:

https://twitter.com/ASIC0451/status/976137973111681030

He comes from the C64. As you may know, I've released a C64 game, and I like when communities mix a bit, importing ideas. Also, Dylan's first computer was a CPC, so he's really enjoining working on this (and he's talented!).

I've been busy, but I managed to get another tileset ready (looks a bit too Cybernoid, but I think it'll be OK). I got some cycles back by converting the remaining bits of the entity system from C to ASM.

I'm exploring a bit the gameplay ideas re: the beam pods and the potential for a minigame, but nothing final yet.

I'm still unhappy with the performance of the engine. There's some slow down when there's too much going on at the same time. I may be able to reduce it by making the action "smarter", but I'm not sure if it's even possible.

I should start programming new enemies next though.
Title: Re: The Dawn of Kernel (Development)
Post by: robcfg on 01:13, 21 March 18
Really lovely loading screen!  8)
Title: Re: The Dawn of Kernel (Development)
Post by: Railslave on 18:43, 21 March 18
Really lovely loading screen!  8)


Thanks, got a bit carried away : P


Working on something that actually looks a bit more like the ship in the game (and maybe getting slightly carried away again   :P ) .

Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 23:47, 21 March 18
Wow!

Few changes that made a huge difference:


Last point makes me think that I can probably improve the "flip on the fly" code, and I need to review that. Currently only the turrets use it, because they're not drawn frequently, but then it sounds like a waste to have all the flip code if I'm not using it.

Anyway, I put together a demo and it plays smoothly even when there's a good amount of action on screen. Still not playing bg music or sound effects, and that might slow things down a bit.

Video time! In this one I captured at 60 FPS, so it should be reasonably good to show the engine performance.

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

Also Dylan is doing an amazing job with the loading screen, this is getting somewhere!  :laugh:
Title: Re: The Dawn of Kernel (Development)
Post by: ervin on 01:33, 22 March 18
Indeed it looks lovely!
Really smooth.

If you hadn't mentioned it, I wouldn't have noticed that the bullets were unmasked.
(To be honest, I still don't notice it).
Title: Re: The Dawn of Kernel (Development)
Post by: Arnaud on 09:09, 22 March 18
Last point makes me think that I can probably improve the "flip on the fly" code, and I need to review that. Currently only the turrets use it, because they're not drawn frequently, but then it sounds like a waste to have all the flip code if I'm not using it.

You could have symmetrical turret and only have canons to draw in the right direction, i'm almost sure we don't see the difference with your current version.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 12:44, 22 March 18
You could have symmetrical turret and only have canons to draw in the right direction, i'm almost sure we don't see the difference with your current version.

That's how it works already, sort of. The base is symmetrical, only the top is flipped.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 10:17, 26 March 18
More concept art!

https://twitter.com/ASIC0451/status/978160671530586112

I've been working on the intro, including sound, and I think it's almost ready. I may post a video on YT, but only when is more or less final.

Also: Poly Play will make a physical release of this one. I hope it deserves it!
Title: Re: The Dawn of Kernel (Development)
Post by: ervin on 13:30, 26 March 18
The lettering is absolutely stunning.
Especially the shading on "kernel".
Title: Re: The Dawn of Kernel (Development)
Post by: robcfg on 13:40, 26 March 18
The spaceship looks gorgeous and the lettering is also great!


I miss the face in the background though, it added a shroud of mystery to scene.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 13:53, 26 March 18
The spaceship looks gorgeous and the lettering is also great!


I miss the face in the background though, it added a shroud of mystery to scene.

We're using the face on the intro; it is an A.I. that plays a role in the plot (and in the game).
Title: Re: The Dawn of Kernel (Development)
Post by: robcfg on 14:57, 26 March 18
You just made me happy!  :D


The AI face looked really interesting and would be a shame not to have it in the game.


Keep up the good work!
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 01:22, 28 March 18
Progress in the sound department!

I implemented a basic priority based queue so I can manage one channel for effects efficiently.

Basically a sound can be replaced only by a higher priority sound, otherwise it will play until it's finished. The order is a mix of importance and loudness (e.g. explosions take over firing bullets). I think the result is pretty good.

I implemented a simple "PLY_LW_IsSoundEffectOn" function to help me (checks if there's anything playing on a channel), and I can contribute it to Arkos 2 if there's interest (it is really simple, I bet Targhan can improve it easily).

Sample video, this time on YouTube:

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

Also @Railslave (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1069) keeps surprising me with genuinely amazing art for the loading screen. He's very talented and I'm very happy he's helping me with the project!

There's more work to do, but things are progressing nicely. It's great how the game feels with some effects added to it :)
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 10:20, 30 March 18
The loading screen is ready!

  [ You are not allowed to view attachments ]  

What do you think?

In my opinion, @Railslave (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1069) has produced one of the finest loading screens in a CPC game. But I'm a bit biased because it's my game  ;D
Title: Re: The Dawn of Kernel (Development)
Post by: remax on 10:57, 30 March 18
Great, and it will render even better on a real monitor...
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 00:56, 02 April 18
More music!

This is a video that shows the intro and the menu's music.

The intro is not really a spoiler, but if you don't want to know anything about the story; don't watch it!

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

(there's a glitch in the menu's music, I think that was the emulator)

I'm starting to love/hate Arkos 2 tracker, including the native "non-nativeness" of the interface and no C&P (for now). But all in all, it is amazing... so love is winning!

I'm trying to keep the music's memory footprint small, and for now seems to work; even if that means that the songs aren't too long. Other than that, I found playing at 25Hz a bit tricky to make some instruments sound like I want; but all manageable.

I'm back to the game engine; working on the music is really draining!
Title: Re: The Dawn of Kernel (Development)
Post by: Vyper68 on 13:43, 02 April 18
Looking really good Reidrac cannot wait for it to be released. 👍👍👍
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 01:00, 21 April 18
Some time without updates, I moved house and I was with no Internet connection, but I'm back now!

Implementing enemies, working on optimizations (flip on the fly is now way faster!), and looks like I'm getting there and still over 14KB of free memory. Yay!

A short twitter clip (remember, recorded on an emulator and the frame rate is a bit too low):

https://twitter.com/reidrac/status/987450052955328513
Title: Re: The Dawn of Kernel (Development)
Post by: jesusdelmas on 17:11, 21 April 18
Some time without updates, I moved house and I was with no Internet connection, but I'm back now!

Implementing enemies, working on optimizations (flip on the fly is now way faster!), and looks like I'm getting there and still over 14KB of free memory. Yay!

A short twitter clip (remember, recorded on an emulator and the frame rate is a bit too low):

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


Hi Raidrac, will your reach your 25fps target? it was a pretty hard target.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 18:25, 21 April 18

Hi Raidrac, will your reach your 25fps target? it was a pretty hard target.

So far I'm 25Hz, but is proving to be very hard with this low-mem engine.

I need to be smart desiging the screens and there will be some slowdown depending on how busy things get, but I'll try that it's minimal.

One thing I haven't tried is to play the BG music, only effects at this point and it may slow things down a bit.

This engine doesn't work great for this type of game, because a lot of sprites may not be tile aligned. Kitsune's Curse will be better!
Title: Re: The Dawn of Kernel (Development)
Post by: XeNoMoRPH on 16:47, 04 May 18
(https://pbs.twimg.com/media/DcSrCxJX0AELqPa.jpg:large)

A first look at the cover of @reidrac (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1504)'s "The Dawn of Kernel" for #amstrad #CPC
Title: Re: The Dawn of Kernel (Development)
Post by: ervin on 17:34, 04 May 18
Outstanding!
Really great job.
Title: Re: The Dawn of Kernel (Development)
Post by: Skunkfish on 17:51, 04 May 18
That's fantastic, who is the artist?
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 20:45, 04 May 18
This one looks better :)

https://twitter.com/polyplay_xyz/status/992459944191561728
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 20:46, 04 May 18
That's fantastic, who is the artist?

Ralph Niese, like in Golden Tail, Magica and Rescuing Orc.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 09:35, 05 May 18
Last night I implemented the beam pads.

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

That was a very raw video, when the feature started to work, but it shows a couple of bugs I've fixed already (most notably the beam effect is broken, only the first beam shows the animation correctly :picard:).
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 12:19, 15 May 18
https://twitter.com/polyplay_xyz/status/996295923545313282

There are still things to do, remember you can wait until the release and buy if you like it or feel like supporting us. There always will be a free download.

If anything, the physical release will be a good one!  ;D
Title: Re: The Dawn of Kernel (Development)
Post by: ervin on 13:10, 15 May 18
https://twitter.com/polyplay_xyz/status/996295923545313282 (https://twitter.com/polyplay_xyz/status/996295923545313282)

There are still things to do, remember you can wait until the release and buy if you like it or feel like supporting us. There always will be a free download.

If anything, the physical release will be a good one!  ;D


Really looking forward this!
Reidrac - I won't be able to play the physical release, as the disk drive is disconnected on my 6128.
However, I would really like to pay for a download copy - will this be an option? If not, is there somewhere you'd take a payment?
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 13:32, 15 May 18

Really looking forward this!
Reidrac - I won't be able to play the physical release, as the disk drive is disconnected on my 6128.
However, I would really like to pay for a download copy - will this be an option? If not, is there somewhere you'd take a payment?

Thanks for your support.

I don't get any royalties from this, all goes to Poly Play so they can keep editing amazing games (some of them mine haha).

You can buy a poster if you want, that would help Poly Play. The free download will be free!
Title: Re: The Dawn of Kernel (Development)
Post by: Carnivius on 17:08, 15 May 18
The free download will be free!
https://www.youtube.com/watch?v=hZ_6bLqIS0A


I'mma definitely wanting to buy the poster and the free dsk file. :)
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 01:57, 19 May 18
Hello AI!

Today I implemented the text system for the AI, so I can use it to... well, things (like the story).

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

According to my plan, two more enemy types and I'm done with that part. So this is getting *hot* :)
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 00:47, 28 May 18
Update time!

I've just finished another enemy type: the digger.

Video follows, is more a preview than how it actually plays on the machine because capture and video encoding etc.

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

With this I have 10 enemies/elements that can kill and can be used to design levels. I'm a bit over 10K of free memory, so this is getting close to an end.

There are still few things to do and I may need ALL those 10K so I think I'm putting on hold adding more enemy types until I know how much memory I need to finish the game.

Looking good, I've stopped worrying about performance at this point because keeping it a 25Hz there isn't much more I can do.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 16:57, 23 June 18
No updates for a while, but I'm currently working on the level design and doing some pre-beta testing before the actual beta testing (I like to play-test the screens as I put them together).

Things are looking OK-ish. The map uses more memory that I expected, probably because I've added text events so the AI can talk to the player and provide a bit of story. Not really a lot of it, but I think it looks nice.

Unfortunately that text uses space and the average size of a screen has gone up. Still, I have 14 screens left and the remarkable amount of 4353 bytes free.

After some numbers I think I'll have around 2.5K after the map is done; and I need to fit in that the in-play bg music, the final boss and something for the "end of game".

Good news is that I have already a couple of "hidden" bits as Easter egg, and most of the stuff for the boss is done, so "it should be fine (tm)".

I hope it'll be ready for testing in 1 or 2 weeks (probably before the music is finished), and from that to release should be 1 month tops; which is going to be tight for the physical release if Poly Play wants to make it during the GamesCom in Germany; but there will be free download possibly before that, but it depends a bit on Poly Play's opinion (they may want to do it simultaneously, hoping that it helps pre-orders perhaps).

So that's it. Finishing the game, less updates as we get to the end. All good!
Title: Re: The Dawn of Kernel (Development)
Post by: Skunkfish on 01:26, 26 June 18
Thanks for the update Juan, I'm really looking forward to playing this!
Title: Re: The Dawn of Kernel (Development)
Post by: ukmarkh on 01:52, 28 June 18
Great work, I'm really excited about playing this game, what a great time to be a CPC'er
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 16:35, 01 July 18
The web for the game is up: https://www.usebox.net/jjm/dawn-of-kernel/

It is "the manual" I guess; although the physical edition will have more about the frame story etc.
Title: Re: The Dawn of Kernel (Development)
Post by: ukmarkh on 04:40, 02 July 18
Hi,


Would it be possible to provide a .CPR download as well so people can run it through their C4CPC?


I work away a lot and take my GX4000 with me...


Thx
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 08:34, 02 July 18
Hi,


Would it be possible to provide a .CPR download as well so people can run it through their C4CPC?


I work away a lot and take my GX4000 with me...


Thx

When I released Magica I tried to make a Gx4000 specific version, but it wasn't trivial. I don't think I'll have time to make it.

In theory I always try that is mostly GX4000 "compatible"; 64K only and you can start and play the game fully pressing fire and without a keyboard. I even support the two buttons of the GX4000 controller.

I can give it a go with nocart and see if it works; but I can't promise anything at this point!

EDIT: I gave a go to nocart and seems to work, so I may do it; but I would appreciate help testing it once released.
Title: Re: The Dawn of Kernel (Development)
Post by: ukmarkh on 18:44, 02 July 18
Hi,


Would it be possible to provide a .CPR download as well so people can run it through their C4CPC?


I work away a lot and take my GX4000 with me...


Thx


More than happy to help test...
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 01:41, 04 July 18
Quick update

The BETA 1 is out with some testers!

I'm quite happy with the result, although "in game" music still needs finishing and, if there's space left, probably add a tune for the end of game.

Actually, the end of game looks a bit basic at the moment, so I want to revisit that too.

So this is looking good!
Title: Re: The Dawn of Kernel (Development)
Post by: Axelay on 17:17, 04 July 18
One thing I'm curious about after reading 'the manual' is that you mention supporting the second fire button on joystick for changing the secondary weapon.


Obviously I'm not familiar with the game, but in general terms I tend to think having secondary weapon fire would be the more intuitive function to put on there?  Since that's something I would imagine you'd want the precision of a single button press, especially with limited ammo.  Changing secondary weapon sounds more like the sort of thing you could get away with being a more awkward button sequence or combination without adverse impact?
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 20:22, 04 July 18
One thing I'm curious about after reading 'the manual' is that you mention supporting the second fire button on joystick for changing the secondary weapon.


Obviously I'm not familiar with the game, but in general terms I tend to think having secondary weapon fire would be the more intuitive function to put on there?  Since that's something I would imagine you'd want the precision of a single button press, especially with limited ammo.  Changing secondary weapon sounds more like the sort of thing you could get away with being a more awkward button sequence or combination without adverse impact?

It was a compromise. For me the most awkward move is down - down to change weapon. Given that down is not used for movement and only the beam pads, firing the secondary weapon with fire + down is easy. So button 2 to change weapon removes the awkwardness of the control.

Also the controls with keyboard are the same, although I could add more keys. This can be controversial, but after lots of thinking this is what I decided. It may need a bit to get used to, but IMHO it works fine.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 01:48, 23 July 18
Final update?

Today I built the first release candidate. I did a play-through and all is good, so the version is now with the testers (that have been doing an amazing job, btw).

I have 289 bytes left for bugfixes (hah!), and I managed to squeeze in three songs (plus intro, menu, game over and end game).

I'm exhausted and looking forward to release the game. If the testers are happy with this build, it'll be the one I'm using as master for the physical release and the free download.

So close!
Title: Re: The Dawn of Kernel (Development)
Post by: ervin on 02:14, 23 July 18
Fantastic!!!
Really looking forward to the release.
 ;D
Title: Re: The Dawn of Kernel (Development)
Post by: mr_lou on 13:09, 23 July 18
Wouldn't it be worth "saving" this game for release till the CPCretrodev?
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 13:42, 23 July 18
Wouldn't it be worth "saving" this game for release till the CPCretrodev?

I don't plan to submit any game to the competition.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 22:45, 23 July 18
I streamed a couple of games when I was testing on my 464.

1. Don't watch if you don't want ANY spoilers, because these are screens from the final game (although I didn't last long anyway).
2. I suck at playing my games. It's OK :picard:.

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

(it was a Periscope stream, I don't know if you can watch it without Twitter account etc; so it may not work for you, sorry)

EDIT: if you watch it embedded, remember to unmute the video!
Title: Re: The Dawn of Kernel (Development)
Post by: ervin on 02:27, 24 July 18
2. I suck at playing my games. It's OK :picard: .

 :laugh:
That may be, but you are great at making them!
This game looks really really good.
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 02:11, 28 July 18
OK, release candidate is final and ready to prepare physical copies in time for GamesCom. You know that there will be a free download anyway, so no worries if you don't want the collector's edition. Less than a month now!

This one took longer than expected, but I think the results are worth it, and the engine will be perfect to continue with Kitsune's Curse in due time.

So far the feedback from the testers has been all positive and they all love the game, I hope you love it too :)

I'm officially not updating this thread anymore and I'll open a new one in the games section when I release the game. Thanks for your support here during development, it really helps!
Title: Re: The Dawn of Kernel (Development)
Post by: reidrac on 01:54, 31 July 18
Release date: 21/08/2018

And I made a teaser video. I'm not good with Blender, but it is done. And that's all :D

https://www.youtube.com/watch?v=cFrn7ZDyscg
Title: Re: The Dawn of Kernel (Development)
Post by: Neil79 on 02:40, 31 July 18

(https://4.bp.blogspot.com/-MwXwL6wHQl4/W1-dpTlzCfI/AAAAAAAAmvY/V9khwB0l3UAPCIGMVFLh8PNA18HD2ETHQCLcBGAs/s640/Dawn.png)

Quote
Well it looks as if the developer isn't taking any time off, as after a more recent tweet he's back to the Amstrad CPC and making an incredible looking game called 'The Dawn of Kernel' which is due to be released 21/08/2018!

http://www.indieretronews.com/2018/07/the-dawn-of-kernel-high-quality-amstrad.html
Title: Re: The Dawn of Kernel (Development)
Post by: Phantomz on 17:28, 31 July 18
@reidrac (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1504)

I can't believe I didn't notice this thread earlier.  :doh:

Great work, really looking forward to checking this game out.  8)