Tuesday, December 31, 2013

GameCenter Leaderboard list

It seems I cannot bring up the list of Leaderboards for my game Heroic Patterns. I can easily bring up any individual leaderboard, but not the whole list.

I tried a few wild card strings for the category name, along with trying some gibberish, but this was all to no avail. The leaderboard that comes up is the default one. Which is something set in iTunes connect. I really don't want to default to any particular leaderboard. I really want to show the list.

Once the list comes up the player would be able to scroll along the list and simply pick the leaderboard they are really interested in. I have no good context way of knowing which to show the player, and only having a simple and obvious button to bring up the leaderboards makes it difficult for me to even guess which they might be after.

I think the current showing of the default leaderboard is probably the worst I could possibly do though. It is very likely that this leaderboard has around a 13% chance of being the one they want to view... I may have to come up with some clever algorythms to see if I could show a more likely leaderboard, even if only brings my chances of the right one showing upong request to say 50%. In fact I would be happy with 50%.

  1. I could show the leaderboard associated with the last pattern that the player attempted. That I am sure would increase my odds of being right by at least triple. Of course they could simply be going to check out which other leaderboard would be a good one to spend time on. Still a realistic odds improvement.
  2. Now I have best score and total score leaderboards per pattern.... So I could also check and if the player just scored a close or better personal best score for the most recent pattern played. If it is close of is now their best score. I could assume that they want to see the personal best score leaderboard. This I think would double my chances of having the correct leaderboard for the player.
  3. hmm, working on a third probability...
Now I have those ideas, if I do not get an answer to showing the leaderboard list from the marmalade forums in the next few days. I will implement those probability enhancers I have listed above, hopefully with more ideas coming along.

Have a good one,
Da Voodoochief

Monday, December 30, 2013

Back again and ready for the new year

I am back from Utah and back working on my games.

I have done a little work on Hoopfighter to bring it up to the SDK version I am currently using from Marmalade. Other than that I had to wait for Apple to reopen their iTunes connect site (it was down for a week for maintenance etc). Once it was back up I was able to add in an important person to my mobile provisioning file.

Next up was to get the new leaderboards setup for Heroic Patterns. That was easy, though I have yet to marry the code to handle these new leaderboards. It was funny, while in Utah my friend Colby got  a higher personal score on one of the patterns, and this caused me and my daughter to have to beat his new score. It was good fun, and once I add in the new leaderboards it will be immortalized for everyone to compare with. A big plus for the app I reckon.

I hope this new year brings me some level of success, and by that I mean thousands of people playing my games. The big number for me to beat is 10K players for a game. If I can beat this number with my newest releases it will be fantastic. And Heroic Buttons is planned to come out next week sometime. wish me luck eh :) Oh, and if ya own an iOS device.. I would it if ya downloaded it.. but more when I release the game.

Other than that I will continue to play Marvel Avengers Alliance and Torchlight 2 no doubt.

Have a Happy New Year everyone, and I hope you coming year is filled with pleasant surprises and wonderful memories.

Laters,
Da Voodoochief

Thursday, December 19, 2013

Mostly a Hiatus now

I will be away visiting friends in Utah over the Christmas period, so it is unlikely I will be blogging over that time. In fact I doubt I will even be thinking about development work, or that's my plan anyway.

This last week has been very busy for me at work. I have three projects after I inherited a few more than my own regular job. This has kept me very busy working on getting builds and milestones ready for delivery right before the holidays. I appear to have managed just that, but at a bit of a cost. Nothing else has been done on my own code. In fact I started bringing up Hoopfighter to the latest Marmalade SDK, but have not had any time to finish that. Maybe I'll be able to get that done once I get back to California.

I fervently wish everyone a wonderful time over the holidays and hope you stay safe and warm,

cya in a week,
Da Voodoochief

Monday, December 16, 2013

Heroic Buttons Launch Delayed

I am gonna have to delay my launch of Heroic Buttons. I just don't have the time before the holidays, especially as I am going to spend Christmas with some close friends in Utah with my family. This means I have so little time for the promotional side, and I simply don't want to do that.

Put it out and then leave it to dry is not what I wanna do. So instead I will wait to the new year. I have to wait till then as part of my marketing strategy is to get my kids school friends to download it after being told about it by my kids. If they aren't at school, then they canna do that eh!

Still I have everything in place already, the only ting left is the URL for the iTunes store, and I won't have that till I go live.

so I will spend the time finishing up the few remaining tasks on Heroic Patterns and decide on what I am going to do next... Heroic Simon, or maybe Heroic Tagger...

Here is a link to the promotional video just to keep ya entertained while ya wait for the release.


Heroic Buttons Promotional Video from Robert Toone on Vimeo.

I hope you like the tongue in cheek nature of the promo video.

Laters
Da Voodoochief

Wednesday, December 11, 2013

My Texture Packer 3.2.1 Update for C++

I grabbed the latest Texture Packer last week as it has had several modifications recently. Though in all honesty I didn't really NEED anything new. What got me intrigued though was the statement that I could now output Header files.

I am using C++ and so it is really useful to have a header file with the name of the graphic element in an enumeration so I can use this name all over my code for the drawing of my sprites. What I have been doing is writing all my data out into a *.cpp file and simply cutting the table from the bottom of the file, and then pasting it into my header file. A simple enough process when I update my graphics. However it can get tedious, just a little bit.

So back to the 3.2.1 texture packer. I was excited about the ability to simply cut out my cut and paste stage so figured the update would be good. I have to say that the updates are always smooth and seamless with this useful tool, and this time was no exception.

So then I created what I needed to for creating my header file and stopped the bit of code creating the enum data in the cpp file. As it happens it mean't I simply copied script from the cpp creating to the header creation.

Now although this sounds great and all dandy. It wasn't, or isn't. In fact it simply doesn't work at this time. I have emailed Andreas with a question in respect to me messing this up and am just waiting on a reply at the moment. Still I figured anyone else trying this might be interested to read my problems, or if they have the secret sauce they may be able to share some with me. As I would love to have this working.

What happens?
Well the header creation does in fact happen. Only the values I use in the main reference file creation are all null. So if I ask for any value I simply get an empty string printed. I am not sure why. I really thought it would work the same as the main reference file output.

I will of course do an update when I find out more on this, but if you can help me, then please message me on twitter, or email, or post in the comments.

Thanks
Da Voodoocheif

Tuesday, December 10, 2013

Heroic Buttons Promo part 3

Getting boring isn't it, being at part 3.. and yet so far to go.

Well I have been working on the Promo video and I am very close to having it complete. Once I get some last piece of voice over it will be ready for the world.. Only the promo says that the game is currently available, and well, it isn't. In fact it cannot be ready until I have everything in place. I think....

That is a grey area of course. Do I really need to have all the promotional stuff ready to go before releasing the game? What is the big deal about doing this all at the same time. Not like I have print Ads that will be promoting the game or anything. As you can tell I really am in two minds about this whole thing. I cannot come up with much of an idea why this is important besides getting some form of immediate at once media sensation type thing might work out.. Only I don't believe my piddling efforts will have much of an impact to be honest.

So here I am thinking about this instead of working on the promo stuff. bah!

I reckon once I have a bit more stuff ready to go, namely the video is finished and the iOS fan forums layout is done I can then go live. So if I get my butt into gear, it should be in the next few days. though I also want to print out a couple of hundred business style cards promoting the game for my children to give their friends with iOS devices... Maybe I'll add that to my short list.

Laters
Da Voodoochief

Saturday, December 7, 2013

Any Plan part 2

I have been trying to forward my Promotional plan for Heroic Buttons, and here is where I am at...

Extending my notes with the possible Tweets I will be making. 3 Full tweets and several possible swap in parts. also a number of Hashtags I can attach if there is room.

Tweets are ready.. WOW, great start eh!

Blog post ideas in note form. I only really need the idea for the post and also some sort of title. I am not great at coming up with Blog post titles. So my notes now include an outline of 7 days of posts all fully related to the Launch week of Heroic Buttons in some way.

Blog Posts read.. Wow, even better eh!

Finding 7 iOS forums to post on with the announcement of the game. This has sort of gone better than I would have suspected. though I now see this is more work than I initially thought it would be. There is also an ongoing commitment to the other forum posters to answer follow up questions and comments. This is not simply a one time deal, this will cost me time socially interacting. Which is a plus as enjoy that kind of thing, but also a time sink which makes subsequent writing of games slower. Still I have managed to find 5 suitable places so far and joined them all where necessary. I also one more that was having site issues, so I may go back there. However with my new found understanding of the work involved in this kind of thing, I may cut this back to 5 sites. Of note is that I looked at several posts of this kind on these forums and found some nice examples of other games being announced. I will base my post on theirs, but now I realize I need a bunch more promotional material generated to do this properly. Some good insight, lot more work...

Sites research is good... Wowza, but much more work found.

I have done nothing else so far on the other points, but will get to them once I have gotten all the new promotional materials ready for the sites. This is some unexpected work, but will be good to do.

So in summation, I would say it is going well, but I am not sure I can actually get the game published before Christmas at this point. In fact I do not believe I can make it this year. which is a real waste of a good Christmas purchasing bonanza time.

Laters
Da Voodoochief

Thursday, December 5, 2013

Any Plan is better than No Plan at all

This is something I firmly believe in. If ya have a plan then it is easier to modify than to come up with a plan in the first place. Though I understand some people are not good at altering plans.. But I am.

So here I am with my new game Heroic Buttons all set and ready to go live as it has already passed Apple testing. Now what should I do with this? I don't want to just put it out, I know that.. doom it to failure for my lack of thought, gah No thanks.

So I decided to come up with a pan. For that I needed my Pen and Pad. Then I wrote several ideas down as they came to me. Here they are below...

Promotional Notes for HB,
  1. A Week of tweets
  2. 2x Facebook posts
  3. Find 7 iOS forums or fan pages to post a link on
  4. Blog 7 days in a row about HB
  5. Ask people who have iOS devices to download and rate the game for me.. it is Free!
  6. Press release?
  7. Use a promotional service?
  8. Setup a HB web page on my site
Most are fairly obvious, and I chose 7 because I did... I figure before I go live I will accumulate most of this stuff, and make the final decisions on whether the optional ones will happen or not.

I am very excited to have this plan. Usually my plan is get Reveiws and such, but that never went well. This time I think I have bitten off something I can easily chew. Then next time for Heroic Patterns I can probably get more of the same.

I am also sure you are thinking that I hassle all the people I know with iOS devices already with y products, but that has not been the case. This time I am ready, I'll get the kids all fired up with their friends as well and I should be good.... I hope.. I just need a plan to get school kids to download the game now, hehe

g'night
Da Voodoochief

Tuesday, December 3, 2013

People Who Inspire

I love to work with my friend Paul. We have a great rapport and help push each other to achieve more and in a better way......

I love what I do, creating games and experiences for people to discover. I also know that this is only a small part of the real world. The real world, the one not in Cyberspace can be demanding, and exciting and frightening. In fact it can be all these things at once at times.

My friend Paul (and his family) has been going through this kind of real life experience. He has just welcomed a beautiful baby boy into the world, and very close to that he has had to say goodbye for the final time to his father. His father was a really nice man, always calm and thoughtful and considerate.

Now I don't know Paul's father as well as I know Paul and his brother, but then again... I don't need too. You see I know Paul and his brother quite well and I know how wonderful those guys are, and by extension I know just how wonderful their father must have been to raise them this way.

Mine and my families thoughts go out to Paul and his lovely family during this exciting, tiring and emotional time.

Love you all,
Da Voodoochief

Tuesday, November 19, 2013

Heroic Patterns Artist and next?

It looks like I might have an artist for Heroic Patterns, and he is talented AND we came up with what we think is gonna be a cool look. Like a circuit board, but more stylish, like Tron. Then make the patterns something to do with resistors.. As I am not an artist I am good with the description and now I can just relax a bit knowing he will do a real nice and tidy job, dare I say artistic job :)

Now I have, or Nearly have this under control I am putting more thoughts to what could be next...

I had lunch with a great mate of mine today called Chris, and what I might do next came up in conversation. I thought I would be doing an Android version of the distilled games, but I always wanted the distilled series to be at least 3 games. so far I have two of course, so do I go create the third? Or do an Android version of the existing two, or maybe I should start doing a few other interesting things like friends list enhancements. This means that as you are playing I will inform you how well your friends are doing in comparison. This is supposed to not only incentivize you to play more, it is also to help you connect with your friends. More social should equal a better experience for the player.

So at this time I have no solid idea what to do next.. Though I am sure it will be posted on this blog soon enough. Maybe it is time for distilled game number 3, the Geo location game?

Laters
Da Voodoochief

Sunday, November 17, 2013

Colorful Animated Backdrops

With my distilled gameplay games I am making them simple, yet fun. As it happens simple can also mean that the games can be a bit static and boring, and I dislike static and boring.

So as with Heroic Buttons I am busy trying to get a nicely animated backdrop for Heroic Patterns. Let me go back to Heroic Buttons for a moment and describe what I did with that game. I have these lovely animated stars and I randomly place and animate them in the backdrop of the game, underneath everything that matters on the game screen. This supplies me with full screen colorful animation. I will add to this that drawing so many alpha'd sprites can wear on a machines ability, so on machines that are not as powerful I place few stars.

Now back to Heroic Patterns. Due to the nature of this game there is more real estate taken up by the patterns and also with the game the way works I really don't want to distract the player from the job of following the patterns. So what to do? Below is a picture of one thing I was trying, and although I tried to fraps the animation, for some reason the video has flashing in it so is useless.

Did I mention it was colorful? hehe.
I play this animation of an explosion rendered in various colors. This does in fact look incredible, only it is a bit distracting for the player, so I cannot use this. I am still not certain what to do. But something simpler is going to be necessary.

Ahh well, hopefully a picture soon of the final look  will be in this blog :)

Laters
Da Voodoochief

Thursday, November 14, 2013

1 Piece of art, can make a big difference

I have been busy doing more work on Heroic Patterns, currently being worked on for the iOS platforms. Mostly I test this on my iPad, as my eyesight is not as good as I would like it to be, also my fingers are not sharp, haha!

Here is a before picture of the game,
Although I had some reflection in the photograph, it is possible to see many things. From the unfinished title to the rough blending of the patterns themselves.

Here is a later version from last night,
This one, as well as being a better photograph shows just how much can be done with a single piece of artwork from my friend Sean. He made me a circle that alphas out from being solid in the center. This is a white circle and I have used it in a couple of places in the above version.
1. The main place it is used is in the pattern colors, now they blend really well along their length, and I am really pleased with this enhancement. It is as good as I had hoped for.
2. The second usage is the lighting on the active pattern areas. This lighting is using the same image blown up to many times it's size, and it looks like a light is shining on the patterns. I alpha this up when a pattern becomes available.

As you can see this piece of artwork makes me happy as well as shows this game in a whole new light....

Laters
Da Voodoochief

Tuesday, November 12, 2013

I got me a Mac


It has come time. Time to take responsibility for my own Apple uploads and more.

Yup, I finally did it, I bought meself a Mac. In this case a Mac mini capable of running the latest iOS SDK. This means I can now rebuild the iOS extension at my whim, I can also upload my own ipa files. This last fact is very important to me as my mate who has taken responsibility before for all my iOS uploads has just had a new baby boy. I do not expect him to be concerned with anything beyond his newly grown family.

Now I have to admit that I don't know much of anything about Macs. Yeah I have used them, but so sparingly as to be a none starter. Now I guess it is time learn. First thing I have to do is update the Os, as the one I just bought is currently set at Lion, and I need Mountain Lion, then grab the proper SDK for that build. Also then grab the Marmalade SDK for Macs.

After that.. well, I will try hard to upload the IPA for 'Heroic Buttons'.

It is an exciting time!

Laters
Da Voodoochief

Sunday, November 10, 2013

iPad smear test

As I looked across a few mornings ago at my iPad, I could easily see in the reflection two distinctive finger marks, or smears. These excited me as they showed what had recently been going on with the screen. Here is a bad photo of the iPad.


As you may see in this photo the two smears are pretty obvious, one is a straight line, and the other is a wavy line. The two gameplay test patterns for the Heroic Patterns game I am currently working on.

This test went so well in fact that I am moving forwards with  the game and already have 5 patterns on the game screen. That leaves me with one more to go and then I have a bunch of timers and sfx and graphical effects to incorporate into the game. Very exciting, I ma liking this game rather a lot.

Laters all,
Da Voodoochief

Thursday, November 7, 2013

Heroic Patterns Screen Layout

I have been busy working on my next game 'Heroic Patterns', which is my second game in my series of distilled gameplay games. The simple idea is to make simple games, by distilling the gameplay I am interested in down to what I think are it's barest essentials. Then anyone can play my game, easily and quickly. No need for complicated instructions pages etc. Just jump right into the game.

I am still working on getting the first distilled game 'Heroic Butons' onto the iOS market, but having a few technical issues with that at the moment. Meanwhile I am busy working on this new game. I need to prove that the distilled gameplay actually works you see. So far so good. Below is a layout of the proposed game screen, only the name is wrong of course.

As you can see I have laid out a number of patterns across the screen. And I think they looks pretty good.... Only, I also want to add on a name for each pattern along with a score for each one. Then the final part that is required is to print on top of the patterns their own timer.. Well now that is pretty messy sounding, and in actual fact it is very messy. I have only a couple of the patterns currently setup and they look very messy with all their baggage. I have no clue at the moment what to do about the clutter.... Still the game seems fun, so I will simply have to sort out the layout. I think I will ask for some layout help from an artist friend of mine.

Have a good one,
Da Voodoochief

Wednesday, November 6, 2013

GDCNext what's that?

I got an invite yesterday to meet up with someone from Marmalade at the Los Angeles Convention center. I was a bit bemused at first wondering what on earth he meant. I wasn't aware of any show going on at this time.

So I quickly looked up GDCNext on the internet and to my pleasant surprise and also chagrin I discovered that there is indeed a GDC and ADC going on in LA at this time. I looked over the list of exhibitors and also browsed the conference titles themselves. All very exciting for someone in my position, as this GDC really seemed to have a great focus on Indie and Tablet development. Right up my alley as they say. Still I have an important meeting at work and Wednesdays are pretty hectic for me with my family commitments and such, but the dates for the event ran from Tuesday through Thursday.. I must be good right?

Next up was to check prices, as I really only want to visit all the exhibitors and talk to a lot of people about middleware and opportunities for promotion, publication, hardware and other help wherever possible. I didn't need the 1K tickets, the conferences will have to wait for another year. Yet when I went to look at buying the expo floor passes, I was dismayed to discover they do not cover Thursday, only in fact Tuesday and Wednesday. what a downer, as there is really is no way for me to make Wednesday at such short notice.

I am very excited this event is now local to me, and I really would love to talk to real people about my situation and how I could help these publishers etc and how they could help me. I love the idea of getting in a mutually appealing relationship with a publisher for example. I guess I will have to wait for the next one, which right now seems a very long time away.

My only wish is that I had noticed this event coming up a week ago, as I would have been there and of course promoting it on my twitter so I could hopefully meet up with as many of my peers as possible. so many of my Indie peers still engage on Twitter and I have never managed to meet any of them... yet!

Laters
Da Voodoochief

Sunday, November 3, 2013

Nice conversation with Nokia

Last week I received a call from Nokia. A nice English guy named Russel got in contact with me to see if there was anything they could do to help me get more WinPhone 8 apps/games released.

Now as it happens I have not created a windows phone game now in nearly 2 years and that is because I have moved away from XNA and onto the tablets and phones using Marmalade. Marmalade now supports win8phone development if you have the right license. Another detail is that I own and use a windows 8 phone myself and so have the perfect test machine if I was to develop on that os.

The conversation went very well as he had done his research, and he knew my brand, knew what I had created on the Win8Pone and my other creations. This I liked a lot.

The question of what could he do to get me to publish once more on this platform was a bit difficult to answer in some ways. I really only need to own and windows 8 PC to develop on, but I am currently setup in a very stable environment in win7. For me to change and upgrade to win8 will be a pain, and I simply need some sort of incentive to push me to do it.

We never actually came up with an answer, but he gave me someone to contact with my situation and they would see what they could do, and in my case that means giving me enough motivation or reason to upgrade to win8.

Now how many developers get that kind of call I wonder, it was nice I have to say.

Laters
Da Voodoochief

Tuesday, October 29, 2013

iwGameAds is back in my App

As any avid reader of this blog knows. I have become really frustrated by the lack of support for the iAd extension, and also with my inability to build a new library with a modification. So I have been wracking my brain now for several days (ok 2 weeks) as to what to do about this. My quick 1 week game dev is now into it's 4th week, and that is mostly because it is unreleasable without Ad support.

So last night I had a great idea... Why not simply do what I have done before use DrMops (pocketeers ltd) IwGameAds extension instead. I used this more than a year ago when I created HotChicksTheCardGame for Android (ok, I did it for iOS as well but got rejected). Now it has been a while and I am sure some of the Ad suppliers have changed the way in which they send data, which means I either fix them (not sure how), or I simply go with whichever still work. That at least is simply a trial and error job, and one fairly easily accomplished with some test code.

I will mention here why I so badly wanted to use iAd and not simply use a cross platform Ad system like IwGameAds. The main reason is I really wanted all my money to be traceable from one source. In this case Apple. As this has not worked out I will try to spread my App across at least 3 Ad networks to make sure I get as close to 100% fill rate as possible.

The downside of using IwGameAds is that it is no longer supported. So I will have to modify it to bring it up to todays latest SDK. Which isn't too bad in all honesty. Then I will have to find out which Ad providers are still working.

Ok, I'll look into this more tonight I reckon.

Laters
Da Voodoochief

Wednesday, October 23, 2013

Heroic Patterns design is ready

The next game design in my distilled gameplay series entitles 'Heroic ____' has been done. I know how I am going to implement it and everything. I am not however sure when I will start coding it. Mainly as there is not much point until I have Heroic Buttons done dusted and sent to Apple for their submission testing.

Whats holding me up?
Well two things, I need some final artwork which should happen real soon now, but the major hurdle and holdup is the stupid freakin annoying broken iOD iAd extension in Marmalade. I have now gone to the forums and asked (ok, nearly pleaded) for a rebuilt version with a fix in it. Until I get the iAd stuff working fully, I cannot really proceed.

I really feel I am hanging on, and am trying hard to figure out if there is someone I know I can bug about getting this rebuilt for me. Only I don't actually know anyone using Marmalade working on a Mac and could do this for me. It seems a bit much to ask someone in the local coffee shop if I could install the Marmalade SDK and the IOS SDK on their prized Mac.

Not sure whats next. I guess I'll give it a few days and then start hassling Marmalade customer service.

Seems so annoying and stupid to me. just fix it and rebuild it, gah!

G'night all,
Da Voodoochief

Monday, October 21, 2013

Marmalade iOS IAd Extension rebuild problems

I don't own a Mac, but I want to develop for the iOS devices. I look at a Mac as something I don't want to learn how to use, I mainly do not want the expense of one. It would be a very expensive toy for me that I would not use a helluva lot. Bit like my iPod really.

So Marmalade is great for developing for the iOS platforms from a PC, of which I have an abundance. So here I am easily developing my new game Heroic Buttons for the iPad and iPhone when I put in the iADs code. Which comes as an extension in Marmalade.

Now the extension is broken, it has been broken for a large number of years it seems to me, since 2009 I think I saw the first comment in a forum complaining about it being broken. Now my problem with it being broken is that the advice for fixing it is to go recompile the extension. Which has to be done on a Mac as that is where the originating SDK is. Sounds easy enough, till you realize I don't have a freakin Mac.

so instead I hassle my friend Paul and get him to download the Marmaalde SDK, then when we try to build the library/extension we get a message saying we need the ios SDK 6.1 or higher.. er... ok, makes sense. Lets go get tat. So off we go and 2GB later we try to install it, only we meet a problem, the problem we eventually find out is that the ios SDK needs Mountain Lion OS, and we are on Snow Leopard. GAH! We don't even know if we can put Mountain Lion on this MacBook.

What I don't understand is two things....
1. How come Marmalade have not got a recompiled fixed version of the IOS IAd library already?
2. Why is it that Marmalade do not offer an extension building service for their own extensions?

I am really frustrated and tomorrow I may email them and ask them what I am supposed to do and what suggestions they have for me to remedy this situation. The answer I am hoping will not be to go spend 1000 dollars plus on an expensive toy.

Good night,
Da Voodoochief

Thursday, October 17, 2013

Heroic Buttons Google search results

One of the most important things about choosing a name for your game is to make it unique enough to be found easily with a Google search. I have made the mistake in the past and named my games too generic and they are simply lost in all the noise when being searched for.

This time I may have gotten it right!

I posted the name of my new game on this Blog, I also pinged the Blog post out to a few blog update sites (I do this occasionally). I hoped to quickly spread the name 'Heroic Buttons' to the internet and of course the search engines.

Then about 4 hours later I searched for the name, and no, I did not put it in quotes to start with. I am excited to say that this blog post came in 5th on the list, which is pretty awesome when only aiming for the first page, and only a Blog post, not even a full reveal or added as a new game on my main Web Site. This is great news for me as I feel I got something correct. Hopefully this means when people are interested enough, they will easily be able to find me.

Laters all,
Da Voodoochief

Wednesday, October 16, 2013

Heroic Buttons is the name

Yep You heard that correctly. 'Heroic Buttons' is the next release from SorceryGames. It is a game busting with what I call distilled gameplay. No longer are you distracted by numerous graphics and massive audio creations. In this game you get right into the action as soon as the game starts up.

In fact when the game boots up you are on the game screen. No title pages to get in the way, no decisions to make about whether or not to see the credits first or read some story. That has all been removed in this title. Instead you get launched into the game screen and from there you can see several tabs on the top of the screen, these allowing the player to bring up the leaderboards or the achievements, or in fact information about the game (instructions and credits etc). The rest of the screen is dominated by 8 buttons, all of which are playable, but have different refresh times after being pressed. From immediately available to a 24 hour availability, there is a large range.

Once in the main game screen the player can easily play the game by pressing these Heroic Buttons that are displayed. The gameplay is simply yet oddly addicting. The idea was that people would try hard to get up the leaderboards and with several spans of time between button activations it should allow both hard core and casual players to participate and be competitive. Amazingly this appears to be the case. For myself I am finding it hard not to want to press these Heroic Buttons and simply make my score higher, regardless of where I am on the leaderboard. It is going to be interesting to see if this simple game, full of gameplay, addictiveness and competition can get seen in the market today.

Yes it will be Free, and it will be Ad supported. I am hopeful that this game could go viral, as I think it is just the right kind of material... and what games creator wouldn't want their baby to go viral haha!

I would have posted a picture of the game, only the artwork is still being finalized.

Laters
Da Voodoochief

Monday, October 14, 2013

iOS achievements wouldn't work

Oddly enough although I was trying hard to give out my achievements for the new game, they simply didn't appear to update. Yet I was getting the callback to hit and it said there was no error. How is that possible?  (I use the Marmalade SDK and the EDK for the GameCenter functionality).

I couldn't understand how this was happening so I decided that I needed to find more information.. time to debug.

As I run the game remotely on the iPad with no debugger connected I came up with my standard debug collation methods. This includes coloring the screen to various colors to tell me what is going on. Then I added some debug prints to the screen to tell me which function was the last one entered. Following that by another string of information of values used within that last function entered.

Oddly the printout and coloration was correct. For example:
The color was...
Green.. which meant success on the callback.
The last function entered was...
void cGameCenter::ReportAchievement(const char *_name, int _percentage, int _index)
The function information was...
name == "HB_A01"
percentage == 609
index == 0

Now as it happens that information is mostly correct, only one piece of it stands out in a bad way. It is impossible to have 609 percent of course. So I figured this was the issue. So I quickly found the problem..yeah, I had the divide the wrong way around, so that was easy enough.

So I tried once again after my percentage fix.

This time the information was correct. Yet the achievement didn't show up at all on Gamecenter. Most odd indeed. As all this information was correct I had to look for another culprit. As it happens the test app supplied with Marmalade asks for string input and uses that input to send to the achievement. I figured I should try this same method as it had worked in my previous game.

// test setup
const char* tmp = s3eOSReadStringUTF8("Enter achievement name:");
strcpy(name, tmp);
const char* valueStr = s3eOSReadStringUTF8("Percent Complete:",S3E_OSREADSTRING_FLAG_NUMBER);
_percentage = atoi(valueStr);
sprintf (gAchieveDebugStr, "name=%s, %%=%d, index=%d\n", name, _percentage, _index);
s3eIOSGameCenterReportAchievement(name, _percentage, ReportAchievementCallback);


 And I plugged in the same information into these strings that the function report told me I had entered earlier, but didn't work. Amazingly the achievement worked out great.. It Worked! What the heck? I couldn't understand what I was witness too. It should not have worked.

So this got me to thinking on why or how my real code didn't work. Well after much debate and reading of my code I figured it out.

The answer was the name string. I was sending in a
const char name[256] = "HB_A01";

And that didn't work. For some reason the string had to be on the stack, in the case that eventually worked for me, I simply copied my string into the local one declared inside the report function.

That worked... So after all my effort all I really needed was to put the name in a local variable.... GAH! there was no mention of this anywhere, in the help forums or the help docs.

Still I got it in the end which is what matters,

Laters
Da Voodoochief

Thursday, October 10, 2013

Marmalade Splash screens WTF?

It is amazing that a company like Ideaworks3D limited that is the company responsible for the SDK I use to develop my current batch of games with, can have a requirement with the type of license I have, yet fail in the handling of it automatically themselves.

I am talking about the requirement of the community license holders to display the Marmalade splash screen of course at boot up of the game/app. Here it is below so you can see what it looks like.

Quite pretty and normal for this kind of thing, after all the license is only 149 dollars.

The problems come when trying to make sure that this little beaut is up on screen at the correct time, and isn't corrupted in some odd way. I wish I had taken a screenshot of the iPad splash screen last night to show you just how messed up it could be.

There have been many problems with setting up these Splash screens, and they have varied depending on which machine you are trying to get them to work on, as well as which SDK version you happen to be using. So it isn't like Marmalade has not tried to fix these issues, as the way they change per SKD release shows some time has been spent breaking them in different ways. Here are a small sampling/selection of forum posts about these issues. So problems with orientation, of color of placement of scale of corruption and device are all represented in a mixture.

https://devnet.madewithmarmalade.com/questions/14590/mkb-splashios-launch-screens-broken-in-631.html

https://devnet.madewithmarmalade.com/questions/4016/why-i-see-made-with-marmalade-splash-screen-if-i-h.html

https://devnet.madewithmarmalade.com/questions/7212/splash-screen-surface-orientation-on-ios.html

https://devnet.madewithmarmalade.com/questions/2331/cant-get-iwgame-to-show-a-simple-splash-screen.html

I am sure this whole thing is rather annoying to the people at marmalade, who obviously want to get on making the SDK better in more important ways than the simple display of a splash screen at startup.

I have had problem since I changed to the community license because I simply didn't do the splash screen when I owned an Indie license (it was not a requirement). Instead I had a nice image in the credits people could even touch o go to the www.MadeWithMarmalade.com web site. So what to do about the broken splash screens on my iOS devices, well I decided I needed to update to the latest SDK, as I was on 6.2 and the current version is 6.4.1. The upgrade went well enough and about an hour later I had my new versions and indeed the Splash screes were fixed on both my iPod and iPad. Which makes me very happy.

Hopefully this is the start of splash screens working on all devices. from this version on. I can hope along with the community.

Da Voodoochief

Tuesday, October 8, 2013

Small App wants to grow

I am now working on my side project that is supposed to be a quick filler app/game. After spending way too much time coming up with a name and a theme I have finally got it going, or I did last friday night. I worked hard over the weekend on the game and am happy with what the game is.

Oddly enough I am finding that feature creep is trying hard to show it's ugly head. I really want to keep this title fast and sharp and to the point. A game with distilled gameplay ideas and implementation. I just find it amazing how much pressure my brain is putting on me to add a few bits here, or there to enhance the game.

NO I say! I will not be swayed.

I do not tend to suffer feature creep with my usual games. Maybe this is due to the fact that my normal games have quite a full set of features anyway. Whereas this game could be expanded in a myriad of ways.

Keep it real,
Da voodoochief

Friday, October 4, 2013

To Name a Game

Freakin eck! I canna believe how hard it is some times to name a game appropriately.

I want to name my new game something that concerns it's gamplay, plus a nice exciting noun. Only when I come up with one someone else seems to have already used it, gah!

There is such importance in the name and so far I would say I have spent several hours on it, maybe as many as 4 hours, and that includes research via the web. I have some ideas left, but they are now three word titles and I am not sure I want to have a larger name, simply because the large names are not displayed on tablets like the iPad under the icons. A nice short two word name is always displayed nicely, and fully.

I guess I will continue with my internal debate on this, but my code is getting to the point I need to setup the leaderboards and achievements.

Laters
Da Voodoochief

Thursday, October 3, 2013

New License, New game

While I am awaiting getting the graphcis side of Space Invaliens moving. I am going to do what I proposed a few weeks back. Get going on a smaller quick filler game.

After chatting with my mate Paul we have come up with several options of what to do and one of them excites me a lot. Enough that I started stripping down Space Invaliens to a base game setup so I can build on top of that. We have the idea and the graphics required are pretty simplistic and the game can be played by anyone. YES, just what I wanted.

I reckon the programming for this game will be approximately 4 hours, and to be honest, if I can be even double that I will be very happy. Now that time does not include setting up icons or the time I'll spend inside iTunes.connect setting up leaderboards or achievements. Still very exciting for me.

I also purchased my new 149 dollar Marmalade license as well last night. Nearly ready to get going again.

Laters all,
Da Voodoochief

ps. the name of the game was the hardest thing to come up with, geez! Thanks go to my daughter for getting a better one than mine!

Tuesday, October 1, 2013

My Marmalade License is running out

It feels like such a sad day to me. My license is expiring for the Marmalade cross platform SDK.

Why is that sad?

Well I remember all the good times I have had over the last couple of years using this SDK. Using to create a variety of different games for different platforms. It has been good to me and anyone reading this Blog will know that already. Sad to see it expire...

Does this mean I am done with Marmalade then? What SDK wil I be using next?

Well the truth is I will carry on with Marmalade, only I will go down to the 150 dollar version, as I feel the 500 dollar Indie license is currently too rich for my blood. One day when I start making some money from these Indie titles I create I will go back to that version. I do think that it should not be hard to make 500 bucks from all the work I do, yet it appears to be doing a good job of evading me at present. The next title releases will do better I am sure.

So tonight as my license expires I shall renew with a downgrade. Oddly enough there is no downgrade option on the license page, only an upgrade one. lol

Laters al,
Da Voodoochief

Friday, September 27, 2013

Games taking too long to make?

When I am designing and creating and programming a game. I tend to find that it takes a really long time. Yes, I am only doing this in my spare time, and yes when I am drained after a day at work I am unable to code. Still I really want to try and get 4 games out a year. That doesn't seem too much to ask does it?

So instead of keep fighting this losing battle I have with games taking more time than I want (no, I won't rush them or release them when they are not ready!). I have decided to adjust my course a little. It is a sensible decision really. I still want to do 4 games, but what if I make every other game an App or simple game. A game that has very low graphic intensity (I find anything with graphics makes it take twice as long to develop).

So from now on I am going to try this new theory out. Which will give me approximately 6 months per real game and overlay those with two small games/apps.

Brilliant eh!

Laters
Da Voodoochief

Wednesday, September 25, 2013

Don't Hide ya IAP

I read this article the other day on Gamasutra called 'Make Purchasing Present' by Ethan Levy. I found it to be obvious and also revealing. It was obvious that all the shops you ever go in try to show you their wares, as that is how they exist. Selling you stuff allows them to continue in business. They are not shy about selling you stuff, and they should be. The same goes for IAP in my humble opinion.

What was revealing was the way I felt about the IAP. In some ways putting it on the back shelf. Not exactly hidden, but no fanfare or billboards were around it either. I really think I felt a little embarrassed by the fact I had IAP in my game. Well no more, this game has been designed with the idea of IAP for cosmetic changes to the game and a quicker way to purchase all the in game ship upgrades. I am not going to be embarrassed that people are so used to free that they don't even want to spend a measly 1 freakin dollar to purchase my game. So if this is the way it is, then so be it. I will offer what I believe to be great value per item and then let the public decided on it's value or not, with their wallets, like in a  real shop.

So after reading this article my mind is changed and I think in a good way. All you blanket nay sayers on IAP can just keep on bleating, but in the end you are going to have to deal with the way the world in selling games is changing, well has been changing for several years now. So for me, I am stepping forward the best way I feel I can, and will try to do my best for making enough money to cover this games costs, or maybe the next one, meanwhile giving good value to my customers.

I will also add banners, not intrusive per say, but at the end of a level I will display the odd quick buy banner for the player to see that this stuff exists and YES, you can buy it if you want. I feel it is a little like the displays at the counters of the local Vons. Hopefully I can sell some of my Candy :)

Laters
Da Voodoochief

Monday, September 23, 2013

GameCenter Marmalade Code in a Class

Here is my gamecenter code that works from within the Marmalade SDK. I hope you programmers can find aspects of this useful.  I basically took the example that Marmalade supplies and then converted the aspects I wanted into a class.

Good luck,
Da Voodoochief

GameCenter.h
#if !defined(_CGAMECENTER_H_)
#define _CGAMECENTER_H_
#include "s3eIOSGameCenter.h"
#include "s3eIOSIAd.h"
extern bool gAuthenticated;
extern char gUserName[S3E_IOSGAMECENTER_STRING_MAX];
extern int gGameCenterState; // useful for debugging
class cGameCenter
{
public:
 int g_NumFriendsFound;
 char** g_FriendIDs;
 s3eIOSGameCenterVoiceChat* g_VoiceChat;
    //-------------------------------------------------------
    cGameCenter()   {
  gAuthenticated = false;
  strcpy (&gUserName[S3E_IOSGAMECENTER_STRING_MAX], "Unknown");
  g_NumFriendsFound = 0;
  g_FriendIDs = NULL;
  g_VoiceChat = NULL;
  gGameCenterState = 0;
 };
 static void LoadAchievementsCallback(s3eIOSGameCenterAchievementList* list);
 static void ReportAchievementCallback(s3eIOSGameCenterError* error);
 static void LoadAchievementInfoCallback(s3eIOSGameCenterAchievementInfoList* list);
 void GetMyAchievementsHandler();
 void GetAchievementsHandler();
 void ReportAchievementHandler();
 void GameCenter_DisplayAchievements();
// static void GetPlayersCallback(s3eIOSGameCenterPlayerInfo* playersInfo);
 static void AuthenticationCallback(s3eIOSGameCenterError* error, void* userData);
 void AuthenticateLocalHandler();
 void GameCenterRegister();
 static void GameCenter_ReportScoreCallback(s3eIOSGameCenterError* error);
 void GameCenter_ReportScore(int _score, int _level);
 void GameCenter_DisplayLeaderboard();
};

#endif

GameCenter.cpp
#include "Game1.h"
//-------------------------------------------------------
int gGameCenterState = 0; // useful for debugging
bool gAuthenticated = false;
char gUserName[S3E_IOSGAMECENTER_STRING_MAX];
//-------------------------------------------------------
// Callback functions to report authentication, matchmaking, data events, etc...
/*void cGameCenter::GetPlayersCallback(s3eIOSGameCenterPlayerInfo* playersInfo)
{
    if (playersInfo->m_Error != S3E_IOSGAMECENTER_ERR_NONE)
    {
//        AppendMessageColour(RED, "Get players info error: %s", ErrorAsString(playersInfo->m_Error));
        return;
    }
    if (!playersInfo->m_PlayerCount)
    {
//        AppendMessage("`x996666Error? ReceivedPlayers callback indicates no players!");
        return;
    }
    for (int i = 0; i < playersInfo->m_PlayerCount; i++)
    {
        s3eIOSGameCenterPlayer* player = playersInfo->m_Players[i];
        // NB: GetString only guarantees the string will stay valid until the next call to GetString
        // so we have to copy it if calling more than once and expecting it to persist
        char alias[S3E_IOSGAMECENTER_STRING_MAX];
        strcpy(alias, s3eIOSGameCenterPlayerGetString(player, S3E_IOSGAMECENTER_PLAYER_ALIAS));
//        printPlayerInfo(alias,
//                        s3eIOSGameCenterPlayerGetString(player, S3E_IOSGAMECENTER_PLAYER_ID),
//                        false, 0,
//                        s3eIOSGameCenterPlayerGetInt(player, S3E_IOSGAMECENTER_PLAYER_IS_FRIEND) == 1);
    }
    s3eIOSGameCenterReleasePlayers(playersInfo->m_Players, playersInfo->m_PlayerCount);
}
*/

//---------------------
void cGameCenter::AuthenticationCallback(s3eIOSGameCenterError* error, void* userData)
{
    gGameCenterState++;

 if (*error != S3E_IOSGAMECENTER_ERR_NONE)
    {
//        AppendMessageColour(RED, "Authentication Error: %s", ErrorAsString(*error));
//  debugBGColor = 0x0000ff00; // red
//        updateBGColor();
  gAuthenticated = false;
        return;
    }
    gAuthenticated = true;
    const char* alias = s3eIOSGameCenterGetString(S3E_IOSGAMECENTER_LOCAL_PLAYER_ALIAS);
// debugBGColor = 0x00ff0000; // green
// updateBGColor();
    if (strlen(alias) > 0)
        strcpy(gUserName, alias);
    else
        strcpy(gUserName, "!user alias error!");
//    AppendMessageColour(BLUE, "---------------------------------------------------");
//    printPlayerInfo(g_UserName,
//                    s3eIOSGameCenterGetString(S3E_IOSGAMECENTER_LOCAL_PLAYER_ID),
//                    true, s3eIOSGameCenterGetInt(S3E_IOSGAMECENTER_LOCAL_PLAYER_IS_UNDERAGE));
//    AppendMessageColour(GREEN, "Local player authenticated:");
//    AppendMessageColour(BLUE, "---------------------------------------------------");
//    s3eIOSGameCenterSetInviteHandler(InviteCallback);
}
// Authenticate local player - prerequisite for other funcs to be used
void cGameCenter::AuthenticateLocalHandler()
{
    // Start new attempt
//  AppendMessageColour(BLUE, "%suthenticating local player...", g_Authenticated ? "Re-a" : "A");
// debugBGColor = 0xff000000; // green
// updateBGColor();
 gGameCenterState++;
 if (!gAuthenticated)
        gAuthenticated = s3eIOSGameCenterGetInt(S3E_IOSGAMECENTER_LOCAL_PLAYER_IS_AUTHENTICATED) ? true : false;
    if (gAuthenticated)
    {
//        AppendMessageColour(GREEN, "Authenticated! (player already logged-in)");
//  debugBGColor = 0x00ff0000; // green
//  updateBGColor();
  return;
    }
    s3eIOSGameCenterAuthenticate(AuthenticationCallback, NULL);
}
void cGameCenter::GameCenterRegister()
{
 gGameCenterState = 0;
 if (!s3eIOSGameCenterAvailable())
    {
  debugBGColor = 0x0000ff00; // red
  updateBGColor();
        s3eDebugErrorShow(S3E_MESSAGE_CONTINUE, "GameCenter extension not found");
        s3eDeviceExit(1);
    }
 AuthenticateLocalHandler();
}
//---------------------
// Achievements
void cGameCenter::ReportAchievementCallback(s3eIOSGameCenterError* error)
{
//    if (*error != S3E_IOSGAMECENTER_ERR_NONE)
//        AppendMessageColour(RED, "Achievement Report Failed: %s", ErrorAsString(*error));
//    else
//        AppendMessageColour(GREEN, "Achievement Reported Successfully");
}
void cGameCenter::LoadAchievementsCallback(s3eIOSGameCenterAchievementList* list)
{
    for (int i = 0; i < list->m_AchievementCount; i++)
    {
        s3eIOSGameCenterAchievement* info = &list->m_Achievements[i];
//        AppendMessage(" %s : %d", info->m_Identifier, info->m_PercentComplete);
    }
//    AppendMessage("Got %d achievements", list->m_AchievementCount);
//    AppendMessageColour(BLUE, "---------------------------------------------------");
}
void cGameCenter::LoadAchievementInfoCallback(s3eIOSGameCenterAchievementInfoList* list)
{
    for (int i = 0; i < list->m_AchievementCount; i++)
    {
        s3eIOSGameCenterAchievementInfo* info = &list->m_Achievements[i];
//        AppendMessage("  desc2: %s", info->m_UnachievedDescription);
//        AppendMessage("   desc: %s", info->m_AchievedDescription);
//        AppendMessage(" %s : %d : %s", info->m_Identifier, info->m_MaxPoints,info->m_Title);
    }
//    AppendMessage("Got %d possible achievements", list->m_AchievementCount);
//    AppendMessageColour(BLUE, "---------------------------------------------------");
}
void cGameCenter::GetMyAchievementsHandler()
{
    s3eIOSGameCenterLoadAchievements(LoadAchievementsCallback);
}
void cGameCenter::GetAchievementsHandler()
{
    s3eIOSGameCenterLoadAchievementInfo(LoadAchievementInfoCallback);
}
void cGameCenter::ReportAchievementHandler()
{
    char name[255];
    const char* tmp = s3eOSReadStringUTF8("Enter achievement name:");
    strcpy(name, tmp);
    const char* valueStr = s3eOSReadStringUTF8("Percent Complete:", S3E_OSREADSTRING_FLAG_NUMBER);
    int value = atoi(valueStr);
    s3eIOSGameCenterReportAchievement(name, value, ReportAchievementCallback);
}
void cGameCenter::GameCenter_DisplayAchievements()
{
 if (s3eIOSGameCenterAchievementsShowGUI() == S3E_RESULT_ERROR)
  return; // error'd out
}
//------------------
// Leaderboards
void cGameCenter::GameCenter_ReportScoreCallback(s3eIOSGameCenterError* error)
{
    if (*error != S3E_IOSGAMECENTER_ERR_NONE) {
  // all bad
  if (*error == S3E_IOSGAMECENTER_ERR_COMMUNICATIONS_FAILURE)
   return;
 } else {
  // all good
 }
}
void cGameCenter::GameCenter_ReportScore(int _score, int _level)
{
// const char* scoreStr = s3eOSReadStringUTF8("What Score?", S3E_OSREADSTRING_FLAG_NUMBER);
// int score = atoi(scoreStr);
 char category[20]; //s3eOSReadStringUTF8("Category (SI_LB01)");
 sprintf(category, "SI_LB%02d", _level);
 s3eIOSGameCenterReportScore(_score, category, GameCenter_ReportScoreCallback);
}
void cGameCenter::GameCenter_DisplayLeaderboard()
{
 const char* category = "SI_LB00"; //s3eOSReadStringUTF8("Category (SI_LB01)"); // enter a name of the LB
 if (s3eIOSGameCenterLeaderboardShowGUI(category, S3E_IOSGAMECENTER_PLAYER_SCOPE_ALL_TIME) == S3E_RESULT_ERROR)
  return;
}

Thursday, September 19, 2013

iOS IAP Obtaining Multiple Products Info

I have been doing some coding and researching the iOS In App Purchasing. I set up my code to loop through all the product IDs I had set up in the Manage app section of iTunes Connect. I wasn't certain however if this was the way to make it work. Seemed a little silly to ask for product information multiple times, yet I was ok with it. that was ok, until I noticed that the call to get the product information had a number on the end asking for number of product Ids sent in the first parameter which was a char **.

So then I recoded my game to send in all the product IDs as a batch. The only thing was the callback that receives the information seemed only to handle the information coming back as a singular entity. Nowhere could I find a reference as to how this is supposed to work. So I used logic to decide that the information must come back a single product at a time, even when asked for as a bundle.

So the last few days I have been playing with this idea and last night I was in fact able to prove that it does indeed work in that way. So now I ask in a bundle and process my results within the callback, and then I copy the relevant information to my shop packages array for displaying to the player.

It is all working really well, and apart from some reformatting of the shop screen I am very close to actually attempting a purchase of one of my products. Very exciting indeed.

Laters
Da Voodoochief

Wednesday, September 18, 2013

The Toll of Expense or Doom

I cannot believe it, but somehow a whole year has nearly passed by since I purchased my 500 dollar license with Marmalade. Of course I had a paying gig that allowed me to buy that one without dipping into my own pocket. This time round I am not in such a position, so what should I do?

Each day I sign in and build my latest creation I get a warning saying how many days left are on my License. I know it ends at the end of September and I have to admit to feeling sad about the fact it is expiring. I will most likely go with the 150 dollar license next. After all I was not able to put out nearly as many games as I had hoped I would. In fact with that License I only put out two childrens apps(A Day at the Zoo and 5 Golden Coins) and though I have Hoopfighter done, it is not yet released. Which might be an issue if I don't have a license when they finally want to release it.

I know other Indie developers go through this same thought process each year. Which license should I buy and what level of license. I really like the Marmalade code base, even if some is broken (which SDK isn't without its problems eh). Still I will be sad when it goes.

Laters
Da Voodoochief

Monday, September 16, 2013

Scoreloop is still Rockin

A year and a half ago I put into one of my games 'Hot Chicks the Card Game' the Scoreloop backend. I really wanted high scores and maybe more later. So I looked around and asked in twitter what people thought I should use as a solution. I got recommended a few different systems, and yet Scoreloop seemed so easy, AND was already available as an extension to Marmalade (the extension is actually by Scoreloop I believe). So I figured how hard could it be, well it was pretty easy to get in and working, and it is STILL working today, a year and a half of no modifications by me. It is still working hard recording scores from new and also experienced players alike.

So I visited the Scoreloop - Hot Chicks high score table to take a look at it. Below is what I see.
As you can see there are now 7403 registered scores.. Woohoo, and still coming in at about 13 new ones a day. I only wish I had got scoreloop in the game when it was first released. I know this number would have been more than 10K by now (I believe there were nearly 5K downloads of version 1).

The other thing that astounds me is just how high a set of scores can be obtained in this game. 8K, are ya kiddin me? I cannot make it past 4.5k myself.

Still, it is gratifying beyond words to see some dedication like this in one of my games. Makes me want to write more, and ALL of them will have High Scores in them.

Laters
Da Voodoochief

Wednesday, September 11, 2013

It's 9/11 and ya know what that means

It's my birthday!

I know today has other less celebratory awareness in peoples consciences. However I was born on this day 48 years ago.. so in my mind I have precedence.

48 years ago.. wow. Time has flown by. I was 15 when I was making and publishing my first games. Text adventures for the zx80/1 and then onto the Commodore Vic20. So long ago in numbers, seems like yesterday in my brain.

 This means I have now been publishing a wide variety of games for 33 years. 33 years is also an astounding number of course. The most amazing thing is that I still have such passion and drive to create and develop more games. I wonder where it all comes from? It is still good to be passionate about games, even though when I was in my early twenties we never thought this game creation lark would last beyond me getting to maybe 30 years old.

How wrong I was (gladly).

I have a busy day ahead of me, at work, running the kids around for boy scouts and my daughters in a new YAE play in T.O. So gotta go there also tonight. I am hopeful that sometime late this evening I can simply sit and marvel at my age with a nice calming drink in hand.

Take care out there!
Da Voodoochief

Monday, September 9, 2013

Brain dead, but I can do useful stuff

My day job is removing all my ability to code each day. I am working very hard on some tough coding puzzles both with the theory and the implementation. I am debugging many many thousands of lines of code to try and work a new system inside the old one, to eventually replace the old and not as efficient one. This means I am debugging code and theorizing what is going wrong for 9 or 10 hours a day. I have found that this saps all my programming strength and drive. Which is a pity as I really want to finish my IAP code for the iOS side and move back into the game coding side of Space Invaliens.

Still as the title points out, I am not idling sitting by. I am in fact relaxing as best I can my spent brain. I am reading quite a bit, but more importantly for Space Invaliens and my future products, I am investigating and analyzing the competition.

OK, so competition isn't quite the right word, and neither is investigating if truth be told. What I am doing is playing games, lots of them. I have picked up a new Xbox 360 compilation of the old Midway arcade games, and I am very excited to say that Sinistar is one of them, which is one of the inspirations for aspects of Space Invaliens. Now I cannot say I am playing them well, but who cares, so long as I am having fun. I even got to spend some quality time playing Gauntlet while laughing and playing with my son. We both suck bad, and the lack of good diagonals on the controls or the Xbox360 dpad makes it quite excruciating at times.

Playing things games really inspires me and reminds me where I come from. The only down side is that it makes me want to design some new flavor of game, and I simply don't have the time, lol.

Take it easy out there,
Da Voodoochief

ps. Here is a Picture of me at work with my new T-Shirt I love!   I am a Coder+Dr Who fan.

Friday, September 6, 2013

Time invested in the best place?

One of the things I am really struggling with at the moment is where to put most of my time and effort.

I could just keep trucking along on what I am working on, but circumstances change, as well as skilled manpower available to me. This means that I am constantly watching for an opportunity to do something bigger, grander purposeful and hopefully more successful and worthy of more notoriety.

So here I am trying hard to figure out what is the best thing to do. How much time to invest of everyones time and to what extent should we create the next prototype or IP to have an agent show men in suits.

It is of course a crap shoot. I could take several approaches next and still end up with nothing more than I have now, only I should say, slightly more. Till I decide I will keep on trucking with what I have and hope maybe that will allow me to find the last part that could unlock a successful future.

G'night all,
Da Voodoochief

Tuesday, September 3, 2013

Selling your App/Game, is it possible?

It seems that I always thought about selling my game to the players. You know, individuals who will most likely play the game. However there is another form of selling a game or App.

I was contacted via email a few days ago by a website that sells apps and games, the rights, the IP the assets the code, the whole shebang. I presume this is where someone comes in who has some weight and desire to further develop the game/App they want to buy. I can believe that some companies would see potential in various games and apps and want to buy up all of its rights so they can move forward with a redevelopment or maybe even just adding a marketing budget and plan to really move the title forwards.

I find the whole thing a bit surreal and am not sure how well I think this kind of thing can work. I see they have sold quite a number of apps and games, but in reality I think I would like to know why those were bought and what happened to them afterwards. Ok, so maybe it is my curiosity more than anything. But oddly, it would be easier to part with my baby if I thought they wanted to simply promote it, then again, if they simply bought it for my outstanding design.. maybe that would be great as well. In fact maybe there is no down side to this.

I will continue to think on this. I do have some older games that I could unload, but am not sure I want to at this stage. The other thing is the data on the site, saying that some of these games are making 1500 bucks a month from advertising revenue, What a crock. I wish I was making a tenth of that each month for 10K downloads, but I am not that's for sure. So some of their numbers are interesting for sure.

Still I will have another look over this site with a friend of mine, see what he thinks.

What do you think?

AppTopia

Laters
Da Voodoochief

Monday, September 2, 2013

My In Game Shop

This  my in game shop, programmer style of course, as I am the one who created and laid it all out. I thought it was about time I posted a picture (yeah, been a while). As I am now working on the In App Purchasing I thought it would be good to show where I am.

Yesterday I spent some time reorganizing my shop screen in the game. Also I prepared the code for when I ask the IAP servers for some item information (yes, the item description and cost etc all come from the setup on iTunes Connect). Now it is ready.. oh wait that picture I mentioned...


As you can see it is titled (as are all my menu screens). It also has a new improved listing barrel of the items you can buy (now shows 7 and not just 5). The real new stuff though is at the bottom, and all those Quick Buttons. By pressing them it will immediately adjust the selector barrel to highlight the first of the kind named on the button. I feel this is essential as I have a LOT of items for sale. Oh, and yes there are many ways to show a shop, and use drill down pages etc, but I really wanted to use a barrel design. Next up will be to have an icon or image associated with each purchasable item (or package as I call them), then place that on the screen as well.

You will notice the new 'Special Premium Powerups' button. Of course if this was not my graphics, then I would expect this button to really stand out, I can also make it a lot larger of course, which could be nice to have people to go check out the premium IAP items I have for sale in this game. After All, I believe these things should be obvious and easy to find.

If a player clicks that button, the selector barrel sets itself on the premium items for sale.  I will disable this button if a player is not connected to the internet, after all, I would not have been able to retrieve the items for sale list anyway.

Now to actually start on the code to find the items for sale and their cost and descriptions, with that information I will fill out my arrays and allow myself to purchase them.. Hopefully by the end of this week it will all be done.

Laters
Da Voodoochief

Friday, August 30, 2013

iAd in iOS with Marmalade (on PC), what a pain

Ok, so the title does describe what I think. Though it is not all bad to be honest.

Let me explain a bit more...

I went to iTunes Connect and clicked the easy to see button to activate my iAds for my game (click ya game under manage apps, then the button is top right side). It was very easy to activate as ALL you had to do was confirm you were activating them and then save it. Done on the Apple side of the setup equation (this made me hapy, no stupid IDS or codes to put into my code to make sure I was serviced ads).

Next up was to work in the code from Marmalades example. I have to say that it was pretty easy to use. Setup the MKB(project) file with the iAds extension and then grab the relatively few routines I required and placed them into a class for use in my game. Once again, very easy to setup and this did not take me long at all. Then it was time to run the code.

I setup some of my title page buttons to do an extra task, so activating the config button would tell the Ad to show, activating the shop button will hide the Ad. I also added in several debug prints to the screen to tell me what state the Ad system was in. I wanted to know that I had Ads ready to go or not, and then if they were Showing or Hidden. So far so good. In fact it was still good till I ran the game and saw that an Ad was active and I touched the config button to Show the Ad. That is the moment things went awry.

The Ad appeared at the top of the screen, which was ok, I don't really mind it being there, though I would prefer the bottom once I get them working, or that was my thoughts anyway. However there were problems. Namely the screen should have shrunk vertically to fit in the Ad, but it didn't. Instead it pushed the whole screen down and so I lost a bunch of screen off the bottom. Also the touch input should have been shrunk to the newly sized screen, and apparently it did, only now it didn't matchup with my graphics as they were pushed down, Gah! If they had match I could have worked around this issue easily enough, but not now.

So I went looking for how to set the Ad to a different part of the screen, and I read the help info on the iTunes developer site and was excited to see so many options of where to place it, and also what sizes of Ad I could place. I found out later when I looked all over Marmalade that the extension doesn't actually support different placements for the iAds. Ahh well I figured I only really need one, but one that works. After reading all over the place on the internet along with the Marmalade Dev forums (obviously). I discovered this problem has been around for more than 2 years. So the chances of it being fixed is small. I presume it isn't addressed because there really are very few complaints about it not working. But there is a bunch of good news.

The Good news is that there is a was around this. Firstly it is said that if I had the Ad working on the bottom the screen would shrink along with the touch input and so the Ad would seamlessly be part of the screen it shows on. Great.. but how do I get the Ad on the bottom of the screen. It seems that all I have to do is modify the .mm file and rebuild the extension libs. Well sadly for me developing on a PC I can only rebuild iOS libs on a Mac. The actual source files for the library I found on Github here. So it should be possible to get a fix for this. I have asked a couple of mates, but they do not really know how to rebuild libs on a Mac, and the same for me at this point. I will have to read up on that once I have my current tasks sorted out. I really would like to have the iAds working in this game, to help supplement the games income.

I hope this blog post helps others in my situation understand what is going on with the iAd in Marmalade and its problems. If there are more problems, I have yet to find them, but I will post once I do.

Laters
Da Voodoochief

Saturday, August 24, 2013

Setting up IAP for iOS WTH?

Well after my recent success with GameCenter I figured next up was to work on the iAd code. And I am not going to talk about that here, lol. That is for another post though....

Today I am going to complain about IAP or In App Purchase setup. I was still all abuzz because I was hoping that setting up IAP was going to be nearly as easy as the iAd and GameCenter was. Now it looks easy and in fact setting up my first purchasable item seemed to go swimmingly, so far so good I thought. this is great. I thought I would then setup a couple more items for purchase to allow me to test the system more thoroughly. Well that is when I got confused...

I had setup the first item. Then I hit save and was presented with this,
The first In-App Purchase for an app must be submitted for review at the same time that you submit an app version. You must do this on the Version Details page. Once your binary has been uploaded and your first In-App Purchase has been submitted for review, additional In-App Purchases can be submitted using the table below.

what does this mean ? Does it mean I am not allowed to setup a new item for purchase until I have some form of screenshot.. of What exactly?

Is this a screenshot of me showing how I present the purchase Item information?

The upshot is I am not certain how to proceed with this at this time. Next up for me is to get the game to setup and do the screen design for the IAP in the game itself. Maybe it will work with this one item and then I can try this screenshot of something and submission thing. Though my game is well away from submission. So what do I need to do exactly?

Good luck in your endeavours,

Laters
Da Voodoochief

Friday, August 23, 2013

GameCenter Now Done

It was so Easy.

No, really it was. Both ITunes Connect and its Manage Apps, section along with the Marmalade implementation (extension) worked really easily and well together. I am surprised and also excited, in fact I was so excited I moved onto iAd.. but that is to follow.

Back to Leaderboards and how easy they were. In ITunes Connect I clicked the Space Invaliens game, then clicked the button saying 'Manage GameCenter'. In there it was eminently easy to add leaderboards, and sort them, and rename them (when I made an error). So easy I setup 5 boards for the first 5 levels best scores along with an overall board. I have to add though that Apple could make it faster for me by allowing me to setup a range of leaderboards and simply increment their name. As I might end up with 100 levels, that is a lot of clicking, eek! Still, easy and does as it says it does. Setting up a couple of test achievements was just as easy, though you will need 512x512 images ready to upload for each achievement.

In Space Invaliens I am using Marmalade and their GameCenter extension worked great. Setting the new score and also bringing up the GameCenter GUI were so easy. Geez, it took me about 20 minutes to add in the Achievement code and also get a button on my title page to show the GameCenter Gui at the achievement screen. Simply awesome. I ended up sticking my code into a class I simply called cGameCenter and is accessible from anywhere in my code.

I highly recommend anything thinking of doing this to simply do it! It is very rewarding and I love it.

One sad note from me is that I will be implementing the Google Play Services for Android devices when I get to it, and I have been reading up on that system. The sad aprt is they ONLY allow 100 leaderboards per game. I am not sure why such an arbitrary number, but that will pose a problem for me game if I actually go to 100 levels. As I would need several more leaderboards to finish up the game. Still I have yet to go there.

Laters
Da Voodoochief

Tuesday, August 20, 2013

GameCenter 30%

Well I worked hard last night on trying to get my GameCenter stuff sorted out, as I changed my implementation to a nice class. The only issue is that it didn't work properly. Oddly enough It would say I am not authenticated (a Bool), but I would see it tell me welcome at the top of the screen, Grrr.

I could not see why my App was not working and after a hour or more of creating special debugging versions I could see that my Bool was simply not altering when the callback said I was authenticated. I had it as a static in the header, and I did this as I thought that the callback being static this would be a good match.. Yeah, no more thought than that to be honest.

Well once I proved this was the issue I removed the static and declared it as a Global (I wanted this one as a global anyways). Then it all worked. I was now happy and felt I was at 30% through my leaderboard and GameCenter implementation.

In fact I was more than that, as I was able within an hour to create a Leaderboard button on my title page and allow that to bring up the GameCenter GUI and show my leaderboard, which I had placed a score from my game over situation for testing purposes. This mean't I was suddenly at about 75% implemented. WOWZA!

So tonight I have setup a few more leaderboards so I can try and record single level scores. I also created a couple of Achievements.. and I will try to implement them after I have worked on the individual level scores.

The only failure of the night consists of my son not being able to sign into the sandbox GameCenter to get another score in it to go with mine. Still I can work on that more tomorrow when I have more time.

So far it has all been pretty great apart from the stupid static variable. I would add though that I think Apple could add a feature on their web site to allow me to create a whole range of Leaderboards in one fell swoop. After all I may have 100 levels... eek.

Laters
Da Voodoochief

Monday, August 19, 2013

GameCenter Authentication, initial setup

I managed to procrastinate most of the weekend away before I actually got round to working on the GameCenter implementation in Space Invaliens. Now of course I had it setup in iTunes Connect, I also had read a bunch about how to use it. Yet.. well, nothing quite works as well as experience.

Sometimes ya have to simply give it a go...

So Sunday night that is where I found myself. Time to get it sorted. One of the off putting things for me was the fact I have to do this on the iPad itself, and not simply use the emulator (oops, simulator) to show me it working. so creating a file to upload to www.testflightapp.com and then download to my iPad is a bit annoying, though not really very time consuming in all honesty.

So I put in the include (single header file), and I added the extension to my .MKB file. It compiled and I took this as a good sign. Then I grabbed a bit of the Marmalade example code for player Authentication and placed it early in my own code. Then I created my apk file and uploaded it to my iPad.

Well it didn't work. One trick I use is to color the background various colors depending on what is happening in the code. So Red for bad, and green for good. In this case I had set Red up for if my communication error'd out. However my screen was not red, in fact it was black, which mean't it hadn't done much of anything as far as GameCenter was concerned.

I realized that I was not updating the system, as I was in a closed loop awaiting the login to work itself out, however this mean't the system was not getting any time to actually do that. DOH! a Noob mistake in some ways. I simply added in a flush and tried again.

Next I am pleased to say was the requester appeared to have me sign up or in (all good), and so I did that. It even notified me that I had indeed signed into GameCenter (YAY). Now I had run out of time for my evenings work, as I have to be up at 6am Monday... So off to bed for me, and tomorrow I will try and display the Leaderboard GUI, and then upload a score..

Laters
Da Voodoochief

Saturday, August 17, 2013

Apple got it right

It is not often I say much nice about setting up stuff or generally dealing with Apple authority and setups. However this time I am saying something nice.

I needed to setup my game with GameCenter and the only thing I knew was that I would have to go to Apple Connect and do a little setup. Oh no, here I go again into the Apple web pages in the Safari browser (only the safari browser works correctly for all Apple web pages). Still I went into Connect and Clicked the Manage Apps link and then clicked the Space Invaliens link.

This took me to my usual Game/App management page, and lo and behold in the far top right side there were the links to not only GameCenter, but also iAd setup and IAP. Well I will come back to those later I am sure.

So I went and clicked on the GameCenter link and it took me through a setup of how to create a leaderboard and also a nice simple test Achievement. I was going to put instructions, but believe me when I tell ya they are not needed. Which is surprising and very pleasing.

Now I have got to write the code in my game to actually access the GameCenter stuff, and I am sur I'll blog about that soon.

Laters
Da Voodoochief

Wednesday, August 14, 2013

So much stuff to do

I have so many things to do and below is my short list (short cos it is the MOST important items).

  1. Get GameCenter test App running on my iPod
  2. Realize I need to setup test App and all sorts of stuff to be able to test GameCenter (bah!)
  3. Send off an invoice for my work on Hoopfighter. I hope to find out soon who and when it might be published!
  4. Get IAP for iOS test app running on my iPod
  5. Realize yet again I have a bunch of setup to do before I can test anything
  6. Be excited about the prospect of working with a great artist on not only Space Invaliens, but also stuff in the future! woohoo! (done and done again haha)
  7. Update my Web sites
  8. Release Free/Lite versions of my Book Apps, so more people can try before they buy (if they see it)
  9. Figure out what else I have forgotten to put in this list :O
I am not the biggest fan of setting up stuff with Apples web sites. I will do a post about all the elements one has to set up for IAP and GameCenter when I get to do them. Maybe I can even find a useful blog from someone else talking about this very same thing.. hmm, now that's a plan eh! Once I have the correct setups done, deploying the test Apps will be very easy. One of the nice things about Marmalade is the fact their examples tend to work easily.

Now I am getting a little concerned about when my license with Marmalade runs out. I think it might be pretty soon (October?). So I will also have to check on that. If I don't get more paid work, I will not renew my 500 dollar license. Instead I will go back down to the 150 license. Which will be a slight downer.

Ok, back to work for me,
Laters,
Da Voodoochief

Tuesday, August 13, 2013

Test post for Auto Facebook posting

I followed the instructions for the NetworkedBlogs App. Apparently when I do a post now it should go to my facebook page magically.

I wonder if it will work?
Da Voodoochief

Sunday, August 11, 2013

Game bible

My Space Invaliens game is hopefully not going to be simply a game. I really want it to be an IP or Intellectual property.

To do this I have expanded (actually I started with ) the design of the game to cover a full array of areas so the game could become a fully fledged franchise, or even have pillows made of some of the game elements.

As I started out with this kind of scope in mind, I did not find it too hard to design the elements and ideas I would need to make it possible. Today I have been very busy typing up all the elements from my extensive notes. I still need to do more, but it is on its way at 6 pages. This document I am calling the game bible. I will try to continue to develop the ideas for the game and of course try and make things friendly for the possibility of becoming a franchise.

The other use of this document is so an artist can understand my ideas more readily. Once read they can hopefully add to the bible with real imagery.

Laters, gotta write more in my document.
Da Voodoochief