Steve Jobs shaped the way I see the world,
I guess for me it was just life, since I was 4 years old I’ve had a Macintosh in my house, I remember countless hours of drawing with MacPaint and playing Dark Castle. Eventually I would study Software Engineering with the sole idea of making the world a better place by creating software that could impact people lives as Apple products did impact mine.
The Apple Way has brought several opportunities for me, and I can say that I’m one of the few lucky persons (and maybe the only Software Developer) in my country who could actually travel to WWDC (in my case in 2010) and could see Steve Jobs speak that year. While being there, I could realize all the things that I had accomplished in my (still rather short) life, and noticed that I had a vision of the world that without the culture that Steve created would be totally different.
I live every day of my life without any fear of thinking different, and will always chase my dreams with my heart because it’s part of my nature.
Thank you Steve, you and your vision made me a better human being.
You will be missed.
I don’t think I should go all over the “Why is continuous integration important?” topic all over again!, there are many great articles about it ( I recommend you to read Build Server: The Hearbeat of The Project by Noel Llopis ). So, we know that continuous integration is great, it avoids several things that can slow us down, or can even degrade the quality of our products.
Some of this things are:
- Making sure our project builds on all platforms.
- Making sure the Unit Test and Integration Tests pass on all platforms.
- Creating different build setups for Beta Testers / Production / Debugging
- Letting the person that broke the build know where did it happen immediately.
This things are great when working alone as a “Single Man Team”, but I think continuous integration is a must when working on a 2+ persons team. Seriously, I can’t count the number of hours saved by using C.I, it’s just so great to be able to send the beta testers a URL address so that they can get the “goods” .
For this week iDevBlogADay post, I will talk about how I use Jenkins to build Xcode projects. Remember that you can always follow me on Twitter if you want to contact me directly
It’s a nice day in the French Riviera ( or Côte d’azur )!, it’s been more work than pleasure here, but I guess life is good
In this iDevBlogADay post I will describe how we managed to automate our needs for Xcode 4 template generation. We wanted to automate it because we use a little Engine here at Gando Games (GG), and project templates where more or less a must for us. I have been reading everywhere about project templates in Xcode 4, and I must admit that it’s a rather obscure process. In order to understand a bit more, I followed the Boreal’s Kiss “A minimal project template for Xcode 4” article. After reading it, I realized that since our toolset was changing quite often, we where going to need to somehow automate the generation of Xcode 4 Templates for our internal engine, plus I thought it was a cool thing to do
I finally arrived to Nice Ville, France. There has been some complications with my residence for the next 6 months which I hope to resolve tomorrow! , appart from that I’m happy to be here and excited to work on an interesting topic! Anyway, I’ve been a bit short on time and also very tired ( 13 hours flight to Madrid from Santiago, and then 2 hours from Madrid to Nice, and +6 hours of time difference with Chile!! ).
For this post I want to discuss/(public brainstorm) about how would I prefer to work with a Level Editor, and mainly about the target platform for this tool. To be a bit clear, we have a simple internal 2d Game Engine at Gando Games… we are actually planning to Open Source it, but with all the great 2d Game Engines currently available we’re not sure about it.
A Level Editor, even in a basic stage, can provide a huge boost to productivity for repetitive tasks like level design, prototyping and Game Entity creation. Our rather simple engine is quite focused on fast prototyping, it has pretty good scripting support using Lua, mainly as an option to describe Game Scenes, Entities, and other game specific elements. This is all very cool, but I’ve been discussing with Jorge (front-end Engineer), and he agrees that a Level Editor could could speed up the whole creative process.
I’m just thinking out loud here and I would really appreciate feedback on this matter, our main concern now is the level editor target platform. What I mean with this is that, yes it’s cool to have a level editor on an iPad/iPhone, but I think I’m far more proficient using my MacBook/Mac Mini to create a level, still this has lead us to think about two main alternatives:
It’s great to be writing for iDevBlogADay again!, I’ve been very busy since the last time I wrote, mostly because I’m in the process of starting my Informatics Engineering Student Thesis, which I’ll begin as soon as I get myself to France, which should happen by July 31. I’ve been working quite hard the last couple of months, exploring new technologies and trying to figure out how they could fit in the Mobile Games world. One of the technologies that I had heard about in the past was the NoSQL databases.
A NoSQL database attempts to solve many problems that you can face with a typical SQL database on a broad set of applications. They don’t require fixed table schemas, they try to eliminate join operations and in most cases scale horizontally. This article aims to talk a bit about some database implementations that solve some interesting issues that are experienced in the realm of mobile games.
Long time with no posts, focusing more on work I guess ( so no that bad ), so here I present you a brief update of what have we been doing at Gando Games.
- Created a build server for our iPhone projects, we are actually running “Jenkins CI” on our Virtual host, with build nodes located at our “offices” ( garages would be a more appropriate term for that ). We are actually using a custom build script, it’s quite similar to this one (presented in this Stack Overflow post). The build server has been quite awesome, and I feel really good about having spent the time to configure it, basically it does nightly builds and also runs a Unit/Acceptance battery of tests in Release and Debug mode (currently only on simulator, but I’m working on getting it to run the tests in-device too).
- I mentioned Unit Tests in last post, I always heard wonders about TDD and how it could help a project in many different ways. Well, I spent a lot of time reading about TDD in Game Development and also as a methodology itself and I got to say that It’s been great, now I feel a lot safer when refactoring.
I mostly used two books as a reference:
I’m not really doing a lot of OOP, but “Growing object-oriented Software, Guided by Tests” is a great book with a modern approach. A lot of what is there can be applied to other programming paradigms. I also read all of Noel Llopis posts about TDD applied to Game Development. He has a lot of blog posts in this area and I must say, they where very helpful.
- Jorge has been working like crazy on our “Collaborative” Game Prototyping tools, he’s been working on some Web Based tools and also exploring technologies like CouchDB for our distributed DB needs. CouchDB looks really nice and there’s an iOS port on github and an android port is also planned.
- Pablo has been developing the Alpha 2D sprite sheet for the main character of our upcoming game ( which is still in early development, but in the works ).
So that’s it for now, now back to work!
It’s been a while!,I’ve been working a lot lately to reach Gando Games Engine alpha state. It has been quite interesting, learning a lot, and even contributing to some Open Source projects.
My motivation for this post however, is that Xcode 4 GM was released officially. I’ve been working with Xcode 4 for a while, and have filed some bug reports on Apple’s Radar. While I really like the whole Xcode 4 concept and features, and I think that they take the whole Xcode experience to a new level, I’m not happy to see Apple, my all-time favorite company to release Xcode in it’s current state. I mean, it happened with Project Builder, but this is 2011, I can’t believe they did the same thing.
Who's this guy ?
As you already know, the rules have changed ( for good! ) in iDevBlogADay! This will be my last post for iDevBlogADay (at least in a while ), and I pretend to update you all on some of our activities here at Gando Games!.
Before starting I’ll have to say that I will still post once every two weeks (so please subscribe to our RSS !) to tell you what’s going on here at gando games and of course give you some articles like I’ve been doing for the last 10 posts . Pablo, our art director also wanted to make a guest post of his own, but he was on vacations the last three weeks!, but keep hanging on it, I can asure you guys that it will be worth it.
So, to the updates:
This week has been a crazy one!, lot’s and lot’s of work!
- We have a new member here at Gando Games, Jorge Soto! ( @ajeo ) Web Development expert but never afraid of doing some low level coding! He’s our Tools Engineer ( and like everyone here, he will probably end up working on a lot of different things )
- I had to finish the arrangements for a 7 months trip to Sophia Antipolis, France this year (Jul 2011 – Jan 2012), I will be there making a R & D internship at INRIA… so if anyone happens to live there and wants to hang out, it would be amazing!
- I still haven’t finished configuring Gando Games virtual build server!, ( in case you’re wondering what’s a build server, or why could you need it, I recommend you to read Snappy Touch amazing article about it ).
- Gando Games 2D Game Engine is taking shape !, I really hope to show you a bit of it soon, it’s an engine quite focused on designers and rapid prototyping, more about that in the future!
To close off this rather short note, I really want to thank Miguel a.k.a Mystery Coconut, all of iDevBlogADay writers and of course the readers for making this service awesome!. I really like the new format, and I think that making one post per two weeks is really the best way to bring better articles to the readers.
till the next one,
PS: I hope to be able to tell you who’s the guy in the picture sooner than later,
Before getting into the actual article I want to remember everyone that the rules for iDevBlogADay have changed, and in two more weeks the current authors will be rotated out. The new system sounds very nice , but since Gando Games will disappear from the official RSS , if you guys want to keep reading I encourage you to subscribe to our RSS feed .
Now, the article:
I get this question a lot, there many books in the subject , but I’m totally sure that you can get started without even looking at them. For today’s iDevBlogADay post, I made a “straight to the point guide”.
Note: This guide is also valid for iPod Touch and iPad.
What you’ll need:
* A Mac ( you could get away with VMware but I won’t go into that ) [ 699 USD$ ]
* Sign-up as an Apple Developer [0 USD$]
* Xcode [Free Download as a registered iOS developer ]
* Cocos2d [Free Download & Open Source]
For today’s iDevBlogADay
post I want to tell you guys a rather short but true story that reflects some of our duties as developers for any particular platform. I came to this conclussions after installing beta software ( under NDA ) for the platform we are developing for in Gando Games.
Because of an NDA agreement I will reffer to this product as “Pudding“