Shop OBEX P1 Docs P2 Docs Learn Events
Project Brimborion — Parallax Forums

Project Brimborion

RemzRemz Posts: 4
edited 2012-01-29 11:10 in Propeller 1
Hi everyone,
it has been a very long time. I have finally decided to put the source code and the current build of my game called "Project Brimborion" (or simply Project B).
The screenshot was taken with my camera directly pointed at the monitor.
ProjectB_24-01-2012.zip
vlcsnap-2012-01-24-23h45m17s96.jpg


And here's a youtube video of the game:
(note: the audio in this movie is a music from youtube: it is not played by the game. There is a music in the game but it is just a very short segment for test purpose)

'Project B' was initially targeted to be released somewhere in december 2010.
Alas the project was put on hold and never advanced from that point on.
So here, I recently decided to package the source code along with the .BIN
so you can try it for yourself on a C3 propeller board. Or use and modify the source code so you can do something better with it!
The game needs a NES adapter with one NES gamepad to be controlled. Also you
need a microSD card.

The graphic engine has the following features:
- 4 cogs used by Graphic Engine, and 1 cog for TV output signal generation
- Full color rendering at 256x192 resolution
- Dual playfield, 8x8 tiles, virtually unlimited map size
- Constant 60 frame per second
- Up to 24 simultaneous sprites
- Pixel-smooth horizontal and vertical scrolling
- Split-screen capability
- Background layer parallax scrolling, over 40 different layers of scrolling
- Multiple animated tile streamed from SRAM
- Seamless horizontal map streaming from SRAM
- Sprite animation streamed from FLASH storage, with on-the-fly horizontal flipping
- Music streamed from SRAM
- Full screen high quality lossless RLE video decompressor, streamed directly from SD card

I hope you'll enjoy it!
Thanks,
Remz

Comments

  • RoadsterRoadster Posts: 209
    edited 2012-01-25 04:12
    Cool, I'll have to made time to check this out
  • RaymanRayman Posts: 14,848
    edited 2012-01-25 06:53
    Very impressive, that's some of the best graphics I've seen with Propeller.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2012-01-25 08:41
    Wow! This is amazing. I'm going to need to make myself a NES adapter for my C3.

    And you uploaded the source?!! Wow, very generous. I hope to learn a lot from this/you.

    Thank you very much!
  • trodosstrodoss Posts: 577
    edited 2012-01-25 08:47
    @Remz,
    Excellent work!
    Thanks for posting your code. I hope to have time to try it soon.
    I'm going to need to make myself a NES adapter for my C3
    @Duane,
    If you want to save yourself some time you can find the NES adapter here: http://www.parallax.com/Store/Accessories/HumanInterfaceDevices/tabid/822/CategoryID/90/List/0/SortField/0/Level/a/ProductID/613/Default.aspx
  • Duane DegnDuane Degn Posts: 10,588
    edited 2012-01-25 08:52
    trodoss wrote: »

    Thanks trodoss. I think it would be worth the $5 not to have to make my own.
  • SONIC the HedgehogSONIC the Hedgehog Posts: 321
    edited 2012-01-25 08:54
    That game looks amazing. I will check it out here soon, and I'm sure I will love it. I really wanted to make my own video generating hardware and program it with the propeller, so I thank you for posting source code, because I'm sure I will learn alot.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2012-01-25 09:14
    @Remz:

    Most excellent! It looks like you've really pushed the C3 to it's capabilities!

    OBC
  • Ahle2Ahle2 Posts: 1,179
    edited 2012-01-25 16:10
    That's definitely the most impressive game made on the Prop!

    I havn't had time to look at the code yet, but by the looks of it I suspect that the background layer is done using "Tile scrolling" / "Character scrolling".
    Foreground layer never have transparanency on sub 8x8 resolution.
    That was common on the PC engine/Turbo Grafx 16 to make games look like they had a secondary layer.
    Even some games on the C64 used that trick; Like Turrican II and Hawkeye.
    I have to restrain myself from making comments about the sound driver....

    /Johnnes
  • JT CookJT Cook Posts: 487
    edited 2012-01-26 17:33
    Looks very cool! I will have to make some time to download it to my C3. Definitely some very nice graphics effects. I remember seeing the RLE video demo a while back, but never saw the game.
  • RemzRemz Posts: 4
    edited 2012-01-26 18:12
    Ahle2 wrote: »
    I havn't had time to look at the code yet, but by the looks of it I suspect that the background layer is done using "Tile scrolling" / "Character scrolling".
    Foreground layer never have transparanency on sub 8x8 resolution.
    That was common on the PC engine/Turbo Grafx 16 to make games look like they had a secondary layer.
    Even some games on the C64 used that trick; Like Turrican II and Hawkeye.
    I have to restrain myself from making comments about the sound driver....
    /Johnnes

    It has been a long time so I looked at the code and I did code the possibility of a tile with 'partial transparency'. But with some later optimization, I had to simplify that to having either a complete 8 pixels stride or either opaque or transparent pixels. No tile in my current tileset uses that feature, but it is possible to use this feature to create half-tiles, or a long slope, or a window slit, etc.
    The background layer is fully drawn and then the foreground layer gets drawn on top of it. And both layer have independent horizontal and vertical scrolling.

    About the sound driver I used: it is funny that you did some amazing sound driver such as the C64 famous SID chip, because I also did try to simulate its sound on a TRS-80 Color Computer 3 for fun a couple of years ago. See here:
    The CoCo 3 have a simple 6809 CPU running at 1.79Mhz with no sound chip and only CPU-driven 1 channel 6-bit sound.

    Anyway have fun looking at the source code, I was trying to use some advanced technique to get the most RAM out of the C3, such as overwriting HUB memory after a COG has been initialized, feasible only for the COGs that will run in assembly the whole time. (Because obviously when running in SPIN, the code is stored in HUB, not inside the COG's internal RAM).
    And I was trying to stream everything possible at runtime from either the SPI-bus SRAM or FLASH, or even the SD card.
    Quite a complex little machine to fully exploit I must admit..

    Thank you all for your comments :)
  • TharkunTharkun Posts: 67
    edited 2012-01-29 11:10
    I finally hooked up an old SNES-controller to my C3 and play Brimborion,
    think i got a new reference game/app for my C3 !!!
    I can't believe that this is just "hobby-coding"

    AMAZING !
Sign In or Register to comment.