Archive for 'iPhone'

UIImage+Sprite

Here’s a nifty trick for using sprite sheets for your UIKit graphics that never occurred to us:

UIImage-Sprite-Additions

Useful UIImage category for handling sprite sheets. This add-on smoothes the way of extracting images from a sprite sheet (texture atlas).

This can be useful in UIImageView animations where animationImages array has to be filled with a set of images representing frames. UIImage-Sprite category makes this process trivial…

The basic trick is to get a CGImageRef with CGImageCreateWithImageInRect you then pass to [UIImage imageWithCGImage:]. Simple once it occurs to you!

h/t: @cocoacontrols

Continue Reading →
0

Review: Cocos2d for iPhone 1 Game Development Cookbook

So, now that we’re all up on the latest in cocos2d web events, let’s take a look as promised at the latest in cocos2d publishing events:

Cocos2d for iPhone 1 Game Development Cookbook

cover_image_250w.jpg

SHORT REVIEW:

Buy it now. No, seriously. Buy it now.

SOMEWHAT LONGER REVIEW:

We absolutely guarantee that just about anyone will find the book worth way more than its price in time saved. To see for yourself, head over to the book’s website

http://cocos2dcookbook.com/

and check out the Explore The Book section for videos and explanations of the recipes in each … and download the demo apps. Yep, the demo apps, there’s free demo apps up on the store for you to check out the recipes in action:

Cocos2d Cookbook Ch1-3

Cocos2d Cookbook Ch4-6

Cocos2d Cookbook Ch7-8

Now that’s how you go about supporting a book!

Also check out the book’s thread on the cocos2d-iphone forums for some subtle understated commentary like

  • “This book looks like it is going to be a requirement in every developer’s library!”
  • “Ok, I have read a handful of recipes and I am completely sold. This is an awesome book.”
  • “…every developer needs to have this book.”
  • “this book is an absolute must for anyone developing cocos2d apps.”
  • “Great book, instant buy!”

Gee, gushing much? But it actually does deserve all that and more. Let us take the very first recipe, “Drawing sprites”. Oh for crying out loud, you think, how does that merit a recipe? Is this thing going to be full of fluff I already know? Well, no actually, that simple sounding recipe goes over drawing from files, images, textures, and frames; explains mipmapping and batch nodes; and tops it off with colorizing rectangles. Well, that is pretty good for a first recipe, isn’t it now.

The first graphics chapter goes on to cover not only common drawing and animating but movie playing, particle effects, simple 3D effects, texture animation, palette swapping, screenshots, parallax, and lighting. Pretty much a worthwhile purchase already, and we’re barely started!

Second chapter covers user input of varying types, including virtual joysticks, d-pads, and accelerometer; nothing too novel here, but useful time savers here if you’re newish to cocos2d.

Third chapter covers data management; reading and saving plist/JSON/XML … and even SQLite and Core Data. Probably not much completely new to you here either, but the details of working with sprites and the like are handy.

Fourth chapter is on physics and is a particularly valuable one for those of us weak on the background there; focusing on Box2D, takes you from basic setup through impulses and forces to joints, bullets, ropes, and ending up with a 2.5D isometric game engine! That’s a pretty standout one there.

Fifth chapter, ‘Scenes and Menus’, is mostly pretty straightforward but still handy code. The sliding menu grid and minimap are particularly nice.

Sixth chapter, “Audio” is another notably useful one, nice explanations of sound manipulating, positioning, metering, recording, iPod library usage, and finishing up with creating a MIDI synthesizer with MobileSynth and then speech recognition/synthesis.

Seventh chapter, “AI and Logic” is well-nigh invaluable for those without a background in it; basic waypoints, targeting, line of sight, flocking, pathfinding (the “in a Box2D world” getting special mention, good luck figuring that one out without some help!) and finishing off with discussion of Lua integration.

We figured the last chapter “Tips, Tools, and Ports” was a bit weaker; the tools picked here mostly aren’t up to the currently regarded best of breed mentioned in yesterday’s roundup, and the cocos2d-x and cocos3d intros were too short to really be of much use. But hey, still worth a read.

Closest thing we have to a real complaint is that you have to email the author to get the extra chapter which was omitted from the print versions; really, how hard would it be to put it as an addenda in the electronic versions most of us are going to be buying anyways? But hey, if mild inconvenience is the worst whine we can come up with, that’s pretty solid.

So, yeah. We pretty much can’t imagine anyone developing with cocos2d who won’t find something in here well worth the price; for those just starting out it might be a bit over your head, but it would make a perfect second step after one of the introductory books or our starting recommendation The iPhone Game Kit. So buy it now!

Continue Reading →
1

cocos2d A-Go-Go

So it was just about a year ago we did our last big survey of cocos2d resources, and look at that, we’re in the exact same position today of pawing through our mountain of collected links before we get around to reviewing a Packt book:

4002EXP_Cocos2d-for-iPhone-Game-Development-Cookbook.jpg.png

Check back soon Take a look here for our thoughts on that!

In the meantime, first off let’s take a look at how the various flavours mentioned a year ago have developed:

Other particularly notable developments:

Moving on to more ‘comprehensive’ as opposed to ‘notable’ listings, the tools scene in general has been getting more active; besides Level Helper and Sprite Helper mentioned above, things out there to help you are:

So has the tutorial scene:

Aaaaaand here’s a grab bag to finish up with of interesting techniques, projects, libraries, and snippets:

That should keep you busy reading for a while!

UPDATES:

How To Build a Monkey Jump Game Using Cocos2D, PhysicsEditor & TexturePacker is by Andreas Loew the tools’ author.

Continue Reading →
2

Programming Book Giveaway!

So, what better way to get rolling into 2012 than learn something new from a good programming book? Why, nothing at all, that’s what. And courtesy of the great folk over at Packt Publishing, here we have four choices for you, and a dead simple way to get whichever one of them you like: just tweet the message of your choice with the link provided to the book’s page, and this weekend we’ll do a search, first tweet we find with each link wins! So without further ado, here are your choices:

#1: Cocos2d for iPhone 1 Game Development Cookbook

4002EXP_Cocos2d for iPhone Game Development Cookbook.jpg.png

Tweet this: I’d like to read this book on cocos2d! http://is.gd/uMGIcA

#2: Unreal Development Kit Game Programming with UnrealScript: Beginner’s Guide

1925EXP_UDK Game Programming with UnrealScript Beginner's Guide.jpg.png

Tweet this: I’d like to read this book on UnrealScript! http://is.gd/D59QkK

#3: Android 3.0 Animations: Beginner’s Guide

5283EXP_Android 3.jpg.png

Tweet this: I’d like to read this book on Android animations! http://is.gd/T0g0Wi

#4: XNA 4.0 Game Development by Example: Beginner’s Guide – Visual Basic Edition

2403EXP_XNA 4.0 Game Developement by Example.jpg.png

Tweet this: I’d like to read this book on XNA4 game development! http://is.gd/R42Uoa

And if you don’t so happen to be a lucky winner, fear not, you can still get your hands on any of these for a little quid pro quo, that being to post a review on your blog and Amazon and the like: just drop a line to Shaveer Irani of Packt with the subject “book name- review request copy” to join our Distinguished Fraternity Of Review Writers!

Continue Reading →
0

Snippet: Locale Listing

Ever wonder just what those annoyingly obtuse NSLocale codes are? Here’s the snippet to print them out:

- (void)logAllLocales
{
   NSLocale *curentLocale = [NSLocale currentLocale];
   NSArray *locales = [[NSLocale availableLocaleIdentifiers] sortedArrayUsingSelector:@selector(compare:)];
   for (NSString *locale in locales)
      NSLog(@"locale '%@' is: %@'", locale, [curentLocale displayNameForKey:NSLocaleIdentifier value:locale]);
}

And here is your comprehensive list of just what shows up on an iPad 2 with 5.0.1. And comprehensive indeed it is!

  1. ‘af’ is: Afrikaans’
  2. ‘af_NA’ is: Afrikaans (Namibia)’
  3. ‘af_ZA’ is: Afrikaans (South Africa)’
  4. ‘agq’ is: Aghem’
  5. ‘agq_CM’ is: Aghem (Cameroon)’
  6. ‘ak’ is: Akan’
  7. ‘ak_GH’ is: Akan (Ghana)’
  8. ‘am’ is: Amharic’
  9. ‘am_ET’ is: Amharic (Ethiopia)’
  10. ‘ar’ is: Arabic’
  11. ‘ar_AE’ is: Arabic (United Arab Emirates)’
  12. ‘ar_BH’ is: Arabic (Bahrain)’
  13. ‘ar_DZ’ is: Arabic (Algeria)’
  14. ‘ar_EG’ is: Arabic (Egypt)’
  15. ‘ar_IQ’ is: Arabic (Iraq)’
  16. ‘ar_JO’ is: Arabic (Jordan)’
  17. ‘ar_KW’ is: Arabic (Kuwait)’
  18. ‘ar_LB’ is: Arabic (Lebanon)’
  19. ‘ar_LY’ is: Arabic (Libya)’
  20. ‘ar_MA’ is: Arabic (Morocco)’
  21. ‘ar_OM’ is: Arabic (Oman)’
  22. ‘ar_QA’ is: Arabic (Qatar)’
  23. ‘ar_SA’ is: Arabic (Saudi Arabia)’
  24. ‘ar_SD’ is: Arabic (Sudan)’
  25. ‘ar_SY’ is: Arabic (Syria)’
  26. ‘ar_TN’ is: Arabic (Tunisia)’
  27. ‘ar_YE’ is: Arabic (Yemen)’
  28. ‘as’ is: Assamese’
  29. ‘as_IN’ is: Assamese (India)’
  30. ‘asa’ is: Asu’
  31. ‘asa_TZ’ is: Asu (Tanzania)’
  32. ‘az’ is: Azerbaijani’
  33. ‘az_Cyrl’ is: Azerbaijani (Cyrillic)’
  34. ‘az_Cyrl_AZ’ is: Azerbaijani (Cyrillic, Azerbaijan)’
  35. ‘az_Latn’ is: Azerbaijani (Latin)’
  36. ‘az_Latn_AZ’ is: Azerbaijani (Latin, Azerbaijan)’
  37. ‘bas’ is: Basaa’
  38. ‘bas_CM’ is: Basaa (Cameroon)’
  39. ‘be’ is: Belarusian’
  40. ‘be_BY’ is: Belarusian (Belarus)’
  41. ‘bem’ is: Bemba’
  42. ‘bem_ZM’ is: Bemba (Zambia)’
  43. ‘bez’ is: Bena’
  44. ‘bez_TZ’ is: Bena (Tanzania)’
  45. ‘bg’ is: Bulgarian’
  46. ‘bg_BG’ is: Bulgarian (Bulgaria)’
  47. ‘bm’ is: Bambara’
  48. ‘bm_ML’ is: Bambara (Mali)’
  49. ‘bn’ is: Bengali’
  50. ‘bn_BD’ is: Bengali (Bangladesh)’
  51. ‘bn_IN’ is: Bengali (India)’
  52. ‘bo’ is: Tibetan’
  53. ‘bo_CN’ is: Tibetan (China)’
  54. ‘bo_IN’ is: Tibetan (India)’
  55. ‘br’ is: Breton’
  56. ‘br_FR’ is: Breton (France)’
  57. ‘brx’ is: Bodo’
  58. ‘brx_IN’ is: Bodo (India)’
  59. ‘bs’ is: Bosnian’
  60. ‘bs_BA’ is: Bosnian (Bosnia and Herzegovina)’
  61. ‘ca’ is: Catalan’
  62. ‘ca_ES’ is: Catalan (Spain)’
  63. ‘cgg’ is: Chiga’
  64. ‘cgg_UG’ is: Chiga (Uganda)’
  65. ‘chr’ is: Cherokee’
  66. ‘chr_US’ is: Cherokee (United States)’
  67. ‘cs’ is: Czech’
  68. ‘cs_CZ’ is: Czech (Czech Republic)’
  69. ‘cy’ is: Welsh’
  70. ‘cy_GB’ is: Welsh (United Kingdom)’
  71. ‘da’ is: Danish’
  72. ‘da_DK’ is: Danish (Denmark)’
  73. ‘dav’ is: Taita’
  74. ‘dav_KE’ is: Taita (Kenya)’
  75. ‘de’ is: German’
  76. ‘de_AT’ is: German (Austria)’
  77. ‘de_BE’ is: German (Belgium)’
  78. ‘de_CH’ is: German (Switzerland)’
  79. ‘de_DE’ is: German (Germany)’
  80. ‘de_LI’ is: German (Liechtenstein)’
  81. ‘de_LU’ is: German (Luxembourg)’
  82. ‘dje’ is: Zarma’
  83. ‘dje_NE’ is: Zarma (Niger)’
  84. ‘dua’ is: Duala’
  85. ‘dua_CM’ is: Duala (Cameroon)’
  86. ‘dyo’ is: Jola-Fonyi’
  87. ‘dyo_SN’ is: Jola-Fonyi (Senegal)’
  88. ‘ebu’ is: Embu’
  89. ‘ebu_KE’ is: Embu (Kenya)’
  90. ‘ee’ is: Ewe’
  91. ‘ee_GH’ is: Ewe (Ghana)’
  92. ‘ee_TG’ is: Ewe (Togo)’
  93. ‘el’ is: Greek’
  94. ‘el_CY’ is: Greek (Cyprus)’
  95. ‘el_GR’ is: Greek (Greece)’
  96. ‘en’ is: English’
  97. ‘en_AS’ is: English (American Samoa)’
  98. ‘en_AU’ is: English (Australia)’
  99. ‘en_BB’ is: English (Barbados)’
  100. ‘en_BE’ is: English (Belgium)’
  101. ‘en_BM’ is: English (Bermuda)’
  102. ‘en_BW’ is: English (Botswana)’
  103. ‘en_BZ’ is: English (Belize)’
  104. ‘en_CA’ is: English (Canada)’
  105. ‘en_GB’ is: English (United Kingdom)’
  106. ‘en_GU’ is: English (Guam)’
  107. ‘en_GY’ is: English (Guyana)’
  108. ‘en_HK’ is: English (Hong Kong SAR China)’
  109. ‘en_IE’ is: English (Ireland)’
  110. ‘en_IN’ is: English (India)’
  111. ‘en_JM’ is: English (Jamaica)’
  112. ‘en_MH’ is: English (Marshall Islands)’
  113. ‘en_MP’ is: English (Northern Mariana Islands)’
  114. ‘en_MT’ is: English (Malta)’
  115. ‘en_MU’ is: English (Mauritius)’
  116. ‘en_NA’ is: English (Namibia)’
  117. ‘en_NZ’ is: English (New Zealand)’
  118. ‘en_PH’ is: English (Philippines)’
  119. ‘en_PK’ is: English (Pakistan)’
  120. ‘en_SG’ is: English (Singapore)’
  121. ‘en_TT’ is: English (Trinidad and Tobago)’
  122. ‘en_UM’ is: English (U.S. Minor Outlying Islands)’
  123. ‘en_US’ is: English (United States)’
  124. ‘en_US_POSIX’ is: English (United States, Computer)’
  125. ‘en_VI’ is: English (U.S. Virgin Islands)’
  126. ‘en_ZA’ is: English (South Africa)’
  127. ‘en_ZW’ is: English (Zimbabwe)’
  128. ‘eo’ is: Esperanto’
  129. ‘es’ is: Spanish’
  130. ‘es_419′ is: Spanish (Latin America)’
  131. ‘es_AR’ is: Spanish (Argentina)’
  132. ‘es_BO’ is: Spanish (Bolivia)’
  133. ‘es_CL’ is: Spanish (Chile)’
  134. ‘es_CO’ is: Spanish (Colombia)’
  135. ‘es_CR’ is: Spanish (Costa Rica)’
  136. ‘es_DO’ is: Spanish (Dominican Republic)’
  137. ‘es_EC’ is: Spanish (Ecuador)’
  138. ‘es_ES’ is: Spanish (Spain)’
  139. ‘es_GQ’ is: Spanish (Equatorial Guinea)’
  140. ‘es_GT’ is: Spanish (Guatemala)’
  141. ‘es_HN’ is: Spanish (Honduras)’
  142. ‘es_MX’ is: Spanish (Mexico)’
  143. ‘es_NI’ is: Spanish (Nicaragua)’
  144. ‘es_PA’ is: Spanish (Panama)’
  145. ‘es_PE’ is: Spanish (Peru)’
  146. ‘es_PR’ is: Spanish (Puerto Rico)’
  147. ‘es_PY’ is: Spanish (Paraguay)’
  148. ‘es_SV’ is: Spanish (El Salvador)’
  149. ‘es_US’ is: Spanish (United States)’
  150. ‘es_UY’ is: Spanish (Uruguay)’
  151. ‘es_VE’ is: Spanish (Venezuela)’
  152. ‘et’ is: Estonian’
  153. ‘et_EE’ is: Estonian (Estonia)’
  154. ‘eu’ is: Basque’
  155. ‘eu_ES’ is: Basque (Spain)’
  156. ‘ewo’ is: Ewondo’
  157. ‘ewo_CM’ is: Ewondo (Cameroon)’
  158. ‘fa’ is: Persian’
  159. ‘fa_AF’ is: Persian (Afghanistan)’
  160. ‘fa_IR’ is: Persian (Iran)’
  161. ‘ff’ is: Fulah’
  162. ‘ff_SN’ is: Fulah (Senegal)’
  163. ‘fi’ is: Finnish’
  164. ‘fi_FI’ is: Finnish (Finland)’
  165. ‘fil’ is: Filipino’
  166. ‘fil_PH’ is: Filipino (Philippines)’
  167. ‘fo’ is: Faroese’
  168. ‘fo_FO’ is: Faroese (Faroe Islands)’
  169. ‘fr’ is: French’
  170. ‘fr_BE’ is: French (Belgium)’
  171. ‘fr_BF’ is: French (Burkina Faso)’
  172. ‘fr_BI’ is: French (Burundi)’
  173. ‘fr_BJ’ is: French (Benin)’
  174. ‘fr_BL’ is: French (Saint Barthélemy)’
  175. ‘fr_CA’ is: French (Canada)’
  176. ‘fr_CD’ is: French (Congo – Kinshasa)’
  177. ‘fr_CF’ is: French (Central African Republic)’
  178. ‘fr_CG’ is: French (Congo – Brazzaville)’
  179. ‘fr_CH’ is: French (Switzerland)’
  180. ‘fr_CI’ is: French (Côte d’Ivoire)’
  181. ‘fr_CM’ is: French (Cameroon)’
  182. ‘fr_DJ’ is: French (Djibouti)’
  183. ‘fr_FR’ is: French (France)’
  184. ‘fr_GA’ is: French (Gabon)’
  185. ‘fr_GF’ is: French (French Guiana)’
  186. ‘fr_GN’ is: French (Guinea)’
  187. ‘fr_GP’ is: French (Guadeloupe)’
  188. ‘fr_GQ’ is: French (Equatorial Guinea)’
  189. ‘fr_KM’ is: French (Comoros)’
  190. ‘fr_LU’ is: French (Luxembourg)’
  191. ‘fr_MC’ is: French (Monaco)’
  192. ‘fr_MF’ is: French (Saint Martin)’
  193. ‘fr_MG’ is: French (Madagascar)’
  194. ‘fr_ML’ is: French (Mali)’
  195. ‘fr_MQ’ is: French (Martinique)’
  196. ‘fr_NE’ is: French (Niger)’
  197. ‘fr_RE’ is: French (Réunion)’
  198. ‘fr_RW’ is: French (Rwanda)’
  199. ‘fr_SN’ is: French (Senegal)’
  200. ‘fr_TD’ is: French (Chad)’
  201. ‘fr_TG’ is: French (Togo)’
  202. ‘fr_YT’ is: French (Mayotte)’
  203. ‘ga’ is: Irish’
  204. ‘ga_IE’ is: Irish (Ireland)’
  205. ‘gl’ is: Galician’
  206. ‘gl_ES’ is: Galician (Spain)’
  207. ‘gsw’ is: Swiss German’
  208. ‘gsw_CH’ is: Swiss German (Switzerland)’
  209. ‘gu’ is: Gujarati’
  210. ‘gu_IN’ is: Gujarati (India)’
  211. ‘guz’ is: Gusii’
  212. ‘guz_KE’ is: Gusii (Kenya)’
  213. ‘gv’ is: Manx’
  214. ‘gv_GB’ is: Manx (United Kingdom)’
  215. ‘ha’ is: Hausa’
  216. ‘ha_Latn’ is: Hausa (Latin)’
  217. ‘ha_Latn_GH’ is: Hausa (Latin, Ghana)’
  218. ‘ha_Latn_NE’ is: Hausa (Latin, Niger)’
  219. ‘ha_Latn_NG’ is: Hausa (Latin, Nigeria)’
  220. ‘haw’ is: Hawaiian’
  221. ‘haw_US’ is: Hawaiian (United States)’
  222. ‘he’ is: Hebrew’
  223. ‘he_IL’ is: Hebrew (Israel)’
  224. ‘hi’ is: Hindi’
  225. ‘hi_IN’ is: Hindi (India)’
  226. ‘hr’ is: Croatian’
  227. ‘hr_HR’ is: Croatian (Croatia)’
  228. ‘hu’ is: Hungarian’
  229. ‘hu_HU’ is: Hungarian (Hungary)’
  230. ‘hy’ is: Armenian’
  231. ‘hy_AM’ is: Armenian (Armenia)’
  232. ‘id’ is: Indonesian’
  233. ‘id_ID’ is: Indonesian (Indonesia)’
  234. ‘ig’ is: Igbo’
  235. ‘ig_NG’ is: Igbo (Nigeria)’
  236. ‘ii’ is: Sichuan Yi’
  237. ‘ii_CN’ is: Sichuan Yi (China)’
  238. ‘is’ is: Icelandic’
  239. ‘is_IS’ is: Icelandic (Iceland)’
  240. ‘it’ is: Italian’
  241. ‘it_CH’ is: Italian (Switzerland)’
  242. ‘it_IT’ is: Italian (Italy)’
  243. ‘ja’ is: Japanese’
  244. ‘ja_JP’ is: Japanese (Japan)’
  245. ‘jmc’ is: Machame’
  246. ‘jmc_TZ’ is: Machame (Tanzania)’
  247. ‘ka’ is: Georgian’
  248. ‘ka_GE’ is: Georgian (Georgia)’
  249. ‘kab’ is: Kabyle’
  250. ‘kab_DZ’ is: Kabyle (Algeria)’
  251. ‘kam’ is: Kamba’
  252. ‘kam_KE’ is: Kamba (Kenya)’
  253. ‘kde’ is: Makonde’
  254. ‘kde_TZ’ is: Makonde (Tanzania)’
  255. ‘kea’ is: Kabuverdianu’
  256. ‘kea_CV’ is: Kabuverdianu (Cape Verde)’
  257. ‘khq’ is: Koyra Chiini’
  258. ‘khq_ML’ is: Koyra Chiini (Mali)’
  259. ‘ki’ is: Kikuyu’
  260. ‘ki_KE’ is: Kikuyu (Kenya)’
  261. ‘kk’ is: Kazakh’
  262. ‘kk_Cyrl’ is: Kazakh (Cyrillic)’
  263. ‘kk_Cyrl_KZ’ is: Kazakh (Cyrillic, Kazakhstan)’
  264. ‘kl’ is: Kalaallisut’
  265. ‘kl_GL’ is: Kalaallisut (Greenland)’
  266. ‘kln’ is: Kalenjin’
  267. ‘kln_KE’ is: Kalenjin (Kenya)’
  268. ‘km’ is: Khmer’
  269. ‘km_KH’ is: Khmer (Cambodia)’
  270. ‘kn’ is: Kannada’
  271. ‘kn_IN’ is: Kannada (India)’
  272. ‘ko’ is: Korean’
  273. ‘ko_KR’ is: Korean (South Korea)’
  274. ‘kok’ is: Konkani’
  275. ‘kok_IN’ is: Konkani (India)’
  276. ‘ksb’ is: Shambala’
  277. ‘ksb_TZ’ is: Shambala (Tanzania)’
  278. ‘ksf’ is: Bafia’
  279. ‘ksf_CM’ is: Bafia (Cameroon)’
  280. ‘kw’ is: Cornish’
  281. ‘kw_GB’ is: Cornish (United Kingdom)’
  282. ‘lag’ is: Langi’
  283. ‘lag_TZ’ is: Langi (Tanzania)’
  284. ‘lg’ is: Ganda’
  285. ‘lg_UG’ is: Ganda (Uganda)’
  286. ‘ln’ is: Lingala’
  287. ‘ln_CD’ is: Lingala (Congo – Kinshasa)’
  288. ‘ln_CG’ is: Lingala (Congo – Brazzaville)’
  289. ‘lt’ is: Lithuanian’
  290. ‘lt_LT’ is: Lithuanian (Lithuania)’
  291. ‘lu’ is: Luba-Katanga’
  292. ‘lu_CD’ is: Luba-Katanga (Congo – Kinshasa)’
  293. ‘luo’ is: Luo’
  294. ‘luo_KE’ is: Luo (Kenya)’
  295. ‘luy’ is: Luyia’
  296. ‘luy_KE’ is: Luyia (Kenya)’
  297. ‘lv’ is: Latvian’
  298. ‘lv_LV’ is: Latvian (Latvia)’
  299. ‘mas’ is: Masai’
  300. ‘mas_KE’ is: Masai (Kenya)’
  301. ‘mas_TZ’ is: Masai (Tanzania)’
  302. ‘mer’ is: Meru’
  303. ‘mer_KE’ is: Meru (Kenya)’
  304. ‘mfe’ is: Morisyen’
  305. ‘mfe_MU’ is: Morisyen (Mauritius)’
  306. ‘mg’ is: Malagasy’
  307. ‘mg_MG’ is: Malagasy (Madagascar)’
  308. ‘mgh’ is: Makhuwa-Meetto’
  309. ‘mgh_MZ’ is: Makhuwa-Meetto (Mozambique)’
  310. ‘mk’ is: Macedonian’
  311. ‘mk_MK’ is: Macedonian (Macedonia)’
  312. ‘ml’ is: Malayalam’
  313. ‘ml_IN’ is: Malayalam (India)’
  314. ‘mr’ is: Marathi’
  315. ‘mr_IN’ is: Marathi (India)’
  316. ‘ms’ is: Malay’
  317. ‘ms_BN’ is: Malay (Brunei)’
  318. ‘ms_MY’ is: Malay (Malaysia)’
  319. ‘mt’ is: Maltese’
  320. ‘mt_MT’ is: Maltese (Malta)’
  321. ‘mua’ is: Mundang’
  322. ‘mua_CM’ is: Mundang (Cameroon)’
  323. ‘my’ is: Burmese’
  324. ‘my_MM’ is: Burmese (Myanmar [Burma])’
  325. ‘naq’ is: Nama’
  326. ‘naq_NA’ is: Nama (Namibia)’
  327. ‘nb’ is: Norwegian Bokmål’
  328. ‘nb_NO’ is: Norwegian Bokmål (Norway)’
  329. ‘nd’ is: North Ndebele’
  330. ‘nd_ZW’ is: North Ndebele (Zimbabwe)’
  331. ‘ne’ is: Nepali’
  332. ‘ne_IN’ is: Nepali (India)’
  333. ‘ne_NP’ is: Nepali (Nepal)’
  334. ‘nl’ is: Dutch’
  335. ‘nl_AW’ is: Dutch (Aruba)’
  336. ‘nl_BE’ is: Dutch (Belgium)’
  337. ‘nl_NL’ is: Dutch (Netherlands)’
  338. ‘nmg’ is: Kwasio’
  339. ‘nmg_CM’ is: Kwasio (Cameroon)’
  340. ‘nn’ is: Norwegian Nynorsk’
  341. ‘nn_NO’ is: Norwegian Nynorsk (Norway)’
  342. ‘nus’ is: Nuer’
  343. ‘nus_SD’ is: Nuer (Sudan)’
  344. ‘nyn’ is: Nyankole’
  345. ‘nyn_UG’ is: Nyankole (Uganda)’
  346. ‘om’ is: Oromo’
  347. ‘om_ET’ is: Oromo (Ethiopia)’
  348. ‘om_KE’ is: Oromo (Kenya)’
  349. ‘or’ is: Oriya’
  350. ‘or_IN’ is: Oriya (India)’
  351. ‘pa’ is: Punjabi’
  352. ‘pa_Arab’ is: Punjabi (Arabic)’
  353. ‘pa_Arab_PK’ is: Punjabi (Arabic, Pakistan)’
  354. ‘pa_Guru’ is: Punjabi (Gurmukhi)’
  355. ‘pa_Guru_IN’ is: Punjabi (Gurmukhi, India)’
  356. ‘pl’ is: Polish’
  357. ‘pl_PL’ is: Polish (Poland)’
  358. ‘ps’ is: Pashto’
  359. ‘ps_AF’ is: Pashto (Afghanistan)’
  360. ‘pt’ is: Portuguese’
  361. ‘pt_AO’ is: Portuguese (Angola)’
  362. ‘pt_BR’ is: Portuguese (Brazil)’
  363. ‘pt_GW’ is: Portuguese (Guinea-Bissau)’
  364. ‘pt_MZ’ is: Portuguese (Mozambique)’
  365. ‘pt_PT’ is: Portuguese (Portugal)’
  366. ‘pt_ST’ is: Portuguese (São Tomé and Príncipe)’
  367. ‘rm’ is: Romansh’
  368. ‘rm_CH’ is: Romansh (Switzerland)’
  369. ‘rn’ is: Rundi’
  370. ‘rn_BI’ is: Rundi (Burundi)’
  371. ‘ro’ is: Romanian’
  372. ‘ro_MD’ is: Romanian (Moldova)’
  373. ‘ro_RO’ is: Romanian (Romania)’
  374. ‘rof’ is: Rombo’
  375. ‘rof_TZ’ is: Rombo (Tanzania)’
  376. ‘ru’ is: Russian’
  377. ‘ru_MD’ is: Russian (Moldova)’
  378. ‘ru_RU’ is: Russian (Russia)’
  379. ‘ru_UA’ is: Russian (Ukraine)’
  380. ‘rw’ is: Kinyarwanda’
  381. ‘rw_RW’ is: Kinyarwanda (Rwanda)’
  382. ‘rwk’ is: Rwa’
  383. ‘rwk_TZ’ is: Rwa (Tanzania)’
  384. ‘saq’ is: Samburu’
  385. ‘saq_KE’ is: Samburu (Kenya)’
  386. ‘sbp’ is: Sangu’
  387. ‘sbp_TZ’ is: Sangu (Tanzania)’
  388. ‘seh’ is: Sena’
  389. ‘seh_MZ’ is: Sena (Mozambique)’
  390. ‘ses’ is: Koyraboro Senni’
  391. ‘ses_ML’ is: Koyraboro Senni (Mali)’
  392. ‘sg’ is: Sango’
  393. ‘sg_CF’ is: Sango (Central African Republic)’
  394. ‘shi’ is: Tachelhit’
  395. ‘shi_Latn’ is: Tachelhit (Latin)’
  396. ‘shi_Latn_MA’ is: Tachelhit (Latin, Morocco)’
  397. ‘shi_Tfng’ is: Tachelhit (Tifinagh)’
  398. ‘shi_Tfng_MA’ is: Tachelhit (Tifinagh, Morocco)’
  399. ‘si’ is: Sinhala’
  400. ‘si_LK’ is: Sinhala (Sri Lanka)’
  401. ‘sk’ is: Slovak’
  402. ‘sk_SK’ is: Slovak (Slovakia)’
  403. ‘sl’ is: Slovenian’
  404. ‘sl_SI’ is: Slovenian (Slovenia)’
  405. ‘sn’ is: Shona’
  406. ‘sn_ZW’ is: Shona (Zimbabwe)’
  407. ‘so’ is: Somali’
  408. ‘so_DJ’ is: Somali (Djibouti)’
  409. ‘so_ET’ is: Somali (Ethiopia)’
  410. ‘so_KE’ is: Somali (Kenya)’
  411. ‘so_SO’ is: Somali (Somalia)’
  412. ‘sq’ is: Albanian’
  413. ‘sq_AL’ is: Albanian (Albania)’
  414. ‘sr’ is: Serbian’
  415. ‘sr_Cyrl’ is: Serbian (Cyrillic)’
  416. ‘sr_Cyrl_BA’ is: Serbian (Cyrillic, Bosnia and Herzegovina)’
  417. ‘sr_Cyrl_ME’ is: Serbian (Cyrillic, Montenegro)’
  418. ‘sr_Cyrl_RS’ is: Serbian (Cyrillic, Serbia)’
  419. ‘sr_Latn’ is: Serbian (Latin)’
  420. ‘sr_Latn_BA’ is: Serbian (Latin, Bosnia and Herzegovina)’
  421. ‘sr_Latn_ME’ is: Serbian (Latin, Montenegro)’
  422. ‘sr_Latn_RS’ is: Serbian (Latin, Serbia)’
  423. ‘sv’ is: Swedish’
  424. ‘sv_FI’ is: Swedish (Finland)’
  425. ‘sv_SE’ is: Swedish (Sweden)’
  426. ‘sw’ is: Swahili’
  427. ‘sw_KE’ is: Swahili (Kenya)’
  428. ‘sw_TZ’ is: Swahili (Tanzania)’
  429. ‘swc’ is: Congo Swahili’
  430. ‘swc_CD’ is: Congo Swahili (Congo – Kinshasa)’
  431. ‘ta’ is: Tamil’
  432. ‘ta_IN’ is: Tamil (India)’
  433. ‘ta_LK’ is: Tamil (Sri Lanka)’
  434. ‘te’ is: Telugu’
  435. ‘te_IN’ is: Telugu (India)’
  436. ‘teo’ is: Teso’
  437. ‘teo_KE’ is: Teso (Kenya)’
  438. ‘teo_UG’ is: Teso (Uganda)’
  439. ‘th’ is: Thai’
  440. ‘th_TH’ is: Thai (Thailand)’
  441. ‘ti’ is: Tigrinya’
  442. ‘ti_ER’ is: Tigrinya (Eritrea)’
  443. ‘ti_ET’ is: Tigrinya (Ethiopia)’
  444. ‘to’ is: Tonga’
  445. ‘to_TO’ is: Tonga (Tonga)’
  446. ‘tr’ is: Turkish’
  447. ‘tr_TR’ is: Turkish (Turkey)’
  448. ‘twq’ is: Tasawaq’
  449. ‘twq_NE’ is: Tasawaq (Niger)’
  450. ‘tzm’ is: Central Morocco Tamazight’
  451. ‘tzm_Latn’ is: Central Morocco Tamazight (Latin)’
  452. ‘tzm_Latn_MA’ is: Central Morocco Tamazight (Latin, Morocco)’
  453. ‘uk’ is: Ukrainian’
  454. ‘uk_UA’ is: Ukrainian (Ukraine)’
  455. ‘ur’ is: Urdu’
  456. ‘ur_IN’ is: Urdu (India)’
  457. ‘ur_PK’ is: Urdu (Pakistan)’
  458. ‘uz’ is: Uzbek’
  459. ‘uz_Arab’ is: Uzbek (Arabic)’
  460. ‘uz_Arab_AF’ is: Uzbek (Arabic, Afghanistan)’
  461. ‘uz_Cyrl’ is: Uzbek (Cyrillic)’
  462. ‘uz_Cyrl_UZ’ is: Uzbek (Cyrillic, Uzbekistan)’
  463. ‘uz_Latn’ is: Uzbek (Latin)’
  464. ‘uz_Latn_UZ’ is: Uzbek (Latin, Uzbekistan)’
  465. ‘vai’ is: Vai’
  466. ‘vai_Latn’ is: Vai (Latin)’
  467. ‘vai_Latn_LR’ is: Vai (Latin, Liberia)’
  468. ‘vai_Vaii’ is: Vai (Vai)’
  469. ‘vai_Vaii_LR’ is: Vai (Vai, Liberia)’
  470. ‘vi’ is: Vietnamese’
  471. ‘vi_VN’ is: Vietnamese (Vietnam)’
  472. ‘vun’ is: Vunjo’
  473. ‘vun_TZ’ is: Vunjo (Tanzania)’
  474. ‘xog’ is: Soga’
  475. ‘xog_UG’ is: Soga (Uganda)’
  476. ‘yav’ is: Yangben’
  477. ‘yav_CM’ is: Yangben (Cameroon)’
  478. ‘yo’ is: Yoruba’
  479. ‘yo_NG’ is: Yoruba (Nigeria)’
  480. ‘zh’ is: Chinese’
  481. ‘zh_Hans’ is: Chinese (Simplified)’
  482. ‘zh_Hans_CN’ is: Chinese (Simplified, China)’
  483. ‘zh_Hans_HK’ is: Chinese (Simplified, Hong Kong SAR China)’
  484. ‘zh_Hans_MO’ is: Chinese (Simplified, Macau SAR China)’
  485. ‘zh_Hans_SG’ is: Chinese (Simplified, Singapore)’
  486. ‘zh_Hant’ is: Chinese (Traditional)’
  487. ‘zh_Hant_HK’ is: Chinese (Traditional, Hong Kong SAR China)’
  488. ‘zh_Hant_MO’ is: Chinese (Traditional, Macau SAR China)’
  489. ‘zh_Hant_TW’ is: Chinese (Traditional, Taiwan)’
  490. ‘zu’ is: Zulu’
  491. ‘zu_ZA’ is: Zulu (South Africa)’

Continue Reading →
0

CeedMath + CeedGL

Here’s a couple of new libraries that look worth keeping an eye on for your hardcore computational needs:

rsebbe / CeedMath

CeedMath is a library for doing computer graphics math on Mac and iPhone, although it could be ported to other environment easily.

CeedMath is about computation with vectors and matrices, as well as boxes, rays, quaternions, and other CG types. It was designed to be easy to use and understand, and at the same time small and efficient.

CeedMath has simple data structures and operates easily with other formats. It is implemented in C with a form of template that allows a single implementation for both float and double types. That makes it possible to use it as is in Obj-C code…

rsebbe / CeedGL

CeedGL is a library that encapsulates OpenGL objects into Objective-C objects. It does not attempt to force a coding style or to define a specific scene graph, but instead aims at making it easier to work with OpenGL from Objective-C.

Modern OpenGL (ES 2.0, Desktop 3.0) defines a number of “objects”, that is, vertex buffers, textures, shaders, programs, framebuffers, etc. that are typically represented by handles (integers). CeedGL proposes to model all these and their relationships with each other as actual Objective-C objects and associated methods. This in turn makes it easier to store and manipulate GL data in your app structure.

CeedGL also defines the concept of “draw command” which ties together vertex buffers, textures, shaders to provide reusable drawing primitives. It also makes it easier to access uniforms and attributes in shaders…

h/t: @rsebbe!

Continue Reading →
0

Autorenewable Warning

Good article here on the problems with using autorenewable IAP subscriptions:

The limited world of auto-renewable subscriptions

We’d particularly like to draw your attention to this bit, what happened after he decided to implement them:

… So I sucked it up and submitted 4.0 with the auto-renewing subscription and the complex server-side code to support it.

It was rejected. I was told via phone about an apparently unwritten rule that I was violating: auto-renewing subscriptions can only be used for apps that deliver “new content” during each renewal period, like magazines. Charging a monthly price for an ongoing service is not allowed.

This Stack Overflow member got it in writing

… Reading between the lines on my rejection call, and seeing it codified more clearly here, it’s obvious that only traditional-style media publishing apps can use auto-renewable subscriptions. They were created solely for the existing newspaper and magazine industry, not web services…

We had one of these rejections happen on one of our projects a little while ago too; “ad-free game play” crosses the unwritten line quite firmly, it seems. That one we had thought was pushing it a bit so we’d found it a mild surprise but not terribly shocking it got rejected; but if you can’t use autorenewables for something that involves ongoing server costs either, well that’s rather more of a design concern, isn’t it?

At the very least, if you’re planning something that’s built around autorenewing revenue, you should carefully read the above links for other people’s experiences, and make sure you have a Plan B ready if Apple in their wisdom decides you’re not playing right!

Continue Reading →
0

DoorwayTransition

This is a stylish looking slide+zoom reveal transition to spice up your view navigation a bit:

mkftr / DoorwayTransition

door1.gif

Easy to integrate too – grab the sample and check it out!

h/t: iOS Developer Tips!

Continue Reading →
0

FourSquare v2 API

Just in case you ever need to put FourSquare support into your apps using the latest OAuth2 API, here’s a new library to help you out with that:

baztokyo / foursquare-ios-api

  • Simple, small and easy to use
  • Authentication using Safari
  • Asynchronous requests support
  • Open source BSD license

Handy if you need it!

h/t: ManiacDev!

Continue Reading →
1

PlayHaven Partners

Hmmm, looks like we’ve never gotten around to mentioning PlayHaven here before; in case you haven’t heard of it, it’s a

Screen shot 2012-01-04 at 11.53.55 PM.png

with a variety of services that you might find of interest. None of which had overly excited us so far, but this looks like that might change:

PlayHaven Opens Self-Service Marketplace to Help iOS Games Monetize

They’re opening up their platform to third parties, like for starters

  • Telesocial is a free API for making in-app voice calls and leaving in-app messages
  • Tap.me is an in-app game advertiser and engagement engine
  • PlacePlay, a solution for placing hyper-local banner ads.

Definitely worth keeping an eye on to see where this might go!

Continue Reading →
0
Page 1 of 82 12345...»