Build Your Own Arcade Controls Forum
Main => Main Forum => Topic started by: travoltron on March 08, 2013, 03:11:42 pm
-
Hi all! I need some help before I start spending loads of money on a project.
I'm looking to do a custom arcade build that goes like this:
I want a 2P double dragon/tekken style fighting game with a coin mech, WITH the winner getting tickets output and custom lighting that highlights the winning side of the console. I know I can just map a switch for the coin mech to 5 or 6 and trigger the insert coin signal, so that's no biggie.
I'm thinking I can do the lights/ticket output with arduino, but I need some way to trigger the arduino with a P1 or P2 winner. (I want to have a march madness style tournament for this).
Has anyone done something similar or have any ideas? I'm all ears!
Thanks in advance!
-
I do not have an answer for you, but very interested to see what you come up with!
-
well, you'd have to find a way to tell the lights which player won. I am pretty sure you'd have to make a custom game for that, unless Double Dragon or Tekken support that.
If you don't need the game to tell the lights, then it's just a matter of having a couple of switches and a person watching the game, who would control the lights.
The ticket dispenser is probably an item that Happ would have. Something like this: http://na.suzohapp.com/cc/42133700.htm (http://na.suzohapp.com/cc/42133700.htm) Again, you'll have to find a way to make Double Dragon or Tekken tell the ticket dispenser how many tickets to dispense. Non-trivial.
-
The ticket dispensing is pretty simple really, I'd just put the tickets between two rollers and drive them with a small DC motor a few turns to eject the ticket. I can set the number of degrees to rotate with the arduino, and therefore set the number of tickets dispensed. Each winner would receive a ticket that basically allows them to challenge someone to another round of the game. Out of tickets, out of the tourney.
So it does in fact look like there is some game rewriting that needs to go on... does anyone know of where I'd look for altering a ROM to set a flag on a P1 or P2 winner?
Thanks!
-
You'd have to modify the assembly code for the game, rebuild the assembly into ROMs. This will change the locations of every asset after that point, so you need to be aware of that, because the game will look for assets at certain addresses. This is all very non-trivial. Your enthusiasm is pretty cool, though.
Find a developer that knows the CPU the game runs on.
-
If it comes up Player 1 or Player 2 winner then it may be worth looking into the tool that LeChuck used for his 4-8 way auto switching in Tron. Basically it looks to a particular part of the screen for a particular image and when it sees 1 thing it swaps to 8 way and when it sees something else it changes to 4 way. I can't think of a reason why this couldn't work for your requirements, It would probably need some tweaking but its as good a place to start as I can think of.
I am working on the assumption that whatever game you choose is in mame. If it's something else then probably no dice. But the original author may still be able to help you out.
-
http://forum.arcadecontrols.com/index.php/topic,117395.msg1243777.html#msg1243777 (http://forum.arcadecontrols.com/index.php/topic,117395.msg1243777.html#msg1243777)
Increase those puppet post counts!
-
Hmmm, this looks insanely interesting. I will need to find a game that shows the exact same graphic in the exact same screen area now....off to see the wizard, I suppose.
-
Hi all! I need some help before I start spending loads of money on a project.
Yea, you are going about it all wrong. You are supposed to spend a lot of money on your project, then realize you messed up, then spend a lot more money doing it right! :D
-
Almost all one-on-one fighting games have a counter for how many rounds each player has won -- and they always show up in the same place. (Usually under the health meter bar somewhere.)
If you're going the Tron 4/8-way switching software route, that's what I'd use as the trigger for ticket production (i.e. 2 rounds won = X number of tickets released.)
The only problem is what happens when one player fights the CPU? You might need a second, conditional trigger for 2 player games... perhaps looking for something other than "Insert Coin" on the 2p side?
Alternatively, a simpler method would be to just require more rounds to be won in a 2p game than a game vs. the CPU. All modern fighters offer this option, as do many games covered in MAME (in their service menus/dipswitch settings.) That way, say for instance, a THIRD round-won icon (on either 1p or 2p side) triggers your ticket mechanism.
It can be done. I don't know the ins and outs of the code required, but if the Tron Switch has shown us anything...
-
The ticket dispensing is pretty simple really, I'd just put the tickets between two rollers and drive them with a small DC motor a few turns to eject the ticket. I can set the number of degrees to rotate with the arduino, and therefore set the number of tickets dispensed. Each winner would receive a ticket that basically allows them to challenge someone to another round of the game. Out of tickets, out of the tourney.
So it does in fact look like there is some game rewriting that needs to go on... does anyone know of where I'd look for altering a ROM to set a flag on a P1 or P2 winner?
Thanks!
I have zero experience doing anything like this, but it seems to me that it would be much easier to have a resident application monitoring for specific screen output as opposed to modifying the game code. You could have the "watcher" app look for specific locations on the screen that are always the same after a match is over (like "Player X Wins" or something) and then when it detects that status it can either look to see if "1" or "2" is within the "Player X Wins" or it could look at the area of the screen that has the health meters... the person with health left in the meter gets a ticket. This sounds complicated but I would be willing to bet that it is less complicated than modifying the actual games.
edit: Just read what Ryori wrote and it sounds like we might be talking about the same thing.
-
Update time everyone!
I've sourced my servo motors for the ticket feed unit and have them coded up to dispense a set number of tickets thats adjustable to the winner.
I have my SFF XP machine that will run MAME. (who doesn't love Craigslist?)
Now, arcade community, I come to you again. Where can I source the best quality at reasonable cost 8 way joysticks and buttons (convex top not concave).
I'd really rather buy from someone who cares to provide good service to this world vs an overseas wholesaler, so any favorite shops you've worked with before is really appreciated.
I'll post pics as soon as I get further along down the line. Thanks again everyone for your wisdom!
-
The ticket dispensing is pretty simple really, I'd just put the tickets between two rollers and drive them with a small DC motor a few turns to eject the ticket. I can set the number of degrees to rotate with the arduino, and therefore set the number of tickets dispensed. Each winner would receive a ticket that basically allows them to challenge someone to another round of the game. Out of tickets, out of the tourney.
Hopefully, this is a "trusted environment" :). Ticket dispensers, while easy to make, aren't as easy to make robust enough to handle shenanigans. Aside from the obvious possibility that one could grab a ticket and pull out as many as they want, there's also the possibility that doing so could turn your motor into a generator and feed enough power back to the controller to cause some damage.
This is also a bad situation for a servo, depending on the size. The smaller ones have a tendency to come apart at the press fittings of the gears when forces are applied to the output spindle.
But, if it's a home setup, with folks who are well behaved, what you have will work fine.
-
For good vendors who seem to care about good service.
There are a few that have a presence here in the forums.
Paradise Arcade
Ultimarc
Groovy game gear
For convex buttons, check either happ competition buttons or the Japanese buttons such as Sanwa.
Will you have an optical switch on the ticket mech to count the notches between tickets, like manufactured ticket mechs have?
-
I think you will ultimately find that the ticket thing is going to end up being an incredible amount of work and money for something you ultimately won't end up using more than a few times. I know a lot of people with a lot of games and some of them are indeed games that can dispense tickets, but I don't know of anyone actually dispensing tickets in a home environment.
-
You mean you want to run multiple competitions but can't be watching every machine and want the winners to come to you with their ticket, wack them in the next round or give them their prize etc etc.
Unless you wrote your own game or had access to a game that allowed you a lot of control / output a file containing the info say a log file I am at a loss at to how you could achieve it
Good luck though :cheers:
Another thought, hack the rom but it isn't easy. You could try a Capcom System 1 game. I am having a go at this soon to backward port Lemmings . But you would need Machine Code 68000.
It would be far easier to hack a PC game with something like a Game Genie ? Do they do those for PC do you remember them? Well you freeze the game all pointers/numbers in specific locations/Memory mapping are analysed if you played about a bit you could probably get what you want but its no easy task.
Unless its worth a few bob id shelf the idea.
-
Or.
A pc fighter that uses online. It would need to store who won what when somewhere. And you could edit that or analyse that ini file .
-
I get what you're trying to do and I think it's a fun idea for a home system but if you're going to use it in the way tickets are used at real arcades I have the same concerns as RandyT. You would have to work in meters to gauge what's coming back on the line to see if someone is pulling tickets and cut the power flow back.
If you're super serious I would either look into a PiFace or some Sensa relays where you have a bit more motor control.
-
Can you make a cookie dispenser for every time you exit mame? Every one is a winner? :cheers:
-
The ticket dispensing is pretty simple really, I'd just put the tickets between two rollers and drive them with a small DC motor a few turns to eject the ticket. I can set the number of degrees to rotate with the arduino, and therefore set the number of tickets dispensed. Each winner would receive a ticket that basically allows them to challenge someone to another round of the game. Out of tickets, out of the tourney.
Hopefully, this is a "trusted environment" :). Ticket dispensers, while easy to make, aren't as easy to make robust enough to handle shenanigans. Aside from the obvious possibility that one could grab a ticket and pull out as many as they want, there's also the possibility that doing so could turn your motor into a generator and feed enough power back to the controller to cause some damage.
This is also a bad situation for a servo, depending on the size. The smaller ones have a tendency to come apart at the press fittings of the gears when forces are applied to the output spindle.
But, if it's a home setup, with folks who are well behaved, what you have will work fine.
It is indeed a trusted environment. However, I'd be amazed if anyone managed to pull tickets out without tearing them. I thought of this inevitability, and the drums I'm driving that roll out the tickets perforate the tickets length-wise. As far as the ticket count, the tickets are a standard length, so I just count the number of degrees I need to rotate the servo to dispense the ticket quantity I want. I think its something like 28* for one ticket on my setup, my notes aren't right here but it's something like that.
I guess I should have explained a little better. The spool of tickets just sits idle, and I draw the tickets between two rollers that are pressed together. I drive one of the rollers with the servo, and it *may* be a little oversized for the application. (Think small household dryer). The rollers themselves are gear mated, and have pins/sockets that interlock. As the tickets are drawn through, the pins punch holes all the way down the length of the ticket, so if anyone tries to pull too hard, the ticket tears and is invalid. The paper tickets will give up the ghost way before anyone can drive any power back through the system, besides, the gear drive is on a one way clutch, so to the would be ticket thief, best of luck getting some tickets.
If you can pull it off, I'll buy you a beer. :cheers:
This whole thing is basically an excuse for me to make some neat robotic stuff. With video games.
How about a beer?
It's really an exercise in the "I think I can make that" realm.
I think you will ultimately find that the ticket thing is going to end up being an incredible amount of work and money for something you ultimately won't end up using more than a few times. I know a lot of people with a lot of games and some of them are indeed games that can dispense tickets, but I don't know of anyone actually dispensing tickets in a home environment.
Can you make a cookie dispenser for every time you exit mame? Every one is a winner? :cheers:
-
Just saw this.
This should be pretty easy and I'm happy to help. If we get out of my depth perhaps NITZ can be coaxed into helping as well.
A few statements - this will work with any pc game providing it provides some small unique image every time a certain action happens, it isn't MAME specific at all. The more specific an area you tell the script to look at the faster it will work and the more reliably it will work. The script will be specific to one game. You can run multiple scripts at once.
A few questions:
What game?
Are there two ticket dispensors or one?
Do you want the number of tickets to vary based on the number of wins in a row?