Posted by Tom Schulz on Sep 8, 2011 in
Uncategorized
I saw this in my travels today and thought “man, why didn’t I think of that?”.
foo.alpha = fabs(foo.alpha – 1);
This little snippet works best in an animation block for when you want to use the same block to fade something in and out. Tasty.
Another more generic one is something I first picked up @ Radical from their programming style guidelines.
Instead of doing
if ( ptr == NULL )
{
}
or similar test, use
if ( NULL == pointer)
{
}
and the compiler will catch any of your “assignment instead of comparison” errors, as it will not let you assign a variable to a constant. Constants are not valid L-values.
Now back to “two project madness” and preparing to leave for Hawaii.
Posted by Tom Schulz on Aug 30, 2011 in
Uncategorized
Steffen Itterheim, author of my have Cocos2D book, has just released Kobold 2D, which he describes as “Cocos2D on Steroids”. 2-D iOS developers, sit up and take notice.
Posted by Tom Schulz on Aug 29, 2011 in
iOS Development
Core Data is most excellent. Especially with the crazy new cloud stuff coming in iOS 5, this is a crucial piece of the iOS development game. Very exciting stuff.
Posted by Tom Schulz on Aug 18, 2011 in
iOS Development
Searching for a nice way to display RSS feeds for a client project, I came across this open source project which I found on ManiacDev. Makes me think I should read Maniac Dev more, and spend some time reading other people’s code. That was the way a clever russian taught me about NSNotificationCenter, and that changed my life.
Posted by Tom Schulz on Aug 16, 2011 in
iPhone Game and App Reviews
SYNOPSIS: I played the Spy Kids 4 facebook game, I thought it was not very good.
I have a lot of friends who play social games, or who work in the field. I have even coded a tile clicker on contract. I play a lot of stuff, some of it not very good, usually just so my web developer friend can test out some new feature and unlock the new potion or whatever. But sometimes this crap goes too far. Please, developers, let’s have some gameplay. Theres an opportunity to do awesome new things, and instead I see a lot of distinctly non awesome stuff.
I joined the “Spy Kids 4″ game on facebook; the first actual gameplay element I saw LOOKED like a puzzle that was a safe to crack, but the safe was ‘cracked’ by spending one evergy for each of the combo positions. So, no skill, no thinking, just spend progress bar points to ‘solve the puzzle’. Then it told me I was awesome and rewarded me with a ‘Hammer Hand’ item. I then defeated an enemy by clicking on the hammer hand! The screen just shows a picture of a guy and then directed me to click my weapon icon. No effects, no jumping, no freaking limit break.
Clicking five times to solve a puzzle is not awesome. Even now, the amazing epic score reminds how great I was for spending five energy. I don’t think this is good for players, and especially kids. Let’s stop rewarding normal behaviour as if it’s awesome. I am reminded of the Chris Rock skit about people bragging about not being in jail. News flash: you are not supposed to be in jail, and clicking five times is not awesome.
A license like Spy Kids could be used to inspire children to interested in technology, science and international espionage. We will not train a generation of James Bonds by clapping every time they show up on time for school. Too often developers make crappy stuff for kids when really, if our target audience is children we should be very mindful.
Posted by Tom Schulz on Aug 12, 2011 in
iOS Development,
Vancouver, BC
More evidence that I need to pay attention to this blog, I am writing about this event AFTER doing it, not before. My PR staff would in quite the tizzy if I had such help at hand.
Tuesday night I presented my talk about Game Development using Unity and Cocos2D. I was joined by my mates John Warner from Harmony Arcade and Ben Hesketh of Compass Engine, representing Unity and Cocos2D respectively. I have worked with these two companies using said technologies, and while I am not claiming to be an expert in either once I get paid I am a pro at them at least.
I have decided I must learn Keynote, having done my slides in Google Presentation. In my view the slides were mostly pretty pictures and mnemonics; I think I relied on them too much as notes for myself and not enough as presentation tool for the audience. Two documents next time; one for me and one for them.
I gave a basic outline of what the two technologies are (short version Unity is an IDE and Cocos2D is a library), Unity iOS issues, optimizations, integrating iOS specific stuff via plugins, gushed about how I love prime31, and tried to explain sprite programming in Cocos2D in 7 minutes. People liked the talk, and I got good experience presenting like this, and dinner was very nice so it was quite full of win IMHO.
Here is a link to the meetup group. http://www.meetup.com/Vancouver-iPhone-developers/
Thanks to Patty Lee and Wavefront for providing space, and Aaron Hilton of the iPhone Developers Meetup group for letting me rock his mic.
Posted by Tom Schulz on Jun 21, 2011 in
iPhone Game and App Reviews
The presentation from Back Flip studios @ GDC 2010 was one of the ones where I learned the most. They have stepped their game up in complexity and production value with this title, but it will be hard for them to beat the distribution of Paper Toss etc (20 million plus). I played the FSCK out of this game, sitting on the couch at home, on the bus, while building, at lunch, wherever. Gimme another 50 levels. I gotta dollar right here.
Simple, playable and fun with really good UI and basic deadite stabby gameplay, this is an excellent casual game based on a classic franchise. The combo of age of franchise and badass production reminds me of Rockstar’s ‘The Warriors’. Clearly these developers got some love for Ash.
The basic gameplay is your units and the deadites advance towards each other on a line, and go shooty shooty stabby stabby. Which units to build in level and which units to upgrade between levels are the two basic gameplays. There basic units are fun, the hero units are more fun, and the deadites are fun to kill. Ash himself has a chainsaw arm and boomstick, and be sure to buy ‘the pit’ asap to knock deadites into.
They let you buy coins to level up your character and troops, but IMO made a critical error in this part of their strategy. I did not want to buy coins until I was level 49; level 50 was breaking my balls and I also wanted to tip these guys for entertaining me.
HOWEVER, the gold prices were in line for what I would be interested in for a level one character. The coins I could have bought for $25.00 I could just get by grinding level 49 like, 5 times. They did not scale the in app purchases with the player’s level.
The real way to determine this would be two try it out, maybe in two SKUs in two territories. If the players can’t trade currency between themselves, this kind of ‘progress inflation’ of the things you are selling makes sense.
A level one fighter will pay $0.99 for a +1 sword. The level 22 fighter, he wants a castle for $.099.
Posted by Tom Schulz on Jun 6, 2011 in
News,
Vancouver, BC
GrowLab…
As many of you may have heard, we have founded a start up incubator here in Vancouver, open to applicants anywhere in the world who want to build their business here.
I need your help as our application deadline is drawing nearer and we need to make sure we find the best talent available to be part of our first cohort. Please pass this on the every aspiring entrepreneur, investor, media person, or loud mouth you know.
Check us out at http://www.GrowLab.ca/
The quick facts:
- Up to 175k in financing (up to 25k up front and then up to 150k follow on when you graduate in four months).
- Start date August 15th
- Application deadline is June 15th
- Companies will be accepted by July 15th
- Program is 3 months in YVR and then 1 month in SFO.
- We are accepting 5-6 companies for the first cohort.
What you get:
- The time and ear of the founders, Vancouver’s smartest and most successful tech entrepreneurs. People who have done it AND repeated it!
- Access to our extensive network of mentors both here in Canada and in the Valley.
- Direct links to Canada top tech Venture Capital funds who have invested in GrowLab.
- A program that will get you past the typical hurdles entrepreneurs face and thus allow you to focus on making a kick ass product.
- Secured funding so you can concentrate on building your team on not on raising seed financing.
- Notoriety and press which will come from being in the first cohort of Canada’s best start up accelerator.
- Free office space at the Growlab space at 116 West Hastings.
What we are looking for:
- Consumer internet and technology focused companies.
- Entrepreneurs who must win at all costs, people who never see barriers, only the unfound ways around them.
- People from ANYWHERE in the world who are willing to move to Vancouver for the course of the program and incorporate in BC.
- Technically proficient founders. People who can sit down, shut up, and build shit. Not just people who can talk about it.
- Ideas are secondary, Entrepreneurs at heart are first.
- Early stage start ups. Even if your are two years old and have a product/revenue, I think you will still get tremendous value and inspiration from going through Growlab. EVERYONE should apply, you have nothing to lose…
What you will finish with:
- A product IN the market. We focus on agile development and building a MVP (minimum viable product).
- Customers and revenue. If not paying than at least using your product and helping drive its vision.
- A chance to pitch to every VC, potential acquirer, or partner who can help you grow and win.
- A SOLID foundation for success.
Check us out at http://www.GrowLab.ca/
Pass it on!
update: rejected by Grow ! now like Dr. Frankenstein I will go mad and prove everyone wrong! mua ha! they laughed at me at the incubator! i’ll show them!
Posted by Tom Schulz on May 30, 2011 in
iPhone Game and App Reviews,
Uncategorized
I am currently enjoying a North Van adventure at the offices of Harmony Arcade. These are a nice bunch of developers located on Dollarton highway just east of the second narrows. They are Unity developers and I am busy doing iPhone Unity stuff for them. Now that I have been paid money, I am a professional Unity developer.
Unity, like Cocos2D and everything else, wants to grab the whole window/view hierarchy and not share. Portents of GREAT AND IMMEDIATE DOOM are uttered to those who dare mix Cocoa UIs and OpenGL/Unity/Cocos2D/whatever.
The trouble is, you often need to get at the iPhone stuff. For instance, my current client’s project involves a lot of publisher stuff that is in iPhone space, and they need to integrate this. Also, often you can build way nicer UIs way faster in Cocoa than in the 2D game library you are using. Making GUIs in unity is sort of painful; you do it in code by responding to the GUI event from unity, and it is um not good. Learning a bunch of new GUI stuff when you have the cool Apple stuff handy is also a pain in the ass.
Caveat: for multiplatform development, it’s probably easier to do Unity’s tooth pulling GUI stuff once than every platforms tooth pulling GUI stuff.
The essential trick is just swtiching out whatever view controller is running your game stuff with one that has the Cocoa stuff you want. Having both Cocoa and OpenGL on screen at the same time, or Unity and Cocoa onscreen at the same time can make problems but switching back and forth between the two is usually pretty easy once you figure it out.
Unity is a special case because it just grabs the key window and does not really make a view controller. This can make autorotation stuff particularly painful, btw. The nice folks at blurst have published an article that lays out how to get your Cocoa/Unity mix on and it works really nicely. I even learned a little bit more about app delegates and windows here. I’d have fscked around for a few days reproducing this. The essential trick here is that playerprefs and userdefaults map, from Unity -> iPhone.
Article Here — also be sure to check out Velociraptor Safari, it is an awesome unity game.
Posted by Tom Schulz on May 27, 2011 in
iOS Development,
Vancouver, BC
I attended the Vancouver Enterprise Forum’s “Video Gaming Technologies in Vancouver” panel on Tuesday. The panel consisted on Eric Diep from A Thinking Ape, Glenn Barnes from Big Sandwich Games, Hong-Yee Wong from IUGO Mobile and Marija Radulovic-Nastic from EA Quality Assurance/Localization.
Ironically, I became aware of this event through somebody bitching on Facebook about the $45 price tag for the event. I tried to explain that this was an investor/leader type of event not a developer/drone event, but many of my comrades from the trenches have this strange contempt for business. Which is good, drones are necessary.
I was hoping to hear more about how Big Sandwich had funded their game ‘Hoard’ using this sweet new funding model I had heard about, but it was more of a “questions for the panel” type event than a chance for each of the four to speak. I will have to track down Glenn or Peter and pump them for info on this; in the lotusland days our funding plan was “starve until we sell games” which was a poor plan.
For me the most interesting part of the evening was when Howard Donaldson of DigiBC asked them how important quality was for their games. The Nice EA person said “Quality is important” (thanks) and Glenn talked about how in his studio they look for “bang for your buck type quality”, like not wasting resources on too many cutscenes or richly rendered extras you don’t see for very long.
Eric Diep backed them up a little and said “How do you define quality”. His definition was that quality is retention. The number of players playing your game the day after they installed it versus how many just installed it, versus how many are playing it in a month. Unlike the ill defined “it has to be good” type answers from the other panelists, they have a specific metric and they try to improve that metric.
QUALITY IS RETENTION. Write this down. PUT METRICS AND ANALYTICS IN YOUR GAME. That should already be written down; underline it or something.