Cheung Posted February 27, 2023 Author Share Posted February 27, 2023 (edited) 1 hour ago, Retrospect said: Hey @Cheung I've downloaded the binary image of Warlords of the Rings and later on I'm gonna be having a play with it During my coding break I'll be doing a lot more playing. I'll let ya know how I get on with it. The graphics look awesome. I'm working on my Star Wars shooter now and it is being a pain. I was trying to get the first stage to have an asteroid field where you avoid or shoot the asteroids, when large asteroids are shot, they break off into two smaller ones which can then be destroyed. Needless to say this is asking too much of the TI, if you want to have any where near a decent number (5 large or up to 10 total) of asteroids on screen (too many collisions to detect) and want to be able to have two shots on screen at a time. So I have to rethink my goals for this level. Probably making all asteroids single shot kill, and keeping them in Vertical lanes, therefore reducing the number of collision detections needed. Let me know if you have any tips. Edited February 27, 2023 by Cheung Quote Link to comment Share on other sites More sharing options...
retrodroid Posted February 27, 2023 Share Posted February 27, 2023 2 hours ago, Cheung said: I'm working on my Star Wars shooter now and it is being a pain. I was trying to get the first stage to have an asteroid field where you avoid or shoot the asteroids, when large asteroids are shot, they break off into two smaller ones which can then be destroyed. Needless to say this is asking too much of the TI, if you want to have any where near a decent number (5 large or up to 10 total) of asteroids on screen (too many collisions to detect) and want to be able to have two shots on screen at a time. So I have to rethink my goals for this level. Probably making all asteroids single shot kill, and keeping them in Vertical lanes, therefore reducing the number of collision detections needed. Let me know if you have any tips. Making the leap to pure Assembly Language was a complete game-changer for my project. So many more things become possible on the TI in AL. Maybe it's time for a change? 2 Quote Link to comment Share on other sites More sharing options...
Cheung Posted February 27, 2023 Author Share Posted February 27, 2023 1 hour ago, retrodroid said: Making the leap to pure Assembly Language was a complete game-changer for my project. So many more things become possible on the TI in AL. Maybe it's time for a change? What's the best book on TI assembly programming? One geared towards games would be preferable if it exists. Quote Link to comment Share on other sites More sharing options...
+TheBF Posted February 27, 2023 Share Posted February 27, 2023 1 hour ago, retrodroid said: Making the leap to pure Assembly Language was a complete game-changer for my project. So many more things become possible on the TI in AL. Maybe it's time for a change? OR... If you want a change that includes an Assembler, multi-tasking and lets you keep an interpreter there is always the "F" word language. (sorry, I couldn't resist) 2 Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted February 27, 2023 Share Posted February 27, 2023 6 minutes ago, TheBF said: there is always the "F" word language. Not in polite company, mister! 2 Quote Link to comment Share on other sites More sharing options...
Retrospect Posted February 27, 2023 Share Posted February 27, 2023 5 hours ago, Cheung said: Let me know if you have any tips. If there's lots of sprites it's pretty hard to register a hit really. The game would have to running quite steady in order to register both sprite collisions with player missile, and detect and sprites that leaving the screen's edges (if that's an issue, really with asteroids/meteors we could allow those to wrap?) 1 Quote Link to comment Share on other sites More sharing options...
retrodroid Posted February 27, 2023 Share Posted February 27, 2023 2 hours ago, Cheung said: What's the best book on TI assembly programming? One geared towards games would be preferable if it exists. I'm sure others with more experience on the matter will have suggestions, this is the one I've used: Plus the examples in the first 10 pages or so of the ...thread. I've also found these webpages very handy and informative: https://www.unige.ch/medecine/nouspikel/ti99/architec.htm https://www.unige.ch/medecine/nouspikel/ti99/assembly.htm 6 Quote Link to comment Share on other sites More sharing options...
Retrospect Posted February 28, 2023 Share Posted February 28, 2023 @Cheung I played Warlords, great game. I won the round which is surprising as I kept hitting the ball backwards into my own space lol The title screen is very impressive too. 1 Quote Link to comment Share on other sites More sharing options...
Cheung Posted February 28, 2023 Author Share Posted February 28, 2023 (edited) 10 hours ago, Retrospect said: @Cheung I played Warlords, great game. I won the round which is surprising as I kept hitting the ball backwards into my own space lol The title screen is very impressive too. Thanks, I was thinking about updating it to give it an elimination option, so that after you defeat the first round of opponents, you go on to the next round until you've defeated them all. Edited February 28, 2023 by Cheung 1 Quote Link to comment Share on other sites More sharing options...
Cheung Posted February 28, 2023 Author Share Posted February 28, 2023 (edited) 17 hours ago, Retrospect said: If there's lots of sprites it's pretty hard to register a hit really. The game would have to running quite steady in order to register both sprite collisions with player missile, and detect and sprites that leaving the screen's edges (if that's an issue, really with asteroids/meteors we could allow those to wrap?) Yeah, I decided to let them wrap. They get a delayed return if you destroy them and their speed and size is random. I call CALL COINC(ALL,R) Once during the game loop and if it returns a hit, I then do CALL COINC(#LANE,#LASER,20,R) For the two lasers and then finally CALL COINC(#LANE,#SHIP,20,R) The lane is determined by the X position of the ship and lasers. This was a lot faster than checking for the ALL COINC and cycling through all the asteroids against the two lasers and one ship. I also skip the CALL COINC if that LANE's asteroid isn't alive. This helped a lot, but still not quite where I want it. Might have to go down to a single laser...or cut down on the animations. Edited February 28, 2023 by Cheung 1 Quote Link to comment Share on other sites More sharing options...
Retrospect Posted March 1, 2023 Share Posted March 1, 2023 8 hours ago, Cheung said: This was a lot faster than checking for the ALL COINC and cycling through all the asteroids against the two lasers and one ship. 100 percent correct. I did a similar approach in one of my games / experiments where it called an initial COINC(ALL) and THEN and only then, checked a quick loop to see which sprite had hit. 1 Quote Link to comment Share on other sites More sharing options...
Retrospect Posted March 1, 2023 Share Posted March 1, 2023 8 hours ago, Cheung said: I also skip the CALL COINC if that LANE's asteroid isn't alive. Another good method. 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.