| |
WVL
Registered: Mar 2002 Posts: 902 |
Pinball Dreams discussion forum
Hey guys/girls,
instead of updating my homepage all the time, I though I could open a new thread here instead. This will also allow other ppl to comment on the development.
okay, so whassup at the moment?
Well, Last month I completely restarted from scratch on the code. Why? Well, first I wanted to concentrate more on getting the game to run in less memory, also I wanted to focus more on accurate simulation of the ball and some small other things...
What I have done till now :
1 - spawned the ball ;-)
2 - added gravity to the surroundings, the gravity data is now RLE encoded, so it doesn't take up much memory anymore. Used to eat 20 blocks of memory, now I think a map would use 3-4 blocks..
3 - I changed the gravity routine to use polar-based vectors instead of cartesean, much more accurate!
4 - added a debug mode to the movement routines, you're able to pick up the ball with the firebutton and move it around. Let go of the button and you drop it on the table again.
5 - Worked on an accurate (within 1 'bradian' degree) direction calculation routine. This routine will be used for both friction calculations and calculating new directions after collisions. So it needs to be
6 - added a (simple) friction routine.
7 - I put a small preview on the web ;-)
get it at http://www.interstyles.nl/pinball.rar
okay, what am I up to now?
1 - increase the speed accuracy to 24 bit, I need this because the friction only affects speed in the last 3 bits or so, so it's not accurate at all..
2 - add spin to the ball, so it is allowed to roll.. (also gives effect to the ball like top-spin and such)
3 - dunno yet, I'll see what is the next logical step after that.. probably the new method of collision detection, dunno..
I'm thinking of putting the sourcecode online as ascii file, so everyone can check it out...
Suggestions? Questions? other stuff?
greets, Werner
|
|
... 163 posts hidden. Click here to view all posts.... |
| |
WVL
Registered: Mar 2002 Posts: 902 |
anyway, *if* pinball dreams is playable at X, we'll have a compo. And I promise to give away a nice prize for the winner :
A c64 with flipper buttons on the left and right side (arcade buttons, red), which work with Pinball Dreams. |
| |
WVL
Registered: Mar 2002 Posts: 902 |
Hey guys!
last nite I got an idea to make more colors possible on the ball, without costing more CPU power to calculate the sprites. It's quite a nice trick with priority. right now I made the ball in 2 colors, can be more but I think 2 is okay.
Also fixed one more bug in the collision routine.
check it out for yourselves :
http://www.interstyles.nl/MAIN.TXT <-sourcecode
http://www.interstyles.nl/MAIN2.PRG <-runable binary
next thing to do is to really finish the collision routine, which is now 90% done.
anyway, is someone interested in writing a detection-subroutine for the game?
it needs to detect the following stuff :
pal/ntsc
Action replay
Retro Replay
c128
REU
SCPU
emulator (I need this, because of the choice for the flipper keys, left-shift and right-shift can't be used on emulators!)
reu/ar/rr/c128 is no problem for me to write, but can someone give clues about a good emu/ntsc/scpu detector? (or give me some sources ;)
I want to use RR/AR/c128/REU/SCPU for storing the menucode/data, so I don't have to reload later on.
also I want to use REU/SCPU for scrolling, so those systems can have a bigger screen...
grtz Werner |
| |
iopop
Registered: Dec 2001 Posts: 317 |
For NTSC detection just check if you can reach raster line $137 then your in PAL land.
Something like this.. (NTSC detection ripped from Sailor/TRIAD)
lda $d011
bmi *-3
lda $d011
bpl *-3
Loop:
lda $d012
cmp $d012
beq *-3
cmp #$37
beq onlypal
lda $d011
bmi loop
if you gotten here you're on ntsc..
onlypal:
|
| |
WVL
Registered: Mar 2002 Posts: 902 |
HURRAH! ;) I could've thought of that myself, but how about detecting the 2 different NTSC-timings?
I remember there being 2, one with 64 and one with 65 cycles/raster. (65 is the most common?) Should one take care of both versions, or only the most common one? |
| |
WVL
Registered: Mar 2002 Posts: 902 |
Also, I just uploaded the latest version, with the 100% collision and bouncing routine added...
can everyone please test this? if you see weird things happening, please reset, save mem $4200-$4a00 to a file, and send it to me with a small description of what went wrong...
http://www.interstyles.nl/MAIN2.PRG
http://www.interstyles.nl/MAIN.TXT
warning : the game will go into an endless loop if you position the ball with your joystick inside the wall. take special care at the edges!!! the wall table is made like the ball is square, not round (easy to fix, but work for nothing ;) You will see what I mean when (after the ball has settled on one of the walls, you move it along the wall). In the real game all this data will ofcourse be fixed, don't worry!!
|
| |
Matt
Registered: Apr 2002 Posts: 598 |
hey WVL I just tested the routine and everything looks damn fine to me ;)
have you any idea when this project will be finished? it looks very promising alright! keep it up
cheers! |
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
I don't know how to say it, but the movement of the ball looks too unnatural compared to a real pinball. It "feels" as if the ball consists of rubber gum rather than metal. And the acceleration is much too high when the ball comes very close to the wall, it gets attracted as if the wall is magnetic.
But this can probably be easily fixed or adjusted by fiddling with the gravity parameters.
Apart from that everything looks pretty nice so far, thumbs up! |
| |
MagerValp
Registered: Dec 2001 Posts: 1078 |
Quote: HURRAH! ;) I could've thought of that myself, but how about detecting the 2 different NTSC-timings?
I remember there being 2, one with 64 and one with 65 cycles/raster. (65 is the most common?) Should one take care of both versions, or only the most common one?
Don't bother with 64 cycle NTSC, the machines are rare and buggy - every active user over there uses C128s or newer C64s anyway.
As for SuperCPU detection, it's as simple as checking bit 7 in $D0BC. Take a look at Go64's SuperCPU tutorials for more info:
http://www.go64.de/english/scpu_e/ |
| |
Pater Pi Account closed
Registered: Jan 2002 Posts: 121 |
Hejsan WVL,
made it crash. (Whole thing freezed, also had some biiiig frame-jumps (meaning the engine seemed to freeze after the ball hitting the bar in the middle at some very flat angle and then suddenly it was beamed to another place on the screen)
Where should i send the memory-capture too?
greets,
pi |
| |
WVL
Registered: Mar 2002 Posts: 902 |
mem snapshots to : pinball@interstyles.nl
as for the way the ball behaves, everything depends on parameters and tables right now so it all can be changed... but I won't do that until I have a real pinball table to try it in. |
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | ... | 18 - Next |