Certificates, Profiles, and Provisions, Oh My...

Hey Folks! Today was sort of a mixed bag of administrative and development tasks.

The admin stuff largely consisted of getting an Apple developer account setup for testing mobile games. And let's just say it's not a straightforward process. So far, I've had to:

  • create a developer account
  • register for a D-U-N-S number (and wait for them to process the request)
  • create certificate signing request
  • create multiple certificates for development and distribution
  • install certificates into my keychain
  • register the device UDIDs I intend to test with
  • install XCode on a Mac to get Intermediate Certificates
  • create app IDs
  • create a provisioning profile for both development and distribution

Thankfully, Tiago's been through this before and was able to direct me to a tutorial. Though I pity anyone who attempts to figure this stuff out on their own. It's a wonder any apps appear on the App Store!

Once that and some CRA and Dept. of Revenue tasks were completed, it was time to dig back into the prototype!

I warmed-up by fixing a bug left outstanding from last week. Doors were stealing selection focus whenever an AI opened them, and I had to change the code to only update the selection bracket if it was already on the door. (This was mainly due to doors changing models when switching modes.)

After that, I started working on code to let AIs and other objects perform interactions on rooms, and not just other AIs and objects. Basically, I expanded the interaction target from self = true/false to a list of possible target types, including self, others, room, room north, room south, room east, and room west.

The new room target types refer to either the room belonging to the tile below the AI/object, or the room attached to one of the tiles surrounding the AI/object. "North" means towards the top of the screen, "South" to the bottom, etc.

In practice, I'm hoping this will allow me to add interactions that the AI can use to breathe, heat/cool, absorb radiation, etc. For breathing, an AI would exchange gas with the "room" belonging to their current tile. Meanwhile, HVAC units could interact with both the "North" and "South" tiles' rooms. Perhaps pumping fresh O2 from a duct into a room, or CO2 from a room into a duct (with the ducts connecting elsewhere to processors). Similarly, heating/cooling functions could be modeled through directional room interactions, so objects can act as heat pumps.

In theory, anyway :) We'll see as the system develops!


cplr's picture

FYI, once you are all up and running, Xcode does a reasonable job of handling new devices, etc. Connect a new device and it'll add it as a managed device etc (make sure you are signed in w your apple id under the accounts pane in the Xcode prefs). Xcode 8 has made major strides in making sure the "Fix Issue" button does what it says (watch the WWDC videos about what's new in Xcode - they directly mention provisioning problems).

dcfedor's picture

To be fair, Xcode is supposed to automate a lot of this, and I chose to do it the manual way. I wanted to make sure I knew what was going on under the hood, as automated processes have burned me enough in the past that I rarely trust them anymore :)

But yeah, the recommended way of auto-doing this is a bit easier.

Dan Fedor - Founder, Blue Bottle Games

cplr's picture

It used to be really buggy and didn't really work, so taking your approach was smart. Nonetheless, I'm really looking forward to the AppStore release!