Scuttlebutt
Re: Scuttlebutt
...Cripes, first Davey Sludge and now another one, what's this obsession over bums and bum-based products...
Regardless of the content, just to re-iterate what a few people have said - I can't recall seeing a first attempt at a game which is this (technically) slick.
...Would be interesting to know how long it took you to learn to program to this level (assuming it was from scratch, but maybe it wasn't?)...
[Edit: also I wish I had the ability of being able to do cool graphics as well as program!]
Regardless of the content, just to re-iterate what a few people have said - I can't recall seeing a first attempt at a game which is this (technically) slick.
...Would be interesting to know how long it took you to learn to program to this level (assuming it was from scratch, but maybe it wasn't?)...
[Edit: also I wish I had the ability of being able to do cool graphics as well as program!]
My Speccy site: thirdharmoniser.com
Re: Scuttlebutt
This ^^^ Karl's has to win a mars bar award for the slickest first program/post (so far..).Morkin wrote: ↑Tue Feb 27, 2018 10:11 am Regardless of the content, just to re-iterate what a few people have said - I can't recall seeing a first attempt at a game which is this (technically) slick.
...Would be interesting to know how long it took you to learn to program to this level (assuming it was from scratch, but maybe it wasn't?)...
[Edit: also I wish I had the ability of being able to do cool graphics as well as program!]
Re: Scuttlebutt
Thanks! The music is mostly fixed now, I believe. There was an incorrect pitch value for the note B in the AY-3-8192 documentation, which messed up my frequency tables. 1892 should have been 1812.
http://www.sinclair.hu/hardver/otletek/ ... 3-8912.htm
I've also added redundant controls for a joystick in port 1.
New game file: scuttlebutt.tap
Re: Scuttlebutt
Well, I started learning Spectrum programming five weeks ago, but I've been building computer games for other platforms as a hobby for almost 35 years. That definitely helped.
Re: Scuttlebutt
I'd rather not do that just yet. The code is poorly structured and a good portion of the variables and subroutines have ... unpleasant names.Nomad wrote: ↑Tue Feb 27, 2018 6:47 am Karl - you will have to forgive me; but as I have no shame, I will ask what others probably though...
Would you think of releasing the source code? There is a lot of technical skill that went into getting such a program to work in the way that it does. It reminds me of looking at an iceberg.
(meaning for the window-lickers/peanut gallery... there is much hidden depth to this program.)
It took some experimenting, but none of it is rocket science. The vertical confinement of the two large sprites is what makes it possible to render the game at 50 fps without any flickering. Here is what I do after each "halt" call:
- Erase all the poop
- Perform the game logic
- Draw the poop that's in the top half of the screen
- Erase and redraw the man sprite
- Draw the poop that's in the bottom half of the screen
- Erase and redraw the butt
- If necessary, update the score and bucket fill level
Re: Scuttlebutt
How do you know it's 50fps? Can you tell just by looking, or is there some other way you'd know that?
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
Re: Scuttlebutt
Great! Actually I believed that it was intendedThanks! The music is mostly fixed now, I believe.
- Ast A. Moore
- Rick Dangerous
- Posts: 2640
- Joined: Mon Nov 13, 2017 3:16 pm
Re: Scuttlebutt
Both. (Trust me, I know a thing or two about writing games for the Spectrum, which run at 50 fps. )
P.S. You use Fuse, right?
Every man should plant a tree, build a house, and write a ZX Spectrum game.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Re: Scuttlebutt
OK, so for those of us without that experience, what's the other way?Ast A. Moore wrote: ↑Wed Feb 28, 2018 9:23 amBoth. (Trust me, I know a thing or two about writing games for the Spectrum, which run at 50 fps. )
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
- Ast A. Moore
- Rick Dangerous
- Posts: 2640
- Joined: Mon Nov 13, 2017 3:16 pm
Re: Scuttlebutt
1. The intuitive way (requires experience, though): Slow your emulator down to 2 percent of the original speed.dfzx wrote: ↑Wed Feb 28, 2018 9:26 amOK, so for those of us without that experience, what's the other way?Ast A. Moore wrote: ↑Wed Feb 28, 2018 9:23 am Both. (Trust me, I know a thing or two about writing games for the Spectrum, which run at 50 fps. )
2. The tedious but informative way: Break into the running program using your favorite debugger/monitor and single-step for the duration of one frame (approximately). (Most emulators have debuggers that display the current T state. Fuse, does, anyway.)
Every man should plant a tree, build a house, and write a ZX Spectrum game.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Re: Scuttlebutt
I loved the carton game style
Re: Scuttlebutt
Actually there is some hidden feature in Spin emulator which enables it. I don't remember the details but you have to press some obscure shortcut and extra buttons will appear. One of them is "advance emulator by one frame". So you pause the emulator first, then press the button, game advances by one frame and you see if something moved or notHow do you know it's 50fps? Can you tell just by looking, or is there some other way you'd know that?
Re: Scuttlebutt
Interesting.
Maybe someone knows which shortcut activates this option.
Does SpecEmu have such a feature?
Maybe someone knows which shortcut activates this option.
Does SpecEmu have such a feature?
Re: Scuttlebutt
Maybe someone knows which shortcut activates this option.
Found it:
https://www.worldofspectrum.org/forums/ ... ent_141012
Found it:
https://www.worldofspectrum.org/forums/ ... ent_141012
There's also the option to "frame advance" whilst paused - pause the emulation, then right click the pause button. The buttons will be replaced with a new set - debugger, full speed and frame advance. Clicking frame advance will emulate one frame and then stop.
Re: Scuttlebutt
I'm trying to think what "frame advance" actually means. Does it mean "run as far as the next HALT instruction"? Or until the next interrupt fires? What actually would a frame advance be, in Spectrum terms?Ralf wrote: ↑Fri Mar 02, 2018 10:09 am Maybe someone knows which shortcut activates this option.
Found it:
https://www.worldofspectrum.org/forums/ ... ent_141012
There's also the option to "frame advance" whilst paused - pause the emulation, then right click the pause button. The buttons will be replaced with a new set - debugger, full speed and frame advance. Clicking frame advance will emulate one frame and then stop.
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
Re: Scuttlebutt
It could be as simple as 'run until 20ms (simulated) has passed'.