News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_reidrac

The Dawn of Kernel (Development)

Started by reidrac, 12:43, 02 January 18

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Axelay

Quote from: reidrac on 00:28, 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.


reidrac

Quote from: Targhan on 09: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.

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!
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse, Brick Rick and Hyperdrive for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

reidrac

#52
Quote from: Axelay on 10:55, 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.
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse, Brick Rick and Hyperdrive for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

reidrac

#53
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.
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse, Brick Rick and Hyperdrive for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

ervin

Looking good.  8)
Have the entity system optimisations made a noticeable difference to the game's performance?

reidrac

Quote from: ervin on 08:28, 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.
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse, Brick Rick and Hyperdrive for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

mr_lou

Quote from: reidrac on 00:03, 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.

reidrac

#57
Quote from: mr_lou on 11:58, 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.
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse, Brick Rick and Hyperdrive for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

reidrac

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:


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

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
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse, Brick Rick and Hyperdrive for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

ervin

Looks suitably hardcore!

Skunkfish

Quote from: reidrac on 00:36, 28 February 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?
An expanding array of hardware available at www.cpcstore.co.uk (and issue 4 of CPC Fanzine!)

reidrac

#61
Quote from: Skunkfish on 10:26, 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!
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse, Brick Rick and Hyperdrive for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

Skunkfish

I always forget that FIRE2 is actually the default on the Amstrad! (i.e. 'X')
An expanding array of hardware available at www.cpcstore.co.uk (and issue 4 of CPC Fanzine!)

reidrac

#63
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
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse, Brick Rick and Hyperdrive for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

reidrac

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
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse, Brick Rick and Hyperdrive for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

ervin

Looking great!
I always get excited when I see an update to this thread!
8)

reidrac

#66
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.
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse, Brick Rick and Hyperdrive for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

robcfg

Really lovely loading screen!  8)

Railslave

Quote from: robcfg on 00:13, 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 ) .


reidrac

Wow!

Few changes that made a huge difference:


  • No masked sprites for bullets and small effects (and still looks good!).
  • Smarter enemies, will fire when there's a chance to hit.
  • Don't flip horizontally sprites on the fly if the sprite is redrawn frequently.

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:
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse, Brick Rick and Hyperdrive for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

ervin

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).

Arnaud

Quote from: reidrac on 22:47, 21 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.

reidrac

Quote from: Arnaud on 08:09, 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.
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse, Brick Rick and Hyperdrive for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

reidrac

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!
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse, Brick Rick and Hyperdrive for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

ervin

The lettering is absolutely stunning.
Especially the shading on "kernel".

Powered by SMFPacks Menu Editor Mod