Controllers Interacting for Unique Game Behavior

Are you new to 6502, NES, or even programming in general? Post any of your questions here. Remember - the only dumb question is the question that remains unasked.

Moderator: Moderators

User avatar
RYQ
Posts: 8
Joined: Mon Jan 20, 2014 8:13 pm
Location: Indiana, USA
Contact:

Controllers Interacting for Unique Game Behavior

Post by RYQ »

Hi, new to the forum.

Are there any NES games that utilize both controllers interacting for unique game play? I know there are two player games obviously, but I mean that specific button combinations between the controllers (say A on controller 1, and B on controller 2 pushed simultaneously- or even in sequence) cause unique behavior within the game.

If there are no games like this, would something like this be possible within the NES architecture?

My knowledge on this subject is very minimal having went through the Nerdy Nights material, but never having created a game or demo myself.

Thank you for your valuable time and gracious wisdom.
zzo38
Posts: 1080
Joined: Mon Feb 07, 2011 12:46 pm

Re: Controllers Interacting for Unique Game Behavior

Post by zzo38 »

Yes, such a thing is possible. One homebrew game I have seen uses both controllers together for a single-player game, but I don't know if it is what you meant or not. What exactly is it you want to do? Can you perhaps give an example?
[url=gopher://zzo38computer.org/].[/url]
User avatar
rainwarrior
Posts: 8062
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Controllers Interacting for Unique Game Behavior

Post by rainwarrior »

Gyromite is sort of like that, where the second controller moves parts of the level, though ultimately you're supposed to control that via the first controller making the screen flash to tell the robot to press the second controller (instead of just putting those buttons on controller 1).

Mega Man 3 lets you super-jump if you hold a button on controller 2, though this isn't really gameplay.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Controllers Interacting for Unique Game Behavior

Post by tepples »

Dian Shi Mali (the "PUSH START TO RICH" slot machine game) puts some bet buttons and the start button on the second controller because there aren't enough buttons on the first.

Smash TV rotates both controllers 90 degrees to the right into the "double fisted" position, so that one Control Pad moves and the other fires.
User avatar
RYQ
Posts: 8
Joined: Mon Jan 20, 2014 8:13 pm
Location: Indiana, USA
Contact:

Re: Controllers Interacting for Unique Game Behavior

Post by RYQ »

zzo38 wrote:Yes, such a thing is possible. One homebrew game I have seen uses both controllers together for a single-player game, but I don't know if it is what you meant or not. What exactly is it you want to do? Can you perhaps give an example?
I would like to do an art installation based on a simple game- in which two (or more???) people can interact with each other through the system. I know many games (and most multi-player games) include interaction, but I'd like to find a way to deepen this type of experience.

My design goals would include facilitating this type of behavior within an artistic process. The product could be musical, by interdependently triggering sounds; or visual, by causing patterns to develop; or whatever could be accomplished within the limitations of the system. I realize that this would be much easier to accomplish with almost any other platform. However, there is good reason to investigate the possibilities of the NES.

For people of a certain age range, the NES brings back memories of playing with friends. As you know, the NES defined what a video game system is for many people. For these people (myself and many friends included), sitting around the console with those controllers in our hands was essentially our generation's version of sitting around the neolithic fire. The nostalgia is visceral.

The NES is a massively important cultural artifact. It's an icon of the period. It was also instrumental in the cultural shift that changed the way we expect to interact with each other through technology. It wasn't the first of its kind, but in my mind it has been the most significant historically.

Hopefully I can get some better ideas about the limitations and possibilities by discussing it with folks who understand it better than myself. I do have some more specific ideas, but I am just trying to find some examples of already existing games and find out about some limitations that I may not know about.

Thanks for the response.
Celius
Posts: 2159
Joined: Sun Jun 05, 2005 2:04 pm
Location: Minneapolis, Minnesota, United States
Contact:

Re: Controllers Interacting for Unique Game Behavior

Post by Celius »

RYQ wrote: My design goals would include facilitating this type of behavior within an artistic process. The product could be musical, by interdependently triggering sounds; or visual, by causing patterns to develop; or whatever could be accomplished within the limitations of the system. I realize that this would be much easier to accomplish with almost any other platform. However, there is good reason to investigate the possibilities of the NES.
Sounds interesting! You could definitely do some cool things with this. It sort of makes me think of Electroplankton for the DS, where you can interact with game objects in a way that makes music. With simultaneous input, you'd want to make sure you program it in a way that accommodates at least a small margin of error. It would be very hard for both players to hit buttons at exactly the same time.

RYQ wrote: For people of a certain age range, the NES brings back memories of playing with friends. As you know, the NES defined what a video game system is for many people. For these people (myself and many friends included), sitting around the console with those controllers in our hands was essentially our generation's version of sitting around the neolithic fire. The nostalgia is visceral.

The NES is a massively important cultural artifact. It's an icon of the period. It was also instrumental in the cultural shift that changed the way we expect to interact with each other through technology. It wasn't the first of its kind, but in my mind it has been the most significant historically.
I think that's more than half the reason this forum exists.
User avatar
RYQ
Posts: 8
Joined: Mon Jan 20, 2014 8:13 pm
Location: Indiana, USA
Contact:

Re: Controllers Interacting for Unique Game Behavior

Post by RYQ »

Celius wrote:Sounds interesting! You could definitely do some cool things with this. It sort of makes me think of Electroplankton for the DS, where you can interact with game objects in a way that makes music. With simultaneous input, you'd want to make sure you program it in a way that accommodates at least a small margin of error. It would be very hard for both players to hit buttons at exactly the same time.

[...]
I think that's more than half the reason this forum exists.
Is it possible to "hold" button-input-data across the controllers and then directly compare? So, if player-1 pushes A, can the NES hold that until player-2 does something? Then, dependent on what 1 does compared to 2, could the game have a unique response (change in background, sprite, sound, or glitch)? It seems this could be a way to avoid syncing buttons precisely.

Or, perhaps there could be a clock that players can use as a metronome (something simple, just stepping through 4 "beats" or something). Or even a combination of these methods for either short-time "quantizing" between the not-so-exactly-synced incoming controller data; or, just have a clock running through some parameters or tables of variables during which button interaction would make different changes dependent on "clock" cycle. Button presses wouldn't have to be synced in the former or latter, since behavior would either be quantized in the former, or progressively generative in the latter from the "hold" function over longer periods of time.

I mentioned intentional glitches because I have worked with databending and glitch art in the past. So, the end result of what I am trying to do here could exploit known failures of the NES (too many sprites on a line, game lag, etc) instead of avoiding it. In fact, if the users could eventually cause the system to crash and need to be reset through their combined actions, I would see this as a bonus. We all suffered through this type of thing as kids anyways. It is familiar to us.

Once I get a better understanding of limitations and possibilities I will steer more clearly in a defined direction. Plenty of time to research and learn (Universe and choice permitting).

It is awesome to be getting feedback here. I've been checking out the titles mentioned. I am open to any advice, tips, criticisms, etc. I am also reading through this forum and coming across really great information!

Cheers! :beer:
Celius
Posts: 2159
Joined: Sun Jun 05, 2005 2:04 pm
Location: Minneapolis, Minnesota, United States
Contact:

Re: Controllers Interacting for Unique Game Behavior

Post by Celius »

RYQ wrote:
Celius wrote:Sounds interesting! You could definitely do some cool things with this. It sort of makes me think of Electroplankton for the DS, where you can interact with game objects in a way that makes music. With simultaneous input, you'd want to make sure you program it in a way that accommodates at least a small margin of error. It would be very hard for both players to hit buttons at exactly the same time.

[...]
I think that's more than half the reason this forum exists.
Is it possible to "hold" button-input-data across the controllers and then directly compare? So, if player-1 pushes A, can the NES hold that until player-2 does something? Then, dependent on what 1 does compared to 2, could the game have a unique response (change in background, sprite, sound, or glitch)? It seems this could be a way to avoid syncing buttons precisely.
I was picturing something along these lines. And yes, this is 100% possible. Basically when you read from the controller, you're looking at an 8-bit number where every bit represents a different button. Every 1 in the byte represents a button that is currently pressed. It will continue to say 1 until the player is no longer holding the button. So with the code you'd take the values from each controller and see if the bit is set for the appropriate button on both. If it is, the button is pressed on both controllers.
Grapeshot
Posts: 85
Joined: Thu Apr 14, 2011 9:27 pm
Contact:

Re: Controllers Interacting for Unique Game Behavior

Post by Grapeshot »

You could do something like a platform game where player A controls movement and player B controls the weapon, or you could even AND both player's controls together (so the game only counts a button as pressed while both players are pressing it) and mount the controllers more than 8 feet apart, so one person can't play the game alone. The game should also require movement in four directions so it's impossible to play by just taping down buttons on one controller.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Controllers Interacting for Unique Game Behavior

Post by tepples »

Reminds me of We Love Katamari where one player pushes the left side and the other player pushes the right. Essentially the ball handles like a tank, and the players have to work together to move and turn the ball.
User avatar
RYQ
Posts: 8
Joined: Mon Jan 20, 2014 8:13 pm
Location: Indiana, USA
Contact:

Re: Controllers Interacting for Unique Game Behavior

Post by RYQ »

I don't think I am up to the challenge of a platform game or anything like that. Plus I am more interested in an abstract experience (where it might not be obvious what interactions will have which effects, and the graphics would be more like patterns or randomness). Have there been any homebrew games that take this approach? Where there is no real point to the game, you just interact with the audio and visual content?

Also, if any programmers are interested in this type of interactive/generative gaming experience, I will likely need to pull a team together to get anywhere with this. I assume it would be easier to develop than most games in some respects, even while presenting its own challenges. Like I mentioned, it also doesn't have to be completely stable. Glitches and bugs would be considered par for the course (just as in stochastic and generative music).

I am currently focusing on learning about the art and sound design aspects of the NES, it would be cool to find someone locally (or, if feasible, someone over the net) that already has experience with programming and knows about existing engines and such that could be utilized. Perhaps there is someone that frequents this forum that would take an interest in a project like this and would like to earn some extra cash on the side. I still have a lot more learning to do on my end though, before I would undertake this project with money in hand. Just putting feelers out I guess. Maybe as I get better at the art and sound aspect I could exchange those skills with a programmer for his/her own skills.

As an aside, I just started a new blog series on stochastic art and this weekend's post will feature NES emulated sounds (from a free plug-in). It is an aleatoric piece (my kids rolled dice to determine which phrases go where, and what harmonies exist in the chords). I'll post a link when I put it up so you can check out the kind of work I do (the previous entry was a tutorial on glitch art).
lidnariq
Posts: 10677
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Controllers Interacting for Unique Game Behavior

Post by lidnariq »

RYQ wrote:Plus I am more interested in an abstract experience (where it might not be obvious what interactions will have which effects, and the graphics would be more like patterns or randomness). Have there been any homebrew games that take this approach? Where there is no real point to the game, you just interact with the audio and visual content?
I vaguely feel like Neil Baldwin's Supermagic Music Maker is similar to what you're asking about... but it's single-player.
User avatar
RYQ
Posts: 8
Joined: Mon Jan 20, 2014 8:13 pm
Location: Indiana, USA
Contact:

Re: Controllers Interacting for Unique Game Behavior

Post by RYQ »

lidnariq wrote: I vaguely feel like Neil Baldwin's Supermagic Music Maker is similar to what you're asking about... but it's single-player.
Ah yes, this is very much like what I am talking about (on some level at least). Thanks so much for the link. I had checked out some of his work before but overlooked that particular rom. Very neat. Is he a participant on the forum here? Perhaps I should try to pick his brain, or maybe even collaborate.

What an excellently helpful site this is. If I am able to pull this project together I will have to give credit to everyone here. Not only for the replies to my own questions, but also for all of the info throughout the forums.

Thanks again for everyone's replies!
lidnariq
Posts: 10677
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Controllers Interacting for Unique Game Behavior

Post by lidnariq »

RYQ wrote:Is he a participant on the forum here? Perhaps I should try to pick his brain, or maybe even collaborate.
He at least used to be, but I think he disappeared when his NES broke. ( :( ) He's a little more active on the Chipmusic forum.
Celius
Posts: 2159
Joined: Sun Jun 05, 2005 2:04 pm
Location: Minneapolis, Minnesota, United States
Contact:

Re: Controllers Interacting for Unique Game Behavior

Post by Celius »

RYQ wrote: I am currently focusing on learning about the art and sound design aspects of the NES, it would be cool to find someone locally (or, if feasible, someone over the net) that already has experience with programming and knows about existing engines and such that could be utilized. Perhaps there is someone that frequents this forum that would take an interest in a project like this and would like to earn some extra cash on the side. I still have a lot more learning to do on my end though, before I would undertake this project with money in hand. Just putting feelers out I guess. Maybe as I get better at the art and sound aspect I could exchange those skills with a programmer for his/her own skills.
I'd recommend when trying to collaborate with someone here, try not to use money as an incentive. Not to say that I don't think a programmer should get paid, I just think many users here will become disinterested at the offer because they don't think it will really happen. There've been a lot of people that popped out of the blue looking to pull together some programmers for a dream project and pay them for their time, but I don't think any of the projects went anywhere. The people trying to pull programmers together become "too busy with life" once it looks like something might actually get started. It's sort of left a bad taste with many users.

Most NES projects aren't really profitable, but maybe you could offer a share of the profit if the game sells. But mostly try and get someone who's genuinely interested in the project, and wants to do it regardless.

My other advice would actually be DIY. Learn to program. Then you can make whatever you want and keep your money. You'd be in absolute control. But then again, I suppose the spirit of this project is collaboration :).
Post Reply