Live data from Hacker News

Why was Pinball removed from Windows Vista?

blogs.msdn.com

131–140 of 149 posts

Re: Why was Pinball removed from Windows Vista?

#131

The best part of this article is in the comments. An original programmer on the game explains the reason that the bug was occurring and also why the code was unreadable (hint: they did it in assembly) Ah, the quantum tunneling pinball! We ran into this while writing the original code at Cinematronics in 1994. Since the ball motion, physics, and coordinates were all in floating point, and the ball is constantly being…

I've had similiar problem in one of my first games (scrolling shooter with asteroid physic, hobby project in TP7 and mode 13h), and I solved it in similiar way (when objects bounced off the obstacle I added constant to response vector length, so that ship always bounced with velocity so big, that even with gravity added, and when player rotated towards the obstacle and engaged engine, it would still move out of the obstacle in next frame).

It looked a little funny, cause when you left the ship to itself, it bounced in a place to half its height and back forever.

To mitigate this I've added 2 kinds of obstacles - most of the terrain was filled with obstacles with spikes, that did damage on each collision, so players won't test my collision response too much :) There were some obstacles without spikes, and you could forever bounce on them, but they were rare, and I marked them as "landing places". I think that added to gameplay.

Then I've added buttons that trigger doors to open/close, and in a few levels I've just placed some ship with no ai attached over the button. Effect - ship bounced forever, so the doors connected to the button opened and closed repeatedly ;) Player could also influence that by pushing the triggering ship away :)

It's funny how constraints of game engine can guide you into gameplay elements that you wouldn't consider without them.

EDIT: the game if anyone is interested: http://ajuc.ninja.umcs.pl/programy/gry/hw/download/hw.tar.gz it's in Polish, sorry, and coding style is outrageus

Re: Why was Pinball removed from Windows Vista?

#132

Earlier quoted context omitted.

You know, it's been about fifteen years. I remember I had to convert this to C in a hurry because new features had to be added. Doing it in assembler was just about unthinkable. The entire project consists of nearly 100 assembler files and resulted in about 90 files once translated into C. This was a marathon run and once the entire project was translated and working the focus was narrowly shifted in the direction of…

> the modulo statement doesn't really do any better than a spelled-out conditional statement Actually, on modern processors the modulo would probably be more efficient than the conditional due to cool stuff they do like pipelining. Pipelining is basically where they execute instructions ahead of time (sort of in pseudo-parallel); and so when there's a branch, there's a fair chance the results from future processing m…

Absolutely true. I was talking about the 8051, which is the context of the code I posted.

Re: Why was Pinball removed from Windows Vista?

#133
post #62
post #52

Earlier quoted context omitted.

Nah I didn't think that at all, it was clear from the way you said "minimal commenting". I just have an axe to grind when it comes to comments of the form // assign the integer value 10 to the variable x x = 10

At least it's better than: // set the variable x to 10 x = 12;

I think you've forgotten a leading zero ;)

Re: Why was Pinball removed from Windows Vista?

#134
post #96

Apparently, you can just copy the folder across to an installation of the later versions of windows and it's "fully functional" http://mspinball.weebly.com/ I can't try this right now, since I don't currently have access to a Windows machine, but can anyone confirm/deny this? Do you get the floating-point gravity bug?

I'm on 32-bit Windows 7, and it works fine. The plunger is a little sluggish to respond, but otherwise no sign of the gravity bug!

Re: Why was Pinball removed from Windows Vista?

#136
post #70
post #24

Earlier quoted context omitted.

I can't agree with you emphatically enough about this. Cargo cult commenting is one of the easiest ways to damage the readability of a codebase. Comments should be an edge-case solution for explaining unusual quirks, not the go-to approach for explaining the entire codebase. Using comments to explain what the code is up to is like using exceptions for flow of control. A large proportion of the comments I see should a…

This point gets brought up a lot, but I'm not going to complain at all. In fact, just 5-6 months ago I used to be one of those programmers who would do # gets the xml def get_xml(): It took comments like this to help me realize just how silly the whole thing was. Now I write as much self-documenting code as I can, but comment as needed.

Sure.

Comment should be "why I did this", and code should be "how I did this", some people just write in "what did I do" and walk away thought they have comment

Code took from a project I'm working with:

  #End of package

Re: Why was Pinball removed from Windows Vista?

#138

The best part of this article is in the comments. An original programmer on the game explains the reason that the bug was occurring and also why the code was unreadable (hint: they did it in assembly) Ah, the quantum tunneling pinball! We ran into this while writing the original code at Cinematronics in 1994. Since the ball motion, physics, and coordinates were all in floating point, and the ball is constantly being…

As a matter of fact, there is still a quantum tunnel bug. If you push and release the flippers too fast, the ball goes through them. Not a big deal unless you want to control the ball the same fine-tuned way as with real machines.

BTW, it works OK with Windows 7 (64), just copying it from an old installation. I like the game... 170M :-)

Re: Why was Pinball removed from Windows Vista?

#139
post #70

Earlier quoted context omitted.

This point gets brought up a lot, but I'm not going to complain at all. In fact, just 5-6 months ago I used to be one of those programmers who would do # gets the xml def get_xml(): It took comments like this to help me realize just how silly the whole thing was. Now I write as much self-documenting code as I can, but comment as needed.

Sure. Comment should be "why I did this", and code should be "how I did this", some people just write in "what did I do" and walk away thought they have comment Code took from a project I'm working with: #End of package

I generally become aware that I should leave a comment whenever I write something that is less than trivial (but exactly less than trivial) to write/understand. Longish list comprehension? Summarize what it does. Nested function calls? Summarize why. Etc.

Re: Why was Pinball removed from Windows Vista?

#140
post #96

Apparently, you can just copy the folder across to an installation of the later versions of windows and it's "fully functional" http://mspinball.weebly.com/ I can't try this right now, since I don't currently have access to a Windows machine, but can anyone confirm/deny this? Do you get the floating-point gravity bug?

I'm on 32-bit Windows 7, and it works fine. The plunger is a little sluggish to respond, but otherwise no sign of the gravity bug!

64-bit Ubuntu works fine, too. The ball disappears in some frames, but it's no thing.
Post reply on HN