Wednesday, July 31, 2013

Troublesome checkboxes

Very nice day out.

Continued to scratch through the Bucket List, finding odds and ends to debug throughout the day yesterday. Successfully compressed the main Sprite sheet down to 1/2 its previous size! Coloring objects via code is totally the way to go.

Got art in at the end of the day and now struggling to integrate it & make everything work. The export process is somehow adding additional pixels onto the image, which is totally destroying my plan of having everything with a centralized pivot point. The reason behind this is to avoid the Popping problem when we shift between animations, where their pivot points are in different positions.

However, I think the culprit is a small checkmark box called SMOOTH....

Need to re-export out everything again now, however this is a much better solution than reimporting the asset into photoshop and cropping them down by hand to their original size...

The animations are also larger than I remember them being.. will investigate this.

Tuesday, July 30, 2013

Forma

Warm today, a pretty nice morning.

Success! Apple got the developer/provisioning portal back up yesterday so we pounced on it and.let a new Test Flight build was let out into the wild very shortly after. The build had a lot of little polish tweaks, but two stood out above the rest.

1. Pie charts!
We finally got the Pie-Chart to render correctly. That was a pain to get done, thanks to Matt for sticking with it. The main issue was that Starling does not have the drawing API that Flash has in order to render the circle. What we ended up doing was actually using the Flash rendering method, capturing the result into bitmap data and then adding it to the Stage via Starling, very happy with the result.

2. Campaign Bug
I believe I solved the issue of the campaign breaking bug. It was mostly due to my own laziness/negligence unfortunately. I had never tested what happens when a player completes all sub-levels within a level. The result is a NULL ref error. Really dumb mistake, I was checking to see of the currently completed sub-level number was less than the total number of sub-levels, if so than go ahead do furtherestSubLevel++, and create a new sublevel.

if(sublevel.levelnumber < sublevels.length)

The problem is that all sub-levels are stored in an array. Arrays number things, starting at 0. So an array with five items in it looks like 0,1,2,3,4. Which means I should have been checking

if(sublevel.levelnumber < sublevels.length - 1)

Simple problems have a way of causing large problems.
 

Monday, July 29, 2013

Roots

Nice weather today coupled with the lovely sounds of construction....

Last week made some good progress on Pathogen, completed lots of little UI tweeks. The background color now goes through an organic color shift, where one color fades into another. Wanted to make it procedural based off of a parent color, but it was easier to just grab a bunch of analogous colors and have it randomly pick between them.

The Apple developer accounts went live again! Finally we can try to build out to device! We will be trying to get the Test_Flight version up and running as soon as possible. Updated our contest entries as well with new coupon codes that finally expired.

Formatting a computer today, should prove to be good fun.

Friday, July 26, 2013

Changing Gears

Smelled like woodsmoke and summer rain, Vermont is kinda weird this morning.

We have decided on a course of action when it comes to saving/loading online game data. That information will be temporarily held so that it loads quickly if the player is jumping in and out of their online games. However, if they quit the application we will trash the data. On resuming, the application will pull down the whole list of moves ever made and quickly, virtually make them all, returning the game state to its intended point in time.

So why do this?

1.Well, we are storing all of this data anyway so why not use it?
2. If we save the data locally & the user decides to uninstall then re-install the game we are going to run into major issues. When they reach for the online game what happens?
3. Saving game data is also seriously complex... Lots of variables and states that need to be saved out/ loaded in. With online, since it is asynchronous, I'm more than a little worried that the data could be corrupted on the user end, due to unknown issues. However, if the game state lives up on the cloud, it acts like the host, giving its clients (its players) the information they need. So it becomes a single data location instead of potentially 4 separate data locations (1 per player).

We may end up changing our mind/discovering a better way to go about this, but for the moment I believe this is the best path. Matt got this working on a local level, where he makes a bunch of moves, they are logged into a text-doc, he reads it back in & the game automatically generates the game board at the latest state. Its pretty sweet.

I created a custom Button class the other day (much less flashy/cool), however it was necessary. By doing so, we are now generating all of our buttons via code, not with art assets. Which means a few things.
1. No more bugging Marguerite about making X button.
2. Uniformity, since they are generated via code, everything looks the same across the board!.
3. Save space on our sprite sheet, which is the biggest reasons. Here, take a look.

Before:                                      
And we need every inch for some of the new animations Sybil has been creating for us!









After:

Thursday, July 25, 2013

Cleaning House



A pretty nice day out today, probably what the weathermen promised yesterday.

Jumped back into Pathogen and wow... Did I not know how to code or what... Its more or less a mess, nothing is commented & some of it is just plain not built well. Spent the day re-writing how capture zones & erosion zones function so that they will update correctly during the replay. Commented those pieces as well, feels much better.


Matt is striking into the heart of online. Pretty sure we going with FLOX as our data host, so he is starting to scrap together the online classes. What we decided was that the whole GameManager i.e. the code that runs the game will be cloned into an OnlineGameManager.

Couple of reasons for this:
http://25.media.tumblr.com/cb3244938c556f3e5d46adad1dc5e308/tumblr_mm8hzxSUwT1r3jb51o1_500.jpg1. It allows me to fiddle with the normal game while he's in online.
2. The online systems and the way they deal with pushing/pulling/incrementing turns is vastly different than how it is traditionally done.
3. If we tried to do just 1 universal game manager it would quickly become bloated, with special cases for local, campaign & online since they all have their own unique quirks.

There is a downside.
1. Anything we change in GameManager needs to get re-cloned into OnlineGameManager, which is kinda a painful bit of micromanagement. 

Wednesday, July 24, 2013

At long last!

Cloud with a threat to rain, almost powerful windy, but not yet. Potential to rain seems pretty high, not thrilled if that is the case. Biking home in the rain is  not that much fun.



Bike chain fell off again. You notice pretty quickly, almost like a baby tooth suddenly coming free.

And finally the big news, we have a contract! Which feels like this: http://www.youtube.com/watch?v=pYzOQFpGPYE (minus the advertisement...). Looking back we have been trying to wrangle a deal since March when Marguerite first made her pilgrimage out to GDC. Its so momentous that you kinda expect the world to respond, like sunny skies & birds in the air, etc instead of the storm clouds vaguely shaking their fists.

There wasn't any balloons falling from the ceiling at work or champagne either, we just circled the chairs and started to break it down. Ok, what needs to go first? Where do we need to focus and what could cause potential issues. Emails went out to the composers we had talked too and meetings have been setup with Marco so we can all come to terms.

Maybe the lack of joyous response is just shock, think we are all going to go out and grab a celebratory dinner that should help get some feeling back.

Tuesday, July 23, 2013

Leaping Forward

Started raining just as I left this morning. Not the funnest bike ride, but at least my socks are dry.

Pulling together Trait & skill lists for character classes today. The goal is to get all of the UI stuff working today. The functionality for everything is already in place, Shouts are super easy, Traits aren't that hard, but Skills all need unique functions which is kinda a pain to get up and running.

Leap Motion went on sale the other day. Loc is now on sale once again and somehow we are on the top of the games page: https://airspace.leapmotion.com/categories/games. Very cool to have that all wrapped up. Mike did the whole conversion process by himself and the final product is quite an accomplishment.

Monday, July 22, 2013

New Home

So I moved.

The site is currently being redone, thanks to a slick looking new outlook that Ed, the owner of 8-Bit fit &  a client we are working with to create an app.

The new one is all wordpress as well, which is going to make updates a heck of a lot easier for us.

I guess we aren't doing a "company" blog any longer, just individual ones which we will link out too. Until we figure things out, my blog has made a move here.

Still waiting on the contract, maybe tonight is the new word. Until then, Matt is working on the new website and I'm still pushing forward with turn based combat.

New library books today, 4th Dexter novel & another Patricia McKillip, so I'm set for another week.

Oh right, the great Apple debacle...

apple hackedSo let me bring you up to speed. Last week the Pathogen Provisioning profile expired due to our own lack of focus. When this expires the application can no longer be downloaded or even played on any testing devices. Normally this is not much of an issue, you log back onto the developer account and press the refresh button. Except that late last week Apple got hacked. Yes, you heard that correctly.

The whole developer site went down and has since been. Worse we don't even have an ETA on when it might go back up. Until then we basically can't work on it...

At least we haven't officially started development yet...

Friday, July 19, 2013

Emptying the Bucket.

Maybe today is the official word, if not than Monday.

The Lawyers made their changes and now we just need for the other party to sign off on it.

Matt is continuing to do a first pass over the "Bucket List" - a list we made of what we would like to see polish wise added to the game. Getting our feet wet again with the inner workings of Pathogen is good. We haven't really touched it in more than a month and since then we have adopted new, better coding practices. Unfortunately we cannot implement them into Pathogen without basically rewriting the game again. Oh well.

Spoke at Champlain this morning to a group of teachers, explaining our process, and what Flash & Unity are. Great to do it, game development teaches a-lot of really strong skills that more people need. Pictures went up on Facebook & Twitter I believe thanks to Mike.

Finished Winter Rose by Patricia Mckillip yesterday after starting it only the day before. A fantastically written little novel infused with a lot of beauty and passion.

Continuing work on turn based stuff. Got a system for putting Unique Skills into the game up and running which is super exciting. Need to really settle on what classes exists & how that whole system is going to play.

TGIF, more tired than usual.

 

Thursday, July 18, 2013

Vision

Warm again today, almost enough to completely forget that only two weeks ago its was pouring like someone cut the sky.

Pathogen has been picked up by its Indiecade jurors, which is exciting. Cross your fingers, knock on some wood, hope a little for us. Getting anywhere with them would go a long way to helping us make a name for ourselves. Unfortunately the build does have a few persistent issues that might ruins things + the lack of music which means we probably can't even be scored in that category :( But we will continue to hope.

Pulling the presentation together this morning for tomorrow.

In other news I can finally see what the Turn Based Combat is supposed to be. I know my short term goal which is a relief, had been searching for a while now. Synergy between characters is the key, being able to create squad wide builds is what I want to be able to accomplish. So far I'm on the right track. Got two systems in place already, working on special skills today.

I have a rant about games and narrative now, but I want to get to work, came in late after stopping in at the Helpdesk to make sure we are ready for tomorrow on the technology front. So maybe tomorrow.

Wednesday, July 17, 2013

Alls Quiet on the Western Front but the Dying.

Wednesday and again the temperature is summery again, not too excessively hot when we entered the week.

No word as of yet about the contact and so we continue on. We have been down this road before, but hopefully it ends in a better place than previously.

Matt was sick yesterday, so it was just us three. Specc'ed out the jobs for Physical apps, which spill out to be far more than a month so we will see what we will be doing for them. Another temp hire could help shoulder that work. In my neck of the woods I think I have a better handle on how to get combat progressing faster. Adding in the first of the new systems I'm designing today and the goal is to get it working.

Saw Pacific Rim this past weekend and it was fantastic. A perfect film for that 13 year old we all still carry around. Its a huge spectacle that delivers exactly what you need, whether you were aware of it or not. The movie felt stream lined to a T, and as a result it ends up being a ridiculous amount of fun. The CG effects are amazingly overlaid with real props and they did a great job with creating the sheer sense of weight being thrown around. Enough said, go see it.

Finished LoveDeath, a novella collection created by Dan Simmons. Very interesting pieces for sure, but the two that really shined where Sleeping with Teeth Women, and The Great Lover. Sleeping with Teeth Women was a Sioux tale which I found familiar & exotic at the same time. I have read only a few books about native/first people culture and beliefs. They give a great contrast to what we supposedly learn in grade school and somehow feel far more faithful. The Great Lover on the other hand was a novella told from the perspective of a poet conscripted into the British Rifle Division during WW1. I am now convinced that being on the French front, in the Trenches, is probably one of the most horrible moments in all of human history. Hundreds of thousands told to die by an incompetent command structure, while thousands more died in the horrific conditions.

Watching: Hero's Season 1.

Playing: Civilization 5 BNW (darn you culture victory on Emperor difficulty).

Tuesday, July 16, 2013

Music in the left ear

Ugg, yesterday ended up being a scorcher. Way too hot. Today's bike ride in was pretty good though, maybe I'll take the bike path up after work if it remains like this.

Had the Physical App's guy come around yesterday and they are looking for a bunch of things. The product is getting ready to ship, which means they were looking for as much work done as possible within a months time. That's a little brutal in terms of a development timeline. We are specc'ing some of those potential projects to see what we could do/bring people on to do.

Lorrie came by to help out figure out tax stuff. We had a client bounce a check and amazing how much of a domino effect that can have. Mike & Marguerite's checks both bounced, while Matt's and Mine were held by our bank until they could clear. We also had a rent check bounce as well. We quickly got the clients check put back through, but it caused more than just a little bit of chaos in our quick books.

Today is possibly THE day, the contract changes have gotten looked over (hopefully) and we should have an update today. In the mean time Matt played around with the particle system built into Starling which is as powerful or more so than Unity's built in system. I'm working back through the combat in the turn based game, looking to see how to make the whole thing faster, while keeping choice and strategy in there.

Sad day, headphones are broken... I have iPhone headphones, but the Headphone jack is on the back of the tower and there is no way its going to reach.

Monday, July 15, 2013

My kingdom for a contract.

As predicted the weekend was pretty nice, so naturally I stayed inside and explored my now expanding game list thanks to the Steam Summer Sale.

We have a guy coming up from Physical Apps, our very first client and the ones who kinda got us up and running from the contract work we did for them. They fell off the planet a few months ago, which caused us to shift priorities, but now they are back. So we will see what tomorrow may bring from them.

In other news we continue to wait on legal to make some changes to the contract we have with Pathogen, but hope remains that this is the week.

We are also speaking at an event held at Champlain this weekend. A bunch of teachers are gathering to talk about alternative teaching methods/new areas of learning and Game Development is one of them. We will be giving a brief overview of different engines they may choose to teach, their pro's/con's and explaining why Game Development is good for the soul.

P.S. I got a new monitor, its kinda crazy large. writing on the left half of the screen because i'm scared of  vastness of the right side.

Friday, July 12, 2013

Multiplayer Framework

Perfect day out for bike riding, hopefully it will carry over into the weekend.https://airextensions.net/wp-content/uploads/2012/11/gamecenter-300x300.png

As to work, Matt starting looking into how we should go about constructing the framework of our multiplayer system. We have tried to do this twice already, but always shelved it due to potential instability. There are a few options/considerations to make.

1. Scalibility: We need to be flexible on the backend. Should a ton of people be playing at the same time, sharing/storing data, we need to be able to handle that kind of traffic. This was always something we had worried about with our previous attempts because all of the game data was just stored on our website server, not a dedicated box.

2. Security: If your doing match making, which we are, you need to worry about the information your collecting. While ours has always been innocuous (just email addresses) its still important to try to keep that data safe. On our own server the data could be pretty easily hacked by anyone who knows what they are doing, since we don't have any knowledge about website security.

3. Stability: What are the chances the multiplayer will just break due to a million different problems? (save data corruption, uninstalling the game, Logging in/out, etc)

3. Platforms: Different methods of setting up this multiplayer system will alter how much time/energy it takes to go to multiple platforms.

So the question on what to do, really boils down to two choices:

1. Build our own solution for Multiplayer with the knowledge that we have.

2. Buy a Game Center plugin and utilize the built in game center asynchronous multiplayer framework that is already in place.

There's plenty of pros and cons to both sides of the coin.By using the Game Center Plugin we don't have to worry about scalability, Apple will handle our traffic, don't have to worry about Security unless Apple is compromised, Game Center is proven and known, we won't have to worry about stability, however where the plugin fails is that the game would only be for iOS Tablets. End of story, users would not be able to play PC - iPad, or Web to iPad, or iPad to Kindle or any of the really cool cross-platform things that could make Pathogen stand out.

On the other hand, if we build it ourselves we could choose an option that would allow for cross-platforming gaming. The issues then become Scalibility, Security, Stability.https://www.flox.cc/img/welcome/carousel-flock.gif

From the work Matt did yesterday we have have found a good way to tackle some of those issues. FLOX is a service provided by the guys who made Starling (the current AS3 framework we are using) and it is seems to be exactly what we are looking for. It provides a Scalable service for network traffic and cloud storage. ok, 1 problem down, two to go.

For security we are actually going to use Game Center to authenticate the user, we then use that data to create a player on the FLOX side of things. That will take care of security on the iOS end, for Android we would do the same thing, but authenticate with Google Play instead. For web, we might have to build our own, or potentially could use Facebook. This authentication is super important because it allows us to recognize unique individual users. In addition the data is stored in FLOX, who is responsible for protecting it, not us.

The last thing which always worries me is Stability. Stability will (hopefully) simply come in time and testing. We just have to be really thorough during development to try to have an answer for every possible/conceivable problem that occur on the clients and our server side.

Matt is continuing to gauge the potential of FLOX and will do so until we officially enter production again when we sign the contract.

 

 

Thursday, July 11, 2013

Arts and Crafts.

While it looked a little threatening today, it ended up being a pretty good ride in to work today. Vermont is now free to go about its business and storm if it wants, just as long as it promises to stop at the end of the day.

Still waiting on the contract, but some people seem to think that by next week some time we should have it squared away (which is pretty promising, but still hard to believe as we have been living in the oh-it-will-be-next-week mindset for three months now)

Played through the combat Matt created yesterday and finally gave over to that gut feeling that what we were pursuing just wasn't the right path... Those are always hard decisions to make. However, Matt understood totally and is going to take another look at Pathogen, potentially to get it prep'ed for next week. Created a new board game yesterday as another experimentation into finding out what this adventure  game should be. We played it at the end of the day and it held some promise. The board was made from the last month torn from the calender, ink and sharpies. Marguerite had an emergency set of dice & a pack of cards in her car and we were all set to play.

I might update the post with pictures & instructions.

Well, onto paper prototyping some more until we actually sign something.

Wednesday, July 10, 2013

Deviously Dangerous Dexter

Windy today, feels like something was looming as I biked into work. Probably going to rain this afternoon. Everyone seemed to running a little late this morning, saw more bikers than normal out, maybe its just the weather.

I've been a long time fan of the show, and very happy to have it back on the air. 8 seasons and it all is going to finally wrap up. There have been some up seasons and then some slumps, but hopefully they shake it all up for this final inning. At the same time I am now reading the novels by Jeff Lindsey (thank you Burlington Public Library), which have a lot of nice surprising twists to them, not to mention that the rhetoric is razor sharp with Dexter's inner monologue.

Began our conversations with the lawyers yesterday about the contact and all I have to say is, ick.... legal... Its like an alien language all by itself, purposefully made to be entirely too dense. We got a translation, making some changes, waiting for a reply. How it goes i guess. Till then we just keep plugging along with whatever we can.

Had some other thoughts about how the adventure game could work out. Might break away from the code and experiment. Yesterday we successfully got combat to initiate from an event (A bunch of slavers where appeared) which is pretty awesome. Going to try to put as much control as possible into the event system so that you can indicate how many enemies there are, if they hit the party with a surprise attack first causing X character to lose some health before the fight, etc. Flexibility is the key.

Tuesday, July 9, 2013

221B Baker St.

So this past weekend I finally watched Sherlock... I had been one of those hold outs who never believed it could really as good as everyone said it was. But as I soon found out, the answer is Yes,  yes the show is actually that good.

Though I have a few minor reservations about what I don't like about the show, since I'm a fan of the original material - The book was given to me by my sister who bought it second hand( the thing is OLD, like original old, yellowed pages, creaky spine, and tobacco smoke infused into the pages, the works)

But overall the show was great, and not being a great watcher of British broadcast had no idea that each episode was an hour and half, which means that I watched way too much Sherlock this weekend.

As for work, Waiting on the lawyers still. They are talking to us today. So hopefully forward momentum will quickly follow. Until that point in time we will continue work on the Adventure game. Matt got ranged combat working, now we are working on integrating it into the event system. That means we need to reshuffle how PARTY and SQUAD are created and make sure those are passed into all child classes or at least have them accessible.

I switched gears to help setup a contact artist who will be redoing our animations in Pathogen so at least we have that iron in the fire. Otherwise I ended up doing a bunch of writing which was a nice change of pace.

Reading: LoveDeath - Dan Simmons

Listening: Rambling Man - Lemon Jelly

Monday, July 8, 2013

The Misadventures of Riding a Bike to Work

And the morning began so perfect.

Work up to after rain and a sky without a single sun in it. Cool for the first time in a week and everything went swimmingly until about halfway to Burlington from Winooski. Yes, I'm too cheap to by a car so I bike to work every morning. And at the halfway mark, right where Riverside does its strange five way intersection at the new gym it begins to rain... At first it was, not that bad, but it soon escalated to more than just a little down pour. lucky me for not remembering rain pants. 15 minutes later and very much so wet I arrive at work.

But came in to good news, Marguerite received a contract last week and now we are just waiting on the lawyers! Cross your fingers we could actually be employed to finish Pathogen.

In the mean time work will continue on the adventure game. Beginning to realize how messy branching storytelling gets. Need to figure out how deep a hole I want to dig for myself. Matt is working on Ranged combat, which is great. Maybe we will link combat to events today.

Sunday, July 7, 2013

Dog Days

Its been muggy hot, not your typical humid sort of hot, but the hot like Vermont took its summer vacation in Florida. Which means that along with all of the 90ish degree weather we have also been under siege by these flash rain storms that are here one moment, gone the next, with the sidewalks completely dry two minutes later.

In other news, we are currently still in development limbo. Pathogen is still sitting there patiently waiting for the situation to sort itself out. We prototyped a new concept, liked it and threw it on ice for later review and now have turned to another project. A pet project of mine which would result in a much larger game than we have worked on before.

But we went in knowing that we were only building the skeleton of the creature, no need to get fancy. Which all in all provides some great practice in how we setup larger systems. At the same time Matt is slowly, insidiously passing down the dark art of programming. I'm learning the correct way to create those Getter's and Setter's along with creating a more standardized method of variable naming.

This week has a lot of potential in it, we could very well see the elusive glimpse of a contract. After almost 3 months of hunting I'm not entirely convinced that everything will turn out shiny in the end, but its looking brighter than it has in a long while.