Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Pinball Dreams discussion forum
2003-02-13 19:16
WVL

Registered: Mar 2002
Posts: 886
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....
 
2004-01-07 20:29
WVL

Registered: Mar 2002
Posts: 886
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.
2004-01-08 15:12
WVL

Registered: Mar 2002
Posts: 886
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
2004-01-08 18:22
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:




2004-01-09 11:34
WVL

Registered: Mar 2002
Posts: 886
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?
2004-01-09 11:55
WVL

Registered: Mar 2002
Posts: 886
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!!
2004-01-09 16:21
Matt

Registered: Apr 2002
Posts: 589
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!
2004-01-09 16:42
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!
2004-01-09 17:01
MagerValp

Registered: Dec 2001
Posts: 1055
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/
2004-01-09 18:39
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
2004-01-09 19:07
WVL

Registered: Mar 2002
Posts: 886
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
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
cba
zscs
jmin
Guests online: 136
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 Memento Mori  (9.6)
10 Bromance  (9.5)
Top onefile Demos
1 It's More Fun to Com..  (9.7)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 TRSAC, Gabber & Pebe..  (9.5)
6 Rainbow Connection  (9.5)
7 Onscreen 5k  (9.5)
8 Wafer Demo  (9.5)
9 Dawnfall V1.1  (9.5)
10 Quadrants  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Graphicians
1 Sulevi  (10)
2 Mirage  (9.8)
3 Lobo  (9.7)
4 Mikael  (9.7)
5 Archmage  (9.7)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.058 sec.