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

0 Members and 5 Guests are viewing this topic.

Offline Eiyeron

  • Urist McEiyolobster
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1430
  • Rating: +130/-10
  • (-_(//));
    • View Profile
    • Rétro-Actif : Rétro/Prog/Blog
Re: [Ndless] nKaruga
« Reply #30 on: May 19, 2014, 01:59:21 pm »
Then, the end of the level stream is marked by LVLSTR_END. When this point is reached, the game waits for every enemies to be killed, then quits - although for now you can't kill enemies so we'll see if that works when I'll implement collisions :P

^That was the part I forgot when I was seaching how to dsign a SHMUP. THanks!
* Eiyeron is gonna write some things for that. Someday...

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 #31 on: May 19, 2014, 08:10:56 pm »
Yay, collisions ! They're still nice even without actual HP ;D



Also, the level stream does work correctly :D

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 #32 on: May 19, 2014, 09:18:08 pm »
Idea: If you use a function that takes an index as a wrapper instead of directly accessing the array, then you could use both the current level stream idea and use a streamy stream, such as something infinite or random or better than what I can think of right now.
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 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 #33 on: May 20, 2014, 07:43:59 pm »
I don't really understand what you mean ... could you be more precise please ? :/

Anyway, as some people on TI-Planet told me that the sprites were too big for the screen, I tried to use sprites of half their original size (until then, I was using sprites 3/4 of their size). Which one do you prefer ? I personally think the smaller sprites will permit more things to happen on-screen.

Three-quartered size :



Halved size :



Which one do you prefer ?
Also, these patterns are the exact first ten seconds of the original Ikaruga game ;D

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3915
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: [Ndless] nKaruga
« Reply #34 on: May 20, 2014, 07:46:22 pm »
I do indeed prefer the half sized sprites. You might then just ask the creator to make new sprites that are that size, though, as they look a bit messed up by the scaling right now.
I'm not a nerd but I pretend:

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 #35 on: May 20, 2014, 07:47:08 pm »
Yeah I think I'll do that.

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 #36 on: May 20, 2014, 09:18:58 pm »
Example code:
So you have this:
Code: [Select]
int levelStream[] = {
enemy(110, 0, image_LUT_enemy_ship_0_light, image_LUT_enemy_bullet_1_light, callback_LUT_0, LIGHT, 1),
enemy(220, 0, image_LUT_enemy_ship_0_shadow, image_LUT_enemy_bullet_1_light, callback_LUT_0, SHADOW, 1),
cmd_killed,
LVLSTR_END
};
and you (probably) access it like this:
Code: [Select]
levelStream[n]
If you did this:
Code: [Select]
int levelStreamAArray = {enemy(...),enemy(...),cmd_killed,LVLSTR_END};
int levelStreamA(int n) = levelStreamArray[n];
int (*levelStream)(int);
levelStream = &levelStreamA
and accessed like this:
Code: [Select]
levelStream(n)
then you could also do this with just a change to your levelStream pointer:
Code: [Select]
int levelStreamB(n) = switch (n%3)
    case 0:
        return enemy(110, 0, image_LUT_enemy_ship_0_light, image_LUT_enemy_bullet_1_light, callback_LUT_0, LIGHT, 1);
        break;
    case 1:
        return enemy(220, 0, image_LUT_enemy_ship_0_shadow, image_LUT_enemy_bullet_1_light, callback_LUT_0, SHADOW, 1),
        break;
    case 2:
        return cmd_killed;
        break;
    default: // Stops the compiler from yelling at you and is probably good in case of lobsters
        return LVLSTR_END;
levelStream = &levelStreamB
You access it the same:
Code: [Select]
levelStream(n)
Make sure your functions don't grab the whole array/function at once, and you're great! (New idea: survive for X amount of time; you could just put a case at top that gives LVLSTR_END if the time is done)
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 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 #37 on: May 21, 2014, 12:54:39 am »
I don't really see the point as the stream is intended to be read sequentially anyway (though the level script will include some conditional jumps).

About surviving, in Ikaruga you beat the last boss by surviving 60 seconds while being unable to fire any bullet :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 #38 on: May 25, 2014, 12:06:48 pm »
Bump,

So while waiting for better sprites, I started implementing the first level of the original Ikaruga. Well, I really didn't think I would have to use parametric functions and second/third degree polynomials for trajectories x.x

The result is pretty nice anyway :


Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: [Ndless] nKaruga
« Reply #39 on: May 25, 2014, 12:41:11 pm »
Damn that looks great. O.O

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: [Ndless] nKaruga
« Reply #40 on: May 25, 2014, 12:44:22 pm »
Damn that looks great. O.O
'nuff said.
Looks awesome :D

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

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 #41 on: June 13, 2014, 12:22:42 pm »
So I made a Github repository here : https://github.com/matrefeytontias/nKaruga . Feel free to fork it and contribute if you want :)

Any help, valuable commit or feature request is of course greatly appreciated :)

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 #42 on: June 13, 2014, 08:40:42 pm »
Playing with the patterns engine. That's why "danmaku" means "bullet hell".


Offline Princetonlion.tibd

  • Members
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 790
  • Rating: +3/-4
    • View Profile
Re: [Ndless] nKaruga
« Reply #43 on: June 13, 2014, 08:41:16 pm »
Playing with the patterns engine. That's why "danmaku" means "bullet hell".



 *.*

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: [Ndless] nKaruga
« Reply #44 on: June 13, 2014, 08:42:04 pm »
Omg this is epic. *.*