Author Topic: The Dawn of Kernel (Development)  (Read 7322 times)

0 Members and 1 Guest are viewing this topic.

Offline Axelay

  • 6128 Plus
  • ******
  • Posts: 534
  • Country: au
  • Liked: 334
Re: The Dawn of Kernel (Development)
« Reply #50 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.


Offline reidrac

  • Supporter
  • 6128 Plus
  • *
  • Posts: 632
  • Country: gb
  • Trying to gamedev!
    • index.php?action=treasury
    • usebox.net
  • Liked: 1113
Re: The Dawn of Kernel (Development)
« Reply #51 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!
Released The Return of Traxtor, Golden Tail, Magica and The Dawn of Kernel for the CPC.

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

Offline reidrac

  • Supporter
  • 6128 Plus
  • *
  • Posts: 632
  • Country: gb
  • Trying to gamedev!
    • index.php?action=treasury
    • usebox.net
  • Liked: 1113
Re: The Dawn of Kernel (Development)
« Reply #52 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.
« Last Edit: 16:28, 19 February 18 by reidrac »
Released The Return of Traxtor, Golden Tail, Magica and The Dawn of Kernel for the CPC.

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

Offline reidrac

  • Supporter
  • 6128 Plus
  • *
  • Posts: 632
  • Country: gb
  • Trying to gamedev!
    • index.php?action=treasury
    • usebox.net
  • Liked: 1113
Re: The Dawn of Kernel (Development)
« Reply #53 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.
« Last Edit: 01:05, 24 February 18 by reidrac »
Released The Return of Traxtor, Golden Tail, Magica and The Dawn of Kernel for the CPC.

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

Offline ervin

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.233
  • Country: au
    • index.php?action=treasury
  • Liked: 908
Re: The Dawn of Kernel (Development)
« Reply #54 on: 09:28, 24 February 18 »
Looking good.  8)
Have the entity system optimisations made a noticeable difference to the game's performance?
My (cancelled) entry for the CPCRetroDev 2017 Competition http://www.cpcwiki.eu/forum/programming/my-cpcretrodev-2017-entry/
FAST line drawing in CPCtelera http://www.cpcwiki.eu/forum/programming/drawing-lines-with-cpctelera-sdcc/
RUNCPC My entry for the CPCRetroDev 2015 Competition http://www.cpc-power.com/index.php?page=detail&num=12494

Offline reidrac

  • Supporter
  • 6128 Plus
  • *
  • Posts: 632
  • Country: gb
  • Trying to gamedev!
    • index.php?action=treasury
    • usebox.net
  • Liked: 1113
Re: The Dawn of Kernel (Development)
« Reply #55 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.
Released The Return of Traxtor, Golden Tail, Magica and The Dawn of Kernel for the CPC.

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

Online mr_lou

  • 6128 Plus
  • ******
  • Posts: 2.745
  • Country: dk
    • index.php?action=treasury
    • 8-bit Memoirs - a Blu-ray diskmag-like eBook about the 8-bit era
  • Liked: 958
Re: The Dawn of Kernel (Development)
« Reply #56 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.

Offline reidrac

  • Supporter
  • 6128 Plus
  • *
  • Posts: 632
  • Country: gb
  • Trying to gamedev!
    • index.php?action=treasury
    • usebox.net
  • Liked: 1113
Re: The Dawn of Kernel (Development)
« Reply #57 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.
« Last Edit: 15:18, 24 February 18 by reidrac »
Released The Return of Traxtor, Golden Tail, Magica and The Dawn of Kernel for the CPC.

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

Offline reidrac

  • Supporter
  • 6128 Plus
  • *
  • Posts: 632
  • Country: gb
  • Trying to gamedev!
    • index.php?action=treasury
    • usebox.net
  • Liked: 1113
Re: The Dawn of Kernel (Development)
« Reply #58 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:

  • 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 and The Dawn of Kernel for the CPC.

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

Offline ervin

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.233
  • Country: au
    • index.php?action=treasury
  • Liked: 908
Re: The Dawn of Kernel (Development)
« Reply #59 on: 13:29, 28 February 18 »
Looks suitably hardcore!
My (cancelled) entry for the CPCRetroDev 2017 Competition http://www.cpcwiki.eu/forum/programming/my-cpcretrodev-2017-entry/
FAST line drawing in CPCtelera http://www.cpcwiki.eu/forum/programming/drawing-lines-with-cpctelera-sdcc/
RUNCPC My entry for the CPCRetroDev 2015 Competition http://www.cpc-power.com/index.php?page=detail&num=12494

Offline Skunkfish

  • Supporter
  • 464 Plus
  • *
  • Posts: 402
  • Country: gb
  • Editor of Colour Personal Computing
    • Colour Personal Computing - The CPC Fanzine
  • Liked: 291
Re: The Dawn of Kernel (Development)
« Reply #60 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?

Offline reidrac

  • Supporter
  • 6128 Plus
  • *
  • Posts: 632
  • Country: gb
  • Trying to gamedev!
    • index.php?action=treasury
    • usebox.net
  • Liked: 1113
Re: The Dawn of Kernel (Development)
« Reply #61 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!
« Last Edit: 12:56, 01 March 18 by reidrac »
Released The Return of Traxtor, Golden Tail, Magica and The Dawn of Kernel for the CPC.

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

Offline Skunkfish

  • Supporter
  • 464 Plus
  • *
  • Posts: 402
  • Country: gb
  • Editor of Colour Personal Computing
    • Colour Personal Computing - The CPC Fanzine
  • Liked: 291
Re: The Dawn of Kernel (Development)
« Reply #62 on: 13:07, 01 March 18 »
I always forget that FIRE2 is actually the default on the Amstrad! (i.e. 'X')

Offline reidrac

  • Supporter
  • 6128 Plus
  • *
  • Posts: 632
  • Country: gb
  • Trying to gamedev!
    • index.php?action=treasury
    • usebox.net
  • Liked: 1113
Re: The Dawn of Kernel (Development)
« Reply #63 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
« Last Edit: 00:34, 05 March 18 by reidrac »
Released The Return of Traxtor, Golden Tail, Magica and The Dawn of Kernel for the CPC.

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

Offline reidrac

  • Supporter
  • 6128 Plus
  • *
  • Posts: 632
  • Country: gb
  • Trying to gamedev!
    • index.php?action=treasury
    • usebox.net
  • Liked: 1113
Re: The Dawn of Kernel (Development)
« Reply #64 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
Released The Return of Traxtor, Golden Tail, Magica and The Dawn of Kernel for the CPC.

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

Offline ervin

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.233
  • Country: au
    • index.php?action=treasury
  • Liked: 908
Re: The Dawn of Kernel (Development)
« Reply #65 on: 12:54, 12 March 18 »
Looking great!
I always get excited when I see an update to this thread!
 8)
My (cancelled) entry for the CPCRetroDev 2017 Competition http://www.cpcwiki.eu/forum/programming/my-cpcretrodev-2017-entry/
FAST line drawing in CPCtelera http://www.cpcwiki.eu/forum/programming/drawing-lines-with-cpctelera-sdcc/
RUNCPC My entry for the CPCRetroDev 2015 Competition http://www.cpc-power.com/index.php?page=detail&num=12494

Offline reidrac

  • Supporter
  • 6128 Plus
  • *
  • Posts: 632
  • Country: gb
  • Trying to gamedev!
    • index.php?action=treasury
    • usebox.net
  • Liked: 1113
Re: The Dawn of Kernel (Development)
« Reply #66 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.
« Last Edit: 01:02, 21 March 18 by reidrac »
Released The Return of Traxtor, Golden Tail, Magica and The Dawn of Kernel for the CPC.

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

Offline robcfg

  • Supporter
  • 6128 Plus
  • *
  • Posts: 2.023
  • Country: se
  • 8-Bit Technomancer
    • index.php?action=treasury
  • Liked: 864
Re: The Dawn of Kernel (Development)
« Reply #67 on: 01:13, 21 March 18 »
Really lovely loading screen!  8)

Offline Railslave

  • CPC464
  • **
  • Posts: 37
  • Country: gb
  • Pixel artist, game designer, Turrican worshiper
  • Liked: 91
Re: The Dawn of Kernel (Development)
« Reply #68 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 ) .


Offline reidrac

  • Supporter
  • 6128 Plus
  • *
  • Posts: 632
  • Country: gb
  • Trying to gamedev!
    • index.php?action=treasury
    • usebox.net
  • Liked: 1113
Re: The Dawn of Kernel (Development)
« Reply #69 on: 23:47, 21 March 18 »
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 and The Dawn of Kernel for the CPC.

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

Offline ervin

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.233
  • Country: au
    • index.php?action=treasury
  • Liked: 908
Re: The Dawn of Kernel (Development)
« Reply #70 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).
My (cancelled) entry for the CPCRetroDev 2017 Competition http://www.cpcwiki.eu/forum/programming/my-cpcretrodev-2017-entry/
FAST line drawing in CPCtelera http://www.cpcwiki.eu/forum/programming/drawing-lines-with-cpctelera-sdcc/
RUNCPC My entry for the CPCRetroDev 2015 Competition http://www.cpc-power.com/index.php?page=detail&num=12494

Offline Arnaud

  • Supporter
  • 464 Plus
  • *
  • Posts: 448
  • Country: fr
  • Liked: 354
Re: The Dawn of Kernel (Development)
« Reply #71 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.

Offline reidrac

  • Supporter
  • 6128 Plus
  • *
  • Posts: 632
  • Country: gb
  • Trying to gamedev!
    • index.php?action=treasury
    • usebox.net
  • Liked: 1113
Re: The Dawn of Kernel (Development)
« Reply #72 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.
Released The Return of Traxtor, Golden Tail, Magica and The Dawn of Kernel for the CPC.

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

Offline reidrac

  • Supporter
  • 6128 Plus
  • *
  • Posts: 632
  • Country: gb
  • Trying to gamedev!
    • index.php?action=treasury
    • usebox.net
  • Liked: 1113
Re: The Dawn of Kernel (Development)
« Reply #73 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!
Released The Return of Traxtor, Golden Tail, Magica and The Dawn of Kernel for the CPC.

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

Offline ervin

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.233
  • Country: au
    • index.php?action=treasury
  • Liked: 908
Re: The Dawn of Kernel (Development)
« Reply #74 on: 13:30, 26 March 18 »
The lettering is absolutely stunning.
Especially the shading on "kernel".
My (cancelled) entry for the CPCRetroDev 2017 Competition http://www.cpcwiki.eu/forum/programming/my-cpcretrodev-2017-entry/
FAST line drawing in CPCtelera http://www.cpcwiki.eu/forum/programming/drawing-lines-with-cpctelera-sdcc/
RUNCPC My entry for the CPCRetroDev 2015 Competition http://www.cpc-power.com/index.php?page=detail&num=12494