Sign in to follow this  
  • entries
    15
  • comments
    4
  • views
    3087

Entries in this blog

I have a new game I am working on now called MineSeeker. The game play is similar to Minesweeper if you have ever played that game before. I will be having a single player experience with 9 worlds and 10 levels in each world for a total of 90 levels. There will also be a quick play option which will load a completely random level for you to play. In addition to that, I'm also planning on a multiplayer experience where you'll be able to play with your friends on Facebook to complete random levels together. This will be a fairly large undertaking for one developer so this will take me a little time to complete. However its already starting to come together pretty well.

I started by putting the UI together. So far I have a loading screen, main menu, level select screen and a game play screen. So far you can click on single player and it will load the level select screen. I have one working level so far. I ha still working out kinks on it and as soon as I do I will be using that to create the other 9 levels in the first world. Its coming along quite nicely so far.

I have already learned something new on this project, the flood fill algorithm. I put it into the game to search for adjacent tiles that meet specific requirements. Its a recursive algorithm so getting it to work without entering an endless loop was a bit of a chore. Overall its a perfect fit for what I needed to do and it works nicely.

Here are a few screenshots of the game. I'm also updating the font in the UI so some the screens have a different font.

loading.thumb.png.c0d1d2f660fcd5e64a4f84a0399ffe92.png

menu.thumb.png.4818d8234ae6e00dff4bc0cc23776826.png

levelselect.thumb.png.9deba3974fe61b324a4b139da81861b4.png

level.thumb.png.d5b245d3e6ad3f1f50e39178ee175737.png

Introduction

I had a lot of fun making Farkle Friends. being my first game I didn't really know what to expect. Being a mobile app developer, I noticed a lot of differences and similarities in developing a game. But overall I really enjoyed it and am looking forward to my next game which I will have more info on in a future blog. There were a lot of highs and lows developing this game but I'll go over a few of the bigger ones here in this post.

What Went Right

    1. Using a Facebook Account

        I created a Facebook account to use for my games as I knew it would be a good way to attract players. It worked quite well actually and I already have a small following of people (68) who like my page.I was able to post updates for blogs and the game there and people were watching. I even got some people looking at my game pages in the stores from Facebook. So it definitely helped get the word out about Farkle Friends.

     2. Choosing UE4 For Development

        I tried both UE4 and Unity mostly to get a feel for each so I could decide which to use. I also tried a few other engines but they mostly lacked in some areas so I didn't spend a lot of time using others. I originally wanted to have the game fully multiplayer using Facebook so players could play the game against their Facebook friends. There is more on why I took it out in the "What Went Wrong" section. So Unity originally appealed to me since Facebook has an SDK for Unity built right in. But I tried both for a while and just fell in love with UE4. At that time it was far more feature rich than Unity plus with UE4 you get full source code access, all development features for free. You only pay a 5% fee when your game makes $3000 or more in a quarter. See the EULA section 5 titled Royalty. So it grew on me and I think I'll be using that as my engine of choice from now on.

     3. Making a Trailer

        I originally wanted to pay someone to make a trailer for me, but found out it was way more money that I thought it would be. So I decided to make my own trailer. It was actually an enjoyable experience and I think I will do it in the future as I make more games. It was also a lot easier that I thought it would be. The tools I chose make creating a trailer fairly simple and straightforward. I use Flashback Express to record game play. Lightworks to actually make the trailer from the recorded game play. And because Flashback doesn't export video in a format Lightworks can import, I used EyeFrame Converter to convert it to a format understood by Lightworks. Flashback and EyeFrame are fairly simple and straightforward to use. Lightworks is a little more powerful and slightly steeper learning curve but its actually really easy to accomplish a simple trailer.

     4. The Game is Fun

        For people who enjoy playing Farkle or other dice games. It doesn't have a great appeal for a wider range of audiences, but for my first game I wanted to keep it simple so I didn't get discouraged for longer development times. I think for a first game it was perfect. it gained me the experience in UE4 to be more confident in making more complex and feature rich games in the future. As a matter of fact my next game, which I already started on and will be making a new blog introducing it very soon, will have Facebook multiplayer, many different levels for single player, and a quick play option if you just want to play a random level. It is a very good stepping stone into future games.

     5. Facebook Marketing

        This for sure helped my game out around release time. Its fairly inexpensive and easy to advertise a post on Facebook. When you create the post and after you post it, there is a button to boost your post. That will step you through setting up an advertisement to run on Facebook. You can spend as few as a few bucks up to as much as you want. I have done 3 advertisements one about a week before release, one on the day of release and one a couple weeks after release. I certainly would not have the number of followers if it wasn't for this. I was able to reach thousands more people than if I had done no adverting at all. It was money well spent. You can choose where it will run, how many people you want to reach, how much you want to spend, and much more.

What Went Wrong

     1. Lots of Time Spent Switching Engines

        As stated above I spent a little time using both UE4 and Unity to figure which I liked best. Well I also changed my mind on which engine I wanted to use a lot. I would start developing the game and I would start to think of a feature that would be handy in the other engine that I could use now. So I would switch to that engine and restart development in that engine. I restarted development probably 5 or 6 times going back and fourth between Unity and UE4. I finally got to the point where I has to ask myself which one I really enjoyed using and just use that one from now on. No more going back and fourth like this. I'm not entirely sure why I did it. I think it might have been a little of the classic saying, the grass is always greener on the other side. So I finally chose UE4 for my engine and will no longer be going back to Unity or any other game engine for the foreseeable future. After all I have more games I want to make I don't want to spend all my time restarting development like that. So I have thankfully moved past this stage.

     2. The UI

        The user interface could use a little more love. Its plain and sometimes a little clunky. I used free items I found on various different sites for the UI. I think in total I spent maybe 5 to 10 bucks on assets for the game. I know now that I am not a graphical designer so in future games I will be putting more love into the UI to make the experience much better. The UI in the new game I recently started working on is miles better, I think, than Farkle Friends. But again I new for my first game I wasn't looking to have the biggest and best game I could possibly make.

     3. No Facebook Support

        After spending far more time investigating engines than I wanted to, I decided to not include Facebook support in the initial release. I originally wanted the game to be fully multiplayer allowing the player to play against Facebook friends. I knew adding it would take a bit more time to get it implemented properly. So I ended up shelving the idea and figured I would include it in a future release. 

     4. Delayed Release

        I originally wanted to release the game on October 6th. I set up all the stores I wanted to release in. For Steam specifically, through the process of creating my account, they told my it would take up to a week to set up the store and up to a week to approve the game builds. October 6th was a little over 2 weeks from the day when I submitted the store and the game builds so I figured that would be enough time. However what Steam didn't tell me while creating my account is that the first game you release, your game must wait 30 days after submitting the store and game to Steam for review, regardless of how long it take to approve both. So I ended up having to push my release date back an extra 2 weeks to allow for this. If I would have known that I would have added that time into the original release date to avoid a delayed release. Now for a one-person indie developers first game its not a huge deal. However, I just feel better when things go according to the plan.

Conclusion

        All in all it was a good experience. Now that I have the first game jitters out of the way I can spend more time actually developing games in the future. It was a good challenge and I certainly learned a lot from it. 

As I mentioned above, I have already started work on a new game. I'm looking forward to applying what I learned making Farkle Friends to this new game to make it better. Its a game similar to Minesweeper and I will have a single player mode where you can play many different challenging levels, a quick play option to allow playing of a single random level, and a multiplayer component with Facebook that will allow you to try complete a level with a friend. I will have more on this game very soon.

title.thumb.png.8bbc9a606adfdb2bee95fbb4a6437866.png

 

Ok now that my build and store page have both now been approved by Steam I have a new release date October 6th. It will be available on Steam, Itch.io and GameJolt. As far as I know everything is setup and ready to go on GameJolt and itch.io so I just have to push the release button and they should be good. From the documentation it appears it should be that easy with Stem as well. So mark your calendars and be ready to play.

On another note I also, while waiting for Steam, have started the work  on a new game. I'm still working out the details and getting everything figured out so I can start development soon. I can't wait to apply what I learned through making Farkle Friends and apply it to a new game. I have a few other ideas for future games as well. More details on my next game will be coming soon hopefully.

title.thumb.png.514e39f6c0c9417214a4982664087495.png

Ok I thought if I planned 4 weeks to get all the stores I want to release on ready to go, it should be plenty of time as I knew STEAM would be a week or 2 before it was ready to release. STEAM's website informed me it would be a few days to approve the games store page and a few days after that to approve my builds that I want to release. After I started getting into setting up my game on STEAM I realized it's going to take more time than that.

After a week of working on getting my game ready to upload to STEAM I found out I will have to push back my release date as there is more waiting that is not made clear when setting up your first app.

  • Store page and game build have been reviewed and approved
  • Store page has been visible as 'Coming Soon' for at least two weeks
  • Minimum of 30 days since the first purchase of an app credit

The bottom 2 are not made clear when you set up your very first game on STEAM. At least I never saw anything about those two while setting everything up. So after you purchase your very first app credit which allows you to upload one game, you must wait a minimum of 30 days after that. So now STEAM is telling me the earliest date I can release on is October 1st. I am posting this in the hopes that anyone looking to release a game on STEAM and has not done so yet, take this information and make sure you plan for this delay when picking a release date.

I finally have an official release date for my first game Farkle Friends. September 15th 2017. I'm really excited to finally have a release date set. It's been a fun journey and I can't wait to do it again with my next game. I already have a few ideas for future games.

I have a trailer now, you can see it on YouTube. I was hoping to have someone make one for me but it was much more expensive than I thought it would be so I made it myself. It's not going to win awards but its actually better than I thought it would be. I used the free version of Lightworks to make the video. I am unsure if I will be making my own for future games but at least I know now I can if I have to.

The lest of sites I will be releasing on has changed slightly that what I was planning. I will be releasing on GameJolt, Itch, Steam, and Google Play. I wanted to also release on GOG but I was denied. I already have accounts set up with these sites and have release builds ready. I'm going to run a few tests on the release builds to make sure there is nothing catastrophic wrong before I release. I am also waiting on "Identity Verification" from Steam which could take a few days to a week to complete.

title.png

 

 

title.thumb.png.a49110f89b2638cd8677a5c3d5a19e85.png

This is another fairly short update. Beta testing is now ready. I am having issues getting an account setup with AlphaBetaGamer so I will have to do this manually. If your interested in testing the game shoot me an email at support@hunter-gaming.com or contact me through my website and let me know which build you would like Android, Windows x64, or Mac . Not sure what kind of response I'll be getting so I may not be able to give access to everyone. I'm hoping to have 40 to 60 people test this out for me. I will respond to requests as fast as I possibly can. The beta builds will only work for a limited time.

title.thumb.png.a07d81201fe3df0c59ef3c13567e2d8d.png

This is going to be a short update. Alpha testing is now complete. I am currently working with AlphaBetaGamer to help provide beta testing for Farkle Friends. As soon as the game is up on their site I will create a new entry informing everyone of how to check it out. If there are issues and I can't get Farkle Friends on AlphaBetaGamer within a reasonable amount of time I will figure out another way to provide open beta testing for anyone who wants to help.

While the beta testing is going on I will be spending some of my time preparing the different store I want to use. Here is a finalized list of where I will be submitting the game to. Right now the goal is to release sometime in September. I'm pulling for the 1st but we will pin down a release date when beta testing is almost complete.

1. Google Play Store

2. Steam

3. GOG

4. itch.io

5. GameJolt

 

title.thumb.png.a1370bd267540204d2bc4c8e16f72ab0.png

 

I've finally hit a new milestone. Farkle Friends is finally ready for some closed alpha testing. I'm finally getting close enough to releasing this game I can now taste it. I haven't posted recently as I have been working feverishly over the last few weeks to get to this point.

Alpha testing will start in the next day or 2. Unless there is a major issue I plan about 2 weeks of alpha testing to work the kinks out. I'll make sure its working good on all the platforms I plan to support. Android, Windows, Mac OS, and Linux. Once all the initial play testing is done, and I have worked out any bugs found, I will then be moving on to some open beta testing.

For the beta testing I plan on using GamingBetas and/or AlphaBetaGamer. During the alpa testing I plan to investigate these two sites and will choose one or both to help out with some beta testing. I will have another blog later letting you know my choice and how, if possible, you can join to help with the testing. I'm planning another 2 weeks, baring any major issues, for this step. Then I will start preparing for release.

So if all the testing goes well, and there are no major issues I'm planning to release in about 4 weeks. For sure I will be releasing to the Google Play store. I have a list of other sites to host the PC/Mac/Linux version of the app as well. Here is a list of release site I'm considering. If anyone has any experience with these I'd love to hear about it. I will be investigating them and deciding over the next few weeks. I plan on releasing to Google Play store plus 2-4 others.

1. gamejolt.com
2. itch.io
3. indiegamestand.com
4. Steam
5. indiedb.com
6. gog.com

I'm really excited to be at this point and looking forward to releasing this to the world. I already have ideas for more games and for future updates to Farkle Friends.

Happy Gaming

title.thumb.png.a0d15099e09fb03c3399ed881dbee86d.png

Farkle Friends now supports local and online high scores. It will keep track of your personal top ten scores locally on your device and also gives you the option to share your score on an online leader board.

local.thumb.png.e917711dbca03480be980707933a8a62.png

The online high scores will only keep track of your highest score submitted and will allow you to see in game a quick glance at the top 10 scores overall. 

online.thumb.png.2b7f8b72a9c32da4c3d95be71423de9f.png

In game you will see this dialog asking you to input your account information to submit your score to the leader board.

ask.thumb.png.3ca73937b0f488c0faf059c1d6bcd6e7.png

I am currently using the GameJolt API to manage the online high scores. So you will need an account there in order to submit a score to the leader board. All in all its coming along nicely. 

I have finished a major UI update. I made some changes to how things are shown, using dialogs in some cases instead of its own screen, added animations, and I also updated to a, what I think anyway, better overall look. If anyone has any suggestions I'd love to hear them.

MainMenu.png


What used to be the options screen is now a dialog, making main menu navigation easier and faster. You click the sound button to enable or disable sound and hit the OK button when your finished.

Options.png


The help dialog has been changed from button navigation to tab navigation. This also should allow for easier navigation as the player can now easily jump from any tab to any other tab with the click of the mouse.

Help1.png


Help2.png


Help3.png


I have also added a place to track high scores. I have not yet decided if the high scores will be local or social/networked. I will also expand and make it the top 10 not 8.

HighScores.png


And this is the updated game screen showing that the player currently has "hot dice" and asking what the player would like to do.

HotDice.png

There is still about 6 things I need to do before I start play testing performance testing. Adding sound, implementing the high scores, and adding a splash screen to name a few. I'm looking forward to being able to share this game with everyone soon.

It's been a while since my last update. I've been pretty busy and haven't has a whole lot of time to work on my game. But over the last few days I have been able to finalize the player and CPU scoring. The player scoring was fairly easy to get it working as the player controls which dice to keep and makes decisions based on what was rolled. The CPU scoring was a little more difficult and I ended up with a little easier implementation that I'm just in the process of tweaking to make it both winnable and challenging at the same time. If anyone is curious I am using Unreal Engine 4.16 as my engine. This game is a combination or Blueprints and C++.

GameScreen.png

 


I'll start with the player scoring. I started by doing a little research into scoring dice in a game to get a few ideas on how to tackle this. I created a utility class that handles scoring the dice so when the players turn is finished, I use it to calculate the players total score. I take that score and update the players score in the UI. Here is a sample of that scoring utility class. You can see that with these 4 functions I have the ability to check if the player has a straight or three pair, and the ability to score each accordingly. I have one function to determine if each scoring possibility is in the dice, and one to score each possibility. I count each of the dice values and most of the scoring depends on the count of each value. For the straight its easy, if the count in each index is 1 the player has a straight.

const bool UScoreUtil::HasStraight(TArray count){ if (count.Num() == 6) { return count[0] == 1 && count[1] == 1 && count[2] == 1 && count[3] == 1 && count[4] == 1 && count[5] == 1; } return false;}const int32 UScoreUtil::ScoreStraight(){ UE_LOG(LogTemp, Log, TEXT("Incrementing score by %d for a straight."), UScores::STRAIGHT) return UScores::STRAIGHT;}const bool UScoreUtil::HasThreePair(TArray count){ int8 threeCount = 0; if (count.Num() == 6) { for (int8 c : count) { threeCount = c == 2 ? threeCount + 1 : threeCount; } return threeCount == 3; } return false;}const int32 UScoreUtil::ScoreThreePair(){ UE_LOG(LogTemp, Log, TEXT("Incrementing score by %d for three pair."), UScores::THREE_PAIR) return UScores::THREE_PAIR;}

Now lets talk a little about the CPU scoring.

I began to Google around for some ideas, but I wasn't able to find a whole lot on this subject. I began to bake my own solution and it started to get pretty complex. Being that this is my first game and, a fairly simple one, I didn't want to get overly carried away on fancy complex AI. So I decided on a simpler solution. I'm using the odds that a particular scoring option will happen and using that to decide if the CPU player scored. I can set individual percentages so I can change how often each scoring option happens. Based on what I get from that, I update the UI accordingly and repeat the process for the next CPU player. I have a total of 3 CPU players and when their turns are finished I switch back to the player.

I have this working good and I can go back and fourth between the players turn and the CPU players turns. Its quite nice and simple and works perfectly so far. All I need to do is tweak it so the game is challenging and fun at the same time.

Once that is complete, I have 11 issues right now I want to get through before I feel ready for beta testing. I have a couple sites in mind that I would like to use, Gaming Betas and Alpha Beta Gamers. I haven't look into them a lot yet but they seem promising. If anyone has used either of them, please let me know your experience.

Until next time

Game On

Milestone complete. I have finished the code for the CPU turns in the game. I have begun the process now of testing the basic functionality of the game play. Once that is done there are still a few minor update I want to make (adding sound, menu animations, high scores, and performance testing) before I consider the game ready for beta testing. I have found a couple sites that offer beta testing and I will likely use one or both of those. As soon as its ready I will share those details here for anyone who wants to help test.

logoblackbg.png

Just a quick blurb today. I took a few days off for Easter and came back tonight. I finished the initial coding of automating the CPU players turn. Now its just a matter of sending a notification to the UI when the CPU players turn is over to update the UI with the new score. I'm hoping sometime this weekend I can get to this. It wont be much longer after that I will have a testable version to play around with. I'm getting pretty excited.

main-menu.png


So my first game is almost getting to the point where it can be play tested. This is my first game so all of this is new to me. Its called Farkle Friends and you will be able to play it on a mobile device, Windows, Mac or Linux PC's. The main menu UI is currently functional.

help-screen1.png


The help dialog will help guide the player on the rules and scoring options for the game.

game-screen.png


The game screen currently allows the player to roll the dice. It will prevent them from rolling after 3 attempts unless they have "hot dice". After their turn the scoring is performed. I have not yet done a lot of testing with the scoring but so far it seems to work.

Currently I'm working on implementing the CPU's turn. I've got a good start to it so far so I just need to finish it up and test it.

Sign in to follow this