The last week or so I was thinking to myself, "would it be possible to create a true DMD using reels?". I wasn't thinking about displaying scores and such, I know this has been done - I wanted to make something that would allow original authors to build DMD mini games into their tables. A challenge indeed.
I'm sure I wouldn't be the first to have thought of this. And every time I thought of it, the answer came back in my head the same - it would be too slow, you'd never be able to make it work.
Yet still, it niggled at me. And then suddenly, in a flash of inspiration, I realised how it might be possible without straining the computer too much, so I created a simple demo of a two-colour system. It did indeed run quite slowly. Then I had an idea how to speed it up. I tried it, and sure enough it worked. This is miniDMD demo 1, which is the first file in the zip.
So then I thought, if it works in two colours, it can be done in four. After some difficulty with numbers overflowing, I figured that out as well. This is miniDMD table 2 in the zip.
Finally, the big challenge. Could I create controllable sprites? Again, I reckoned I could. It took a few hours, but I did it. This is miniDMD demo 3. Although it is still buggy, I've created something which will allow any intermediate pinball programmer to create mini games for their tables.
Here are some notes:
- The DMD is 100 x 25 pixels, which is ok for some basic mini-games
- it does slow things down when too much is going on, but since mini-games are usually played when a ball is locked, the CPU is free to handle it. Even so, you will need a powerful computer I reckon.
- For the DMD to look right, it has to be adjusted for resolution. Although it will work at any resolultion, you really need to play the demo at 1280 x 1024, which is what I set it at.
- the sprite handling system actually uses masks. You can put a background into the DMD and the sprite will move in front of it. But this really slows things down. I will work on this.
- I have currently locked the tables as they are still a bit buggy. But I fully intend to make the system freely available to anyone that wants to use it to create mini-games on their tables.
So there you go. Although it's great, and easily the best demo I've done, I still think it can be speeded up a good deal more. I could do with someone with a bit more programming knowledge to collaborate on this though. Maybe one of you guys that have built those really top drawer tables might like to get in touch?
I'm sure I wouldn't be the first to have thought of this. And every time I thought of it, the answer came back in my head the same - it would be too slow, you'd never be able to make it work.
Yet still, it niggled at me. And then suddenly, in a flash of inspiration, I realised how it might be possible without straining the computer too much, so I created a simple demo of a two-colour system. It did indeed run quite slowly. Then I had an idea how to speed it up. I tried it, and sure enough it worked. This is miniDMD demo 1, which is the first file in the zip.
So then I thought, if it works in two colours, it can be done in four. After some difficulty with numbers overflowing, I figured that out as well. This is miniDMD table 2 in the zip.
Finally, the big challenge. Could I create controllable sprites? Again, I reckoned I could. It took a few hours, but I did it. This is miniDMD demo 3. Although it is still buggy, I've created something which will allow any intermediate pinball programmer to create mini games for their tables.
Here are some notes:
- The DMD is 100 x 25 pixels, which is ok for some basic mini-games
- it does slow things down when too much is going on, but since mini-games are usually played when a ball is locked, the CPU is free to handle it. Even so, you will need a powerful computer I reckon.
- For the DMD to look right, it has to be adjusted for resolution. Although it will work at any resolultion, you really need to play the demo at 1280 x 1024, which is what I set it at.
- the sprite handling system actually uses masks. You can put a background into the DMD and the sprite will move in front of it. But this really slows things down. I will work on this.
- I have currently locked the tables as they are still a bit buggy. But I fully intend to make the system freely available to anyone that wants to use it to create mini-games on their tables.
So there you go. Although it's great, and easily the best demo I've done, I still think it can be speeded up a good deal more. I could do with someone with a bit more programming knowledge to collaborate on this though. Maybe one of you guys that have built those really top drawer tables might like to get in touch?