Author Topic: [Ndless] nKaruga  (Read 95893 times)

0 Members and 1 Guest are viewing this topic.

Offline Princetonlion.tibd

  • Members
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 790
  • Rating: +3/-4
    • View Profile
Re: [Ndless] nKaruga
« Reply #150 on: August 13, 2014, 01:02:45 pm »
Out of interest: are there missiles like the 83+ version?

(as that's the only version I play)

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: [Ndless] nKaruga
« Reply #151 on: August 13, 2014, 01:26:39 pm »
Look who didn't read the topic before asking :P

It's been a while since power fragments have been implemented.

« Last Edit: August 13, 2014, 01:33:56 pm by Matrefeytontias »

Offline Princetonlion.tibd

  • Members
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 790
  • Rating: +3/-4
    • View Profile
Re: [Ndless] nKaruga
« Reply #152 on: August 13, 2014, 01:28:28 pm »
Ah, sorry :P


I just... didn't really follow as closely as I should of...

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: [Ndless] nKaruga
« Reply #153 on: August 13, 2014, 11:53:08 pm »
This, is, beautiful O.O

Offline Princetonlion.tibd

  • Members
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 790
  • Rating: +3/-4
    • View Profile
Re: [Ndless] nKaruga
« Reply #154 on: August 14, 2014, 12:02:25 pm »
IMO it doesn't seem as much as hell as the 83+ version, but the sprites and everything look awesome!

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: [Ndless] nKaruga
« Reply #155 on: August 14, 2014, 12:19:45 pm »
That's because it's just level 1. There're 5 levels, so don't worry :P

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: [Ndless] nKaruga
« Reply #156 on: August 14, 2014, 01:11:46 pm »
I think it's good it doesn't start too insane, because in CaDan you can't even survive more than 3 seconds after the cutscenes unless you played Danmaku shooters before. >.<

Offline Princetonlion.tibd

  • Members
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 790
  • Rating: +3/-4
    • View Profile
Re: [Ndless] nKaruga
« Reply #157 on: August 14, 2014, 11:08:41 pm »
That's because it's just level 1. There're 5 levels, so don't worry :P
I've gotten to level 3 on the 83+, insanity :P (and lag)
I think it's good it doesn't start too insane, because in CaDan you can't even survive more than 3 seconds after the cutscenes unless you played Danmaku shooters before. >.<
I managed to beat it with no experience with the "Netham45" ship... with mostly bombs...

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: [Ndless] nKaruga
« Reply #158 on: August 15, 2014, 01:37:26 am »
I think it's good it doesn't start too insane, because in CaDan you can't even survive more than 3 seconds after the cutscenes unless you played Danmaku shooters before. >.<
I managed to beat it with no experience with the "Netham45" ship... with mostly bombs...

Are you serious?? O.O


That reminds me, the Netham45 ship would be a nice easter egg in nKaruga :P

Offline Princetonlion.tibd

  • Members
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 790
  • Rating: +3/-4
    • View Profile
Re: [Ndless] nKaruga
« Reply #159 on: August 15, 2014, 12:26:32 pm »
Yeah, I'm serious... but only once... I didn't read the last words so I'm re-trying.
(bombs in focus do awesome things)
(I only got this because I beat candan's demo)
Netham should be a lobster if he's implemented, not a spork :P

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: [Ndless] nKaruga
« Reply #160 on: October 17, 2014, 08:43:21 pm »
Hey ! This is not dead ! Holy shit !

As school has been violent on me lastly, I quite put this on hold. But now it's back, because that one project I really want to get done !

So what I did first is implementing an idea I had had since quite a long time, that is, a "drawing candidates" system.
So what is that ? Basically, it's a way of ensuring that every drawing is synced together and with the screen refreshes. So instead of directly drawing a sprite to the buffer, I create a drawing candidate with the X, Y coordinates of the sprite and the sprite itself (and a few more things, like angle of rotation, if rotation is needed at all etc). It acts kind of like a "drawing hook", meaning I can make special things happen each time a drawing is being performed. That's not the only advantage : since I use frameskipping, bringing all drawing in a single loop means I can do only one check to see if we actually have to draw anything or not, instead of one test per drawing !

I also started on the boss system, as I FIIIINALLY figured out how to do it. It's been hard, and it'll be even harder to code <_< but brace yourselves for impact when it's done ;D

So yeah, I don't have anything new to show, but my future life has been made a lot easier today (drawing candidates will be extremely useful, if not needed, in levels 2, 3 and 4).

But but wait what am I talking about ! I also set up this nice procedural explosion generation engine !



Can someone with a color Nspire tell me what the speed is like ? http://www.mirari.fr/eTV6

Offline bb010g

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 428
  • Rating: +22/-1
  • I do stuff
    • View Profile
    • elsewhere on the net
Re: [Ndless] nKaruga
« Reply #161 on: October 17, 2014, 10:29:17 pm »
But but wait what am I talking about ! I also set up this nice procedural explosion generation engine !

[img]http://www.mirari.fr/qtnt[/img]
That explosion is beautiful.

So what I did first is implementing an idea I had had since quite a long time, that is, a "drawing candidates" system.
So what is that ? Basically, it's a way of ensuring that every drawing is synced together and with the screen refreshes. So instead of directly drawing a sprite to the buffer, I create a drawing candidate with the X, Y coordinates of the sprite and the sprite itself (and a few more things, like angle of rotation, if rotation is needed at all etc). It acts kind of like a "drawing hook", meaning I can make special things happen each time a drawing is being performed. That's not the only advantage : since I use frameskipping, bringing all drawing in a single loop means I can do only one check to see if we actually have to draw anything or not, instead of one test per drawing !

Will you be releasing a library for this at some point? I'm intrigued.
Arch Linux user
Haskell newbie | Warming up to Lua | Being dragged into C++
Calculators: HP 50g, HP 35s, Casio Prizm, TI-Nspire CX CAS, HP 28s, HP Prime, Mathematica 9 (if that counts)
π: 3.14...; l: 108; i: 105; e: 101; l+i+e: 314
THE CAKE IS A LIE IS A PIE

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: [Ndless] nKaruga
« Reply #162 on: October 17, 2014, 10:48:16 pm »
Woah matref, that explosion was beautiful and I like the intro banners :D

Btw, will Netham45 be a playable character finally? :P

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: [Ndless] nKaruga
« Reply #163 on: October 18, 2014, 06:31:36 am »
bb010g & DJ: thanks :)
bb010g: I don't think so, because the code is just so tiny. You can have a look at it on the GitHub repo: https://github.com/matrefeytontias/nKaruga, in src/DrawingCandidate.cpp and src/DrawingCandidates.cpp . Also, for examples of use, see src/Enemy.cpp, in Enemy::handle().

DJ: I'll get the game done before adding anything fancy that's not required :P

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: [Ndless] nKaruga
« Reply #164 on: October 19, 2014, 07:30:09 am »
Bump,

I'm done with the boss system ! :w00t:

It's actually a pretty complex system, that allows for nearly infinite customization and flexibility for bosses. It takes advantage of the fact that bosses have definite, non-modular behaviors, and thus always know exactly what hitbox to check or things like this. So let's see how that works :
  • First, when cmd_boss is encountered in the level stream, a new boss is created and initialized. Upon creation, an initialization hook is executed, in the form of a function pointer. The goal of this hook is basically to set the boss up, and having it in the form of a function pointer allows me to use very generic code, while actually doing purpose-written tasks, since each boss is initialized differently.
  • When the boss is created, the game enters "fight boss" mode, meaning that in addition to enemies and bullets, the boss will also be handled and updated when necessary.
  • When the handle() function of the boss is created, a really simple process takes place : what it does is only call its callback code (you can call it an "update hook") and return whether the boss is dead or not. That way, I can do everything I want in the callback itself, and it works for every boss, even if they have so little in common ! For example, I can make the boss have several behaviors by simply testing the amount of HP left, and doing different things depending on the result.
  • Exceptionally, drawing is handled within the callback (via drawing candidates, which is normal). This allows me to have whatever graphical complexity I want !
  • When bullets are handled, no collision is checked between them and the boss ; a collision callback (call it a "collision checking hook" if you want) is executed, allowing the boss to have special or esoteric hitboxes - or even special or esoteric ways of checking collisions -, instead of checking collision the way I do it with any other objects, by simply testing if the images of both objects intersect.
As I said, all of this allows me to have virtually infinite liberty on what the bosses do, so wait for them, 'cause it's going to be awesome :w00t: