Author Topic: Yet another shooter  (Read 137866 times)

0 Members and 1 Guest are viewing this topic.

Offline Iambian

  • Coder Of Tomorrow
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 739
  • Rating: +216/-3
  • Cherry Flavoured Nommer of Fishies
    • View Profile
Yet another shooter
« on: September 10, 2008, 07:26:23 pm »
This post is just to announce that I'm working on a danmaku SHMUP. The sort of gameplay that the game will have will be modeled after Touhou Project 7 : Perfect Cherry Blossom.

I do expect to put up a screen shot as soon as I can get something that demonstrates the engine instead of the already-working grayscale. Before I can demonstrate, though... I've got to finish that part of the engine.

So, no screen shot. Yet.

But while I'm posting, I want to ask for a name for the application and a name for the project. At first, I've tried BH83, and then ClcSHMUP, but none of those really satisfy me. Maybe it's just me...
A Cherry-Flavored Iambian draws near... what do you do? ...

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Yet another shooter
« Reply #1 on: September 10, 2008, 08:50:56 pm »
"danmaku" sounds so much like Damakaru on IRC O.o (randomist/insanity nickname the last time I saw him), I hope you finish this project though, this sounded rather promising. I can't wait for screenies when possible.

As for name, I might try to get some ideas in the next days, altough I can't promise anything x.x
Dream of Omnimaga

Offline Tribal

  • The Fallen
  • LV5 Advanced (Next: 300)
  • *
  • Posts: 218
  • Rating: +15/-1
    • View Profile
Re: Yet another shooter
« Reply #2 on: September 11, 2008, 06:07:50 pm »
What about 'BulletHell'?

Offline kalan_vod

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2715
  • Rating: +10/-0
    • View Profile
    • kalanrock.us
Re: Yet another shooter
« Reply #3 on: September 12, 2008, 04:04:50 am »
Sounds great, I would love to see something more on this as the plans/features :P

Offline Iambian

  • Coder Of Tomorrow
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 739
  • Rating: +216/-3
  • Cherry Flavoured Nommer of Fishies
    • View Profile
Re: Yet another shooter
« Reply #4 on: September 15, 2008, 11:54:26 am »
The engine in its most stripped down form is nearly done, but I still need to test the main parts for its goodness. I've already tested the maintenance routines used to keep track of the tables, but as I've said before.

Also, I'm considering dropping grayscale support since too much time is needed for the engine. I may end up adding that back in later as I can come up with a better idea of what my timings will be and what additional methods I can come up with to do what I want to do.

Expect a screenshot of simply the movement engine functioning pretty soon. Maybe with a little extra just to make the thing look reminiscent of an actual game.
A Cherry-Flavored Iambian draws near... what do you do? ...

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Yet another shooter
« Reply #5 on: September 15, 2008, 02:01:07 pm »
I would drop grayscale support if I was you since it might be hard to make it look good on all calcs at once and slow the game down. No grayscale would speed up things signifiantly
Dream of Omnimaga

Offline kalan_vod

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2715
  • Rating: +10/-0
    • View Profile
    • kalanrock.us
Re: Yet another shooter
« Reply #6 on: September 15, 2008, 06:47:23 pm »
Well I will enjoy it either way, and seeing how things are working out for tr1p1ea and his 8 levels of GS running at 4 levels of GS...I am really excited to see what this looks like!

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Yet another shooter
« Reply #7 on: September 16, 2008, 05:35:16 pm »
If you can keep the GS without sacrificing speed all the better. Im sure it'd still be fine without tho.

Offline Iambian

  • Coder Of Tomorrow
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 739
  • Rating: +216/-3
  • Cherry Flavoured Nommer of Fishies
    • View Profile
Re: Yet another shooter
« Reply #8 on: September 16, 2008, 11:09:56 pm »
At the moment, the bullet rendering and movement engine is now working fantastic for 2x2 sized bullets and linear paths, respectively.

Right now, I could simply add in your character, collision detection, and then call it an asteroid dodging game in about fifteen minutes or less, but I know I plan on having a better game than that, so... I'll need more time to actually code in that part.

Grayscale (of some sort) has not been sacrificed as of yet, so there still might be hope. Then again, I haven't done any backgrounds so that might still take some time.

Still... any suggestions of any names? I just thought up of "Touhou7i", considering that this game will be be based off of the 7th project and the "i" would indicate it starting in the imaginary direction (lol).

EDIT: Just did some screenshots.

This screen shot shows off some nice, even movements and teh large number in the scoreboard : http://img239.imageshack.us/my.php?image=ptiani1ps9.gif

This screen shot shows off the engine when it's totally maxed out. The scoreboard has been changed to reflect the remaining bullets on the screen, divided by 2 : http://img185.imageshack.us/my.php?image=ptiani2nh0.gif
« Last Edit: September 17, 2008, 12:15:35 am by Iambian »
A Cherry-Flavored Iambian draws near... what do you do? ...

Offline Iambian

  • Coder Of Tomorrow
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 739
  • Rating: +216/-3
  • Cherry Flavoured Nommer of Fishies
    • View Profile
Re: Yet another shooter
« Reply #9 on: September 22, 2008, 05:38:57 pm »
I've gotten character display and movement has now been coded in and it successfully works inline with the scoreboard, so the player can only really move at each refresh cycle (your dx and dy will be used to calculate movement steps for each refresh cycle). Coding some sort of collision detection shouldn't be too difficult, since the code will be much similar to the routine used to handle rendering bullets (the hitbox will be 2 by 2 pixels at the approximate center of the sprite). I should also be able to code it inline the scoreboard routine so that it, too, will have virtually no impact on the speed of the program.

With writing stuff inline with the scoreboarding routine, I'm exploring what other aspects of the game can be crammed within the wasted clockcycles used to update the scoreboard, such as rendering enemy sprites, player bullets, and such. Keep in mind that the spot that displays the score already uses its wasted clockcycles to calculate each digit to the score.

Now, for those that are unaware, clockcycles are "wasted" because the LCD requires some amount of time of delay before it'll accept more data or instructions. This equates to roughly 60 clockcycles if the processor runs exactly at 6Mhz since the documentation for the LCD states that a 10 µs delay is required between data writes, but most of my sources agree that it's safe to pick a delay around 65 to 66 clockcycles. If you wanted to be lazy, you'd just make the processor do meaningless work just to wait out that delay and continue to update the screen.

Between just writing the data (assume 42 clockcycles because an out instruction takes up 11 and the worst way to feed that data would take up 13), writing an entire column (64 bytes) would produce a waste of around 2688 clockcycles. There are four of these columns, so in updating the scoreboard, you'd burn off 10752 clockcycles doing absolutely nothing.

In order to keep the timings in my program tight enough to actually work, I intend (and have been partially successful) in utilizing most of those wasted clockcycles in performing something of some use. If you remember from the top of this post, you'll already know what I've done with it so far.

Doing it this way *does* require a bit of memory for all that code, but the speed benefit is way worth it, especially because I'm writing a FlashAPP for this game.

----------
In summary...

Not a whole lot got done except moving a character sprite and drawing it across the screen.

Grayscale is getting iffy unless I allocate a third buffer for the contents of the screen inbetween updating.

TI-83+SE/84+ support is *NOT* planned until I can get interrupt timings down for that.

I'm trying to get the biggest bang for my buck when it comes to spare time between screen writes.

A request for backgrounds (64 pixels wide) flies out to whoever wants to do it.

Cherry flavoring has been added.
A Cherry-Flavored Iambian draws near... what do you do? ...

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Yet another shooter
« Reply #10 on: September 22, 2008, 10:55:38 pm »
Awesome to see more progress. For grayscale it might be better to get rid of it I guess and if you ever get luck with a SE/84 version then make a SE only version with grayscale support. Grayscale can slow things down a whole lot. Most of the time by at least 50%
Dream of Omnimaga

Offline Iambian

  • Coder Of Tomorrow
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 739
  • Rating: +216/-3
  • Cherry Flavoured Nommer of Fishies
    • View Profile
Re: Yet another shooter
« Reply #11 on: September 23, 2008, 07:34:43 pm »
I made one slight improvement in the game, but that improvement forces me to keep the grayscale. What I did was that when the player "focuses", it switches the player sprite to the gray buffer so that the hitbox, whenever I get that coded in, will be easier to see against the player sprite. I did it this way because in the original game, focusing causes the player's hitbox to become visible. Now, it's just a matter of coding in the actual collision and then we'll see how things progress.

This complicates things now that I have to redraw the gray buffer each time now, but I sure hope I can get it worked out.
A Cherry-Flavored Iambian draws near... what do you do? ...

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Yet another shooter
« Reply #12 on: September 23, 2008, 11:16:12 pm »
oooh I see, quite nice actually. Hope you can keep the game fast enough
Dream of Omnimaga

Offline Iambian

  • Coder Of Tomorrow
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 739
  • Rating: +216/-3
  • Cherry Flavoured Nommer of Fishies
    • View Profile
Re: Yet another shooter
« Reply #13 on: September 24, 2008, 05:43:31 pm »
I have collision detection and all those goodies associated with the hitbox programmed in, and I must say. It looks pretty!

When I put in the code that handles what you do if you get hit (like decrease your life, cause you to explode, whatever), I'll go ahead and post another screenshot of the game so far...

... and maybe a copy of the game in that state. More details about that when it becomes available.
A Cherry-Flavored Iambian draws near... what do you do? ...

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Yet another shooter
« Reply #14 on: September 24, 2008, 06:04:03 pm »
w00t awesome, please do! I would like to try out what you got so far
Dream of Omnimaga