Flash Prototype Stages is now over.
Development has now moved to iPhone. Using the Corona SDK, the game will be playable initially on the iPhone, iPhone 4 and iPad1+2. Graphics have been updated to stretch to the correct ratio depending on device.
Also some more changes after further testing include:
There is no Multiplier. Further testing will confirm this so it's not off the table all together.
Porting to Corona has it's number of advantages and disadvantages with our game in it's current state. Applying the powerful Physics Api will automatically make the quartz drop and also add a very nice bounce effect too. However, additional measures need to be taken so that all the quartz don't just knock each other over and pile up rather than stack up
The information Bar has been moved to the top. With devices such as the iPhone, screen space is precious and we don't want the quartz to be too small since we're going to have to tap them etc.
The timer has been added to the info bar. Now players have a set amount of time to rack up as high a score as possible. A space on the left of the info bar is allocated for an options button.
Friday, October 7, 2011
Thursday, October 6, 2011
Clean Up and Pest Control
**Check out the Update so far at my portfolio:
michaelpiercy.ie
The last couple of days has seen a spring clean up of code. Some bugs that were causing unforeseen problems have been sorted as well as sound effects and animations added (more to be added soon).
Clean Up
Organising the functions a little neater is a good way to remind you what's doing what in the game. sometimes you may have forgotten that you added a variable or function here and there but didn't need to use it in the end. Cleaning up the code halved the amount of lines in the game which is a great way to cut down on file size and keep the Frame Rate up.
Bugs
Filtering through the code line by line is a very daunting task but sometimes it's the only way to solve that problem buried within the hundreds of lines of code. With that said, I've learned over the last couple of days that sometimes taking a few minutes break, grab a drink, a bite to eat; Let it all fall out of your head and more often than not, the solution presents itself.
Animations and Sounds Effects.
I had a bit of a problem getting the animations all working nicely. Each Quart was programmed to play the 'Pop' animation just before it gets deleted. After it's deleted another lot of code was constantly checking to see if there's any Quarts missing - if there were it would replenish them and the new quarts would fall from the top of the screen.
Sounds like a nice plan, but in practice something was going wrong. Sometimes the new Quarts being added were not lining up correctly. I'm a big believer in 'The Computer will only do what it's told' philosophy, so it was quite frustrating when I carefully scanned every line of code, arranged and re-arranged the calls and functions to no avail. I spent a long time testing and re-testing trying to find a solution until eventually I took a break. In my head I went over what was happening but away from the computer. Suddenly it hit me.
The Code was working fine, everything was doing what it was supposed to be doing. The Quarts were deleting when they were supposed to and the correct amount of new ones were being replenished. But the two blocks of code were not working linearly, it was happening almost simultaneously.
The code that checked to see if there was any quarts missing was in the middle of counting when the matching quarts were in the middle of finishing their animations before being deleted. So the count result was sometimes incorrect. A simple check to make sure that all of the animations were finished before re-counting fixed the bug.
I've also been working on some layout designs:
This was before the decision to change the game-play slightly. Now the screen is always full and with a 5x5 grid rather than this much larger grid, but it still gives a good idea of the planned layout.
michaelpiercy.ie
The last couple of days has seen a spring clean up of code. Some bugs that were causing unforeseen problems have been sorted as well as sound effects and animations added (more to be added soon).
Clean Up
Organising the functions a little neater is a good way to remind you what's doing what in the game. sometimes you may have forgotten that you added a variable or function here and there but didn't need to use it in the end. Cleaning up the code halved the amount of lines in the game which is a great way to cut down on file size and keep the Frame Rate up.
Bugs
Filtering through the code line by line is a very daunting task but sometimes it's the only way to solve that problem buried within the hundreds of lines of code. With that said, I've learned over the last couple of days that sometimes taking a few minutes break, grab a drink, a bite to eat; Let it all fall out of your head and more often than not, the solution presents itself.
Animations and Sounds Effects.
I had a bit of a problem getting the animations all working nicely. Each Quart was programmed to play the 'Pop' animation just before it gets deleted. After it's deleted another lot of code was constantly checking to see if there's any Quarts missing - if there were it would replenish them and the new quarts would fall from the top of the screen.
Sounds like a nice plan, but in practice something was going wrong. Sometimes the new Quarts being added were not lining up correctly. I'm a big believer in 'The Computer will only do what it's told' philosophy, so it was quite frustrating when I carefully scanned every line of code, arranged and re-arranged the calls and functions to no avail. I spent a long time testing and re-testing trying to find a solution until eventually I took a break. In my head I went over what was happening but away from the computer. Suddenly it hit me.
The Code was working fine, everything was doing what it was supposed to be doing. The Quarts were deleting when they were supposed to and the correct amount of new ones were being replenished. But the two blocks of code were not working linearly, it was happening almost simultaneously.
The code that checked to see if there was any quarts missing was in the middle of counting when the matching quarts were in the middle of finishing their animations before being deleted. So the count result was sometimes incorrect. A simple check to make sure that all of the animations were finished before re-counting fixed the bug.
I've also been working on some layout designs:
This was before the decision to change the game-play slightly. Now the screen is always full and with a 5x5 grid rather than this much larger grid, but it still gives a good idea of the planned layout.
Play Tests and Changes
Well, the last few days have been productive ones. After playing around with the challenging code a little more, and finally ironing out the bugs, I have finished editing the basic gameplay.
After some play tests and user tests, few changes have been made though. To make the game that little bit more fun, the aim of the game is not to clear the screen of Quartz, but to gain a high score. With every quart that gets deleted from a connection, a new one is added to the level and drops from the top. The games were just too short and too easy to complete without this.
Also, if the player makes an unsuccessful move(a move in which no connection is made), instead of the two selected quartz returning to their original position, they stay as they are. The player will have three moves to make a connection. If they don't, its game over! This needs a little more play tests to go over and make sure it's the right decision. More updates to come.
Other than that, Everything is working just fine! I am sourcing sound effects and the next step is layout design. The blank screen just isn't doing it for me!
After some play tests and user tests, few changes have been made though. To make the game that little bit more fun, the aim of the game is not to clear the screen of Quartz, but to gain a high score. With every quart that gets deleted from a connection, a new one is added to the level and drops from the top. The games were just too short and too easy to complete without this.
Also, if the player makes an unsuccessful move(a move in which no connection is made), instead of the two selected quartz returning to their original position, they stay as they are. The player will have three moves to make a connection. If they don't, its game over! This needs a little more play tests to go over and make sure it's the right decision. More updates to come.
Other than that, Everything is working just fine! I am sourcing sound effects and the next step is layout design. The blank screen just isn't doing it for me!
Wednesday, October 5, 2011
It's Your Move!
Today I spent some time applying some more columns and cleaning the code up a little. There were some for each loops and case statements that could have been a little less complicated to begin with. All nice and tidy now!
But more importantly:
The Players' Move
The idea of this game is that the player selects a Quart, and then selects an adjacent Quart to swap it with. If the swap connects three Quartz of the same colour in a row (either vertically or horizontally) then those quartz are deleted from the grid. And from our work before if there's any quartz above they fill in the gap.
Who's Keeping Score?
Also adding a basic Score system whereby each successful move gives the player 10 points. This score is updated and displayed on screen. There is also a multiplier function that multiplies each successful move that generates additional connections. so if the player makes a connection and some Quartz drop, and another connection is automatically made, their score is multiplied by the Multiplier (which is also displayed under the score). When the player makes another move that doesn't create any additional connections, the multiplier is reset.
Should the player make an unsuccessful move, and no connection is made from the swap, then the Quartz return to their original position ie. they are swapped back.
Level Design
After playing around with screen sizes and amounts of Quartz to display on screen, I decided to go with an initial 5x5 grid. This gives enough room to expand the grid size to increase difficulty as the levels progress.
Next Step, Play Testing and Fine Tuning the Rules a bit. Also I'll upload a playable demo of the game so far - so Stay Tuned!
But more importantly:
The idea of this game is that the player selects a Quart, and then selects an adjacent Quart to swap it with. If the swap connects three Quartz of the same colour in a row (either vertically or horizontally) then those quartz are deleted from the grid. And from our work before if there's any quartz above they fill in the gap.
Also adding a basic Score system whereby each successful move gives the player 10 points. This score is updated and displayed on screen. There is also a multiplier function that multiplies each successful move that generates additional connections. so if the player makes a connection and some Quartz drop, and another connection is automatically made, their score is multiplied by the Multiplier (which is also displayed under the score). When the player makes another move that doesn't create any additional connections, the multiplier is reset.
Should the player make an unsuccessful move, and no connection is made from the swap, then the Quartz return to their original position ie. they are swapped back.
After playing around with screen sizes and amounts of Quartz to display on screen, I decided to go with an initial 5x5 grid. This gives enough room to expand the grid size to increase difficulty as the levels progress.
Next Step, Play Testing and Fine Tuning the Rules a bit. Also I'll upload a playable demo of the game so far - so Stay Tuned!
Tuesday, October 4, 2011
Development Stage Two
With the Quartz falling down from the top and all lined up, lets add another column and some more colour to the scene.
Implement Full Spritesheet
The same sprite sheet is loaded for all Quartz and divided into frames. Depending on a random number drawn, the only part of the image is shown, giving us our Quart!
Another Column and Colour Detection
The second column is positioned directly next to the first. The Colour Property is added to the Quart Class and a simple function call from update checks for adjacent matching colours. If it finds them, it calls the deleteQuart function!
Make a selection and Highlight a Quart
Clicking on Quartz adds a new entity called selectionRectangle. For now, this is just a tinted grey with a low alpha positioned over the selected Quart.
Coming Up Next:
Level layout, Making a move: Swapping Quartz and Score Implementation.
The same sprite sheet is loaded for all Quartz and divided into frames. Depending on a random number drawn, the only part of the image is shown, giving us our Quart!
The second column is positioned directly next to the first. The Colour Property is added to the Quart Class and a simple function call from update checks for adjacent matching colours. If it finds them, it calls the deleteQuart function!
Clicking on Quartz adds a new entity called selectionRectangle. For now, this is just a tinted grey with a low alpha positioned over the selected Quart.
Coming Up Next:
Level layout, Making a move: Swapping Quartz and Score Implementation.
Sunday, October 2, 2011
Development Stage One
Well, all went to plan for the first stage of Development.
To recap, by now we wanted to have:
Installed necessary software
I've gone with Flashpunk and Flash Developer as the platforms for developing the game. Flashpunk has a nice active development community and it supports the Indie Dev Scene!
Set up a Quart in a world to drop down
Add more Quartz to follow from the top
Remove Quarts with a mouse click testing the above Quartz to fall
Next I plan to take a look at adding a full sprite sheet, adding more columns and highlighting selected Quartz!
To recap, by now we wanted to have:
I've gone with Flashpunk and Flash Developer as the platforms for developing the game. Flashpunk has a nice active development community and it supports the Indie Dev Scene!
Next I plan to take a look at adding a full sprite sheet, adding more columns and highlighting selected Quartz!
Subscribe to:
Comments (Atom)







