ZippyRedPlumber Posted April 21, 2023 Share Posted April 21, 2023 I've just held the major release event known as "Lyra-Mania Day" in the batari basic forums. In it I released 2 games that were completed. I also wanted to show off the newest build of Lyra 7800. Includes Roms, GFX & Source Code. lyra7800.zip I'd like to say that it is roughly 70% complete. The game has an ending unlike it's 2600 counterpart, once you beat the game. It takes you straight to the title now sporting a you win message. same thing when you lose the game. The title sports a game over message instead. KNOWN BUGS: When beating the game, it soft-locks you to the title. Screen goes pink if joy0fire1's been pressed a lot. Can anyone fix this? To-do: Intermission screen saying "Most Radical!" Having trouble trying to implement it without screwing up the loadlevel subroutine Add Tia-Tracker Music for the title. 6 Quote Link to comment Share on other sites More sharing options...
gambler172 Posted April 22, 2023 Share Posted April 22, 2023 At the moment...a little bit too easy. There could be more enemies. Quote Link to comment Share on other sites More sharing options...
ZippyOasys Posted November 10, 2023 Share Posted November 10, 2023 (edited) Hi all, ZippyRedPlumber here. After what feels a year of working consistently on the game. I'm glad to announce that it's 90% done. Roms are below. What's new in this build? 2 Game Modes; Arcade & 7800. Arcade mode plays as you expected 5 stages of score hunting fun looped endlessly. 7800 mode is different, you get to play 30 stages & has an ending! A third enemy has been added for harder difficulty & adjustments made to the two enemies' speeds . TiaTracker & RMT added simultaneously for the title screen & main game loops respectfully. I want to show off that the 7800 can pull off wonderful tunes with both audio chips. I want to make the player stop moving when ducking how can I do this? I'm also trying to make the game "couch compliant" so I'm experimenting with a menu system. So far it's semi-couch compliant as the difficulty switches picks the game modes. lyra_rev3_1_pk_2023y_11m_01_0200t.78b.a78 lyra_rev3_1_pk_2023y_11m_01_0200t.78b.bin Edited November 11, 2023 by ZippyOasys 1 Quote Link to comment Share on other sites More sharing options...
+Muddyfunster Posted November 10, 2023 Share Posted November 10, 2023 You might want to post the .a78 file so folks can use it easily with emulators and multicarts. Quote Link to comment Share on other sites More sharing options...
ZippyOasys Posted November 11, 2023 Share Posted November 11, 2023 (edited) 8 hours ago, Muddyfunster said: You might want to post the .a78 file so folks can use it easily with emulators and multicarts. @Muddyfunster I thought I did... So here's the a78 file: lyra_rev3_1_pk_2023y_11m_01_0200t.78b.a78 Edited November 11, 2023 by ZippyOasys 2 Quote Link to comment Share on other sites More sharing options...
ZippyOasys Posted November 15, 2023 Share Posted November 15, 2023 (edited) I got some good news & some bad news, lets start with the good news. I've got a "Couch-Compliant" menu working. The bad news, compiling it gives me tons of errors Can anyone take a look at my code & see what I did wrong? Lyra the Tenrec Couch Compliant Edition.zip Edited November 15, 2023 by ZippyOasys Quote Link to comment Share on other sites More sharing options...
+Karl G Posted November 15, 2023 Share Posted November 15, 2023 What errors are you getting? Quote Link to comment Share on other sites More sharing options...
ZippyOasys Posted November 16, 2023 Share Posted November 16, 2023 23 hours ago, Karl G said: What errors are you getting? @Karl G Quote Verifying compiler files exist... Starting build of lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b... 7800basic v0.32 Nov 5 2023 06:39:07 *** (): INFO, GFX Block #0 starts @ $A000 tileset_ramchars scoredigits_8_wide walk_left_bottom walk_left_bottom2 walk_right_bottom walk_right_bottom2 walk_left_top walk_right_top fire_jump eyeborg gem noheart oneheart twoheart threeheart fourheart fiveheart sixheart ts_lyra1 ts_lyra2 ts_lyra3 *** (): INFO, GFX block #0 has 288 bytes left (18 x 16 bytes) *** (): INFO, DMA hole #0 starts @ $B000 no code defined for DMA hole *** (): INFO, GFX Block #1 starts @ $C000 ts_lyra4 ts_lyra5 ts_lyra6 gameover rad rad2 rad3 are *** (): INFO, GFX block #1 has 0 bytes left (0 x 16 bytes) *** (): INFO, DMA hole #1 starts @ $D000 no code defined for DMA hole *** (): INFO, GFX Block #2 starts @ $E000 end1 end2 couch couch1 couch2 couch3 couch4 *** (): INFO, GFX block #2 has 512 bytes left (32 x 16 bytes) 7800basic compilation complete. User-defined 7800.asm found in current directory --- Unresolved Symbol List included.lzsa1compression.asm 0000 ???? (R ) VSCROLL 0000 ???? (R ) PLOTSP4 0000 ???? (R ) lzsa1support 0000 ???? (R ) goto 0000 ???? (R ) plotsprite4.asm 0000 ???? (R ) lzsa1compression.asm 0000 ???? (R ) ___skip_speed_increase 0000 ???? (R ) PAUSESILENT 0000 ???? (R ) 0.0 0000 ???? (R ) included.plotsprite4.asm 0000 ???? (R ) then 0000 ???? (R ) stack allowance: 21 nested subroutines. the canary is situated at: $1d3 Music player size: $de Track size: $616 2630 bytes of ROM space left in the main area. (rmtplayer module is using 2070 bytes of rom) (rmtplayer module is using 172 bytes of ram) (pokeysound module is using 60 bytes of rom) $1880 to $1fff used as zone memory, allowing 27 display objects per zone. 384 bytes left in the 7800basic reserved area. c:\7800basic-0.24-win-x64\7800basic\samples\ramcharmap\lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b.asm (3992): error: Syntax Error ''. c:\7800basic-0.24-win-x64\7800basic\samples\ramcharmap\lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b.asm (3992): error: Illegal Addressing mode 'lda ='. c:\7800basic-0.24-win-x64\7800basic\samples\ramcharmap\lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b.asm (3996): error: Syntax Error '#1.0'. c:\7800basic-0.24-win-x64\7800basic\samples\ramcharmap\lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b.asm (4131): error: Syntax Error ''. c:\7800basic-0.24-win-x64\7800basic\samples\ramcharmap\lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b.asm (4131): error: Illegal Addressing mode 'lda ='. c:\7800basic-0.24-win-x64\7800basic\samples\ramcharmap\lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b.asm (4135): error: Syntax Error '#1.0'. c:\7800basic-0.24-win-x64\7800basic\samples\ramcharmap\lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b.asm (4252): error: Syntax Error ''. c:\7800basic-0.24-win-x64\7800basic\samples\ramcharmap\lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b.asm (4252): error: Illegal Addressing mode 'lda ='. c:\7800basic-0.24-win-x64\7800basic\samples\ramcharmap\lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b.asm (4256): error: Syntax Error '#1.0'. c:\7800basic-0.24-win-x64\7800basic\samples\ramcharmap\lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b.asm (4396): error: Syntax Error ''. c:\7800basic-0.24-win-x64\7800basic\samples\ramcharmap\lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b.asm (4396): error: Illegal Addressing mode 'lda ='. c:\7800basic-0.24-win-x64\7800basic\samples\ramcharmap\lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b.asm (4400): error: Syntax Error '#1.0'. c:\7800basic-0.24-win-x64\7800basic\samples\ramcharmap\lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b.asm (6538): error: Syntax Error ''. c:\7800basic-0.24-win-x64\7800basic\samples\ramcharmap\lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b.asm (6538): error: Illegal Addressing mode 'lda ='. c:\7800basic-0.24-win-x64\7800basic\samples\ramcharmap\lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b.asm (6561): error: Syntax Error ''. c:\7800basic-0.24-win-x64\7800basic\samples\ramcharmap\lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b.asm (6561): error: Illegal Addressing mode 'lda ='. Fatal assembly error: Source is not resolvable. Cartridge size not a multiple of 4K bytes! 7800header 0.21 Nov 5 2023 06:39:16 *** WARNING: The file size of c:\7800basic-0.24-win-x64\7800basic\samples\ramcharmap\lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b.bin isn't correct. opened parameter file a78info.cfg The ROM 'c:\7800basic-0.24-win-x64\7800basic\samples\ramcharmap\lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b.bin' is compatible with CC2. 7800makecc2 v0.1 Exit code: 1 Cleaning up files generated during compilation... Quote Link to comment Share on other sites More sharing options...
+Karl G Posted November 16, 2023 Share Posted November 16, 2023 When the errors are on the assembly side like in this case, it often helps to open the generated .asm file (lyra_rev3_1_pk_couch_2023y_11m_14_0710t.78b.asm in your case) and go to the indicated line(s). Often you can figure out the issue with your 7800basic source looking at the generated assembly. Often the basic source is in comments above the assembly lines, and variable names are the same as yours, so you can see what's going on even without knowing assembly. 2 Quote Link to comment Share on other sites More sharing options...
ZippyOasys Posted November 24, 2023 Share Posted November 24, 2023 So thoughts on my game so far? Was the choice of Pokey music good? Quote Link to comment Share on other sites More sharing options...
+saxmeister Posted November 26, 2023 Share Posted November 26, 2023 I just tried it out. There appear to be issues with jumping on platforms since it seems the character can "land" in the pixels in between. And, when jumping, I can't quite get to the third level since the character can't jump quite high enough without being caught in the pixels between the top and the bottom of the platforms. Plus, the "seeker" enemy that actively tracks the character down seems to be just a bit too fast and accurate. Looks great, thought. Can the "coins" be a different color than the platforms so they stand out more? 2 Quote Link to comment Share on other sites More sharing options...
Mord Posted November 26, 2023 Share Posted November 26, 2023 Not seeing an answer about the compiling issue, so going to assume it wasn't debugged yet? The problem is being caused in the complex if/then statements you have in I believe 7 places in the code that are mixing && and || conditions. As per the 7800 guide, you can have multiple &&'s or a single || in an if/then statement, but you can't mix them together. I made the below changes to each of the lines and it would at least compile. (Not sure if it's doing the right thing mind you - you may need to add goto after the first if so it'll skip over the second one in cases where both would trigger to effectively simulate an ||. To find all the places quickly, just do a search/find on "||" so you can check all the places you're using an or statement. ; if sc1>=75 && sc2>=00 && sc3>=00 || Menu_Option=$04 && Menu_Option=$03 then goto ___skip_speed_increase if sc1>=75 && sc2>=00 && sc3>=00 then goto ___skip_speed_increase if Menu_Option=$04 && Menu_Option=$03 then goto ___skip_speed_increase 2 Quote Link to comment Share on other sites More sharing options...
ZippyOasys Posted November 29, 2023 Share Posted November 29, 2023 On 11/25/2023 at 11:45 PM, saxmeister said: I just tried it out. There appear to be issues with jumping on platforms since it seems the character can "land" in the pixels in between. And, when jumping, I can't quite get to the third level since the character can't jump quite high enough without being caught in the pixels between the top and the bottom of the platforms. Plus, the "seeker" enemy that actively tracks the character down seems to be just a bit too fast and accurate. Looks great, thought. Can the "coins" be a different color than the platforms so they stand out more? @saxmeister What's more important right now is the choice of POKEY music. Do you like it? I don't know what can be done with that, it's the best way to make semi-solid platform collisions for now. Is there a better example of platform collision? I'll try to adjust the speed of the "seeker" Eyeborg. Firstly, there not "coins" they're gems lol. Second, I'll see what I can do to distinguish gems & platforms. Quote Link to comment Share on other sites More sharing options...
+saxmeister Posted November 30, 2023 Share Posted November 30, 2023 I had to play it with the sound off last time I tried. I just tried with the sound all the way up. Very nice!!!! Making the old POKEY sound so good. 1 Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted December 8, 2023 Share Posted December 8, 2023 ZeroPage Homebrew is playing Lyra The Tenrec on tomorrow's ZPH stream LIVE on Twitch! Hope you can join us in the chat! Fri Dec 8, 2023 | 12PM PT | 3PM ET | 8PM GMT WATCH LIVE: https://www.twitch.tv/zeropagehomebrew/ WATCH LATER: https://youtube.com/zeropagehomebrew/ Games: Knight Guy - In Another Castle (WIP Update | 7800) by Vladimir Zuñiga @vhzc Lyra The Tenrec (WIP | 7800) by ZippyOasys @ZippyOasys StoneAge (WIP Update | 7800) by Anthony Quinlan @TwentySixHundred / Konstantinos Giamalidis @TIX (Graphics) 1 Quote Link to comment Share on other sites More sharing options...
ZippyOasys Posted December 10, 2023 Share Posted December 10, 2023 @saxmeister Here's my rough platform collision code. It's a primitive way. But it kinda got the job done. Feel free to make some improvments to the code. Quote rem ** see what character is underneath the hero... rem ** convert sprite coordinates to character coordinates... mytemp1=(herox+4)/8 ; rem 16 is our zoneheight mytemp2=heroy/16 ; rem 8 is 160A character width, but x2 for doublewide mytemp2=mytemp2+1 ; rem the block under our feet rem ** ... then make sure we don't try to read/write rem ** off-screen memory... if mytemp1>19 || mytemp2>11 then goto falling rem ** ...then read the character! herochar=peekchar(screendata,mytemp1,mytemp2,20,12) rem ** check if hero is on a block... if herochar=2 then pokechar screendata mytemp1 mytemp2 20 12 2 rem ** check if hero is on a gem if herochar=6 then pokechar screendata mytemp1 mytemp2 20 12 0:herochar=0:score0=score0+25:ssc1=ssc1-1:playsfx sfx_advpickup jumping ;Fire button (jump) section. ;Skips this section if fire button is not pressed. if !joy0fire1 then _Jump_Gravity_Counter=0:_FireB_Restrainer=0:goto __Skip_Jump ;Skips jump if player is falling. if _Fall_in_Progress then goto __Skip_Jump ;Skips jump if fire button restrainer is on and jump and ;all are not happening. Fixes it so the player can't hold ;down the fire button to jump repeatedly. if _FireB_Restrainer && !_Fall_in_Progress && !_Jump_Gravity_Counter then goto __Skip_Jump if !_Jump_Gravity_Counter then playsfx sfx_pitfalljump ;Turns on restrainer for fire button. _FireB_Restrainer=1 _Jump_Gravity_Counter=_Jump_Gravity_Counter+1 if _Jump_Gravity_Counter>12 then _Jump_Gravity_Counter=0:_Fall_in_Progress=1:goto __Skip_Jump if heroy<13 then goto __Skip_Jump if _Jump_Gravity_Counter<=7 then antigravity=5 if _Jump_Gravity_Counter>7 && _Jump_Gravity_Counter<=10 then antigravity=3 if _Jump_Gravity_Counter>10 then antigravity=1 heroy=heroy-antigravity __Skip_Jump falling ;Fall down section. ;Skips section if player is jumping. if _Jump_Gravity_Counter then goto __Skip_Fall_01 ;Skips section if player is on the ground. if herochar>0 then goto __Skip_Fall_01 : rem check if character is blank _Fall_Gravity_Counter=_Fall_Gravity_Counter+1 ;Fake gravity fall (speed keeps increasing during a fall). gravity=0 if _Fall_Gravity_Counter> 8 && _Jump_Gravity_Counter<=16 then gravity=1 if _Fall_Gravity_Counter>16 && _Jump_Gravity_Counter<=24 then gravity=2 if _Fall_Gravity_Counter>24 && _Jump_Gravity_Counter<=32 then gravity=3 if _Fall_Gravity_Counter>32 then gravity=4 ;Moves player1 down the screen. heroy=heroy+gravity ;Lets the program know a fall is in progress. _Fall_in_Progress=1 goto __Skip_Fall_02 __Skip_Fall_01 ;Not falling. Clears related variables. _Fall_in_Progress=0:_Fall_Gravity_Counter=0 __Skip_Fall_02 1 Quote Link to comment Share on other sites More sharing options...
ZippyOasys Posted December 12, 2023 Share Posted December 12, 2023 So, I just saw @ZeroPage Homebrew's stream of my game. To say I was a little hurt from criticism would be an understatement. I'm currently working on a new version that fixed the following The background color is now separate from the gem colors (Now less pink!) Adjusts Player Speed Balance the difficulty (Eyeborgs get faster over the course the game) Tweaked the level designs just a bit I'm in the process of trying to fix the ending bug. Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted December 12, 2023 Share Posted December 12, 2023 2 hours ago, ZippyOasys said: So, I just saw @ZeroPage Homebrew's stream of my game. To say I was a little hurt from criticism would be an understatement. Sorry to hear that! Our aim on ZPH is to give constructive feedback that devs can take into consideration. We're not a drama channel and we don't seek to put down the work of others, we want to celebrate homebrew games and help make them the most fun they can be based on the creator's concept. Making games is a challenging endeavour and we always strive to come up with ideas and suggestions that can help them towards their goal. Games are art, and art is subjective. If you disagree with the direction of our feedback I can completely understand as we might not be aligned with what you set out to do with your game. I always find that giving & receiving critical feedback can be helpful and if it came off as dismissive of your game, it's not what we intended. I love platformers and every new platform game put out for a system I love is a gift. Based on your above updates it sounds like you took some of our suggestions onboard, but don't feel pressure to change the direction of your vision as we're only one voice amongst many that will play your game. We're not the authority of what makes a good game, we're just some people who like Atari games. 🙂 Keep up the great work! - James 8 Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted December 12, 2023 Share Posted December 12, 2023 2 hours ago, ZippyOasys said: So, I just saw @ZeroPage Homebrew's stream of my game. To say I was a little hurt from criticism would be an understatement. What exactly did hurt you? I think it would help to discuss the points, so that we understand each other. IMO constructive criticism is something good. Sometimes it might hurt a bit, but it can only make one better. 6 Quote Link to comment Share on other sites More sharing options...
ZippyOasys Posted December 12, 2023 Share Posted December 12, 2023 (edited) 3 hours ago, Thomas Jentzsch said: What exactly did hurt you? I think it would help to discuss the points, so that we understand each other. IMO constructive criticism is something good. Sometimes it might hurt a bit, but it can only make one better. One chat member said something along the lines of "you mean 10% is 99% finished?" or something like that. It wasn't constructive at all. But I did take their ideas to heart & am working a better version of the Lyra game. I just now fixed the ending bug by making the title screen double as an ending with the ending texts. Now to deal with the elephant in the room, which is the jank platform collisions. In short to paraphrase Johnny Depp, “Really, worst film you ever saw? Well, my next one will be better!” Edited December 12, 2023 by ZippyOasys Added the Ed Wood quote. Removed colorful language. Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted December 12, 2023 Share Posted December 12, 2023 24 minutes ago, ZippyOasys said: One chat member said something along the lines of "you mean 10% is 99% finished?" or something like that. It wasn't constructive at all. The dude was being an asshole. I looked it up: rc7e said: "The last 10% is 99% of the work". Even if it is a little exaggerated, this is not a criticism, but a generally accepted, true statement. Besides that I found nothing from him regarding your game. Maybe you just misunderstood him here? 1 Quote Link to comment Share on other sites More sharing options...
ZippyOasys Posted December 12, 2023 Share Posted December 12, 2023 19 minutes ago, Thomas Jentzsch said: Maybe you just misunderstood him here? Maybe I have... Quote Link to comment Share on other sites More sharing options...
+littaum Posted December 12, 2023 Share Posted December 12, 2023 As Thomas indicated, the chat commenter may have been referring to the 90 / 10 rule: 90% of the work needed to finish your project will take a mere 10% of the time. But that final 10% push to reach the end? It will eat up 90% of your timeline. https://www.volersystems.com/blog/project-management/228-why-the-last-10-takes-90-of-the-time#:~:text=So%2C what is the 90,up 90% of your timeline! I honestly wouldn't read too much into that chat comment. ZPH did play the game for over half an hour when they weren't talking about programming in Logo . If they didn't like the game the playtime would have been much shorter (as evidenced by their recent Atari Jaguar commercial release playthrough -- not all games got played to their allotted time). Lyra the Tenrec looked pretty neat. The mechanics reminded me a lot of the original Mario Brothers, which is a game I loved. As the developer, you can take people's suggestions if they sound good to you, and reject them if you don't like them - you are under no obligation to fulfill everyone's wish lists, which at some times can be contradictory. 5 Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted December 13, 2023 Share Posted December 13, 2023 3 hours ago, ZippyOasys said: One chat member said something along the lines of "you mean 10% is 99% finished?" or something like that. It wasn't constructive at all. Glad to hear it wasn't one of the ZPH crew that said something to upset you! We try to be on our best behaviour. 😉 3 hours ago, ZippyOasys said: One chat member said something along the lines of "you mean 10% is 99% finished?" or something like that. It wasn't constructive at all. 3 hours ago, Thomas Jentzsch said: I looked it up: rc7e said: "The last 10% is 99% of the work". Like the others said above, it's an extremely common phrase associated with artistic endeavours including filmmaking, music and especially videogame creation. Another common saying along those lines is "Art is never finished, only abandoned" implying that artists are never happy with their final product as they're always striving for perfection that will never be reached. 🙂 Keep on going with Lyra The Tenrec and I'm looking forward to your updates to the game in the future! - James 8 Quote Link to comment Share on other sites More sharing options...
KrunchyTC Posted December 13, 2023 Share Posted December 13, 2023 I hope this won't be your last 7800 game, I love games with cute animal characters! And I hope to see you become more ambitious with future titles! 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.