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: 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....
 
2004-01-07 20:29
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.
2004-01-08 15:12
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
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: 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?
2004-01-09 11:55
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!!
2004-01-09 16:21
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!
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: 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/
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: 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
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
Jazzcat/Onslaught
Doc Snyder/ONS
Chesser/Blazon
PAL/Offence, Fairlig..
Steffan/BOOM!
Walt/Bonzai
slimeysmine
Copyfault/Extend^tsn..
New Design/Excess
Magic/Nah-Kolor
ΛΛdZ
Gildan Jondal/Suicyc..
Guests online: 165
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 No Listen  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Original Suppliers
1 Derbyshire Ram  (9.7)
2 Fungus  (9.3)
3 Black Beard  (9.2)
4 Baracuda  (9.2)
5 hedning  (9.1)

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