|
I’ve been working on supporting the Retina Display for iPhone4 these past days, so here’s a screenshot of how it looks on a computer screen! Good thing I had detailed my graphics this much! :) Everything seems to work fine on the simulator, but I still have to do thorough testing on the device; and since I don’t have any 4th generation device with Retina Display, I’ll have to wait for a friend to come over and test on his device! Hopefully everything will go smoothly and I will be able to send this update in the coming days! | ||
|
For this first tutorial/making of, I’m going to explain how to use Inkscape’s extension system to suit it to your game development needs. First, a few definitions:
EXAMPLE: Let’s start with an example of how I use Inkscape as a game tool for Jump&Slide:
Since SVG is XML based, I write all the attributes with an extension as custom XML attributes of my object; this way changes are saved in my .svg file. Then another extension is used to output the data as a custom XML formatted string that will be parsed by my game engine, which is shown using the error message box output from Inkscape, as you can see here: All I have to do left is to copy/paste it into the actual .plist file, which is the parsed in my game engine. HOW TO DO IT: An extension in Inkscape is defined with two files : a .inx header telling Inkscape that the extension exists and optionally setting your extensions user interface (if you need any), and the actual Python .py file (learn more about this here). Basically, what an extension does is getting your working SVG file as a parameter of your Python script, meaning you have access to its entire XML structure, and then it returns a new modified structure (though it is not mandatory to make any changes to it, for example when I output my obstacle list I merely parse the data from Inkscape into my custom XML format but I don’t change the actual SVG file). Then you’ve got a few useful functions to retrieve and access your Inkscape objects, such as iterating through the current selection, checking the type of the currently iterated object (is it a rectangle, a path, an image, a text…?), and do whatever you want with it! Let’s see a very basic example: we will parse a polygon straight path data to extract the vertices and output them as XML data. def effect(self): This is an example of what you get: It is that simple, the rest is up to you and depends of your needs; for example, you could change Inkscape into a polygon-based level editor, where orange polygons would be solid ground and blue polygons would be water, since you can retrieve your objects’ color attributes via the XML structure. I made template extension files which will be much more easy to understand than my clumsy explanations! | ||
|
The game has been approved by Apple and released! Get it here! :) | ||
|
I just sent Jump&Slide for review to Apple and if everything goes smoothly, hopefully the game will appear in the App Store soon! Along with it is the launch of the website and this blog, on which I’ll share tips and making of stuff about the development of this game that took several months! :) | ||