Beta testing was successfully ended, and Tournament Edition was just released. This version will replace the previous available apps. Compatibility with the previously released apps also will be maintained (an update will be available soon, in order to ensure multiplayer compatibility with other versions). Tournament Edition brings in the possibility to play more matches in a game, instead just a single match as previously. The winner will be the one who will win the most matches. Scoring system also will be updated.
After a long delay, “Tournament Edition” is ready and will be released soon.
If you’d like to participate in the Beta Testing, please send a private message.
Exactly one year ago I began to work on the design of the game, and now I found some interesting pictures about the initial state of the application. I’ll sketch the main evolution steps of the iPad design, and the challenges I (we) faced at that time during implementation.
Designing a project is a challenging and complex process. In fact you are defining a completely new product with all of its aspect: look and feel and interaction. You need to know the type of users, and how they want to use your game. We also want to create a simple, logic, and beautiful design.
From a small project perspective design has two important areas:
- Functional Design: this incorporates the whole interaction in the application, where the key aspect is to have a logic structure, the buttons should be placed in a logic place, and users should “feel at home” in your application, without the need of teaching them the key components location and how to use your app. Lots of sketches, brainstorming time is needed before writing down an interaction diagram.
- Graphic Design: A creative artist with experience is needed here. You dream something, and he draws it enhanced. The result will be awesome ( http://www.denes.ro )
When doing the functional design, you need to start from some constraints: device size, how the users are handling the device, where the key elements should be placed. Also, for simplicity, we wanted to have a single game area (all other elements will be presented on small papers, actionsinitiated from the main game area). Let’s detail the process.
Define tappable elements size
First step is to define elements size. We will play on checked paper. But on which size? Because bombs will be dropped by dragging them, they cannot be too small, otherwise will be hard to tap them. Also they cannot be too big, because overall space is limited. After many tries, the final dimension for iPad was defined. A checked paper with these constraints covered very well the available screen area.
Define content of the main area
When adapting a classic paper and pencil game we know, that we need in the main game area (these elements will be always visible):
- We need two boards (The content of the boards were taken exactly from the version I played on paper)
- On second board we need an area for dropping bombs (another piece of paper?)
- Always visible (but not too visible) menu buttons
First mockup was created:
Initial prototype contained two papers for each board on a bamboo wood desk. It was not perfect, we tried with different backgrounds.
Considering this is a childhood game, we wanted to emulate the feeling of playing in a school class. This feeling can be achieved by using papers and notebooks.
Yes! Notebooks. We are around the perfect solution. Something like that:
But wait. Kids usually are playing in their notebook, instead putting piece of papers in a book. By merging these concepts, and putting the menu items on post-it, we finally achieved what we want. To increase the doodle feeling we put a few sketches on the notebook’s corners.
Good. How many dynamic elements we will need? In the original game, only numbers are written in the cell, but looks nicer if there are some elements around numbers. We played with filled and empty bombs. Because were people which liked more the filled bombs meanwhile others vote for empty bombs, both of them are used (can be changed in settings).
Another big challenge was to emphasize the cells when the bombs are dragged. Considering the size of a bomb, when the user thumb is on it, simply is hard to visualize the location where will be dragged. To overcome this problem, hatches are highlighted on the target column/row.
For coloring we need the following colors:
- current turn (black)
- previous turns (gray)
- highlighted state (green)
- wrong state (red)
And here are the final design result:
Some polishing, choosing from various wood materials for the background and putting everything together in a real application:
It seems there were some issues regarding the Multiplayer Pack for iPhone, but now there are fixed, and the corresponding IAP works
New year, new challenges. I received already many positive feedback and constructive suggestions about this project, and also there is already prepared a new set of features, which will be developed in the near future. Do you have a wish, want something more in the game? Check your opinion in the next poll:
Now you can play in Two Player Mode from your iPhone and iPad. Automatic reconnection also was implemented (the most wanted missing feature), now the application will try to reconnect automatically with peer’s device without any user interaction. Based on my tests I can notice that in some cases, connection over WiFi is less responsive, in this case the best solution is to turn off WiFi, and the connection will be established over Bluetooth. Also there are still some cases when the peer device cannot be discovered. In this case try to recreate the game, if doesn’t work try the same thing as before: switch to Bluetooth. (GameKit doesn’t allows to specify the connection order if Bluetooth and WiFi both are available)
The simplest connection mode, between two iOS devices is over Bluetooth (We don’t need internet connection, or a WIFI hotspot around). But, connection remains stable until the application is suspended. Unfortunately the specific of the iOS application states brings up some challenges. When an app is put in the background, after a time, the application is suspended, and the network connection is disconnected. This wouldn’t be a problem if the connection could be restored easily when the application is activated. Unfortunately GameKit contained lot of issues, therefore the connection cannot be re-estabilished easily after the application is activated (also there were problems when the two devices simply doesn’t find each other). Therefore, for the iPad version of the game contained a simplified networking scheme: when the connection is dropped the game is ended. But this approach is not cool. After the application is put in the background, after a few seconds the game is terminated. This could affect even more the iPhone version, therefore multiplayer mode was not released with this version.
After iOS7 appeared, I decided to warm up this subject, and rewrite the networking part to have an auto-reconnect mechanism. GameKit contains some improvements, and after some enhancements and some code parts rewritten, it seems the earlier mentioned problems are solved. This module is ready, now is under tests, before the final release. In January there will be released a new networking scheme for the iPad version, and finally the multiplayer for iPhone will be ready. And yes, you will be able to play the game between an iPhone and iPad. 🙂 Be patient.
Scoring is available for iPhone and iPad, and here are some details, how it is working. Considering the characteristics of the two game modes, the maximum achievable score will be different:
- Commander Mode: Max 10 points
- Admiral Mode: Max 20 points + bonus points
In every match, 4 categories (category score contributes to the main score in different ways in the two game modes):
- Cleverness: max 3 points in Commander mode and max 4 points in Admiral Mode
- Agility: max 3 points in Commander mode and max 6 points in Admiral Mode
- Precision: max 2 points in Commander mode and max 5 points in Admiral Mode
- Ammunition: max 2 points in Commander mode and max 5 points in Admiral Mode
For every category a value interval is set, and based on the achieved value, a score is calculated. Let’s consider an example, the easiest. Cleverness. This means, how many units were correctly highlighted. Our units will cover 24 cells on the board, so the maximum number of cells that can be correctly highlighted is 24 (Please note, that the incorrectly highlighted cell will reduce Cleverness value). So user can get Cleverness value between 0 and 24.
Now let’s see the corresponding score calculation. In Commander mode if the user achieves 20 as Cleverness value, he will get the maximum score (3 points for this mode), meanwhile in Admiral mode is enough to highlight correctly 15 cells he will get the maximum score (4 points for this mode). In Admiral Mode if all 24 cells are correctly highlighted, the user will get 2 extra bonus points.
The scoring intervals for the other three categories are:
- Agility (turns used before victory): If 6/7* or less will result maximum score, 12/11 value for minimum score. In Admiral Mode if the win occurs in turn 6 or before, a bonus point will be given
- Precision (number of cells covered by bombs – better if lower ): If 50/60* ore less will result maximum score, 70/80 ore more will result in minimum score. In Admiral Mode, if the user used less then 60 bombs, a bonus point will be given.
- Ammunition (number of bombs available in the last turn): If 6/8* or more will result maximum score, 2/1 or below will result the minimum score. In Admiral Mode, if the user has more than 8 bombs in the last turn, a bonus point will be given.
* First value = Commander mode / Second value = Admiral Mode
First phase of Game Center integration is almost ready, and scores can be saved in the Leader board (Yes, only one leaderboard will be used for simplicity). After a match, the player will get a score based on some factors. 4 categories will be considered, and the balanced values will contribute to a final score. Because the nature of two game modes (Commander, Admiral) differs, the maximum score that can be achieved will differ in two modes. Also, the players of the two modes will not be separated, there will be a single Leader board.
Newbies can accommodate first with Commander mode, meanwhile the score is recorded, and after switching to Admiral mode, can increase the score faster (Admiral mode will result in higher scores and bonus points). In few weeks this feature will be released for iPhone.
A first review is available about the game on: http://www.technologytell.com/apple/125707/appidemic-battleship-the-tactical-game-for-iphone-and-ipod-touch/
Also the project can be followed on indie db:
To make addictive a game, a clever scoring mechanism is needed. In battleship like games, usually the successfully won matches count is used. In some cases, the proportion between won/lost matches count is used.
My goal is to implement something sophisticated. Instead simply counting won/lost matches, we could add a score which depends on how the game went. We can win like a sir, with almost all ships healthy, and all bombs available, or winning can result after pure luck. There are differences … How to catch that?
Which factors should be used and how? In the game, there are already some aspects which could be scored. For example: the users can highlight bombs on positions where they consider, there could be a ship (Yep, of course users which have a little experience, and they have formed the “filter view”, which I mentioned in my earlier post). So let’s take factors which we can use:
- Highlighted positions: the ships can be located on 24 cells (from 100). If the user highlight correctly all of them – maximum score
- Used turns: if the user wins the game using fewer turns we could give higher score
- Remaining bombs: It’s matter, how many bombs could use the user, when the game ends. Maximum value here is 10
- Thinking time: If the user consume less time in thinking we could add higher score
- How efficient is the user: how many bombs are on board. Considering we have 100 cells it matters if the user could identify ships using less shots, or the board is almost filled with bombs to locate ships.
Because a few factors are relative, an optimal balancing is needed to get the winner combination. What is your opinion? Which factor is the most important, and how they should combined? What is your opinion?
Everything begun 20 years ago, when my Grandfather revealed a “new” version of the classic Battleship game. A clever one. Instead shooting blindly, we need to think in patterns. As you play more, you will see the board through a “special filter” and you will see where the ships can be. Liked a lot. I contaminated everybody with this game: other family members, friends and classmates. If you get comfortable with the game play it begins to be addictive. 🙂 It is fun…
A year ago I was thinking why to not implement this game for iOS. Sounds challenging. Because the paper on which we played could fit easily on an iPad I decided to write for this device type. After about a year of spare-time development, the game got little by little a nice shape, and it begins to look like an iPad game. It was fantastic. But it deserves a professional design. Quickly talked to a visual artist friend, and in few weeks the design was ready. As a result this year, the version for iPad was published in AppStore. It was time for iPhone. A lot of new challenges comes at this point. How to compress a UI which fits perfectly on an iPad to a small phone. Its not possible. After long thinking I had a cool idea. And few months later, the version for iPhone was released.
The project doesn’t ends here. No. Now is jumping to a new level. I have a lot of ideas in my mind, and if you like this project you can follow how this is evolving. Enjoy. 😉