+SpiceWare Posted February 25, 2008 Share Posted February 25, 2008 espire8 came up with some MM sequel ideas over the holidays. I was to busy with Stay Frosty to look into them at the time. Quote Link to comment Share on other sites More sharing options...
supercat Posted February 26, 2008 Share Posted February 26, 2008 espire8 came up with some MM sequel ideas over the holidays. I was to busy with Stay Frosty to look into them at the time. My idea would be to have the two paddles for each side be at different Y positions. This would introduce some strategy as to which ball should be targeted by the upper or lower paddle. Still, one ingredient I rather like here is the idea of having the paddles be in front of the corresponding knights which are the actual targets. A player who saw the enemy about to break through could try to get his knight out of the way, but would leave his castle undefended in the area near the ball. Not sure how well that would work out in practice. If the ball ricochets between the back wall and the bricks, any knight back there would be pretty much dead and the breakthrough itself might was well represent the 'win'. If it doesn't ricochet, then it may be too easy for a player to dodge the enemy. Perhaps the knights could move side-to-side on a 'sidewalk'; a missile that hits the sidewalk will knock a hole in it. Knights would be able to jump over small holes, but adjacent hits would produce an obstacle which would block movement of both the knight and his paddle. Quote Link to comment Share on other sites More sharing options...
+Nathan Strum Posted February 26, 2008 Share Posted February 26, 2008 Paddles support added! All credits to SpiceWare And no graphic lost! Also, recoded score code, and now this game get a downgrade to 2k Is hard to test this version, I'll try to do some AI, soon. - Added Paddles support (both players), Tnx to SpiceWare. - Some codes changes - now it's 2k Nice! How about animated paddles? Also, will you be putting 'english' on the paddles, so you can change the direction that the ball is returned? I have others ideas, "Super" means new things, for exemple the "Blind Mode"!When ball cross the middle, it vanish, and you need figure where the ball is, you can see more or less if take attention in middle line, this is the reason of that bright, what you think? I like that idea! There are quite a few variations you could do: Blinking ball - in addition to blind mode, the ball could blink on and off throughout the game Morphing paddles - the paddles would continually change shape, and affect how the ball gets returned (could also be controlled by the player's button) - admittedly, this sort of thing could push the game over 4K Marching paddles - as a volley continues, the players' paddles gradually move towards each other, giving less reaction time Sticky paddles - can catch and fire the ball, but rather than just serving at normal speed, ball gets fired at super-speed Super-english - not only would applying english to the paddles change the ball's direction off the paddle, it would actually cause its trajectory to curve in mid-air Quote Link to comment Share on other sites More sharing options...
Devin Posted February 26, 2008 Share Posted February 26, 2008 (edited) About ideas, The missile was used for middle line, ok, can be removed, but kernal had now 4 cicles left...I have others ideas, "Super" means new things, for exemple the "Blind Mode"! When ball cross the middle, it vanish, and you need figure where the ball is, you can see more or less if take attention in middle line, this is the reason of that bright, what you think? Ah.I got it. Edited February 26, 2008 by Devin Quote Link to comment Share on other sites More sharing options...
LS_Dracon Posted February 26, 2008 Author Share Posted February 26, 2008 (edited) New version! - Blind Mode only - Dummy (invencible) artificial inteligence, for play test pourpose only. - Lack sound for this effect. - No variable for switch modes yet. Nice! How about animated paddles? Sorry Nathan, not possible, the current sprite code need more than 350 bytes for a single frame, this means 3 frames = 1 kb This game in 2 kb is a kind of challenge for me. And about your ideas, the Sticky paddles is a good one, I think in one mode, after 4 or 5 hits the ball increase to very fast speed, I'll try both ideas. And the ball get a yellowish color effect, like blazing, sounds good? Edited July 30, 2013 by LS_Dracon Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted February 27, 2008 Share Posted February 27, 2008 (edited) The animated paddles could be done using a mask - it would require the current "350 byte" image to have #%11111111 replace the current image, then you would store each Frame w/out having to worry about extra 0 padding. The kernel code would change to: lda (P0graphicPtr),y and (P0maskPtr),y sta GRP0 lda (P0colorPtr),y sta COLUP0 Only problem is you're then looking at 6 extra cycles per paddle (the and(),y is normally 5 but we know it will occasionally cross the page) and there's not much chance of freeing up 12 more cycles in your single line KERNEL. Edited February 27, 2008 by SpiceWare Quote Link to comment Share on other sites More sharing options...
LS_Dracon Posted February 27, 2008 Author Share Posted February 27, 2008 Anyway, this is a good trick for my future projects Quote Link to comment Share on other sites More sharing options...
supercat Posted February 27, 2008 Share Posted February 27, 2008 (edited) Only problem is you're then looking at 6 extra cycles per paddle (the and(),y is normally 5 but we know it will occasionally cross the page) and there's not much chance of freeing up 12 more cycles in your single line KERNEL. Two major keys to single-line kernels: Subdivide the screen into zones, such that there will be at least one relatively vacant zone between filled zones. In the somewhat-vacant zone, there will be time for decision-making. In the filled zone there won't be any need for decision-making. In an early version of Toyshop Trouble, the player sprite had 15 bytes of zero padding above and below; zones were 16 lines high. In the area between rows of toys, I had enough time to decide whether the player would be within the zone below and set up a pointer to either point to the player shape (with appropriate offset) or at 16 blank bytes. In the last scan line of the 'easy' zone, I set up that pointer for the next 'easy zone'. In a later version, I had far too many elf shapes (26 of them!) to make that technique practical. Consequently, I used two 16-byte buffers to hold the elf shape in the only easy zone and the only hard zone in which it appeared. The decision logic thus set the pointer for each shape to either the RAM buffer or 16 bytes of zeros. Alternatively, I could have used two versions of my toy kernel--one which showed the player shape and one which did not. Unroll the kernel, and de-interleave the graphics data. This technique is used in E.T. and in the Stella's Stocking menu. A 2x interleave can easily save five cycles every other scan line; a 4x interleave can save 15 cycles every four scan lines. Done properly, this approach may still allow single-line motion. Further, thanks to VDELBL, a two-line update interval for the ball may still result in single-line motion of that object. Incidentally, this technique has another bonus: since an object that would have taken e.g. 16 bytes in one page will now take 8 or 4 bytes in each of two or four pages, it's much easier to eliminate page crossings on data fetches. For example, using maskdraw on a 192-line screen with 4x unrolling, you could avoid page crossings if you avoid putting objects in the first or last 48 bytes of a page (that leaves 160 bytes/page for objects). In SuperPong, if you use 'ordinary' paddles, it will be possible to divide the screen into at most five zones. The code for a zone where both paddles are drawn might be something like: not_bothpaddle_zone_end: lda (bothzoneptr0),y sta GRP0 lda (bothzoneptr1),y sta GRP1 ... iny cpy zone_end bne not_bothpaddle_zone_end rts The "rts" instruction would take the code to the next zone (the stack would be set up before starting the kernel). Since the zone before the 'both paddles' zone and the zone after will each have at most one paddle, there will be time to 'absorb' the six cycles of the RTS. Edited February 27, 2008 by supercat Quote Link to comment Share on other sites More sharing options...
mos6507 Posted February 27, 2008 Share Posted February 27, 2008 espire8 came up with some MM sequel ideas over the holidays. I was to busy with Stay Frosty to look into them at the time. I'd like to see the dragon be used as more of the core part of the gameplay. Maybe being able to control or ride it. Quote Link to comment Share on other sites More sharing options...
LS_Dracon Posted February 29, 2008 Author Share Posted February 29, 2008 (edited) What's new: - Added console switch support - Reset and Game Select. - Select "GAME A" to play normal "Tennis for Two", or "GAME B" to play in Blind Mode - Then press paddle button to start (left mouse button, if you play in emulator) - Added sound efect for Blind Mode, and others small fixes. - Changes in players size - Artificial inteligence still invencible. S_Tf2_SWCHB.bin Edited February 29, 2008 by LS_Dracon Quote Link to comment Share on other sites More sharing options...
supercat Posted February 29, 2008 Share Posted February 29, 2008 Is the paddle button read at INPT4 and 5? The two paddle buttons for each controller are read as the "left" and "right" joystick inputs for that controller. Quote Link to comment Share on other sites More sharing options...
LS_Dracon Posted February 29, 2008 Author Share Posted February 29, 2008 Tnx Supercat. Ok, fixed paddle button, and edited my previous post with new bin. There a small bug, sometimes score start with 1 point, I'll fix it soon. Quote Link to comment Share on other sites More sharing options...
+LS650 Posted March 29, 2008 Share Posted March 29, 2008 Atari is extremely aggressive to protect the trademark on Pong. ... Perhaps it might be wise to rename it - "Ping"? How about "Super Pawng"? Quote Link to comment Share on other sites More sharing options...
LS_Dracon Posted July 17, 2013 Author Share Posted July 17, 2013 (edited) Wow the last update was in 2008. What a shame! How about "Super Pawng"? I'll keep with Super Pong, This is a non-profit project an I hope "Atari" understand it. BTW who is the Pong owner? I mean, the Atari arcade games was owned by Midway, they went bankrupt in 2009 or so... (searching) It seems Midway and his intellectual property (such Pong) now belongs to Warner Bros. Well here's a new version, I was testing new codes and decided to update this little project: 1 - New score engine, based on Combat code, you need 21 points to win. 2 - New title logo and game mode fonts 3 - Some code optimizations. The dumb AI is just a placeholder, I still need to code a good AI for this game. Press select switch to select games modes, Type A = normal game, Type B = blind mode and paddle button to start. On emulators, you must set "Paddle" as controllers. Edit : Forget to say, the sprite animation was removed but I have plans to add it again. Edited July 25, 2013 by LS_Dracon 2 Quote Link to comment Share on other sites More sharing options...
TrekMD Posted July 18, 2013 Share Posted July 18, 2013 Wow, glad you decided to come back to this! Looks nice! Quote Link to comment Share on other sites More sharing options...
BrianC Posted July 19, 2013 Share Posted July 19, 2013 (edited) No, Midway only had the rights to the post crash "Atari Games" arcade games (there was a legal battle over this and Midway lost the rights to the older Atari games). All of the arcade games before then went to infogrames (which is now called Atari). However, "infoatari" has had finacial issues as of late, though they were the current owers of pong if they aren't anymore. Pong definitely didn't go to Warner Bros since Midway didn't own the rights to it when they shut down. Edit: Looks like the current "Atari" still owns the rights to Pong since they are still selling the iOS Greatest Hits app and have a new game called Pong World. Edited July 19, 2013 by BrianC Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted July 19, 2013 Share Posted July 19, 2013 What? No votes for "Super Bong"? 3 Quote Link to comment Share on other sites More sharing options...
LS_Dracon Posted July 19, 2013 Author Share Posted July 19, 2013 (edited) Wow, glad you decided to come back to this! Looks nice! Thanks! No, Midway only had the rights to the post crash "Atari Games" arcade games (there was a legal battle over this and Midway lost the rights to the older Atari games). All of the arcade games before then went to infogrames (which is now called Atari). However, "infoatari" has had finacial issues as of late, though they were the current owers of pong if they aren't anymore. Pong definitely didn't go to Warner Bros since Midway didn't own the rights to it when they shut down. Edit: Looks like the current "Atari" still owns the rights to Pong since they are still selling the iOS Greatest Hits app and have a new game called Pong World. Really sad what happens with the Atari brand until today. What? No votes for "Super Bong"? Hehe, let me wait for the C&D letter from Infogames first. Edited July 19, 2013 by LS_Dracon Quote Link to comment Share on other sites More sharing options...
LS_Dracon Posted July 24, 2013 Author Share Posted July 24, 2013 (edited) New version, what's new: -Color cycling on the score once the game ends (game over) -Ball's horizontal speed increase every 7 hits, there's no limit of how fast it can be, I'll leave it for fun purpose, next demo I'll fix a speed limit. After 44 hits the game crashes, who can do it? Invincible cpu AI just to test the new horizontal speed changes. Next version I'll try to implement AI (finally) and fix bugs. Actually I'm already working on AI but was disabled for now. I'm aware of the bug where ball get crazy sometimes (rolling vertically), I need to figure why it's happens, very difficult to track. Edited July 25, 2013 by LS_Dracon 1 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted July 24, 2013 Share Posted July 24, 2013 Any chance you'll take this to the next level and go interlaced? http://www.atariage.com/news/Interlacing/ Quote Link to comment Share on other sites More sharing options...
yllawwally Posted July 24, 2013 Share Posted July 24, 2013 Doesn't interlacing drop the frame rate to 30Hz, instead of the 60Hz? Quote Link to comment Share on other sites More sharing options...
LS_Dracon Posted July 24, 2013 Author Share Posted July 24, 2013 (edited) Any chance you'll take this to the next level and go interlaced? http://www.atariage....ws/Interlacing/ It's a good idea, following Supercat tip to split kernel into zones, I can free up some bytes and duplicate sprite resolution. Doesn't interlacing drop the frame rate to 30Hz, instead of the 60Hz? You need at least 2 frames (30Hz) to show all details of the image. You can't see all sprite details when it's moving anyway so I can keep the motion at 60Hz. I'm going to make some tests and see if it worth. Edited July 24, 2013 by LS_Dracon Quote Link to comment Share on other sites More sharing options...
PFL Posted July 25, 2013 Share Posted July 25, 2013 I'm looking forward to trying this out with some proper AI. It looks really promising so far. Quote Link to comment Share on other sites More sharing options...
LS_Dracon Posted July 25, 2013 Author Share Posted July 25, 2013 (edited) Thanks! New version with partial AI code, I need get rid of player 2 shaking and others errors and make the opponent smarter. It's coming easily than I thought. Still with vertical rolling ball glitch, ignore this for now. Edited July 28, 2013 by LS_Dracon 1 Quote Link to comment Share on other sites More sharing options...
LS_Dracon Posted July 28, 2013 Author Share Posted July 28, 2013 (edited) Hi people. As promised, here is the AI code. This new code is better than what I did before, the player moves and feels like controlled by human. It's very hard, so I need feedbacks to know if this AI level is ok or I need to make it a bit easier. The logic of the code is on the image below, if the ball is on red area, the player will not move, if ball goes to cyan area, player move to up and if ball goes to yellow area, player moves down. Also the speed of player changes according ball distance, if ball is far, player moves slower, just like how I play the game. Also there's no need to move the player if the ball is going to another direction, it's not makes sense and don't feel like a human playing. There's a bug when the player goes too much to down and then appear at top, I'll fix it. Besides that, I have no extra rom for interlacing screen, sorry. I need the last bytes to code game mode select for Player vs Player or Player vs Cpu. Edit : As you can see in the score, the CPU beat me by 1 point Enjoy. Edited July 30, 2013 by LS_Dracon 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.