Author Topic: スペース・ファイター斬剣 ("Space Fighter Zanken")  (Read 12742 times)

0 Members and 1 Guest are viewing this topic.

Offline Zera

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 737
  • Rating: +82/-7
  • Monochrome Artisan
    • View Profile
スペース・ファイター斬剣 ("Space Fighter Zanken")
« on: February 19, 2010, 07:56:40 pm »
スペース・ファイター斬剣



(for those curious, "Zanken" roughly translates to "cutting sword")

I had this random idea earlier for a top-down shoot-'em-up. I doubt I would ever have the coding abilities to pull it off, but I enjoy coming up with random ideas, no less. I have a folder full of projects and assets that never get developed. :P

The game centers around Zanken: An advanced military spacecraft tasked with navigating through hoardes of hostile invasion forces and ultimately destroying the central core of the enemy operation.

Each level consists of an area of space swarming with enemy formations. Zanken must defeat each formation in order to progress to the next level.

Zanken is equipped with a wide arsenal of weapons -- each useful in a variety of situations. By defeating enemies and collecting power-ups, Zanken may switch between the various options available.

Space Fighter Shield - Each shield upgrade (S) covers Zanken from a single hit. Zanken's shield will increase or decrease in size to indicate the shield's strength.

Power Cells - When a power cell (P) is collected, Zanken switches between the weapons in its arsenal:

L-0: Twin-Shot (default) - Fires two shots directly ahead. The weapon can be fired successively without much cool-down between shots.

L-1: Pulse Emitter - Fires a pulse laser straight ahead. The laser penetrates multiple enemies, but has a longer cool-down period.

L-2: Wave Beam - Fires a wave beam that covers a radius of three tiles, but has a slight cool-down period.

L-3: Diffusion Missile - Fires a missile with a destructive yield. The missile appears in front of Zanken and flickers for a brief moment before launching itself ahead. When the missile explodes, it damages all targets within surrounding tiles. Has the longest cool-down period.









To the bottom of the play area are Zanken's score, and the number of players (lives) available. By accumulating points, Zanken can earn additional players.

To the right is the display for the current level, and Zanken's shield (S) and weapon (P) power meters. Each meter indicates the current / max number of upgrades.

------------------------------

I was kind of curious how feasible such a project might be if written in BASIC. I can say a few things about it:

 - There wouldn't be any masking, because it's strictly monochromatic; and each sprite generally covers the entire tile, anyway.

 - I'm not sure if scrolling is feasible, but it's probably not necessary. One idea was that the graphics used in backgrounds could appear and disappear in patterns, giving the illusion of having a dynamic environment. (i.e., stars appearing and vanishing)

 - I'm not sure how the sprite routine would work yet. I think maybe movement would occur 8 px at a time. (so a sprite would "jump" from tile to tile, as it would in one of those old Tiger Electronics LCD games)

 - There aren't any graphics larger than 8x8 pixels. Bosses are sort of comprised of multiple, arranged tiles, but the actual target (such as the core, or a weapon) would only be 8x8 px.
« Last Edit: February 21, 2010, 01:53:51 pm by Zera »

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: 斬剣:スペース・ファイター ("Zanken: Space Fighter")
« Reply #1 on: February 19, 2010, 08:06:12 pm »
mhmm very nice, I wonder if this would be feasible in future versions of Axe Parser? You would get even more speed than BASIC ^^

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: 斬剣:スペース・ファイター ("Zanken: Space Fighter")
« Reply #2 on: February 19, 2010, 08:27:46 pm »
Ooooh that looks great, and a good idea too.  I think this might be very possible in Axe, I'm thinking Basic might be too slow :( But I'm not sure, it could be done.  Looks nice either way :)

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: 斬剣:スペース・ファイター ("Zanken: Space Fighter")
« Reply #3 on: February 19, 2010, 10:22:49 pm »
Cool! I think this could be done in Basic+xLib.  How many sprites would there be on the screen at one time (min and max)?

Offline Zera

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 737
  • Rating: +82/-7
  • Monochrome Artisan
    • View Profile
Re: 斬剣:スペース・ファイター ("Zanken: Space Fighter")
« Reply #4 on: February 19, 2010, 11:13:41 pm »
Cool! I think this could be done in Basic+xLib.  How many sprites would there be on the screen at one time (min and max)?

Probably as many as 16-20 at a time? (rough approximation) I have to account for bullets, as well. The largest enemy formations might be eight or so, but I can't say how many bullets would be on the screen simultaneously.

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: 斬剣:スペース・ファイター ("Zanken: Space Fighter")
« Reply #5 on: February 19, 2010, 11:32:28 pm »
Ouch, above 5 sprites at a time, it can be hard to keep a good fps in BASIC' but again, I managed to have 3 fps on a SE with 12 at once and that was in 2002 on homescreen, which is slower than using ASM libs

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: 斬剣:スペース・ファイター ("Zanken: Space Fighter")
« Reply #6 on: February 19, 2010, 11:40:54 pm »
Hmmm I just did some quick tests and it seems xLibs sprite display function is more than twice as slow than output() O.o And that is without buffer update X.x

Offline Zera

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 737
  • Rating: +82/-7
  • Monochrome Artisan
    • View Profile
Re: 斬剣:スペース・ファイター ("Zanken: Space Fighter")
« Reply #7 on: February 19, 2010, 11:49:29 pm »
Let's assume it were a fixed shooter. (the player ship is restricted to a single line, and may only move left and right) There's no scrolling background, and the objective is to clear formations of enemy. (a la Galaga / Galaxian) Rather than a complex sprite routine that's going to move everything pixel-by-pixel and has to keep up with complicated colision detection, let's say everything is moved 8 full pixels at a time. (so everything "jumps" from tile to tile) If a bullet or enemy is occupying the same tile as the player ship, the player ship is damaged; and vice-versa.

That should make the whole routine less complicated. Frame-rate might not take too much of a blow when sprites are moving in such large gaps, rather than pixel-by-pixel movement. Of course, it would look like a handheld LCD game. :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: 斬剣:スペース・ファイター ("Zanken: Space Fighter")
« Reply #8 on: February 19, 2010, 11:56:12 pm »
strange, I sweared Real(1 was faster than output(, especially that I did grayscale using sprite commands (and had stuff moving around while grayscale was running x.x)

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: 斬剣:スペース・ファイター ("Zanken: Space Fighter")
« Reply #9 on: February 20, 2010, 08:04:37 am »
If it were to be done in BASIC it'd probably be restricted to the 15MHZ calcs. If you have it restricted to a manner described two posts up, I think it'd be doable but I'm not sure how good it would look moving 8 pixels at a time as opposed to moving smoothly.

Offline Zera

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 737
  • Rating: +82/-7
  • Monochrome Artisan
    • View Profile
Re: 斬剣:スペース・ファイター ("Zanken: Space Fighter")
« Reply #10 on: February 20, 2010, 11:14:36 am »
I've updated the mock-ups. I revisioned some ideas in regards to how the gameplay and objective would work. Each level would be a series of enemy formations, ocassionally followed by a final objective before the player could proceed to the next level. This objective could be safely navigating through a mine-field, (several mines "falling" from the top of the screen) or safely escaping an enemy base. (a series of gun turrets)

Every weapon would be equal in strength, as it would only require a single shot to destroy an enemy target. Weapon upgrades would only affect the range and area-of-effect of weapons. (and cool-down period)

The ultimate objective of the game would be to clear 8 levels before the player is presented with the ending sequence. If all eight levels can be cleared without losing any players, then the player can face 6 bonus levels with a substantially higher difficulty. (levels A-F)

There would also be a short set of configuration options to define initial lives and difficulty. (which might affect how often enemies shoot missiles) Given there is so little text in the game, I could also provide a Japanese language option just for kicks. It might help simulate the whole classic console feel.

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: 斬剣:スペース・ファイター ("Zanken: Space Fighter")
« Reply #11 on: February 20, 2010, 11:23:48 am »
Here's how fast I could keep a Shoot-em-up in pure basic in 2002, attached to this post. Note that since it was 8 years ago, my coding skills has improved since then, but I think that might give an idea of all that's feasible in BASIC.
« Last Edit: February 20, 2010, 11:30:44 am by DJ Omnimaga »

Offline Galandros

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1140
  • Rating: +42/-10
    • View Profile
Re: 斬剣:スペース・ファイター ("Zanken: Space Fighter")
« Reply #12 on: February 20, 2010, 11:30:14 am »
Here's how fast I could keep a Shoot-em-up in pure basic in 2002, attached to this post. Note that since it was 8 years ago, my coding skills has improved since then, but I think that might give an idea of what's feasible in BASIC.
Hey not bad at all. With optimization, some more bullets, enemies and items are possible.
Hobbing in calculator projects.

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: 斬剣:スペース・ファイター ("Zanken: Space Fighter")
« Reply #13 on: February 20, 2010, 11:31:12 am »
Note: that's SE speed

Offline Zera

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 737
  • Rating: +82/-7
  • Monochrome Artisan
    • View Profile
Re: 斬剣:スペース・ファイター ("Zanken: Space Fighter")
« Reply #14 on: February 20, 2010, 11:53:51 am »
Here's how fast I could keep a Shoot-em-up in pure basic in 2002, attached to this post. Note that since it was 8 years ago, my coding skills has improved since then, but I think that might give an idea of all that's feasible in BASIC.

That's pretty cool. I figured the movement would be similar in Zanken. Not sure about the speed, though. There are so many graphical assets -- including a custom font.