Tuesday, June 30, 2009

Some Good UI Progress and YAP (Yet Another Problem)


I went through and modified the befuddlement icon yesterday a little bit to make it a bit more compatible with the cool parchment background I found on DeviantArt. I've got a shout-out to the author - Sinnedaria - in my credits page. It's nothing fancy, but it's more effort than I was willing to put into making something and since she offered it for free (with a request for credit) I thought "why the hell not?" :)
I've updated the UI with the parchment background and with the new icons as shown to the left.
I think it looks a lot better now with the parchment background and with the blue for the befuddlement icon. And as you can see in this picture I've updated the UI to remove the "Learn" button for those spells you're not allowed to learn yet (based on your affinity level). I'm still not sure about the text color on the top (or in the cells themselves). I've been debating several different colors for things. I'm a fan of subtle coloring (probably from my time at Anark when Danc designed the Anark Studio 1.0 product. It had a lot of subtle hues and cool colors (blues/whites) that I really liked. The parchment background is going to be a little interesting to work with from a coloring perspective, but I'll find something I like.
I did, however, run into a little snag last night. I've been using my Windows machine to sync my iPhone (because I use Outlook and such). I've found a way to allow it to sync to multiple machines, but it's not completely functional and what I've ended up with is that whenever I try to sync to my MacBook it erases my music and videos. *sigh* Even with "Manually manage" turned on. Regardless, I thought I'd try distributing the Wizards app to my phone finally to play with it on an actual device. But I ended up with a weird issue that kept it from working correctly. When I checked the forums I saw that there was a known issue (according to the posters, not Apple) about iTunes 8 and Windows ad hoc deployments. If this is truly the case, this is going to be a major problem for me. Not everyone I know (in fact, very few) who's going to be in the Alpha program have Macs. Which means that I need to find another way to deliver the ad hocs - or wait until Apple fixes the problem. Which really sucks. I'm hoping that an alternative delivery mechanism will work, but haven't yet tested it. *sigh*
So, lots going on and making some good progress - on UI things, which I have to admit I hadn't planned to work on yet. Still, it's been gratifying to see some things working properly and more like how I'd envisioned them. Lots more to do and I still need to get working on the server to, you know, actually make the game work. :)

Monday, June 29, 2009

New Icon for Misc/Befuddlement/Hindrance?

I think that I might have found an icon that represents what I'm talking about. :) Here's the icon:
And here's the icon in situ:
The icon is from a free site and then modified very slightly. :) 
What are your thoughts? Does this seem to resolve the quirkiness of this type of spell?

Slight Hiccup

I've been working on finishing up the look on the spellbook and the one thing that's hit me is that I wanted to have an icon for each of the spell types. There are currently 3 types: offensive, defensive, and miscellaneous. Offensive spells damage directly to your opponent. Defensive spells reduce offensive damage from your opponent. And miscellaneous spells reduce the number of casting points available to your opponent. They're like distractions - dancing lights, quicksand, etc. - that prevent your opponent from being able to use all of their casting points. The trouble is that I'm in a bit of quandary. I was trying to come up with an icon that would represent these miscellaneous/distractive spells. Or should I just lump them in with the defensive spells? For the icon at the moment I'm using just a question mark, but it seems both lame and ineffective at communicating what they are.

In this particular case, should "Dancing Lights" be a defensive spell or should I keep searching for a separate icon? If I remove the category there are some somewhat drastic consequences that I need to address, so I think I'd ideally like to find a way to iconify this concept.
Any thoughts?

Bigger and Better Things

Well, the annoyance that was bugging me yesterday with custom cells has been resolved. I realized that I'd skipped a step or two when trying to create the custom cell for my table view. I decided that starting over was far easier than trying to fix what I had, so I just punted and made a new one - and it resolved the issue. Perhaps following the directions this time was a key to my success. :)
I'm just trying to finish up the look and feel of the spellbook list now. I'd like to get a few icons sorted out and then I need to disable/grey-out those items that can't be learned. It's gotta happen eventually, so I may as well do it now before moving onto other things. And that's the big news, I think, which is going to be setting up the back-end server. I'm already downloading all of the main content - spells, monsters, location, and wand data - from the server, but this will begin the process of actually setting up quests, earning money, getting items, and duels. There's still much to do - in game purchasing, push notification, etc. - that I'm going to be a very tired person the next couple of weeks. I really needed to already be IN beta right now and I haven't even started my Alpha. At least to capitalize on the HP buzz that's going to be happening in July. :( I'll just do the best I can to finish it as quickly as possible.
Now, if I can just figure out how to distribute Ad-Hocs, I'd be a happy camper... :)

Sunday, June 28, 2009

Busy Day

So we had one of Cathy's friends - Ashley - over for a sleepover last night. Cathy had a bit of meltdown today about Ashley drinking the last of the Horizon chocolate milks. *sigh* Beyond that, it was a good sleepover.
On the game front I got a LOT accomplished today. I started the day with about 75 spells in my list. I started working around lunch time and this afternoon hit 160 spells (32 spells in each of the affinities). I wasn't looking forward to copying/pasting them into XML as it would be an arduous task, but I found a quick way to do - OpenOffice did all the work for me! I just had to make sure that everything came in Oxygen XML Author correctly - and it did. So it ended up being a much easier process than I expected, which is a great thing.
Since then I've been working on the UI for the spellbook. It's been a bit more difficult as custom cells in UITableViews aren't working the way I keep thinking they should. I've got a bug I'm working on right now (which is why I'm blogging :) that is causing me a bit of difficulty. The cell isn't loading properly from the NIB, which I can't figure out. I'm hoping I can figure out before I go to bed tonight. It's getting late, so I need to get cracking on it.
I'm feeling SO much better about things as I've managed to get tons of things accomplished in the past couple of days - and after a week when I accomplished little. Whew! :)

Saturday, June 27, 2009

UIPickerView Woes

I've been working on finishing up wands. I think the costs are done and coded, but I'm having some trouble with the text size on the picker view itself. I've got the following look right now:


Obviously, the issue is that you can't read the wand core. And the material (the left picker) is just the right size to display the longest material names. I've tried to find ways to alter the font size on that, but there's a method that I've seen spoken about -
 pickerView:viewForRow:component:view - that theoretically would fix it, but I end up with blank UILabels being displayed. It's actually quite off-putting tha
t it's not working. I wish that the font size were easier to set on these things, but apparently all I can really do is change the width of the picker easily. In this particular case, that does very little for me.
I'm still beating up on it and don't plan to sleep until it's resolved. Hopefully that'll be soon. :) Then I can start working on other things.

Update: So I found out the problem I was having was that I didn't create a frame. :( I fixed that and now I get the following image:

Obviously this looks much better and may require some tweaking, it's definitely better than what I had. :) And I've ordered the wand cores alphabetically which should help make things easier to find. Yay.

Wednesday, June 24, 2009

Alpha Testers

I'm at the stage now, I think, where I need to start lining up my alpha testers. I've posted to Facebook, Twitter, and now here for a call for testers. I'd like about 20 people for the alpha. Most of the testing will be checking things like the store, going on quests, and traveling around. Later we'll start looking at adding more for beta and then maybe actually get some cool things happening.
If you are interested in participating in the alpha and subsequent beta, please contact me at bdevoe at ottovon dot com for more information. I'll need some information about your phone so you can get started. It's a relatively painless process - I do have a bit to learn about it, though, so I hope you're willing to indulge my cluelessness for a little bit.
Thanks!

Wednesday, June 17, 2009

Travel Mostly Complete :)

So I finished all of the US cities, but there are still three countries' worth of cities to do - the UK, Canada and Mexico. I'm having trouble finding a good Mercator projection of North America or of Canada with enough detail to let me match it to US cities. And same thing with Mexico. I haven't even tried the UK yet, but I did get the US done, so I'm going to punt for the time being on the others. It was a LOT of work and I have something even if it's not completely what I want to have done before final release. I'll add bugs (first ones!) to document that I still need to add some places in Europe and finish Canada, Mexico, and the UK.
On the plus side, I did get a good mapping done of the US cities. I ended up missing some state capitals (how that happened I'll never know), but I did have them plus some other one cities in the mix. It's a bit sparse in areas, but it should still work.
I've kind of decided that for the magic school I'm going to simply disallow travel for players who are under 5th level. This will keep them in the same location and prevent it from being a major problem. I'm also going to remove them from duel lists (and remove 5th and higher from their duel lists) when playing. They'll still be able to chat with other people in the area and go on quests, but they won't be able to duel anyone who's not still in school. :) I was only thinking about it because of the whole travel thing. I'm thinking I'm going to do the pruning of player lists on the device rather than limit the select statement on the server side. The fewer restrictions I can place on the server selects the better. :)
So, I'm calling travel complete with some bugs to fix. *sigh* I just need to get a few hours some time in the next few days to finalize those linkages and fix the UK which is like 30 cities. I just can't bring myself to do that right now. :)
Onward and upward, then!

Travel Progress

I did get everything on the app side working with traveling - finally! I can move around and things worked as expected. Except that I found major problems with the data file. *sigh* What I had originally done was to find the latitude and longitude of all of the cities in my list and then I went through to calculate the differences between it and other cities nearby to determine the cardinal directions. What I found though is that while I did pretty well in many cases I was WAY off in others. So I found a Mercator projection map of the US (which is what I'm going to start with for now) and I'm going through all of the US cities (I have about 75) and get them corrected. There are a couple of places where it'll seem a little weird, but is correct. For instance, you might be able to go southeast from a city, but the northwest from that city doesn't lead you back where you were but to a different city. So from a directional map perspective it might seem odd, but it works out. :)
My task today is to finish fixing the data file. And mowing the lawn. And cutting the suckers in the backyard (which is becoming like a fairy forest for lack of care). If I can get the data file fixed then I can move onto wands and spells. And while there is definitely a programmatic method for fixing this, I'm actually finding it a good mental exercise to do it by hand. Not so good for the carpal tunnel, though. :(
Also - here's a photo of the travel pane with some locations in it. If you're interested. :)

Tuesday, June 16, 2009

Success

Well, it took both more and less time to fix the problem than I expected. :) I had thought that I would resolve it quickly last night and when I couldn't, I thought it would take longer than it did this morning to rectify. So things are moving along well. There seem to be some errors in transcription for the XML document. An example would be that it seems possible to move West from Providence to Concord, NH. Um - not quite. :) So I need to get some testers hitting the various destinations and seeing whether the list matches the one I generated and then whether the list I generated is logical and accurate. So there's a validation of the generated list and a verification of matching real life. Just need some testers (that would be a general call for anyone willing to participate, by the way :).
I've got a defect tracking system up and running for the project. I've decided on CodeTrack versus Bugzilla as BZ was a bit difficult to setup, surprisingly. CodeTrack was a breeze and provides more capabilities than I need. I will need to refresh myself on Apache authentication and authorization, though. It's one of those things that I don't do frequently enough to bother storing in long-term memory. :)
So, I'm feeling good about how things are going, but I'm really concerned about the deadline at this point. Still need artwork, still need a database, still need to write the server-side scripts to access and modify the database, etc. Just so much left to do and the clock is ticking loudly. C'est la vie, or so they say.

Debugging

It's been an interesting few hours. What I can say definitively is that I miss the debugging capabilities of Visual Studio. While Xcode is free and has some wonderful capabilities, the debugging utilities seem to be a bit behind the Windows dev tools.
One of the nice things is that I do have a copy of the manual for GDB (the debugger that Xcode uses). My printed copy is, however, from 1992. :) Still, it's been helpful in finding out where my code's crashing (Xcode doesn't seem to want to associate actual source code with a failure). That said, I'm still no closer to resolving the navigation issues I'm experiencing. Hopefully today I'll be able to get that completed and move onto the next story.
The good news for me is that Cathy is at summer camp today with Franklin Friends. It's a great program and fantastic price ($29/day) compared to some of the Waldorf options ($40/day and not a full day at that). There are some benefits for that extra $11, but the drive alone (45 minutes) makes it just untenable.  I'm happy with Franklin Friends and it's good for Cathy to play with kids in the neighborhood given that she doesn't go to school in it. :) What this means in the end, though, is that for two days a week I get a full day to work on work.
Anyway, back to trying to figure out why I'm apparently releasing something I shouldn't be releasing. Wish me luck.

Monday, June 15, 2009

Travel Update

So it's been a reasonably productive day ending on something of a sour note. I've put the destinations for the game (North America and the UK) into an XML file that I'm able to pull from the website and parse properly. But now I've run into an issue where I'm getting a crash when I try to move from the main location. When I first had things working it was going about five spaces away before I'd get a crash. I thought it might have been a problem with no releasing some objects properly, so I've done that and now it crashes on the first move. Obviously the releases weren't the issue. It's unfortunately too late now for me to think clearly and get anything resolved properly, so I'm going to sleep on it and see what I can find out tomorrow morning.
Artwork is still not being done and I need to get that moving forward. I've talked with a couple of people who might be interested and able to do the work, but I need to finalize that and get them cracking on it. Things are in a place now where they could probably do at least half of the artwork right now and the rest in the not-too-distant future. *sigh*
Overall, I'm happy with the progress being made. I'm a little behind where I'd hoped to be, but honestly things are going faster than I expected they would. Toss in two weeks where very little was possible (due to Princess Ida), and the progress is actually amazing. :) Perhaps things will be clearer in the morning. There's still SOOOOO much to overall, though, that even if I had everything done right now I'd be hard-pressed to get the game released by the end of the month. Right now the best I can hope is that I can get it into an alpha/very-early-beta by the end of the month. That means that I won't likely be right there when Harry Potter opens, but that I might be within a week of the release, and that would be pretty cool.

Saturday, June 13, 2009

Weird Happenings

I decided that given the necessity of being able to purchase items inside my application to avoid the cracker/cheater influence that I should upgrade the app to run inside iPhone OS version 3. I ended up having something very strange happen that I can't explain, though, and need to figure out what's happening with it. Here's the issue.
I've created an affinities page that displays how much mastery a player has over a particular element (fire, air, water, earth, void). It should display as shown below.


Instead, what's happening is that it's shifting up what appears to be 20 pixels. I'm wondering if hiding the status bar is somehow impacting the layout of the image in the XIB. It seems weird that this would be something that would be impacted by changing the target from 2.2.1 to 3.0, but it definitely is. Here's what it looks like now.

I'm sure there's some rational explanation for WHY this is happening, but it's a bit surprising (and a little frustrating) that something so simple is now more difficult. *sigh*
I'm actually trying to work on travel today, but stumbled upon this last night when my brain was getting addled from lack of sleep. I thought initially that I'd done something weird like setting the background image location manually in my view controller, but going back to 2.2.1 fixed the problem. If I can just get this sorted out this morning I'll feel loads better about moving forward with travel today.
In the meantime, I'm going to work on travel to get that finalized. I want it off my plate for the time being and then I can deal with why this is shifting up ~20 pixels. :( Wish me luck!

Wednesday, June 10, 2009

Quick Note

I've officially published the previously-private posts about Samantha/Wizards.  They should be viewable, although you may need to scroll back through my blog to read them. Most were written in March, so that's probably a good place to look if you're interested. :)

Wowsers

So today was pretty much going to be shot, but I never realized how shot it would be until I now reflect on it. First thing is that today was Cathy's last day as a Kindergardener! YAY! She is officially a first grader starting in August. Whew. :) The graduation was sweet and precious and memorable. Good thing I was able to capture it with pictures and video. She was "knighted" into first grade and her first teacher, Mrs. Reinhart, was there to see the last of the students she shepherded in pre-K move on to first grade. It was bittersweet at times, but it was a great time.
We then went to lunch with the family of one of Cathy's best friends at La Fiesta. GREAT food - I highly recommend it. Everything was very fresh and it was quite filling. We ended up bringing home some of the chip dip...
After that was a visit to Dr. Edvin Manniko, an optometrist. When Waldorf looked at her readiness for first grade they noted that she seemed to be having some trouble with focusing her eyes on near objects. The good doctor confirmed that she was far-sighted, so we need to get her some glasses. They also recommended some therapy to help her eyes focus better and more consistently. There's a possibility that she'll be able to do without the glasses if the therapy goes well. It seems that I may have experienced a little of this myself growing up but managed to get through it. Apparently only 12% of farsighted people get through college without corrective lenses. I might be part of that class of individuals. Then again, maybe I just like being special. :)
On the way home from the doctor I got soooooo incredibly sleeeeeeeeeppppppy that I almost had trouble driving. We made it by early evening, but I was so wiped I practically passed out once we got in the house. And then I very quickly forgot that I was supposed to go help teach Taekwondo this evening. Whoops. :( So I called to apologize, but that doesn't make up for spacing it so badly. Yes, it was a long day, but still I'm disappointed in myself. :(
Now it's about 20:00 and I'm exhausted but mentally still focusing okay. I'm going to finish up the profile summary changes and get those checked into git. I don't know if I've mentioned it before, but I did finally get some SCM (software configuration management) going and am running git to track revisions. I have to say - it is damn fast. I'm very happy that one of my former co-workers at HID found it. Otherwise I'd be stuck with Subversion or CVS or something crappy. :) We used Mercurial at Maptek, but I knew that git was a bit more favorable over Mercurial from my HID days. And Linus Torvalds uses it, so that seems like a good endorsement to me. :)
Anyway, Cathy will be starting at Franklin Friends next week. Just a couple of days a week as we can't afford to send her full time. I just think it will be very difficult to get a lot done when I don't just want to sit Cathy down in front of a TV all day but I also can't afford to spend all day playing with her and getting nothing done on Samantha/Wizards. :( It's a bit of a conundrum, but I hope that her friend Ashley will spend a lot of time over here playing with her so I can get things done. *sigh* We'll see, I guess. Best laid plans and all that. With Franklin Friends I at least have two days a week where I'll have the house to myself, so to speak. :)
More to come later, I suppose. Hopefully the next few days will be very productive and I can get spells and inventories worked out. Hasta for now.

Tuesday, June 9, 2009

Purchasing Update

It's been an interesting day. I had planned on hammering out all of the travel elements but instead got sucked down a rabbit hole doing what I thought would be a quick modification to my code base. But NOOOO. Instead, I've been beating my head against what ought to be a very simple thing - getting a subview to display. I'm not sure what the problem is yet but I've been trying to figure out what I'm doing wrong. I have a tab control with a view controller that manages the main profile page. From there I can go to a spellbook or to the affinities page. I want to display the profile summary on each of these pages, so I made a subview called ProfileDetailViewController that I'm creating in ProfileViewController::viewDidLoad. I tried to addSubview to no effect so then I tried to insertSubview with an atIndex:0. No love there either. The interesting thing (and this is where I think it may be some kind of race/initialization issue) is that when I tried to create the strings to display the data it kept returning "Invalid".
HOWEVER, I just solved it. I had an epiphany while I was out an about this afternoon getting Cathy (her last day of school is tomorrow) and tried something that worked correctly and perfectly. I still need to do some things to make it completely functional and spread across the multiple view controllers, but I'm much happier now. :)
On the purchasing side of things, I've been looking at the Store Kit API that Apple just published. I believe that this is all in OS 3.0 so I'll need to wait for that to come out (which should be next week, theoretically). That should provide the opportunity to do what I want to do, so I'll be a much happier camper there as well. :)
So what started off as something of a bust of a day has now ended up quite nicely. I'll finish the profile summary tonight after Taekwondo and feel even more accomplished.

Monday, June 8, 2009

Samantha Update

Well, while WWDC happens (I've been reading tweets by Owen and crew), I'm here working on Samantha. I've completed the first of the stories, which was the tabbed interface. At least as well as I can, since I'm having a little trouble figuring out where to put a couple of things. :) I think that will be sorted out this week finally.
I've been working on traveling, which has been interesting. The big thing has been creating a list of destinations to which people can travel. I've completed that (yesterday) and then completed an XML file that contains the connections between those locations. It's a bit of a web rather than a grid, say, but it should be interesting. I will have to have some alpha testers verify that they can get to all of the locations properly. Since locations also determine who players can duel and chat with, it's something of a major story. AND it's getting close to done. I need to write the XML reader still, but that's on tomorrow's agenda.
I must say that I'm actually pleased by the progress so far. The ERD has a great start (I spent about a day going through it) and the UI is coming together. With the mechanics of travel worked out (I put in some bogus data to test it thoroughly) and the list of locations for 1.0 set, I think I'm doing pretty well. Not enough to be completely done by the end of the month, but things are definitely moving forward faster than I'd expected. Perhaps if I catch a few more breaks here in the next week or so, I'll end up with a reasonable alpha in about 2 weeks.
I've heard through the grapevine that approvals are taking longer, so things are getting a bit scary where timing is concerned. Looks like I won't be out right at July 15 but if I can get it close, then life will be a good thing, I hope.
Still no solution for the microtransactions, but I've been punting on that for the sake of game progress lately. I will need to get that resolved soon so this doesn't become a major issue (and put the kibosh on my plans for world domination, erm, making money :).
I'll post up some more later as things start to gel in other areas. Otherwise, assume I'm busting my ass trying to make the end-of-month deadline. :)

Tuesday, June 2, 2009

Conundrum

I've been thinking about something that I need to make sure I address. The trouble is that I don't have as much information about deployed App Store apps as I need. Here's the conundrum.
I Wizards/Mages/Samantha players can purchase items that will "buff" their characters. In particular, they can purchase artifacts and mana gems (mana gems replenish a portion or all of your mana pool). Of course players can use up their mana gems (one use per gem), so they may want to purchase more. But how best to handle that? I could, when a player purchases the mana gem pack, provide some local data about the transaction completing. Then I need to worry about jailbroken phones where they can remove that transaction data. So then what? What options exist for ensuring that players are only allowed one use for the purchased app?
This is where I'm hoping that someone else may have some ideas about dealing with this. I believe that addmired (makers of iMob, iKnights, iVampires, and Girl Wars) has managed to address this. I don't believe that I get notification of purchases so I can't trigger off that somehow. Honestly, I'm at a bit of a loss and I'm having trouble finding out how others have addressed the problem (if they have).
Something else that I need to think about is that I don't want to have 500 different expansion packs available for the game. I may have a couple of "artifact" packs that allow you to pay different amounts to get different types of artifacts. For example, you can but the $1.99 artifact pack that gives you some low-power artifacts. Or you can buy the $4.99 pack that gives you some more powerful artifacts. I think it would be a choice of which artifact from the list you want to get, but since you could buy the pack more than once (and thereby acquire more than one artifact from the list), I still need to address it.
Hopefully someone has some ideas I can explore or knows of a blog where someone posted up this issue and their resolution. Thanks!