Codea and Code Sharing

I’ve seen a number of interpretations about why Codea’s project sharing feature was removed.

Here’s what happened.

We were contacted late December last year (20th or so) by an Apple App Reviewer. He informed us that Codea’s project sharing feature violated section 3.3.2 of the Developer Agreement.

3.3.2 An Application may not download or install executable code. Interpreted code may only be used in an Application if all scripts, code and interpreters are packaged in the Application and not downloaded. The only exception to the foregoing is scripts and code downloaded and run by Apple’s built-in WebKit framework, provided that such scripts and code do not change the primary purpose of the Application by providing features or functionality that are inconsistent with the intended and advertised purpose of the Application as submitted to the App Store.

While Codea doesn’t, and has never “downloaded” code. It did “install” Lua source code if directed to do so by the user. That is, a user could open Mobile Safari, point it at a .codea project, and be given the option to “Open in Codea.” This then placed the file into Codea’s sandbox and Codea would extract that file into a new project for the user.

This is essentially the same as the user visiting a website which displays the source code, selecting the text, copying it to clipboard, and pasting it inside the code editor. Except a lot more convenient.

I mentioned this to the App Reviewer over the phone. I think I even asked him, “What happens if the user types code into the app that they see somewhere on the web, is that downloading?”

The answer I got was that it’s a grey area. And most app reviewers are not able to make a decision like this – so they must err on the side of caution. However, the app reviewer was extremely friendly, helpful and completely open to allowing me to initiate further discussion with Apple over this matter. He even started the appeal process for me. This makes me hopeful that when this issue is examined further it will be possible to come to a solution.

It would be great if iOS development tools warranted their own clause in the agreement.

Codea Forums & Rename

Codea (Codify) has a flourishing community you can join here: http://twolivesleft.com/Codea/Talk

All sorts of cool projects and hacks have been developed. Such as importing your own graphics, a vector font renderer, and a project for porting Codea/Codify projects to Mac, Windows and Linux using love2d

You may have heard that Codify is being renamed Codea in the next update, which is currently in review with Apple. The name is a combination of Code and Ideas, we feel this suits the application’s philosophy.

Crabitron & Friends

Join CRABITRON as he wanders the AVCON show floor! We made this little piece while showing Crabitron at the AVCon Indie Games Room this year. John filmed and I edited. Music by Kevin MacLeod. You can see more photos from AVCON on our Facebook page.

Can You Express a Concept with Game Mechanics Only?

This game came out of an argument about whether one could design a game to express a specific idea using only game mechanics. My argument was that you can’t – that you need to at least imply some relation to the real world to express ideas.

So that night I decided to spend a few hours prototyping an abstract game based on my idea of “supply and demand.” You can play it here.

Supply and Demand Prototype

I’m not sure whether I succeeded. I’ve asked people to play it and tell me what they thought it represented, some of the answers I received:

  • Bacteria
  • Social Networks
  • Finance
  • Balance

Out of those, balance was probably the closest to what I intended to express.

Cartoon Styled Explosions

I wrote this processing prototype to generate cartoon styled explosions for our next game. It took about two hours to get the basic burst effect. I’ll be adding debris trails and smoke to it when I next get some time, as well as PNG sequence output. For the moment you can click the link below to try the demo for yourself and get the source code.

The base effect consists of additive and subtractive expanding circles, with some randomness. An initial additive burst creates the colour, which is subtracted by using a delayed subtractive burst. There are many magic numbers and it’s hacky code, but it’s only for PNG sprite output.

Let me know if you find it useful!

Click here to play with the Processing demo – also includes source code. Left click to make an explosion, right click for a random colour explosion. Left clicking while an explosion is in progress will pause the effect.