My entry for Ludum Dare 44 is Wizard of Worth.
What an incredible couple of days… more details to follow. Lots of ups and downs throughout the weekend.
My entry for Ludum Dare 44 is Wizard of Worth.
What an incredible couple of days… more details to follow. Lots of ups and downs throughout the weekend.
I have been developing a text manager library for use with CoronaSDK. Below is a Proof of Concept video that shows what it can currently do. I am planning on using this library in all my existing (and new) projects.
I am considering releasing it as a plugin in the Corona Marketplace, but I am not sure at this time. I guess it depends on whether there is a demand for this.
In 2018 I released a mobile app named Tappy Easter. In 2019 I released an update. Well, not really an update, more of a complete rewrite. Version 1.0 of Tappy Easter was written in C# using Unity. Version 2.0 is written in Lua using CoronaSDK.
This article will document my experience writing the same app using two different languages in two different game engines, and will cover the great and not-so-great of each.
I have been using CoronaSDK since 2012 and have written several apps currently on the iOS and Android play stores. Some time in 2016 I picked up Unity since I wanted to try my hand at a 3D game. I spent a lot of time learning Unity, developing games for game jams, but I wanted to release something to the app store. Even though it was a 2D game, I decided to create Tappy Easter using Unity as a good test case.
The game’s layout is fairly simple: a title screen, a level select screen, and the game screen, and some additional pop-ups and menus to move between the game scenes.
The game scene consists of a series of Easter baskets that are tapped to move a colored egg. The controls are quite standard and very simple from a development perspective.
The level select screen is a bit more complex… it consists of 20 level buttons on two panels. The user can scroll between two panels and can only select levels that have been unlocked. In this scene, the 20 level buttons are built using either a locked or unlocked graphic and if the level is unlocked and previously played, the number of stars that were awarded are also displayed.
Development took approximately four months, and it went very well. The Unity interface makes it easy to lay out your game screens, and I like using C#. Unity UI development is awesome, and the text features of TextMesh Pro give the game extra polish.
In addition to some assets I previously purchased, I also decided to purchase a couple of assets to make development a bit easier for this game. The code I wrote for swiping and tapping screen items was not really working as well as I wanted, so I purchased an asset to handle the mobile gestures. I also purchased an asset to simplify other features found in mobile games such as game services, advertisements, and rating systems. Since these features are platform dependent, using an asset to mange this was a no-brainer.
Development was a breeze… no issues with coding or screen design. It was now time to test on my devices and upload to the app stores.
It felt like I spent more time getting the app to compile than I did to develop it, and this was becoming more and more frustrating.
You would think that adding Google Play and Admob would be easy since they are both Google products, but this was an exercise I never want to go through again. These libraries seem to be incompatible with each other since each library includes older versions of files that the other library needs. This caused so many incompatibility issues. After several weeks of research into the issue, it seems trial and error is the only way to get this resolved. Finally, I could get the app to compile and run under Android, but I am not 100% sure how I did it or whether I can do it again.
Now on to the iOS version. I imported the Xcode project generated by Unity which resulted in several hundred “warning” messages and some errors. Reading through tons of support messages, it appears that 200+ warnings can be ignored, but I don’t feel ignoring that many warnings is a great solution. Admob errors were also fussy, and again, I am not sure how I overcame the errors, but I got to a point where it compiled and ads were being displayed.
After more days than I can remember, I now have a working Android and iOS build, so time to put them on the app store!
A few weeks later, I wanted to tweak a few things and put out an update which seemed a bit more difficult than expected.
I updated all my plugins, including Admob and Google Play (I had to due to some required Google changes), and again there were errors caused by file incompatibilities. This time, no matter what I did, I could not get these 2 plugins to play nice together.
What I also found interesting with the iOS build is that the file size of the v1.0 build was 120mb! Looking at the Unity logs, a lot of unused files and asset demo folders were included during the build, and I could not understand why. Reading through some forum messagess (since my question on the forum went unanswered), it appears that iOS builds do not really exclude everything that is not needed.
At this point, I decided not to update the app, and let it ride in its current behemoth state. Early in 2019 I decided to revisit the update and had the same issues. The frustration level was off the charts, and I convinced myself it would be easier just to start again using Corona… which is exactly what I did.
My previous experience with Corona, and utilizing the sound and image assets created for the Unity version, allowed me to put an improved version of Tappy Easter on the iOS and Android app stores in under 1 month.
Corona is somewhat of an underrated 2D engine, but it is robust and established, and this made development quite easy. There is a lot of things that Corona does that require a bit of work in Unity:
In order to have really nice fonts in Corona, I had to create images of text. Since this app is English only (at this time), that’s not an issue, but I would have to create text image files for every language I want to support.
As a result, I am currently working on a Corona plugin that will manage fancy text and I am encouraged by my results so far. My free plugin (GBC Language Cabinet) simplifies the management of language support, so utilizing this library with a text library should provide a great solution to multi-language fancy text.
|Development Time||4 months||1 month|
|File Size||iOS - 120mb|
Android - 33mb
|iOS - 11mb
Android - 10mb
|Additional Assets||Fingers Touch Gestures|
|"One Button" build|
|Weaknesses||XCode frustration||No visual editor... images must be coded to screen
I love working with both Unity and Corona, and it seems that each tool has its strengths and weaknesses. No one tool can do it all.
For 2D mobile development, Corona (to me) is the better choice… it’s a great way to release a game quickly and easily. Tappy Easter is one of those games where Corona was the perfect choice.
For desktop, 3D, or perhaps more complex mobile games, I would consider using Unity. There are some really complex games written with Corona, as well as some desktop games, so the Corona platform would still be a consideration when evaluating my game requirements.
I do wish Unity could build mobile apps more simply, like Corona does.
Building a desktop app with Unity is so simple, so it should be possible to improve building for mobile. Building the app seems more complicated than actually developing it, but maybe I’m just spoiled.
Another year in the books… I guess its time for a review of my 2018 game development work, and planning on what I want to do in 2019.
Looking back, it was a busy year (busier than I thought). Here’s some of the things I accomplished, with links to more detail.
Will I ever finish SMS: The Next Mission?
Back in 2014, I wrote and released Space Mission Survival for mobile platforms. Back in 2015, I decided that this would make a great PC/Console game, and I started work on porting (actually, re-writing) Space Mission Survival to PC and I added some extra modes to play the game using graphics and sounds available in the 1970s, 1980s, and 1990s.
Over the past 4 years, I stopped and restarted development so many times (seven times, I believe). I get close to completion, but that extra 20% needed to release it always discourages me.
In my last post, I said I will finish it to release, and I will at some point. It’s so close to completion at this point. It’s better than sitting on a hard drive.
Same thing for Johnny’s Flip Book Adventures. The Ludum Dare version ended with such a great rating, and it seems to be a favorite of those who played it, but I have serious doubts that it will sell well, let alone be noticed, and that is also discouraging.
I am finding that I have some other interests I want to pursue outside of game development. After years of waffling, I decided that I am going to learn to play the piano/keyboard. A wonderful Christmas present from my wife will help move that dream along.
I am also finding that I enjoy woodworking and I have a few projects that I want to start (and finish). I started working on a bench last year, and I also have a couple of things on the “to do” list.
2019 will start my 8th year in game development. As 2018 winded down, I find myself questioning whether I should take some time away from game development to take a breather, and dedicate more time to pursue the other things I mentioned. Right now, I am not sure.
These interests will naturally take away from my development time. Currently, I have these development items on the list:
What a busy 2018 flying under the gamedev radar! I guess I will see where 2019 takes me and what I feel like working on. Only time will tell.
Development is going well, and I am happy with the results. I am currently working on audio, and after that I believe I will be working on a configuration/settings screen.
I decided that my Ludum Dare 42 entry, Johnny’s Flipbook Space Adventure, deserves an official release, so I have been working on a rewrite which will be released on PC, Mac, and hopefully consoles. There are two reasons I decided to continue development.
First, the game was very well received by the Ludum Dare community. After every Ludum Dare, I think about continuing development, but since this game scored so well, I think that this one should be improved so it can be released. I plan to add and tweak a few things to make game play better.
My second reason is that I think the game I was working on, Space Mission Survival: The Next Mission, would make a great add-on. You can read about my on-again, off-again development of SMS:TNM but to summarize: I love that game, I’ve made a lot of progress, but I get waves of doubt and discouragement in developing it since I am unsure of it’s success for various reasons (I still have plans to release that game, but a flip book version fits in well here).
So, Johnny’s Flipbook Space Adventure will have two chapters: an enhanced version of my Ludum Dare entry, and the classic Space Mission Survival game released to mobile years ago, but with the new flip book style. I think this will be a great game, and I am excited about its development. I hope to get a game play video out soon, and I am hopeful that a playable beta can also be released.
Back in 2016, I wrote a Post-Mortem blog on my mobile app Pumpkin Patch Match (actually, I wrote it when I released PPM in 2015, but took several months to publish the article). Since the release of the Windows and Mac version, I decided to update the article a bit, and it follows below.
I wanted to create a Halloween themed game along the lines of my past two holiday releases, Tappy Holidays, and Tappy Valentines Day. Tappy Halloween, as it was going to be called, was going to be a simple game with the same game mechanics as the first two games in the series, but I just couldn’t figure out a game that would be interesting.
After a couple of weeks of trashing ideas, it came to me… make a game where you have to match a pattern of jack-o-lanterns. Shortly after, I decided to change the name to Pumpkin Patch Match since it seemed better suited for the game.
I have been learning Unity throughout the first part of 2015, and I thought that this would be a good “first game”. I got pretty far, and was pretty impressed with it, but what I thought were a couple of limitations prevented me from continuing, so I went back to CoronaSDK for this app.
I put together a CoronaSDK based application in no time and I am very happy with the results. I feel it is one of my better developed apps.
For the Windows version, I released it on itch.io for a low price (right now, only $1.00 USD). All ads have been removed. This version makes a great game for toddlers and young children… it’s “Halloween-y” without being scary, is a good way to improve memory, an does not display advertisements. It’s also great for adults who remember and enjoy a certain popular hand held audio matching game as well.
I have some ideas to add features to the game, and may add them as time goes on. Of course, if Pumpkin Patch Match for desktops becomes popular, it would be a great incentive to add these features sooner.
Pumpkin Patch Match is now available on the Windows desktop platform!
Pumpkin Patch Match is a spooky spin on a classic audio pattern matching game. Jack-o-lanterns will light up and display an audio tone in a random pattern. Repeat that pattern to advance to the next level. Pumpkin Patch Match will add one more jack-o-lantern to the pattern every time you are successful.
If you grew up in the 70s and 80s, the concept of Pumpkin Patch Match will be familiar to you. Great for kids! Fun for adults! Great for Halloween, or anytime!
See how many jack-o-lanterns you can pick in a row. If you make a mistake, a second chance is available.
Supports English, Spanish, German, Chinese, and Japanese languages.
Pumpkin Patch Match was originally released in 2015 for mobile platforms. A Macintosh version will also be available soon.
Well, the results for LD42 are in, and this time, I am extremely surprised and pleased…
I felt Johnny’s Flipbook Space Adventure was good, but I had no idea how it would rate. Many thanks to those that played and rated.
Looking at the graph, I normally rate somewhere in the middle of the pack, so the LD42 results really stand out. Some things that I find interesting, looking at the scores:
After every LD, I feel that I should continue development on my game, but I never do for various reasons. With this game, I am still undecided. The high score is motivating me to continue development, and I feel that this may be a good Nintendo Switch game. I do have some enhancement ideas, like adding additional enemy types, but I also have an idea to add this style to the game I am currently developing, SMS: The Next Mission as a bonus level for early adopters. I would be interested in any comments around future plans.
For a game that was almost never written, it scored beyond any expectations I had, and I am seriously considering continuing development as a stand-alone game as well as a mode in the game I am currently developing.
I also hope to keep the momentum going for LD43!
Another Ludum Dare, another Post-Mortem. This one is about the recent Ludum Dare 42 events and the development of my game Johnny’s Flipbook Space Adventure.
I was looking forward to LD42 for months, until about a week before the start. For some reason, I was not hit with the normal excitement, and decided that it may be time to take a break… after all, I did 5 LDs in a row and I am currently working on my pet project. I decided to press on and go through voting for themes.
Honestly, I wasn’t a fan of most of the themes to make the finals and when the theme was announced, I decided that its probably a good idea to take a break. Even though I was “out”, I was still thinking of a game, and about 6 hours later my game just came to me and I was in! At this time it was well after midnight so I decided to go get some rest and start early the next morning. By the time I got started, I was over 12 hours behind, but I was determined to ramp up and get to work.
Day 1 for me was actually Day 2 of Ludum Dare. I decided for the theme I was going to use hand drawn images and animate them in a flip book style. I used Adobe Photoshop Sketch (which I never used before) on my iPad to draw 5 images for each sprite, and animate them in a loop. It came out very nice.
I scanned some graph paper as a background image. I also scanned a piece of paper that I tore a hole into. Originally, this was going to be used when the player’s ship shoots an alien ship… I wanted the hole to appear at the spot where the alien ship was destroyed, but this was becoming quite a challenge. There was a lot of overlap with other holes and existing alien ships, and that was causing a lot of physics issues that I just could not work around. It also made the game a bit frustrating to play.
I decided instead to “tear” a hole in the paper between levels. That seem to work and made game play fun and challenging.
By the end of the day, I had a pretty solid space shooter with some audio in place. Since I was pretty far into development at this point, I decided to call it for the day, and pick it up again the next day.
It’s not Sunday 8:00am EST. There is 10 hours of Ludum Dare left, but I was in a good position. I completed the audio, using Audacity and Adobe Audition (another tool I never used before) to make my voice more child-like, created the title screen, and back story, and after a bit of play-testing, it was time to submit.