iOS gamekit, card game players, & GKVoiceChatService - xcode

I'm working on a card game for iOS. I'm thinking game center integration is something I want to be leaning towards, but in terms of a card game, I'm not exactly sure what that would entail for the individual players. From the Apple class reference, it seems thatGKPlayer is what I want to be working with, but I also have my own player class that I think I'm going to need just to deal with card hands. I'm wonderring if my Player class should have a GKPlayer object in it or if that would be the wrong way to be going about it.
I'm also wonderring about the game center voice chat (I know this sounds completely unrelated to card games, but bear with me). I've not seen it implemented, so I'm not entirely sure how it works. Basically what I would need would be for it to be able to connect 4-10 players and to just be a voice chat sort of thing. It seems like the sort of thing that would need to display something on screen which I want to avoid. How would that work?

First Question's Answer :
Q: Player class should have a GKPlayer?
A: Well, that would be considered to be a good design. Because, a GKPlayer object will let you know the details of connected player who are currently participating in a game. However, It would be better if you can use the subclass of GKPlayer named GKLocalPlayer. So in that way you maintain an authenticity, one player with one device.
For more information on multiplayer game : Click here!
It seems like we can only have peer to peer voice chat. (But wait for an experts, to share more details with their own hacks!)

Related

Can I develop a controller on airconsole with scaled down version of what is on the main screen?

My goal is to create some simple dice games, that show a more involved scoreboard and all other players on the main screen, but a general status of whose turn it is and scoreboard on the controller when it's not the players turn. That way you wouldn't need to see the main screen in order to play, but the main screen would still add value if you could see it. Anyone have any input on this?
This is generally possible, yes. Your question is very vague and the answer depends on what tools you intend to work with. Unity WebGL cannot be rendered on phones so far, but if you use JS based game creation tools, you can show whatever you like on the controller and main screen.

How can I programmatically interact with a video game GUI

Before I get shot down on this one, I realize that the 'how' answer for this question might be slightly debatable, however I'm more interested in the 'what'.
In a nut shell I want to know which methods I can use to interact with a PC video game interface. I want to create a program that can extract data from a video game market interface.
My first initial thought was that I would need to programmatically take screen shots and then use some Optical Character Recognition software to extract the text. Then run whatever operation on the extracted text to derive my incites.
Then I was thinking it might just be easier to have a bunch of mini screen shots that I just use to find matches on certain sections of the screen. When a match is found, I would then know what the text is on the screen, without having to actually 'extract' it.
For those out there whom have done this, can you point me in one direction or the other? Perhaps there is a method that I am completely unaware of.
If its the case that this question is not suitable for this forum. It would be much appreciated if you could direct me elsewhere.
Edit: I should probably add that I'm not looking to spend a fortune on this project... so any free software would be the best. Perhaps that's a tall order.
I'm starting to think Sikuli is the direction I'm going to go. Open Source image recognition software, integrates with Python, Ruby, Java, JDBC, JavaScript and more.
-- Expanding on the question --
There are basically 3 categories of tools:
Recorder while you manually work along your workflow, a recorder tracks your mouse and keyboard actions. After stopping the recording, you might playback (autorun your worflow). The recordings can usually be edited and augmented with additional features.
GUI aware the tool allows to programmatically operate on GUI elements like buttons. This is based on the knowledge of internal structures and names of the GUI elements and their features. Some of these tools also have a recording feature.
Visually the tool “sees” images (usually retangular pixel areas) on the screen and allows to act on these images using mouse and keyboard simulation. There might be some recorder feture as well with such a tool.
SikuliX belongs to the 3rd category and currently does not have a recorder feature.
Answer in progress...
In games with moddable UIs, like many MMOs, you could create a mod that streams data through a series of black and white squares that could be read with optical sensors. From there, a microcontroller could deliver the data back to the PC via USB or wifi.
My approach as a noob. First determine if OCR 100% needed, I think this plays a role in speed.
if possible:
-run game in window (allows for trouble shooting and easy troubleshooting)
-is there a high contrast option for game? Will help Sikuli find things
then you plan out your scenarios:
You have to create different functions for different situations. A lot of gaming is "do you see this?" Then "do this" until that is gone.
Start with small parts you want to automate then build on them. Making sure your parts can scale in case small change need to happen, they will. For instance you want to open the menu if you see an object, lets say a tree.
Assume you have some sort of walking algorithm.
setROI(region1) #focus here for tree
if exists(tRee):
click(loCation) #you could hit the shortcut key to opening the menu
click(iTem) #if the item moves in the menu then you may need to scroll to find it first or you can change the ROI and start seeing if sikuli can differentiate your item from one you dont want to click.
You would get that to loop into other actions and proceed. Goodluck.

how to create basic stick figure type animation movies?

I want to make a simple animation movie with stick figures like this: http://www.youtube.com/watch?v=Kr_DGf77OhM
I am an indie coder so I am completely new to this. My goal is to be able to make simple marketing videos for my apps.
I want to know where to start - what tools should i be looking at? I do not want anything fancy - I just want to move around some stick figures and some images I have, and I can add voice to the movie.
I'm sure it is not as simple as I am thinking - but would appreciate some recommendations on where to start.

Making A Gameshow like application?

my friend is holding a charity quiz night and I was wondering if there was any software that would be good to create an application where the user can choose from two categories and then see a question from that category, then move on to the next two categories and so on.
I thought of Powerpoint or Keynotes for this but they have a very linear slideshow structure is it possible to link to different slideshow from buttons maybe like macros?
Or is there any better software out there that would be a better tool for the job? Bearing in mind it needs to be able to be shown on a projector and without internet access.
Any help would be really great as Im not sure whats the best way to go about this?
Thankyou.
You could use a series of powerpoint slides with buttons for each option. You can splice in a little bit of VBScript to have to buttons keep track of the choises a user made, so that you can present the results in the end.
However with only a trivial bit of searching you could find out that there are dozens of quiz maker applications. I'm not sure which ones are good or bad. But try this query string. To find apps like "Multiple Choise" which looks pretty much like what you are looking for.

Pacman game class design

I have to write a multiplayer pacman game in Java for a university assignment and I'm after some feedback for my design so far.
So I'm trying to go down an MVC style and this is what I've sketched out.
I've never designed anything using MVC, so my knowledge is really only from the pragmatic programmer and a short lecture so it's quite possible I'll have misunderstood or misinterpreted it slightly.
Also, most of the tutorials I've seen for designing simple games don't mention MVC at all so is this a case where MVC is not a good pattern to use?
My idea so far is that the Game State class would be the main source of data storage as it were, and would use a 2d array to store the state of the game, where the ghosts are, where pacman is etc.
The Game class would be the main controller class that would contain the main game loop and control all the interactions between the data (game state) and the view (probably a GUI representation - I just added text based really as an example).
After I've got the game working I'm going to have to split it out into client/server. It seems to me, by using this model, that it wouldn't be too hard to keep most of the the data and processing on the server and have the clients interact with the controller and draw their own views. I have no idea (yet) how this may effect the performance of the game over a network so I'll have to research into that further once the single player version is done.
Any tips or advice, based on my design so far, would be greatly appreciated - also bearing in mind that it will eventually have to be a multiplayer game.
Cheers,
Adam
On the contrary: MVC is actually a very good thing to use for this type of problem and the Swing framework does a really nice job at supporting it.
You should probably first read up on MVC. Just as an overview, you will be trying to separate how the game is represented internally (the model), from how it is drawn (the view) and how that state is to change (the controller).
First think about everything you need to model the current state of the game. Having an Entity that defines some basic behavior and subclassing it for the PacMan and Ghost like you do is probably a good way to start, but you'll probably want to call your Map a GameBoard or the like (giving things the same name as library classes is generally a bad idea: you don't want to confuse it with java.util.Map). To wrap up the model section, you probably want to wrap them all up in one class who 'knows' the entire state of your game. Since this is your GameState class, you probably want to redraw your arrows.
Since determining the view is likely to be fairly easy, you can go there. You can give your GameState a draw(Graphics) method and invoke this from whatever your view is (which you'll decide later). This might in turn delegate do each of your Entities, who might in turn delegate it to a Sprite or Image object that they have. Now your view, who's likely to be a JPanel or the like, can just call draw() using its own Graphics object from within its paintComponent() method.
Now you still need a controller to actually make stuff happen. This is likely to be some object with a KeyListener hooked into the view as well as an InputStream and an OutputStream to handle communication with the other player (it probably also needs to be the one to worry about synchronizing the game state). It also needs to also have a timer so that it can tell the units to update periodically. You do need to decide who makes the decisions on whether the moves are legal: the controller could do it, the GameState could, or it could just give the Entities the information they need and let them do it themselves.
Once you have all of these parts, you can wrap them up in one final class who knows everything and gets it all set up and such. There's a lot more that I'm glossing over and several more decisions that you have to make, but it should get you going.
I agree with James entirely, and would like to add that you might also want to make sure that this 2d array of yours for the game state can handle some edge cases like multiple ghosts occupying a tile, a pacman and ghost in the same tile (depending on how you handle it in your code), the pacman's food dots, etc.
Good planning more often than not makes the best programs, I'm glad to see you have started off with a diagram.

Resources