EveryGame iPad Blog

Monday, November 15, 2010

Getting Ready for Version 1.4

We haven't posted here for a bit, but that doesn't mean we have been working! We're getting close to having version 1.4 of EveryGame ready. Here are a couple of the new games it'll include:

And here are some of the features coming up in the next release:
* "Free" locations, where you can drag and drops pieces anywhere in the location (or on the screen)
* New actions to modify the points value of a piece, making the creation of scoreboards much easier
* Lots of fixes related to tabs

After that, the two biggest features coming up soon are:
* Game emailing / Play by email
* Easy game creation, with auto-xml file creation based on images loaded on (though obviously no advanced ui features could be done this way)

Friday, September 10, 2010

EveryGame version 1.30 is out!

Go check it out in the App store. Here are the update notes:

What's New in Version 1.30

Two new Eurogame inspired titles!
* Cities of Calvino
* Pirates vs. Ninjas

New Features in the UI:
* EveryGame can now open .zip and .ege files directly from Mail or Safari on the iPad -- no more need to sync in iTunes
* Tabs for off-screen boards can now be named and positioned in the game.xml file

New Features in the Engine
* New "random_side_at_location" action, allowing games with dice-locking to be easily made
* The font size and color for location displays can now be specified.
* New location display types allow easy annotation based on piece name, or location name
* Various bugs fixed.

Tuesday, September 7, 2010

Coming Soon...

The next version of EveryGame (1.30) has been submitted to Apple, and should hopefully be released soon. We've got some exciting inclusions in the release. The two that I'm most excited about are our two new included games. Unlike many of the classic abstracts we currently include, the two new games have more of a Eurogame styling, and fantastic artwork to boot!

In Ninjas vs. Pirates, two asymmetric sides battle each other in a race to capture sacks of kittens, in a mashup of memes guaranteed to bring the Internet to its knees.

The less-silly Cities of Calvino has two merchant traders competing to establish markets and sell goods in a world of impossible cities.

Of course, there are many new engine features to incorporate into your own games. Makes something great and want to share? Send it our way! Your own title could make it into a future EveryGame release!

Sunday, August 29, 2010

Sample Game with "Free" Piece Movement

We've just posted a new game called AmoebaWar.ege to the EveryGame Google group.


To open the .ege files, remember that you can download them, rename them to .zip, and then double click to open them.

AmoebaWar isn't a complete game -- more a work in progress / technology demonstration. It should give you some good ideas for implementing a miniature or wargame. In particular, it has examples of:
* Simulating free movement with a grid of small squares
* Selected different terrains by picking them from a tab-based menu
* Tapping pieces to show their movement / attack range

AmoebaWar also makes use of several features that will only become available once EveryGame version 1.3 is out. You won't be able to see them until it's available, but a peak in the xml file will give a preview. You'll get more control over tab placement and naming, the ability to annotate pieces with their names, and a whole lot more!

Thursday, August 26, 2010

Creating Dice in EveryGame

A user was recently asking us about how to create dice in EveryGame, so I thought I'd share my response with everyone, since there's certainly lots of games that need them!

The simplest dice would look like this (a 6-sided piece, with a tap action to pick a random side):

<single_tap action="random_side" args="v2,0_1_2_3_4_5">
<sides paths="game_1.png,game_2.png,game_3.png,game_4.png,game_5.png,game_6.png>

It can be hard for that simple case to see if when you tap, you've rolled the same value, or just missed. People have come up with a few solutions. One is to use two pieces, one with sides, and one always blank (to represent the "ready to roll" state). Each tap will flip between these.

<initial_location name="dice_location">
<single_tap action="send_to_back">
<sides paths="game_1.png,game_2.png,game_3.png,game_4.png,game_5.png,game_6.png>

<single_tap action="send_to_back">
<single_tap action="random_side" args="v2,0_1_2_3_4_5,dice">
<sides paths="game_blank.png>

When the blank piece is on top, tapping it will send it to the back of the stack (hiding it), and roll the dice. When the dice is tapped, it's sent to the back, showing the blank piece.

If you want an example of the fancier setup, I suggest you look in the backgammon game's xml file. You could even use its dice images if you want.

Monday, August 16, 2010

Free Piece Movement in EveryGame

Recently, we've gotten a couple of questions regarding creating games by loading on pieces, without needing to create individual board spaces for them, so I thought I would share one of my responses with everyone.

Right now, you do have to define locations for the pieces to live it. The underlying engine is created in such a way that one giant location, where you drag pieces around to an arbitrary location inside of it would be possible. However, there's lots of extra code and debugging needed to actually implement such a thing. I think it could happen in the future, but it won't be available in the next few releases.

However, there are tricks to get close to that. With the "rows" and "cols" specifiers in the location tab, you could easily make an entire grid that covers the entire background. Just make the cells 20x20 or so perhaps, and start them at coord (0,0). Pieces can actually be much larger than the location that holds them, and now you could drag them around the iPad, and while they'll rigidly snap, it'd only be a small distance to the nearest cell.

The only difficulty is that you actually have to tap in the location to select a piece to tap / move. This means that if your locations are too small, it can be hard to pick them. So the smaller the location, the closer approximation to free movement, but the more difficult it is to grab pieces. One clever trick I saw was to put a dot, or other "handle" in the center of the image for each piece. Since the center of the piece will correspond with the location (where you have to tap), it makes it much more evident where you grab the piece from, and lets you easily work with pieces much larger than their grid squares.

Hopefully that gives some of you an idea of how you could set up free pieces movement in your own games. I'm out and about typing this entry from my iPad now, but I'll try and upload a simple game that demonstrates this technique to the Google Group soon.

Friday, August 13, 2010

Getting Images for EveryGame

Based on a comment on the last entry, I thought I'd post a couple of tricks for getting images for EveryGame.

One great resource for images are Vassal files. If you've never heard of it, Vassal is a program similar to EveryGame, that runs on desktop computers. It's been going much longer though, and there's quite a library of games built up for it. Many can be found here:

You can download any of the .vmod files from that site, rename it to .zip, and then expand it. Inside, you'll find all the images you need to to create your own version in EveryGame.

Another easy way to get game images is just to take a top-down picture with your digital camera. The results have been surprisingly good just by taking pictures of the pieces, and cropping them to create the images for EveryGame. A scanner works too obviously, though it's hard to get the whole board in there!

Wednesday, August 11, 2010

AI in EveryGame

We got an email about the possibility of adding an AI to EveryGame recently, so I thought I'd share our thoughts with everyone.

While adding an AI might be possible eventually, it's probably not something that will be coming soon.

One of the largest problems is actually the AppStore rules.  One of the distinguishing features of EveryGame is that people can create their own games.  However, Apple has strict rules against running interpreted code inside of apps, which means people likely could not create AI's for their own games.

If Apple does relax its policy, we've at least got an idea or two about how an AI could be added (though it would still be no small task!).

What you are likely to see soon are ways to improve the ability to play with other people.  We're looking into options for Bluetooth play, internet play, play-by-mail and the like.  Plus, there's a bunch of other new features, likes clocks for chess, better hand-tabs, and easier game creation we're working on too!

Friday, August 6, 2010

Coming up Next

We're hard at work on the next release of EveryGame. It should include much better support for various display options. The last release focused on game debugging. This one is focused on display. You'll finally be able to name and position the tabs for off-board hands. We're also greatly expanding how text is displayed. Previously, locations would just list a piece count or score, but you'll get options to control whether and how the text is displayed. You'll even be able to display e piece name, giving a way to distinguish stacks of otherwise identical pieces.

Got more ideas? Let us know! Email eggy.everygame@gmail.com

Thursday, August 5, 2010

EveryGame Reviewed on TUAW

The Unofficial Apple Weblog (TUAW) has posted a lengthy review of EveryGame. It's exciting to see it mentioned on a high-profile website, particularly one that we read everyday anyway.

Read it here!

Thursday, July 29, 2010

EveryGame version 1.20 is out!

The major focus of this release was providing better feedback and instructions when making new games. If you've had any trouble doing it before, give it another try now.

New Games:
* Freez! (Another user submission. Thanks to Henry Lahore! http://www.tinyurl.com/Freezipad)
* Backgammon

New Features in the UI:
* An expanded "Create A Game" menu with links to online forums / resources.
* A "Edit Game" menu available inside the game, which reports on errors and allows you edit xml files directly on the iPad.
* Missing images are displayed with a question mark placeholder image.

New Features in the Engine:
* Stacks of identical pieces may now be created using a "count" argument in the piece tag.
* Grids of identical locations mays also be created using the new "rows" and "cols" attributes of location tags.
* A new "send_to_back" action, allowing pieces in a stack to be cycled though.
* A new "move_piece_at_location" action, giving extra options to move pieces when tapped.

Thursday, June 3, 2010

Version 1.1.0 is Approved

Go download it from the app store. It's got some new features we're really excited about, like panning and zooming for large boards!

New Games:
* My Apologies (Our first user submitted creation. Thanks to Mike Houser! http://www.casdra.com/blog/)
* Tic Tac Toe

Game updates:
* Chess and Hnefatafl now support capturing by dragging one piece atop another.

New features in the UI:
* Pan and Zoom

New features in the Engine:
* Non-dragable pieces
* Pieces may perform many actions when tapped
* Pieces may apply actions to other pieces
* Pieces may automatically capture / trade places when dragged onto one another

Bug fixes:
* Fixed a potential crash when locations referenced in xml file did not exist
* Fixed a crash that occurred when the enter key was pressed while saving

Thursday, May 27, 2010

Debugging Tip

Ever have trouble getting all of the tags lined up in your game.xml file? An easy way to find errors is to simply open the file in Safari or Firefox. Both can read .xml files, and if there are any problems, will show you both the missing/extra tag, and the line number where the problem occurred.

We're also working on enhanced debugging features inside of EveryGame, to help make finding errors easier. If you have a particular feature in mind that would make your own debugging easier, email us at eggy.everygame@gmail.com

Monday, May 24, 2010

Ideas for EveryGame #1: Solitaire Puzzles

EveryGame was designed for playing board games, but people having been coming up with all sorts of alternate uses for it.

It's a lot of fun to play games with others, but what if you don't have a friend around? The are a large number of solitaire puzzles, everything from the classic Peg Jump, to something more complex like Rush Hour that would be perfectly suited to implementation in EveryGame.

Using the ability to pre-create saved games, you could make different configurations easy to load. The History features allows for moves to easily be undone, or your solution played back. And in the upcoming 1.1 release, we'll also have added features to allow the creation of an automated move-counter.

Wednesday, May 19, 2010

What we're working on

Version 1.01 is out, but we're already getting ready to release the next one. Here are a few of the new features you can expect to see soon:

* A zoomable, scrollable board, to allow for games with a higher resolution (or smaller pieces) than the iPad screen can easily allow

* New XML file features, to allow pieces to perform multiple actions, on any other piece when tapped. This will make piece that act like buttons much easier to create.

Got a feature that you'd like to see? Let us know!

Tuesday, May 18, 2010

Version 1.01 Released

Apple has finally approved the first EveryGame update. This was a smaller update, but there's some much more exciting stuff on the way!

Added new game:
* Cribbage Board

Other changes:
* Spaces now allowed in game names
* Fixed a problem with the "Load Game" menu
* Updated iPad app icon resolution

Monday, May 17, 2010

EveryGame Blog Created

Hi there! EveryGame is a new app for Apple iPads (and iPhones) that's lets you play a wide variety of boards games with your friends. Unlike similar programs though, you can create your own games and load them on your iPad.

We're working on some great new features, but our users have also been sharing all sorts of great things with us: new ideas for games, useful feature requests, and clever tricks to play with the existing features.

We're starting this blog so that we can share all of that with all of you!