Author Topic: Alien Breed 5 Episode III: Impact  (Read 58051 times)

0 Members and 1 Guest are viewing this topic.

Offline SpiroH

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 729
  • Rating: +153/-23
    • View Profile
Re: Alien Breed 5 Episode III: Impact
« Reply #15 on: January 02, 2016, 09:15:16 am »
Today I've finished off (for the time being) the new level event scripting that will feature in Episode III: Impact (and Episodes I & II will be patched to the new format as well). The new format gives me more power to add multiple triggers & events during a level. In the below screenshot there are a few examples:
...
Your ability to design games is undoubtedly unquestionable, period! (+1)
However the z80 reminds me of my old student times, more than 30 years ago (sorry 'bout that). What to do you guys find in phosphorus green/yellow so passionate, if I may ask  ????

Offline c4ooo

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 252
  • Rating: +10/-1
  • The impossible chemical compound.
    • View Profile
Re: Alien Breed 5 Episode III: Impact
« Reply #16 on: January 02, 2016, 11:54:35 am »
Interesting...  i would assume 8bpp is faster then 1bpp. With 1bpp its hard to shift the buffer horizontally, for example, and drawing tiles get confusing.
-German Kuznetsov
The impossible chemical compound.

Offline chickendude

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +90/-1
  • Pro-Riot Squad
    • View Profile
Re: Alien Breed 5 Episode III: Impact
« Reply #17 on: January 03, 2016, 03:02:41 am »
8bpp is faster, the issue is that the original routines are written for the BW calcs so all sprite routines are drawn to a graphbuffer that has a 1bpp layout. Writing to a gbuf on the CE just makes it easier to maintain the code between the two calcs, otherwise you'd have to have separate code for the tilemaps and basically anything that interacts with the map (sprites, bullets, etc.). So (i assume) James just uses the same routines to scroll the tilemap.

Offline JamesV

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 276
  • Rating: +77/-0
    • View Profile
    • James V's TI-Calculator page
Re: Alien Breed 5 Episode III: Impact
« Reply #18 on: January 04, 2016, 05:15:44 am »
I've been thinking of a way you could somehow attach color data per tile, each tile would still only support two tiles but you could do something similar to RLE where you'd have an extra buffer keeping track of the current palette. Something like:
Code: [Select]
        ; bit 7
        exx
           ld a,(hl)      ;hl' points to palette array
        exx
        sla d \ adc a,a
It's a bit slower and you'd have to inc hl' at the end of each djnz iteration. You could possibly get around using the shadow registers if you pushed bc (you could maybe move the push bc before the ld bc,288 to the vbcx3Row label), opening up C to use instead of D for the gbuf byte to rotate, then you could use DE to hold the pointer to the palette array. The palette array just tells you the first palette value, eg. 0 corresponds to palette entries 0 and 1, 1 corresponds to 2 and 3, 2 corresponds to 4 and 5, etc. That'd look something like:
Code: [Select]
        ; bit 7
          ld a,(de)      ;de points to palette array
        sla c \ adc a,a
The overhead would be a bit less than my first idea, i think. Each tile would still only have two colors, but the map would be a bit more colorful. You'd also have to fill out the palette array as you draw your tilemap, but that shouldn't take up too much time. Definitely wish i had a CE right about now :D

EDIT: And if you come up with something that's too processor heavy, there's always shifting two pixels per frame which would still look really nice.
These are some interesting ideas, chickendude. Thanks for the suggestions! At this stage I'll simply focus on getting the game playable on the 84+CE for starters, but you're giving some great inspiration to strive for greater results with this in the longterm!


8bpp is faster, the issue is that the original routines are written for the BW calcs so all sprite routines are drawn to a graphbuffer that has a 1bpp layout. Writing to a gbuf on the CE just makes it easier to maintain the code between the two calcs, otherwise you'd have to have separate code for the tilemaps and basically anything that interacts with the map (sprites, bullets, etc.). So (i assume) James just uses the same routines to scroll the tilemap.
Correct, the 84+CE version uses all the same sprite drawing & scrolling routines - the only difference (at this stage) is copying the "gbuf" to the LCD, which on the 84+CE converts the 1bpp data to 8bpp and scales up 3x. The main reason for sticking with the 1bpp "gbuf" is to keep the speed of the scrolling/sprite & tile drawing routines as fast as possible.


I haven't done much work on this for the past week as I've been enjoying a summer week off work, but current status is that after many hours of work, the source now cross-compiles for both the 83+/84+ app version and the 84+CE program version. Now I just need to start stepping through the 84+CE version and get the game to a playable state.

Offline JamesV

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 276
  • Rating: +77/-0
    • View Profile
    • James V's TI-Calculator page
Re: Alien Breed 5 Episode III: Impact
« Reply #19 on: January 06, 2016, 11:39:06 pm »
I'm getting close to getting the game somewhat playable on the 84+CE, there are just a lot of little Z80 -> eZ80 things to patch up (eg. "ld h,0 \ ld l,a" needing to be updated to "ld hl,0 \ ld l,a"  etc.)

In terms of the new campaign, Episode III: Impact, it will be a little different to Episodes I & II. Instead of just being a linear 12 level campaign, it will have multiple routes available. The current plan is to have around 30 levels, with a single play through taking you through anywhere between 11-14 levels depending on the path you take (around 5-6 different paths available). The paths that take less levels will have a slightly higher difficulty curve than the paths that take more levels. This one won't be set on a space station either, it will be on a planet surface & multiple towers, ala Alien Breed: Tower Assault.

I've also got at least one more enemy getting added in (the "security guard" enemy from the previous Alien Breed IV game of the early 2000's that I did), and I have ideas for another 2 possible enemies that I haven't implemented before that I think would be cool :)

Offline Dudeman313

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 106
  • Rating: +2/-0
  • I am the embodiment of honorificabilitudinity.
    • View Profile
Re: Alien Breed 5 Episode III: Impact
« Reply #20 on: January 11, 2016, 08:51:40 am »
Sounds great! ;D Can't wait to play it! I might get a TI 84+ CE just for this! :w00t:
Does this qualify as a signature?
The answer is "Sure."

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Alien Breed 5 Episode III: Impact
« Reply #21 on: January 11, 2016, 09:56:49 am »
Keep in mind that he's working on a version for both machines, so you'll be able to play it regardless. ;)

Offline Dudeman313

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 106
  • Rating: +2/-0
  • I am the embodiment of honorificabilitudinity.
    • View Profile
Re: Alien Breed 5 Episode III: Impact
« Reply #22 on: January 11, 2016, 11:10:49 am »
Yeah, but it looks cooler in color :P
Does this qualify as a signature?
The answer is "Sure."

Offline JamesV

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 276
  • Rating: +77/-0
    • View Profile
    • James V's TI-Calculator page
Re: Alien Breed 5 Episode III: Impact
« Reply #23 on: January 12, 2016, 04:18:46 pm »
The game now runs and the player can move around a level. Enemies / shooting, etc. are still disabled, but should be working in the next week or two. I haven't had a whole lot of spare time to work on this lately, but I'm enjoying chipping away at it bit by bit :)

Text & menus aren't properly implemented yet, but I'll (most likely) be overhauling them on the TI-84+CE version to have higher definition splash screens and font.




Keep in mind that he's working on a version for both machines, so you'll be able to play it regardless. ;)
Yeah, but it looks cooler in color :P
Correct, there will be a flash application version for the TI-83+/84+ monochrome LCD calculators, and a program version for the TI-84+CE calculator. Both will be the same game with the same features, with the exception of the TI-84+CE version having bits of colour here and there. And yes, it does run a lot smooth / nicer on the TI-84+CE screen :P

Offline Dudeman313

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 106
  • Rating: +2/-0
  • I am the embodiment of honorificabilitudinity.
    • View Profile
Re: Alien Breed 5 Episode III: Impact
« Reply #24 on: January 12, 2016, 05:46:00 pm »
Nice progress! Can't wait! :w00t: Let me guess: you're going to enter it in the POTY 2016 contest when finished?
Does this qualify as a signature?
The answer is "Sure."

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Alien Breed 5 Episode III: Impact
« Reply #25 on: January 12, 2016, 06:14:17 pm »
In order to be eligible for POTY it has to be featured at ticalc. It isn't a matter of entering it or not. Though, I'd say this is definitely going to be feature worthy imo.

Offline chickendude

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +90/-1
  • Pro-Riot Squad
    • View Profile
Re: Alien Breed 5 Episode III: Impact
« Reply #26 on: January 17, 2016, 12:56:23 am »
Wow, at first i thought that was a screenshot of the 83+ version, it does run much smoother/faster on the CE. That's exciting, i'd like to take a stab at porting some of my old projects over to the CE :)

Offline Dudeman313

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 106
  • Rating: +2/-0
  • I am the embodiment of honorificabilitudinity.
    • View Profile
Re: Alien Breed 5 Episode III: Impact
« Reply #27 on: January 17, 2016, 08:21:04 am »
Do it! I couldn't play Robot Wars on my TI-84+ because my RAM chip is only 24KB, but if I get a CE next, and you port this, I could play it instead of looking at the beautiful title screen, without the ability to start a new game.
Does this qualify as a signature?
The answer is "Sure."

Offline JamesV

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 276
  • Rating: +77/-0
    • View Profile
    • James V's TI-Calculator page
Re: Alien Breed 5 Episode III: Impact
« Reply #28 on: January 18, 2016, 10:27:41 pm »
Wow, at first i thought that was a screenshot of the 83+ version, it does run much smoother/faster on the CE. That's exciting, i'd like to take a stab at porting some of my old projects over to the CE :)
It's not super hard, just depends how much "hardware dependent" code you have (such as accessing port $10 on the 83+, etc.) and also accounting for the 24-bit multi-registers. I'm happy to send you my gbuf -> LCD drawing & scaling routine if you need it :)

Offline JamesV

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 276
  • Rating: +77/-0
    • View Profile
    • James V's TI-Calculator page
Re: Alien Breed 5 Episode III: Impact
« Reply #29 on: January 22, 2016, 06:06:25 pm »

The TI-84+CE build now functions essentially the same as it's TI-83+/84+ counterpart (sans text). You can now play through a level collecting items, killing aliens, etc.


Next up I'll be splitting the level data out into appvars for the 84+CE build, as the program is currently sitting just shy of the 64KB limit.


Thanks to MateoConLechuga (and everyone who has assisted him) for CEmu, which I used to capture the below video :)