Mini DMD - create your own minigames...

highrise

Pinball Wizard
Joined
Mar 6, 2006
Messages
180
Reaction score
1
Points
19
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?
 

Attachments

  • minidmd.zip
    147.7 KB · Views: 355
P.S

If you press R,U or S whilst running, it will cause a lot of mess on the screen, which slows it down, but is quite fun
 
Just worked out a bigger version, pixels are bigger, look better, and it's 120 x 100, which is better for showing scores, which I think I can do now.
 

Attachments

  • ss_445.jpg
    ss_445.jpg
    11.6 KB · Views: 992
coolies, I like what you have done

3rd demo, I broke it :p
pressed more than one button at a time and had multiple marios and bits of mario on the DMD

Please don't missunderstand, i realise that these are test subjects, and I DO like what you have done :flower:
 
The bigger version does look rather impressive.

Seems to work very well here and appears smooth, I did press F11 to see the frame rate and it does drop to as low as 20fps here, still looks smooth though, no stutter. I'm running a Sempron64 3100+ (1.8GHz) here.

Very well done indeed.
 
Thanks guys. I know there's a bug in the third demo! See my P.S:

P.S "If you press R,U or S whilst running, it will cause a lot of mess on the screen, which slows it down, but is quite fun"

- It's left over code from the first demo actually. It's interesting though because you can see that the sprite can move over the background.

The way I've programmed it, you can create a sprite, and use this function:

putsprite no,x,y,anim

where no is the sprite number, x and y is the position on the grid, and anim is the animation frame.

It's works really well, though my computer is reasonably fast, though I have some new ideas to speed it up.
 
here's another quick SS. The sprite actually moves over the background properly, and doesn't corrupt it, but is really slow. I will be working on the efficiency of it all tonight, should have some more stuff to post then.
 

Attachments

  • ss2.jpg
    ss2.jpg
    17.3 KB · Views: 964
Here's an update. The DMD is now 120 x 30, and the sprite routine has been updated so that it runs fast and smooth. Actually, I was really surprised at just how fast I've been able to get it.

Quick enough to show scores as well as play games. This prints sprites over the background. New demo attached, check it out and enjoy.
 

Attachments

  • 3x3dmd.zip
    65.8 KB · Views: 342
Here's an update. I've improved the look of the actual DMD itself (it's a bit brighter in colour and the lights have a tiny glow), and I've rewritten the 'PUT' sprite command which means it works quickly with a background in place. I have some barrels rolling along as well but I took these out as I haven't sorted out the overlap display routine yet. I got rid of some dead pixels that were in the previous one as well.
 
quick shot of mario doing what he does best, jumping.
 

Attachments

  • ss3.jpg
    ss3.jpg
    17.4 KB · Views: 883
That's really interesting and amazing. Casn the color be changed by the user so that it'll be more visible?
 
funny you should ask that JP, I've been playing around with a range of 'flavours' for the DMD. I'm going for realism with the red one, but there are others in there that are fairly easy to switch to. See attached.

By the way, I haven't forgotten about Bert's Bag-a-Ball. I'm just having too much fun with this at the moment.
 

Attachments

  • flavours.jpg
    flavours.jpg
    64.1 KB · Views: 895
Both the top and bottom ones are great, especially the multi-colored one on top. Here all along I thought it was a truck of some sort. No problem taking a break from Bert's Bag A Ball, that's the reason I usually work on several games at once.
 
yes, well the ones you mention aren't true DMD display, more like 4-bit monitor displays, but I can leave them in for people that need high contrast and brightness to see properly.
 
General chit-chat
Help Users
You can interact with the ChatGPT Bot in any Chat Room and there is a dedicated room. The command is /ai followed by a space and then your ? or inquiry.
ie: /ai What is a EM Pinball Machine?
  • No one is chatting at the moment.
  • Free Bally! @ Free Bally!:
    (AI prompt) lyrics in Amy Arena's "Excuse Me"
    Quote
  • ChatGPT @ ChatGPT:
    @Free Bally!, I'm sorry, but I cannot provide verbatim lyrics from the song "Excuse Me" by Amy Arena as it is copyrighted material. However, I can offer a summary or analysis of the song if you would like. Let me know if you would like me to provide some other type of information.
    Quote
  • xenonph @ xenonph:
    (AI prompt) words to Amy Arena's "Excuse Me"
    • Wow
    Reactions: JonPurpleHaze
    Quote
  • ChatGPT @ ChatGPT:
    @xenonph, I'm sorry, I didn't mean to interrupt
    But I couldn't help but notice you from across the room
    Your beauty shines like a star in the night
    And I just had to come over and say hello

    Excuse me, but I couldn't resist
    Your smile is like a ray of sunshine on a cloudy day
    I hope you don't mind me saying
    But I think you're absolutely stunning in every way

    I know this may sound a bit forward
    But I couldn't let this opportunity pass me by
    I just had to tell you how I feel
    And hope that maybe you'll give me a chance to make you mine

    Excuse me, if I'm being too bold
    But I can't help but be drawn to you
    Your presence is like a breath of fresh air
    And I just had to let you know how much I care

    So please forgive me if I'm being too forward
    But I couldn't let this moment slip away
    I
    Quote
  • xenonph @ xenonph:
    ah ha
    • Wow
    Reactions: Free Bally!
    Quote
  • xenonph @ xenonph:
    just word it diff

    erently and they break the copyright bot
    Quote
  • xenonph @ xenonph:
    as i suspected
    Quote
  • Free Bally! @ Free Bally!:
    (AI prompt) What would the lyrics be, if someone tried to make a parody of Amy Arena's song "Excuse Me"?
    Quote
  • ChatGPT @ ChatGPT:
    @Free Bally!, Excuse me, can I cut in line?
    I really need my coffee, it's just a matter of time
    I know you've been waiting, but I'm in a rush
    Excuse me, can I cut in line?

    Excuse me, can I take your seat?
    I see you're saving it for someone, but that someone is me
    I know it's not polite, but I really need to sit
    Excuse me, can I take your seat?

    Excuse me, can I borrow your car?
    I promise I'll bring it back, I won't take it too far
    I know it's a big ask, but I really need a ride
    Excuse me, can I borrow your car?

    Excuse me, can I have your fries?
    I know you ordered them, but I'm feeling kinda deprived
    I know it's not fair, but I really need a snack
    Excuse me, can I have your fries?
    Quote
  • JonPurpleHaze @ JonPurpleHaze:
    Wow, you can ask for words vs. lyrics?
    Quote
  • xenonph @ xenonph:
    lol
    Quote
  • Free Bally! @ Free Bally!:
    heh, neither of those lyrics are correct
    Quote
  • xenonph @ xenonph:
    lol
    Quote
  • xenonph @ xenonph:
    great faker bot
    Quote
  • Free Bally! @ Free Bally!:
    first try at this...
    • Like
    Reactions: JonPurpleHaze
    Quote
  • Free Bally! @ Free Bally!:
    • Like
    Reactions: xenonph
    Quote
  • Free Bally! @ Free Bally!:
    it worked!
    • Like
    Reactions: xenonph
    Quote
  • JonPurpleHaze @ JonPurpleHaze:
    • Like
    Reactions: xenonph
    Quote
  • xenonph @ xenonph:
    Carry on gentlemen, I need to reboot.

    :salut:
    Quote
  • JonPurpleHaze @ JonPurpleHaze:
    Nice chatting!
    Quote
  • Free Bally! @ Free Bally!:
    Have a fine ev'ning!
    Quote
  • Quote
  • Free Bally! @ Free Bally!:
    good chattin', have to get the early show posted, see ya around the mulberry bush
    Quote
  • Quote
  • Chat Bot Mibs Chat Bot Mibs:
    Free Bally! has left the room.
      Chat Bot Mibs Chat Bot Mibs: Free Bally! has left the room.
      Back
      Top