One of the final things to do when making an iOS app is the marketing materials that get uploaded along with the app to be displayed in iTunes. Here are the 4 screenshots that will be displayed to iPhone users.

I finally finished the last spell effect for MatchCraft! I still have a bit of work left for the UI as well as sounds but this baby is almost ready to release. The last spell, Water Spray was a challenge. I thought it would be one of the easiest but that wasn’t the case.
Most of the spell effects operate on a timer. This generally works well but since this spell effect travels across the screen and can have a weird origin, such as the lower right corner of the window, the effect was harder to pull off. Using a timer alone wouldn’t work, as the gems would destroy at weird moments in the animation. Sometimes they would blow up too early, sometimes too late.
I fixed this by calculating where the leading edge of the water spray would be based on the current frame of the animation and destroying the gem nearest that point, which is how the effect would work in real life anyhow!

I finally finished the last spell effect for MatchCraft! I still have a bit of work left for the UI as well as sounds but this baby is almost ready to release. The last spell, Water Spray was a challenge. I thought it would be one of the easiest but that wasn’t the case.

Most of the spell effects operate on a timer. This generally works well but since this spell effect travels across the screen and can have a weird origin, such as the lower right corner of the window, the effect was harder to pull off. Using a timer alone wouldn’t work, as the gems would destroy at weird moments in the animation. Sometimes they would blow up too early, sometimes too late.

I fixed this by calculating where the leading edge of the water spray would be based on the current frame of the animation and destroying the gem nearest that point, which is how the effect would work in real life anyhow!

I just finished the Lightning Arc Spell for the Wind Element. This spell had me the most concerned with particle effects (Chain Lightning was too long to fit on the buttons after I got everything in game).
I never could wrap my head around exactly how you make it look like it’s one continuous jumping beam, but I think it turned out pretty good! I had to make a lightning particle effect and calculate the position, rotation and length needed to hop to the next closest game piece that was of the same type.

I just finished the Lightning Arc Spell for the Wind Element. This spell had me the most concerned with particle effects (Chain Lightning was too long to fit on the buttons after I got everything in game).

I never could wrap my head around exactly how you make it look like it’s one continuous jumping beam, but I think it turned out pretty good! I had to make a lightning particle effect and calculate the position, rotation and length needed to hop to the next closest game piece that was of the same type.

I just finished the coding and graphics for the first spell that the player gains access to as the Wind Element in MatchCraft. The Gale Force spell causes strong winds to blow across the board and shear pieces off, sending them flying away and awarding you points!
From a development perspective, spell effects are fun to make. The rules that govern the particle effects are many and you can end up with some pretty crazy results. The Gale Force effect is a combination of 4 particle effects along with in-game adjustments of the game piece’s position, velocity and rotation over time.
I think it turned out quite well and I hope you agree when you’re finally able to download and play MatchCraft!

I just finished the coding and graphics for the first spell that the player gains access to as the Wind Element in MatchCraft. The Gale Force spell causes strong winds to blow across the board and shear pieces off, sending them flying away and awarding you points!

From a development perspective, spell effects are fun to make. The rules that govern the particle effects are many and you can end up with some pretty crazy results. The Gale Force effect is a combination of 4 particle effects along with in-game adjustments of the game piece’s position, velocity and rotation over time.

I think it turned out quite well and I hope you agree when you’re finally able to download and play MatchCraft!

The last few days have been spent working on the modals that pop up after you open a treasure chest or level up. Here’s a screenshot of one of the screens you see when leveling up while playing as Water. Each of the modals are themed for the element, just like the rest of the UI.
This should be the last bit of proper user interface I have to do before finishing up the spell effects and adding sounds. Getting closer to a release candidate!

The last few days have been spent working on the modals that pop up after you open a treasure chest or level up. Here’s a screenshot of one of the screens you see when leveling up while playing as Water. Each of the modals are themed for the element, just like the rest of the UI.

This should be the last bit of proper user interface I have to do before finishing up the spell effects and adding sounds. Getting closer to a release candidate!

I finished the graphics on the first page of the “Magic Store” today and got them in game. This screenshot shows the current list of the items that you can buy with coins. I always try to apply a lot of polish to what I do and as a result anything with UI takes a long time for me to finish. Now that it’s in game, the next step is to get it wired into the currency system so that you can actually buy the stuff!

I finished the graphics on the first page of the “Magic Store” today and got them in game. This screenshot shows the current list of the items that you can buy with coins. I always try to apply a lot of polish to what I do and as a result anything with UI takes a long time for me to finish. Now that it’s in game, the next step is to get it wired into the currency system so that you can actually buy the stuff!

It’s said that premature optimization is the root of evil in programming. I’d like to recount a 4 hour long waste of time that I caused because of my own premature optimization.
When I started this project, a strictly 2d game, I started by putting thousands of sprites on the screen and looking at the profiler.  I noticed most of my time was spent in a Physics update routine. I decided early on to do physics myself because this game wasn’t going to use anything more complex than pretty simple translation. Translation would be moving an object from one point to another over time. I found out you can reduce the times that the game engine recalculates its physics by changing something called the TimeStep. I cranked that sucker to maximum and went on my merry way.
4 months later it came back to bite me. I thought I didn’t use anything from the Unity Phyiscs library, but it turns out I was wrong. The box colliders that surround the buttons in my game use a RayCast to see if the mouse or your finger is over them. All has been well until a few days ago when I started animating the menus. They now slide on and off the screen. It looks pretty sweet, but the weirdest thing would happen. After moving a menu on the screen, the buttons would be unresponsive for around 10 seconds.
After several hours of tweaking and debugging I tracked it down to a RayCast failing to hit an obviously good condition. In the screenshot above you can see the mouse pointer is well within the green box collider of the button; however, the physics engine would report a failure when raycasting.
The issue turned out to be the TimeStep variable above which was set to maximum. Guess what that value is at maximum? 10 seconds.. It makes sense that the physics engine couldn’t update the location of the box colliders until it ran again, which I naively set to maximum those many months ago. Fortunately I am reminded once again to stop premature optimization.

It’s said that premature optimization is the root of evil in programming. I’d like to recount a 4 hour long waste of time that I caused because of my own premature optimization.

When I started this project, a strictly 2d game, I started by putting thousands of sprites on the screen and looking at the profiler.  I noticed most of my time was spent in a Physics update routine. I decided early on to do physics myself because this game wasn’t going to use anything more complex than pretty simple translation. Translation would be moving an object from one point to another over time. I found out you can reduce the times that the game engine recalculates its physics by changing something called the TimeStep. I cranked that sucker to maximum and went on my merry way.

4 months later it came back to bite me. I thought I didn’t use anything from the Unity Phyiscs library, but it turns out I was wrong. The box colliders that surround the buttons in my game use a RayCast to see if the mouse or your finger is over them. All has been well until a few days ago when I started animating the menus. They now slide on and off the screen. It looks pretty sweet, but the weirdest thing would happen. After moving a menu on the screen, the buttons would be unresponsive for around 10 seconds.

After several hours of tweaking and debugging I tracked it down to a RayCast failing to hit an obviously good condition. In the screenshot above you can see the mouse pointer is well within the green box collider of the button; however, the physics engine would report a failure when raycasting.

The issue turned out to be the TimeStep variable above which was set to maximum. Guess what that value is at maximum? 10 seconds.. It makes sense that the physics engine couldn’t update the location of the box colliders until it ran again, which I naively set to maximum those many months ago. Fortunately I am reminded once again to stop premature optimization.

One of the main menu screens in MatchCraft. The game and art is finally coming together nicely and I’m proud of the way it looks. It may be a match-3 game, but it’s beautiful!

One of the main menu screens in MatchCraft. The game and art is finally coming together nicely and I’m proud of the way it looks. It may be a match-3 game, but it’s beautiful!

I love the idea of working at home, but the truth is I rarely accomplished anything in a days time because of distractions created by myself and others. Today I moved into an office about 15 minutes from home. I don’t like the idea of spending unnecessary money, but as my brother said, “I don’t think you can afford to not spend money on an office”.
I’ve only been at my new desk for 2 hours and I’ve already completed more than I would have in a full day at home. I expect much more progress on my games moving forward.

I love the idea of working at home, but the truth is I rarely accomplished anything in a days time because of distractions created by myself and others. Today I moved into an office about 15 minutes from home. I don’t like the idea of spending unnecessary money, but as my brother said, “I don’t think you can afford to not spend money on an office”.

I’ve only been at my new desk for 2 hours and I’ve already completed more than I would have in a full day at home. I expect much more progress on my games moving forward.

Here’s how I spent two days on redesigning an art asset. I decided to change the way the player earns items. Previously the only way to earn unlockable items in MatchCraft was to get a match-5 and then there is a percentage chance to earn an item from a treasure chest. I decided it would be nice if the user could buy items as well. I will keep the % chance that an item is discovered in a treasure chest, but it’ll be skewed more heavily for coin and experience rewards. I wanted coins to be a “first-class citizen” of the game and thus they should be a major game piece. When you match 3 or more coins, they’re added to your bank which can be used to buy items, temporary boosts, etc
Not Good Enough
I had a game piece that was both golden and round which I could have used for the coin, but it was also my least favorite piece of art. I don’t think it goes well with the rest of the art.

Artist’s First Coin
I had my artist Anton make a new game piece that would specifically represent a coin. I wanted the user to know that they were collecting currency that could be spent. I liked the theme of a Sun being in the coin and gave him a screen grab of Zeus’ coin from the movie Clash of the Titans.

Back and Forth
Although I liked the art and design of the initial coin Anton made, I didn’t think it looked like a coin and I felt the design was far too busy when on the game board with the rest of the pieces. I sent back a more specific mockup with an idea for the “rim-size” of the coin and the type of inset. I guess I really liked the Zeus Coin :) The next coin Anton sent me was not nearly as visually complex, but it still didn’t feel like a coin.

Developer Art
I figured that since I had such a specific design in mind, I would take what he had provided thus far and try to make something myself. Normally I am willing to bend a bit for the artist because they generally have a much better eye for these things, but I felt the visual queues for a coin were still missing. It needed to be bright gold and have a standard coin rim. I tried a few different styles and what I ended up with is below. I’ll pass this along to the artist to see if he can improve it any, but if not I’m happy with the results. And that is how I spent two full days working on a gold coin.

Here’s how I spent two days on redesigning an art asset. I decided to change the way the player earns items. Previously the only way to earn unlockable items in MatchCraft was to get a match-5 and then there is a percentage chance to earn an item from a treasure chest. I decided it would be nice if the user could buy items as well. I will keep the % chance that an item is discovered in a treasure chest, but it’ll be skewed more heavily for coin and experience rewards. I wanted coins to be a “first-class citizen” of the game and thus they should be a major game piece. When you match 3 or more coins, they’re added to your bank which can be used to buy items, temporary boosts, etc

Not Good Enough

I had a game piece that was both golden and round which I could have used for the coin, but it was also my least favorite piece of art. I don’t think it goes well with the rest of the art.

SunCoin1

Artist’s First Coin

I had my artist Anton make a new game piece that would specifically represent a coin. I wanted the user to know that they were collecting currency that could be spent. I liked the theme of a Sun being in the coin and gave him a screen grab of Zeus’ coin from the movie Clash of the Titans.

SunCoin2

Back and Forth

Although I liked the art and design of the initial coin Anton made, I didn’t think it looked like a coin and I felt the design was far too busy when on the game board with the rest of the pieces. I sent back a more specific mockup with an idea for the “rim-size” of the coin and the type of inset. I guess I really liked the Zeus Coin :) The next coin Anton sent me was not nearly as visually complex, but it still didn’t feel like a coin.

SunCoin3

Developer Art

I figured that since I had such a specific design in mind, I would take what he had provided thus far and try to make something myself. Normally I am willing to bend a bit for the artist because they generally have a much better eye for these things, but I felt the visual queues for a coin were still missing. It needed to be bright gold and have a standard coin rim. I tried a few different styles and what I ended up with is below. I’ll pass this along to the artist to see if he can improve it any, but if not I’m happy with the results. And that is how I spent two full days working on a gold coin.

SunCoin4

view archive