Hey guys,

Today I'm starting another project : Ikaruga X, a port of Ikaruga, this time in Axe !

For those who don't know what Ikaruga is, it's a danmaku (also bullet hell), a game where bullets are as numerous on screen as pixels. Here's an image which says, in my opinion, pretty well what Ikaruga is :


The goal is simple : reach the end of the level, while blasting everything you can see.

But it's easier said than done : bullets are everywhere, and you can't dodge them all. No, you can't. Don't try. I'm being literal. But your spaceship is a special spaceship : it has two "modes", black and white. So while you are in black mode, black bullets don't hurt you, and while you are in white mode, white bullets don't hurt you.

Planned features :

  • A lot of enemies. A LOT.
  • At least ten times as many bullets as enemies
  • Epic boss battles
  • Various levels
  • And more, why not

For now, I've got the spaceship designed (tell me if you like it) and the shoot engine working for the very first weapon level.

I eventually thought of playing the game with your calc sideways, with the ship facing right instead of facing up. I think it'll be easier to play. Again, tell me your opinion about that.
if you want to fit that many things on the screen at once, then that is a very large ship to use. it spans a quarter of the screen's height all on its own. also, won't the greyscale slow things down?
matrefeytontias wrote:
I eventually thought of playing the game with your calc sideways, with the ship facing right instead of facing up.

That would resolve it, and I also planned left and right scrolling. So space won't be a major problem.
that extra space off of the screen is not particularly useful for this sort of game, though, because you need to be able to see it in order to know whether or not you can (or would want to) move into it, and orienting vertically would be worse for this sort of game, both because it makes the controls more awkward and because most dodging is done horizontally.
Would having a minimap of sorts fix that? One along the bottom of the screen that stays out of your ship's way and shows everything as pixels (dark pixels for ships, greyscale for bullets?)
It'd take even more space on-screen. I think I'll just go the way it's now, with the calc held in a classic way, but then I'll adapt the bullets number, which will still be high enough Razz
Huge update,

I kinda forgot about this thread, so I'll sum up everything I did since one or two week Razz

The game core is almost finished. Currently the game is 8737 bytes large (without the required levels program).

So like I said, you must survive from the bullet hell by switching between black and white mode with the [mode] key (obviously). There are bullets of two colours, black ones and white ones, so the point of switching mode is that bullet of same colour as you won't hurt you. And of course, you must blast at everything you see.

Currently, the game features :

  • An introduction tutorial, which you can skip by pressing [x] (this isn't definitive of course)
  • Two full levels with a boss at their end
  • Bullet engine handling 192 bullets on-screen at a time
  • Enemies engine handling 16 enemies at a time (you won't reach that limit)
  • Shooting engine with 7 patterns for the player (2 currently usable, your weapon upgrades each level) and many, many for the enemies
  • Dirty and quickly-made lives system : when you get hit, you're invincible for 64 frames (you see it with an inverting rectangle on your ship).
  • Pause the game with [alpha], resume with [x,t,θ,n], and thus you can see your lives in the upper right corner of the screen
  • Perfect collision detection
  • Insane difficulty Razz

Screenie of the second level, not too long to not spoil :

Of course, the game is faster and not as ugly on-calc. And btw, the screenshot is taken with the game running at 6MHz.

So, if you want to try it, please do >=D (you'll need the two files attached to the post) : http://ourl.ca/18622/345082

And by the way, share comments Smile
It got far too late for me to make the long, intelligent post I had hoped to make, but this looks great! I have some concern about the speed when I see quite a slowdown with something like 40 of the "192 maximum" bullets on-screen, but hopefully some of that is screenshot lag, as you said. I tend to think pure z80 might be better-suited for something like this, but it certainly looks good. How are you doing your collision detection? Pixel-testing, since you say that it's perfect?
In fact, it's the enemies that makes the lag, not the bullets. It's so because while for each bullet I only move it with constants deltaX and deltaY and test collision with the player, the enemies have a full AI for each, so it's very time spending. You can see that with bosses : there are many, many bullets on-screen but since there only is one AI executing, there isn't any lag.

And the thing is that I adapted the sprites to a rectangular hitbox, so it's a perfect collision detection but as quick as a less good one.
Guys ... today is the D day. Yes, you got it, this post marks the end of 9 long months of hard work and the release of the biggest project of my whole life (which has not been that long, you'd say).

Funny stats : the executable is 18 373 bytes, and the full source is around 29 500 bytes.

First, I want to apologize about one thing : there is no beautiful ending scene. Actually, there is no ending scene at all. The reason for that is that strangely, the game will shamelessly crash instead of running if it's above a certain size (which appears to be around 18 400 bytes). So, sorry about that.

Instead, what you have is :
  • Five levels
  • Five bosses (?)
  • Six weapon upgrades
  • Two weapons : normal bullets and homing missiles
  • 16 different enemies, each with their own behaviour
  • Checkpoints (?)
  • Rage. Count on that.

Everything on how to play this game is written in the readme. I guess there is not much more to say, excepting, enjoy Very Happy

matrefeytontias wrote:
The reason for that is that strangely, the game will shamelessly crash instead of running if it's above a certain size (which appears to be around 18 400 bytes). So, sorry about that.
Executable code cannot go past $C000, so make sure all your executable code is at the beginning of the program and all the data and sprites and strings are at the end. That's why it's crashing.

Congratulations, Matref; this is superb work. I hope it becomes one of the most popular of this type of game out there for the calculators. Now you just need to remember to upload it to the Cemetech Archives. Wink
Actually there is approximately 18kb of executable code, but I use Fullrene to get everything working. That's why this 18.4kb limit is weird IMO.

And I'm thinking about centering everything on ticalc, so I might not upload it here unfortunately (nor on Omnimaga or anywhere else).

Also, thanks for the kind word, it was really a long and hard project and I'm really happy to have brought it to completion Smile
Yup, looks like an excellent game! Besides the "rage" factor that looks like it'll be present. Razz
Yes it will Razz I myself never beat the game once, but I'm working on that x)
The sprites look beautiful - well done. My experience shows that starting a big project can be hard: finishing it is even harder.
I expect much was learnt during this project ?
Sure thing : trigonometry, path finding, engines structure etc.
clearly the best game i have received onto my calculator in a long time. the huge amount of effort that has been devoted to this project clearly shows the author's skill. i could easily see this becoming a new top game in the archives, here or at TiCalc.org.

I was presented the wonderful opportunity to test the game on my own calculator before release, to make sure it worked with DoorsCS. besides a few hiccups, the game executed flawlessly and i was hooked. to date, i still haven't beaten that second boss (in my defense, i rarely play games of this nature.), even though i have probably given at least 40-some hours of game play.

in short, get this game NOW, and you will not regret this.
Thanks LuxenD, both for the review and for testing Smile

Also, IkarugaX made it to the ticalc.org front page news the day of its release !!! Very Happy also congrats to DJ_O for his Supersonic Ball !

Alright, I'm having a few problems playing this.
After the tutorial (of sorts) it says "Level 1" then underneath it there are a bunch of tokens, that I am sure aren't supposed to be there.
-One game the Doors "Name a folder" prompt came up and crashed after I pressed enter
-Another game it froze and none of the buttons worked.
I am trying it again for the third time. And it froze again.
I really want to try this game out, but it won't work for me.
You put prgmIKRGLVLS in Archive in some way. LuxenD already had this problem, and I specified not to put it in the Archive in the readme.
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 2
» All times are UTC - 5 Hours
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum