Jump to content
IGNORED

2021 Atari Gamer game jam coming up!


Igor

Recommended Posts

1 hour ago, Igor said:

I'm running behind on adding reset, will try and do it soon, we have quite a few weeks still though ?

 

@Ninjabba hope you added pause too ?

Haha is this a feature request?? I might want to provide one more update regardless to correctly cap framerate but I assume I'm still bound to a 32kb limit :P

Link to comment
Share on other sites

18 hours ago, Ninjabba said:

Haha is this a feature request?? I might want to provide one more update regardless to correctly cap framerate but I assume I'm still bound to a 32kb limit :P

Since there are only 6 entries I think this limit can be relaxed for the cart version. I think the largest size that can be loaded is 48K, @karri or @LordKraken or anyone else could you confirm?

Link to comment
Share on other sites

1 hour ago, LordKraken said:

I must admit I don't know, and I'm not particularly motivated to look at the code. @42bs should know since he wrote the LoadPrg function a looong time ago.

 Shouldn't be a problem to try it out though (just plug the bigger file and try ^^).

The actual BLL loader using ComLynx could be place pretty much anywhere. One good spot could be the screen buffer. Then you can load games starting at 0x200 and ending at 0xE018. That is 56865 bytes or 55.5k. This does not really make sense if your game uses double buffering. So we go for 48696 bytes or 47.5k.

But I won't add stuff to Bathman. Next time I hope we skip the size requirement.

  • Like 1
Link to comment
Share on other sites

The problem would not be the BLL loader as Karri says, but the fact the game will not run in RAM if it is too big.

Remember that in RAM, you will get your .o file (game + assets) + screens buffer (so 8, 16 or 24 kb even if collisions buffer is quite never used), and all your variables and array...

 

Link to comment
Share on other sites

I had lots of ideas for Bathman that would have been there if the 32k limit was lifted. Sound effects, different items to fetch for Letitia, steam, reflections from the cauldron, shadows, more jokes.

 

But now I am deep in coding Wizzy. It is a real challange to get stuff to fit in RAM. The story is also taking shape. I write more when I commute on the bus or train. It will be a fun adventure. And this time I use a top-down approach to find out what is important for gameplay first. Code in the animations in order of how much screentime they get. Less time on screen -> simpler animations.

 

Here a close encounter.
Teaser.png.f84fb5eaa0018c9763dab223f12ce3a0.png

  • Like 4
Link to comment
Share on other sites

On 1/14/2022 at 11:26 AM, karri said:

The actual BLL loader using ComLynx could be place pretty much anywhere. One good spot could be the screen buffer. Then you can load games starting at 0x200 and ending at 0xE018. That is 56865 bytes or 55.5k. This does not really make sense if your game uses double buffering. So we go for 48696 bytes or 47.5k.

But I won't add stuff to Bathman. Next time I hope we skip the size requirement.

You could have a one-time picture in the place of the background buffer or init code.

Link to comment
Share on other sites

8 hours ago, 42bs said:

You could have a one-time picture in the place of the background buffer or init code.

What I really wanted to do was to upload the memory from 0200 to BFFF. I have my music, sound effects, buttons and the loader in top memory.

HM_CODE               00A000  00A60E  00060F  00001
HM_RODATA             00A60F  00A636  000028  00001
HM_DATA               00A637  00A63E  000008  00001
HM_BSS                00A63F  00A723  0000E5  00001
SFX_RODATA            00A74A  00A842  0000F9  00001
KEYHANDLER_CODE       00A91D  00AB24  000208  00001
LOADER_CODE           00A91D  00A9A9  00008D  00001
LOADER_RODATA         00A9AA  00A9AA  000001  00001
LOADER_DATA           00A9AB  00A9AD  000003  00001
KEYHANDLER_RODATA     00AB25  00AB25  000001  00001
KEYHANDLER_DATA       00AB26  00AB2A  000005  00001
KEYHANDLER_BSS        00AB2B  00AB6F  000045  00001
BALTI_RODATA          00B000  00B9E9  0009EA  00001

I tried to use Handy Music by including it in the build. And even asked if someone has done it. As it did not work I used Chipper.
For the next year I hope @sage spills the beans. Or I take the time to figure out why code relocation did not work.

 

For cart-based games I do like to put the loader and the keyhandler on overlapping segments. The loader grows all the time as I add more files. Now it has a place to grow.

The keyhandler also created the PAUSE greyscale palette. Plus it handles lots of GUI related stuff.

 

Luckily the loader and the keyboard never need to be in memory at the same time.

 

It is also nice to know that any tune I want to play has 0x1000 bytes space. So I don't have to save bytes while writing music.

 

PS. There is actually 56 unusable bytes at C000 as the 2nd screen starts at C038. For a compilation cart one way could be to assemble the actual loader to end in C037. Then it could jump there to load in the entry chosen by the gamer.

 

For development on a SRAM cart it would also be nice to keep a permanent uploader in high memory for a way to bootstrap the software update process.

Link to comment
Share on other sites

  • 2 weeks later...
On 12/3/2021 at 12:33 AM, Igor said:

Sounds like a great story Karri! Looking forward to trying it out.

I resolved my screen corruption issues, thanks to everyone who chatted to me about it, turns out - DON'T USE 2D ARRAYS IN CC65.

I'm at 16641 bytes now, still need to do animations for enemies, different enemy types, maybe gun/item animations and if there's room after that, some sound!

Not sure if I agree with this statement. I have used 2D arrays extensively and had no issues, other than my own mistakes. 

What happened that caused 2D arrays to corrupt the screen? Why your advice to not use them? 

Link to comment
Share on other sites

On 2/6/2022 at 3:24 AM, LX.NET said:

Not sure if I agree with this statement. I have used 2D arrays extensively and had no issues, other than my own mistakes. 

What happened that caused 2D arrays to corrupt the screen? Why your advice to not use them? 

From what I can see, CC65 (at least the current GitHub version) does not generate correct code for them.

Also, switching to 1D arrays made all my code smaller (and faster).

Edited by Igor
Link to comment
Share on other sites

  • 3 months later...

We were aiming to have this out end of April time frame, but due to postage delays that date was slipped, but now the Lynx Jam 2021 cartridge and boxed version are out and available for purchase! You can get it either from us or Yastuna Games (if you are in EU). Below are the links...

 

https://atarigamer.com/shop/AtariLynxHomebrewGames/5739799835049984
https://yastuna-games.com/en/home/56-78-lynxjam-2021.html

  • Like 1
Link to comment
Share on other sites

  • 8 months later...

I never got around to comment on the "scary" games because of irl crap, so here I go now. Better late than never. ;) 

 

- Krow: Beautiful looking game! Nice to see that Lynx scaling in action!

- Z.A.P. Geat work Igor! Your best made game so far.

- Sorrow. Good start, fun to play!
- Providing good laughs and interesting concepts: Bathman and Black Pit.
- Would love to see the concept in Banana Ghost more fleshed out. Some sort of action/arcade oriented ghostbuster/luigi's mansion kinda game for the Lynx would be fun.

Anyhow great and fun stuff by everyone again! 👏👏👏😊

  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...