Jump to content

Mr SQL

Members
  • Content Count

    2,159
  • Joined

  • Last visited

Community Reputation

764 Excellent

About Mr SQL

  • Rank
    River Patroller

Profile Information

  • Gender
    Male

Recent Profile Visitors

21,064 profile views
  1. Yes BASIC is awesome for learning for being like English and Math and being able to run a one line or statement program. Science text books reflected this with simple applied examples; much harder to do that with other languages. imo it's better to keep things simple since we can't get away from the complexity as we build (why start there?) and I think the idea behind C was they were jealous of the Dartmouth BASIC experiment and wanted to prove programming was more difficult and that the programmer should perform many of the nuances the BASIC AI does for you behind the scenes. And BASIC, being Tiny Fortran, borrowed heavily from Assembly, sometimes directly (goto, gosub) and sometimes abstractly, the combination made it more intuitive and very powerful. Microsoft has an educational initiative with Small BASIC to make it easier to learn, but the dialect is still heavily influenced by C concepts and notation.
  2. Awesome pics! Frogger was awesome with the digitized sound through the cassette port too! Here's my Tandy semigraphics Assembly pic I drew on one of my EDTASM work disks for inspiration!
  3. This thread discusses interesting music and FX in BREAKOUT 2002 LASERBEAMS The BASIC listing for the game is here: BREAKOUT2002_LASERBEAMS_NTSC.txt Steps to Get the BASIC program running in the IDE for this discussion - This BASIC has an experimental sound engine and is close enough to bB that bB programmers will have an easy time programming with it and will like the new features - the codebase is free and anyone is welcome to port existing features and ideas to bB as well like the recent dynamic sprite kernel. Here's a screenshot of the simple IDE which is already installed on Windows: SuperCharger BASIC and setup instructions are available for download here and there's one final step (thank you RT!) necessary to create a c:\vwbasic\Stella subfolder like this: You must place a copy of Stella.exe in this subfolder, or you can use another emulator like Z26.exe and it's DLL's in the folder and rename it as Stella.exe - that's what I did on the machine in the screenshot. It doesn't matter what version of Stella you use, but you'll want to use the latest Z26 if you prefer Z26. Any other Atari emu that can handle the SuperCharger format will work as well. Make sure the emu is configured to launch full screen and that you do not have a dual display active. We're going to use the online bB Atari Music composition page by RT as well: https://www.randomterrain.com/atari-2600-memories-batari-basic-music-toy.html This thread is just to talk about music theory chiptune composition and interactive Fx programming in BASIC, if anyone has setup issues with the IDE please PM me and I will help you via PM - you should be able to load the .bas or .txt BASIC program in one tab and the compiler in another and click Play to compile and lauch the game in the emu. Inspiration and the ADSR Envelope Here are a couple of really incredible music videos by KK/DMA, Flush , KK/DMA and Shadow/Noice for inspiration, and an awesome sound digitizer written by Tjoppen with a Popcorn cover by Esposta - one of my favorites! That last one pushes the TIA so hard that no video is possible unless the ARM or the Pitfall II chip is leveraged, but our techniques are all related - the key to shaping an ADSR envelope to any degree is punching the volume at regular intervals. We can do this even at 60, 30 or 15x per second, but the lower the frequency the less of an effect that is exerted on the selected waveform and frequency. There was a thread recently about the two TIA channels sounding slightly different with the same inputs that is very related here as the twin oscillators have a slight variance in volume/power causing a different ADSR where none is intended. The experimental sound engine in this BASIC is already shaping the ADSR envelope very differently for both oscillators, here's the first few lines of the chiptune definition in the code: chiptunes 4,19,4,19,8 4,17,4,17,8 4,15,4,15,8 4,14,4,14,16 The last value in each line is a shared duration in frames (or every two frames) and a maximum of 51 entries are available in the table (short chiptunes but we can remix them!) RT's awsome composition page will be used to find and hear the base waveform and frequency for the notes you want, these are the second and third values that appear in the copy/paste box at the bottom of the page when you click on an available note from any of the waveform keyboards, for example: 8,6,18 8 Ignore the initial 8 and take the "6,18" this is the waveform and frequency for the first voice/oscillator. The experimental sound engine expects this information for both oscillators and a shared duration, so you will want to select a sound for the second voice/oscillator and set a shared duration. Very different sounds on both channels from the same inputs: If we choose exactly the same waveform and frequency "6,18" and set a shared duration of 15 we will experience a very different sound from the same oscillators: chiptunes 6,18,6,18,15 Why? The ADSR envelopes are now very different: The experimental sound engine punches the volume down from 15 (using the duration) every other frame in this example to flare one oscillator while fading the other punching the volume up every other frame from 0 to 15 shaping the envelopes differently. Tweaking the envelope and applying other Fx: This game doesn't allow a linear fade or flare but instead uses a vibratto effect on the ADSR; down up down up down down, and up down up down up up, instead of moving linearly - this also extends our tempo; instead of 15 representing 15 or 30 frames (two modes available) 15 becomes 60 or 120 frames (one or two seconds sustained) and the ADSR can become more interesting for our limited punches. The LASERBEAM theme - Overriding one channel AND the sustain value: The game starts out with the lasers activated (unless you hold down the button to turn them off) and uses an algorithm to create a different Harmony overriding one of the channels and modifies the melody on the other channel/oscillator via the shared sustain. The Balls theme - Overriding one channel and the sustain value: If you have the lasers off and are listening to the main harmony chiptune (or when they run out) you can perform either a "sonic roll" through a contiguous line of bricks or find yourself bouncing quickly back and forth through a narrow corridor between rows you will hear the Ball's theme directly replacing the harmony (or is it replacing the melody? need to check which channel) or mixing in at evenly spaced alternating intervals and modifing the other channel/oscillator via the shared sustain. In this instance it doesn't use an algorithm to generate melodious music but reads it from a table. The Balls theme is in it's own table and is also composed with RT's awesome bB music page! The Balls theme and LASERBEAM theme are arpeggios and canons initiated by the gameplay events, these musical structures can have a compelling and captivating effect in tandem with gameplay and visuals. There's a lot going on with the Experimental music engine with opposing ADSR shaping and these other Fx techniques used together and the complex musical structures created from music tables and algorithms mingling with the gameplay and revising the Harmony and Melody in the chiptunes. Looking forward to ideas and discussion! Here's another thread with a fun experimental sound engine I put together for a demo at an Expo in the 80's with my voice digitized in the Fx: Update: I found the first note in the Balls theme arpeggio was getting detuned by a bug, fixed it in the BASIC code before sharing it today - recompile this game and see the melodious improvement from correcting just one note in an Arpeggio! All participating notes must be in tune for the Arpeggios to work properly.
  4. The reason they are on is likely that they improve performance of popular game carts like Pacman with less flickery ghosts by merging frames. I think the filters should be off by default as many classics and some of Hyperkin's bundled titles that require more accurate frame emulation look better without the feature enabled. One idea could be to have a smart filter recognize which titles could benefit from it and otherwise leave it off.
  5. BREAKOUT 2000 SEQUEL RELEASED! Improvements: More action, a score, a level indicator and a goal - make it to the playable treasure room ending scene on level 10! For Zero or more Players! CPU plays both characters, players can join in any time! Camera follows the Ball and only the Ball has Laserbeams, the Atari Logo is much harder to play, like Tails. Characters can perform a forward roll through any contiguous line of bricks, also influenced by the Sonic series. LASERBEAMS controls are reversed, button conserves the Laser because who doesn't want to use it all the time? 😎 The Logo can only be Killed with a Direct Hit, similarly a glancing blow from the Logo is non-fatal; it must nail the Ball head on. Additional cool game tunes and musical effects, I'm planning to post the BASIC source code on the programming forum to share the techniques.
  6. New version with an interesting gameplay variation/enhancement, button control is reversed to reserve the Laserbeams which run out before the end of each level.
  7. I just had a chance to read the article with the maze generation algorithm explained as Drunken Monkey Programming Kung-Fu ... Modern computer scientist often posture and stike a pose like Madonna when they don't understand, inviting non-programmers to play a game of Emperors new clothes because they understand even less: Anybody can be a programmer today writing kiddy script to call libraries like the computer scientist in the article identifying drunken monkey kung-fu coding as the transcendential path to amazing code. Researcher should stop vogueing long enough to turn down the pomposity and take a retro programming course; many are available online on AtariAge. Ian Bogost, a professor at Georgetown and the author of Racing the Beam has an excellent study curriculum that could bring the scientist up to speed if they have the potential. Not everybody does and that's why there are only a few of us today writing low level drivers, kernels and database cores professionally.
  8. Mr SQL

    Pac-Man

    What really impressed me as an orginal coder bitd was the flexibility of the racing the beam architecture; we were amazed to see Atari games emerge with increasingly fantastic audio visuals in 4K that we needed 16K to approach on other systems. I'm not as impressed with the original late 32K releases like Fatal Run - it's a good game but 4K Enduro beats it hands down with smoother graphics and gameplay for the cars, mesmerizing sunset fades, night transitions and varied weather conditions; I like Asteroids but it doesn't compare to the smaller 6K Meteroids SuperCharger title. The SuperCharger imo had the most potential as a game changer and elicited the thoughts you quoted, inspiring us like the 4K RAM expansion board with the cassette interface for the 1975 Altair had. CBS RAM released in 1983 was a close second. I like all the new games today, but technology beyond the 80's feels more modern and less retro in varying degrees. I like the original Pacman and find playability better than some of the newer clones that flicker the player sprite to create more substantial ghosts; I think the original Ms Pacman is the most impressive and fun to play. I also really like clone genres and have folders on my harmony to play and compare them
  9. Added the ROM for a new version of BREAKOUT 2002 optimized for NTSC to the first post! To try it online in Javatari undo the full screen setting and then reapply it to get true full screen necessary to prevent cross flicker from mixed refresh rates; security features do not allow the browser to open in full screen so this workaround is necessary when playing online: http://javatari.org/?ROM=http://relationalframework.com/BRKOUT2002.BIN&SCREEN_FULLSCREEN_MODE=1 One other difference if you are using the EDGE browser is that you must stop shooting the laser to change the direction of the Ball.
  10. The more obscure CBS RAM format is really interesting, to make games compatible with the Atari Flashback Portable I discovered we had to match their emulators requirement of initializing the CBS RAM in the image; there was a discussion thread on the programming forum with a dumper suggesting the format should be a randomized block for Stella, but that dumper was later found to be defective. Hyperkin Bundled Games upgrade - Here are cool upgrades to two of the Hyperkin games to take advantage of the improved sound in Stella 6 with expanded soundtracks that change with the gameplay! Interesting fact: The game on the left is SuperCharger format, while the one on the right is written for the SuperCharger, but uses CBS RAM
  11. Al or a mod, could you please put this picture just below the Breakout MTV video, or let me have access to edit the content in the first post?
  12. Awesome goals and double awesome research on your projects! I have very similar plans when for when I get to the Jag, and have built a similar framework for the 2600 to utilize another chip for more powerful graphics; in this case a soft blitter chip with a Tiny BASIC for rapid game development. These kind of projects are tremendous fun and can really snowball once they get going! I may be able to help you with some ideas for the audio I used in the tracker/sequencer design - checkout the soundtrack in BREAKOUT 2002, inspired by the Jag BREAKOUT 2000 to put the game on a larger playing field with some different physics: The thread is here with the game on the 2600 forum, hope all Jag fans enjoy! EDIT: Al would you please give me rights to edit the first post on that thread?
  13. I've used procedural generation like this recently in an Atari game and remember thinking RT would like this! Slight distinction, the parts of the game scene created by objects drawn algorithmically = procedural generation. Randomly seeding the generator is key as described in the article, but I think it's a complementary technique so better to envision as a seperate process once we've built our generator, with many ways to accomplish ranging from rocket science to easier methods. Here are few examples using the Player to seed the generator: The Procedural generator in KC Monster Maze erases and redraws portions of the maze and is randomly seeded by the player whenever a Monster is eaten as the Monster rejoins the process at a different point in the sequence randomly creating new movement paths for them. The procedural generators in BREAKOUT 2002 are the characters and a zone of the board that bounces them and get seeded randomly by players movements or by shooting the AI.
  14. EDIT: New Edition - BREAKOUT 2002 LASERBEAMS Gameplay variation - Button reversed; conserves the Laserbeams which run out before the end of each level. EDIT: New edition - BREAKOUT2002 NTSC BREAKOUT2002_LASERBEAMS_NTSC.bin BREAKOUT2002_LASERBEAMS_NTSC.wav This NTSC-only version is optimized for flicker on the edge of perception - every element is balanced and the color palette is tweaked with wavelengths optimized for stability. I would like to add a version optimized for PAL260 if I can get help tuning it for the better greens PAL can display [this game is heavy on the green shades where PAL has more potential] , I'm not sure how to approach optimizations for SECAM or if it's possible given the requirements for the Fx. Try it out! Play the game and you will see some rows of bricks are incredibly solid while others waver on the verge of perception shimmering slightly. BREAKOUT 2002 Party Games Manual.pdf Playing on the real hardware: Best results are achived with a real CRT and a classic console without a video mod using the SuperCharger, which doesn't need a video mod the way a multi-cart system does. Playing on the Retron77 console: This game looks excellent on the Hyperkin Retron77 with HDMI over LCD or Plasma as well, and the game is an upgrade to the earlier Hyperkin release BREAKOUT 2000! Playing in the emulator: BREAKOUT2002 NTSC is solid in the emulator too testing with Z26 and and an older version of Stella, but you must play in full screen mode or cross-flicker from mixed refresh rates will occur degrade the gameplay experience. BREAKOUT 2002 a colorful mesmerizing party game for the Atari 2600 with a quest mode, multiple boards and color schemes. Can anyone make it to level 10 to beat the game? BREAKOUT studies The manual features BREAKOUT stories and studies spanning five flavors of BREAKOUT and the science behind the audio visuals in the game. To create a printed manual, use one double sided piece of paper and fold it in half, creating a four page manual. Have fun!
  15. I found the semigraphics editor for the disc directory along with a few pictures of directory art! 8 color hi-res graphics on the CoCo 1 Also found this hi-res 256x192 8 color composition Crumpled Paper from an 80's Computer Art contest in Rainbow Magazine I had created with another graphics package I wrote for drawing 8 color artifact pictures - that's a black and white image below! There are some CoCo emulators that can display 4 artifact colors, but only the real hardware can render 8 as shown in the composition.
×
×
  • Create New...