Unvisible - one room, one hit man, one target, one outcome?
A card and dice game where you must try to complete a series of hits without being detected by the police.
Needs Python 2 (doesn't work on 3!)
Needs Python 2 (doesn't work on 3!)
Awards
Scores
Ratings (show detail)
Overall: 3.8
Fun: 3.6
Production: 4
Innovation: 3.7
Respondents: 14
Files
File | Uploader | Date |
---|---|---|
video-frame.png
Preview image for video |
paulpaterson | 2014/10/12 04:35 |
screenshot-6.png
Screenshot of submission |
paulpaterson | 2014/10/12 00:00 |
unvisible-0.3.1.zip
— final
Version 0.3.1 - Really Final |
paulpaterson | 2014/10/11 23:53 |
unvisible-0.3.zip
— final
Version 0.3 - Final Release |
paulpaterson | 2014/10/11 23:37 |
unvisible-0.2.zip
— final
Version 0.2 |
paulpaterson | 2014/10/11 23:17 |
unvisible-0.1.zip
— final
Version 0.1 |
paulpaterson | 2014/10/11 12:03 |
screenshot.jpg
Day 6 Screenshot |
paulpaterson | 2014/10/11 05:57 |
Screen Shot 2014-10-08 at 11.45.14 PM.png
Day 4 screenshot |
paulpaterson | 2014/10/09 04:48 |
Diary Entries
Day 1 - 4,712 miles and some planning
Morning: Sitting on a flight from Manchester to Atlanta and then on to Houston. Not exactly the perfect start to pyweek but actually surprisingly productive! The fact that I have to sit for 8 hours solid means I have plenty of time to plan the game.
I only have a budget of about 16 hours for this competition so I have chosen a game that I can realistically complete in that time.
I'm doing a card and dice game. Should be quite light in terms of the engine and rather more time in the content and tuning.
Evening: Arrived back in Houston and have most of the game and engine planned out. I’m thinking of trying the plane trick next time as it seems to work pretty well!
Day 2
I have completed the game design and basic engine implementation and am now working on the gameplay elements. Since this is a card and dice game these parts are quite simple.
In the game you will play a hit man trying to complete a series of contracts before you are detected by the police. I've never done a card game before and it would probably be a good idea to make a paper prototype for testing but I don't think I really have time to do that so I'm going straight to the code!
I created a pretty detailed plan yesterday and I'm ahead of that right now but I know how that can change all of a sudden!
In the game you will play a hit man trying to complete a series of contracts before you are detected by the police. I've never done a card game before and it would probably be a good idea to make a paper prototype for testing but I don't think I really have time to do that so I'm going straight to the code!
I created a pretty detailed plan yesterday and I'm ahead of that right now but I know how that can change all of a sudden!
Day 3
I have the game fully playable now with all the rules implemented. All the graphics are still placeholder and I haven't done any tuning yet on the card values or the overall user interface.
The major task in implementing the game so far was getting a statefull representation of the game so that you can easily see the flow of game (dealing cards, playing cards, AI's actions, scoring etc). I implemented this using generator functions. Each generator contains the logic for a certain game state (28 in all). Within the generator the process of the state is tracked. This allows quite fine grained control over the timing of on-screen events. Without this the player will be totally lost trying to work out what is going on.
In its playable form I can see the different mechanics coming into play quite nicely. In particular the player has to balance going for an easy kill (hit) versus avoiding detection by the police. It isn't fun yet but I can see how it could be if I can get the tuning and polish to where they need to be.
I'm still a bit ahead of schedule but I think I have probably underestimated the time taken for graphics and polish!
The major task in implementing the game so far was getting a statefull representation of the game so that you can easily see the flow of game (dealing cards, playing cards, AI's actions, scoring etc). I implemented this using generator functions. Each generator contains the logic for a certain game state (28 in all). Within the generator the process of the state is tracked. This allows quite fine grained control over the timing of on-screen events. Without this the player will be totally lost trying to work out what is going on.
In its playable form I can see the different mechanics coming into play quite nicely. In particular the player has to balance going for an easy kill (hit) versus avoiding detection by the police. It isn't fun yet but I can see how it could be if I can get the tuning and polish to where they need to be.
I'm still a bit ahead of schedule but I think I have probably underestimated the time taken for graphics and polish!
Day 4
The time today was on getting a start screen, screen to show all the cards, graphics and graphical polishing of the cards. I wanted to get the bulk of this out of the way before tuning gameplay and the look and feel of the overall game board.
In the screenshot below you can see a game in progress. It wont make much sense but you should be able to see different cards representing the hit (target), location for the hit, weapon for the hit and various modifier cards that make the hit more or less likely to succeed and increase the chance of you being detected.
I remember from my last pyweek that Wednesday was a day when my energy level started to flag and I noticed it again this time! It really helps now to keep an eye on the priorities so I'm updating my plan once a day to make sure I'm working the most significant items to get something playable and fun.
Day 5
Only a small amount of work completed today.
I redesigned the overall board layout to create a more logical arrangement of the cards. I also created a more interesting display for the Hit Points and Detection Points on the board. This gives a stronger feeling of when you are getting close to the limit of making a kill or being detected.
I'm still just about on schedule although I think I'm falling behind in tuning the gameplay!
I redesigned the overall board layout to create a more logical arrangement of the cards. I also created a more interesting display for the Hit Points and Detection Points on the board. This gives a stronger feeling of when you are getting close to the limit of making a kill or being detected.
I'm still just about on schedule although I think I'm falling behind in tuning the gameplay!
End of day 6
Things have really come together over the last few hours. The game is fully playable and all the graphics, sounds and music are added. It is already quite a fun game I think.
The major challenge will be that it takes a bit to understand what is going on. I did some play testing with my wife as a tester and this revealed some significant improvements that would help people to understand things the first few times they play the game. These are the only other changes I want to make tomorrow.
Overall I'm pretty happy. Tired, but happy!
The major challenge will be that it takes a bit to understand what is going on. I did some play testing with my wife as a tester and this revealed some significant improvements that would help people to understand things the first few times they play the game. These are the only other changes I want to make tomorrow.
Overall I'm pretty happy. Tired, but happy!
Finished game
It's all over now! I submitted the final version of my game.
Today was pretty crazy - lots of tuning, switching things around and generally tidying up and making sure there are no loose threads. I implemented a ton of usability improvements based on my excellent tester (my wife!). I think that the game really feels solid now when you play it.
I didn't get as long as I would like to tune the card values so I don't really have a good sense of whether the game is too hard or too easy. I never made it all the way through myself ... so I guess that is a sign.
Anyway, now is the time for a bit of recuperation.
Thanks Richard for organising another Pyweek - it has been a whole lot of fun so far and I now get to play a bunch of games. Looking forward to seeing everyone else's entries. They all look amazing.
Today was pretty crazy - lots of tuning, switching things around and generally tidying up and making sure there are no loose threads. I implemented a ton of usability improvements based on my excellent tester (my wife!). I think that the game really feels solid now when you play it.
I didn't get as long as I would like to tune the card values so I don't really have a good sense of whether the game is too hard or too easy. I never made it all the way through myself ... so I guess that is a sign.
Anyway, now is the time for a bit of recuperation.
Thanks Richard for organising another Pyweek - it has been a whole lot of fun so far and I now get to play a bunch of games. Looking forward to seeing everyone else's entries. They all look amazing.
Gameplay video
I made a video showing the gameplay for Unvisible. It is probably a bit easier to watch this than it is to read through the instructions!
Click on the link or the image below: https://www.youtube.com/watch?v=MPm_-EgFPPo
Click on the link or the image below: https://www.youtube.com/watch?v=MPm_-EgFPPo
Unvisible post mortem
Thanks to all who played and rated my game. I've very grateful to all for the helpful comments.
Many people commented that my game was too random and that the dice weighed much too heavily in the outcome compared to the cards that you played. This is definitely true.
I did play quite a few rounds myself after the submission deadline and the game played much more like patience than a game of strategy and skill. I could defintely improve my chances of making it through six contracts but I only ever came even slightly close to wining six of them one time!
Anyone who made it passed six contracts will see that I didn't even put in any special UI for winning as I suspected it was impossible with the tuning as it was!
I am happy that everyone seemed to get the idea of the game. That was one of my main worries once I got started. I had chosen a card game as I thought I could build a relatively simple engine and hoped to get some emergent gameplay (from the randomness) quite cheaply, and I knew I didn't have too much time to develop the game.
However, once I got started I noticed that I needed to spend much more time making the flow of the game events transparent to the user than I had anticipated. This was quite a learning for me. Although the game engine was simple, the game state was complex and communicating this state and developing the players concept of the state required work on the UI, visuals, and sound.
As an example, the game was fully playable, and essentially didn't change, by the end of day 3. Day 4 was spent making it look nice. And the remaining days were spent tuning the design (not the gameplay) to make it more understandable. Probably 1/3 of that time was spent on the "contract widget" on the bottom left of the screen. This was time well spent but it took away from playing the game and tuning the scoring.
In the end this showed through in the comments, where I should have reduced the dice score considerably.
Anyway I learned a lot from developing this one. Generators are awesome for building highly stateful systems!
Thanks to all and congrats to everyone on the excellent games.
Many people commented that my game was too random and that the dice weighed much too heavily in the outcome compared to the cards that you played. This is definitely true.
I did play quite a few rounds myself after the submission deadline and the game played much more like patience than a game of strategy and skill. I could defintely improve my chances of making it through six contracts but I only ever came even slightly close to wining six of them one time!
Anyone who made it passed six contracts will see that I didn't even put in any special UI for winning as I suspected it was impossible with the tuning as it was!
I am happy that everyone seemed to get the idea of the game. That was one of my main worries once I got started. I had chosen a card game as I thought I could build a relatively simple engine and hoped to get some emergent gameplay (from the randomness) quite cheaply, and I knew I didn't have too much time to develop the game.
However, once I got started I noticed that I needed to spend much more time making the flow of the game events transparent to the user than I had anticipated. This was quite a learning for me. Although the game engine was simple, the game state was complex and communicating this state and developing the players concept of the state required work on the UI, visuals, and sound.
As an example, the game was fully playable, and essentially didn't change, by the end of day 3. Day 4 was spent making it look nice. And the remaining days were spent tuning the design (not the gameplay) to make it more understandable. Probably 1/3 of that time was spent on the "contract widget" on the bottom left of the screen. This was time well spent but it took away from playing the game and tuning the scoring.
In the end this showed through in the comments, where I should have reduced the dice score considerably.
Anyway I learned a lot from developing this one. Generators are awesome for building highly stateful systems!
Thanks to all and congrats to everyone on the excellent games.