Join us on Discord!
You can help CodeWalrus stay online by donating here.

Alien Breed 5 Episode III: Impact

Started by JamesV, December 21, 2015, 01:37:37 PM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

JamesV

Since 3.5 years ago when I decided to do Alien Breed 5, I've had a rough plan in my head for it to be a 3-part game, ie. the first main release, followed by two additional campaigns with new features to be added later. I've recently started working on the 3rd and (most likely) final part. It's still very early days, but I've already gotten a few cool things done.

As usual, there will be a new campaign, although it will be different in structure to Episodes I & II. There will also be new gameplay elements, some new enemies, more achievements and potentially some slight graphics tweaks in the form of more tile animations.

So far, I've reworked the level file format to allow for some of the additional gameplay elements, which will allow for more things to happen in levels. The level editor pretty much had to be rebuilt from scratch, as well as making a simple program to convert the existing Episode I & II data to the new format. I'm now halfway through implementing the calculator-side changes to all of this, so that the game correctly interprets the new level format and starts incorporating the new elements.

Additionally, whilst this will still include the standard TI-83+/84+ flash application release, over the last 36 hours I've been doing some tests to see how viable it would be to include a build for the TI-84+CE!

I've drawn inspiration from MateoConLechuga's Mono2Color project for the TI-84+CSE, and after a few experiments determined that I'll most likely have to stick with monochrome tiles & sprites so that I can run the LCD in 1bpp mode, otherwise the frame rate gets way too slow. Below you can view a demonstration showing the game in 3 different zoom levels (x1, x2 & x3). As you'll see, x1 moves super quick, x2 moves roughly the same speed as the TI-83+/84+ monochrome version (within 1fps), and x3 is a bit slower again (around 7-8fps slower). Of course this demo only includes the scrolling background, no player/enemy/gunfire sprites. However, all the tile drawing & sprite rendering is done on a 768 byte buffer, the part that slows things down is scaling this 96x64 resolution buffer up to either 192x128 (x2) or 288x192 (x3). I'm confident that drawing the sprites over the tilemap will have minimal effect with the CPU speed of the TI-84+CE (but this will be my next few experiments).

The 768 video buffer -> vram drawing/scaling routines were written fairly quickly, so I might be able to optimise them a little. I'll continue playing around and see how I can improve it. At the very least, I'd like to have a TI-84+CE version with a play screen of 192x128.


alexgt

Sounds Great! I will definitely play it when you get a demo out ;)
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

JamesV

Thanks!

After sleeping on it, I came up with a different method this morning for copying & scaling the video buffer more efficiently. I only had a chance to test it on the 3x zoom (288x192 resolution) and it was running at pretty much the same frame rate as the 83+/84+ non CE version. I'll try it later on 2x zoom as well and see how fast it gets, but at a rough calculation it should be about 30% faster than the 83+/84+ non CE frame rate.

Either way, it's certainly workable :)

alexgt

Nice! can't wait to see more, but sadly I don't have a CE only a 84+ <_< still best of luck
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

Snektron

Well, you should be able to play it on the js wrapper with the file loader i made :)
Cool project btw :)
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


alexgt

  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

Snektron

  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


JamesV

Quote from: alexgt on December 21, 2015, 10:31:42 PM
Nice! can't wait to see more, but sadly I don't have a CE only a 84+ <_< still best of luck
It will be released on the non-colour TI-83+/84+ calculators as well (in flash app form). In the meantime, feel free to download and try v2.1.0 :)

Unicorn

Sounds like a bit of work! I wish you luck, and I hope I get a CE soon to play this...
  • Calculators owned: I own all of them: PICKACHUP TI 84+ CSE TI 83+ SE TI something something ??? ??? ??? ??? ???
  • Consoles, mobile devices and vintage computers owned: PICKACHUP ??? ??? ??? ??? ???



??? ??? ??? ??? ???

alexgt

Quote from: Cumred_Snektron on December 21, 2015, 10:50:49 PM
https://github.com/RobinDeWalvis/ti_jsemu_wrapper
Thanks ;)
Quote from: JamesV on December 21, 2015, 11:09:56 PM
Quote from: alexgt on December 21, 2015, 10:31:42 PM
Nice! can't wait to see more, but sadly I don't have a CE only a 84+ <_< still best of luck
It will be released on the non-colour TI-83+/84+ calculators as well (in flash app form). In the meantime, feel free to download and try v2.1.0 :)
Awesome! can't wait to test it :)
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

JamesV

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:

1. After a certain amount of time passes, an in-level text block is displayed, and the darkness filter is enabled.
2. When the player walks up to the computer, another text is displayed and the darkness filter is disabled.
3. Bosses are no longer triggered by a single tile - an area is set (can be any rectangular shape up to 32x32 tiles in size) that triggers a boss (technically there could be multiple bosses in a level now), and in this case also modifies two tiles in the level to seal off the room (previously this was locked to modify one tile when a boss fight started, and one more tile when a boss fight finished).
4. When the boss is killed, multiple tiles are modified to open various paths out of the room, the countdown sequence is triggered, and the level is flagged as being ready for completion.

Triggers & commands can be used in various combinations to create various events so that I can add more depth to the new levels.



Now that this is done, I'm going to attempt to start adapting the code and applying the new LCD routines to make it compatible with the TI-84+CE :)

alexgt

Nice! I will definitely try it out it looks like a great game ;)! When will you have a download out?
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

123outerme

With the CE compatibility be extended to the CSE as well?
  • Calculators owned: TI-84+CSE, TI-nspire Clickpad, TI-84+SE

Dream of Omnimaga

Woah that looks great and I'm glad that you are considering porting the game to the CE. The CSE is discontinued and slow so I could understand if you don't make a version for it, but a CE version would still be great, as new games have been lacking on it lately. Some colors, even if primitive, would be cool. For example, tiles could remain 2 colors, but for each tile they could be something else than monochrome calculators.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

JamesV

#14
Quote from: alexgt on December 23, 2015, 02:20:07 PM
Nice! I will definitely try it out it looks like a great game ;)! When will you have a download out?
Thanks! Not for a while yet, sorry. I've only started work on it in the last few weeks, and I have a lot of work still ahead of me. But I'll continue to post about progress here as I get more done, and eventually there will be a beta out for people that want to test it :)

Quote from: 123outerme on December 23, 2015, 08:12:47 PM
With the CE compatibility be extended to the CSE as well?
It's not out of the question, but it's not high on my list given that the CSE has essentially been replaced by the CE. Once I get further along with the project I'll see how I feel about it.

Quote from: DJ Omnimaga on December 24, 2015, 03:57:00 AM
Woah that looks great and I'm glad that you are considering porting the game to the CE. The CSE is discontinued and slow so I could understand if you don't make a version for it, but a CE version would still be great, as new games have been lacking on it lately. Some colors, even if primitive, would be cool. For example, tiles could remain 2 colors, but for each tile they could be something else than monochrome calculators.
Thanks DJ_O! At the moment I'm running the LCD in 1bpp mode, so I literally can only have 2 colours on screen at once. I could run the LCD at 2bpp (allowing 4 colours on screen at once), but that would increase the amount of processing required for background scrolling, copying & scaling the buffer to the LCD, etc. Even running in 1bpp mode, I have to write 6912 bytes to the LCD every frame. If I go to 2bpp, this doubles to 13824 bytes written to the LCD per frame, as well as extra work required in scrolling the buffer. At an estimate, the game would run at around 12 fps :(

Edit: One thing I have considered doing (which is what you may have been suggesting?) is that each level could have it's own "white" colour to give different levels a different feel. The original Alien Breed games did some palette swapping between levels to achieve this, which I could (and quite possibly will) do :)

Powered by EzPortal