TOKYO (MacHouse) – Almost three weeks have passed since we introduced our last software title. What have we been up to lately? Well, we are going back to iOS. Wait… Before we do, let us release one more desktop application. The one that we submitted to Mac App Store several hours ago is called Pazico.
![]() |
![]() |
When you develop a 2D game, it’s likely that it will involve one or more sprite images. One way of shaping a complex game character is to construct a polygon connecting vertices with NSBezierPath (or UIBezierPath for iOS), which is not a simple task. That’s where you will find Pazico useful. When you select and open a sprite image, Pazico will generate a black-and-white imagine over which it will create as many clickable squares as the number of available pixels. By clicking on these squares, you can tell Pazico where you want to set points for constructing a polygon that resembles the non-transparent area of the sprite image. The user has options of generating bezier path code for Mac OS X or iOS. And they can also select one of nine anchor point positions. Furthermore, the beauty of using Pazico is that the order by which you select vertices is not important. So the application will automatically rearrange vertices you select so that your Objective-C code can be generated and you can reconstruct the sprite polygon within your SKScene object.
Features
- Click on any of the squares over the black-and-white sprite image to set a polygon vertex. Click on the same square to deselect that vertex.
- Objective-C is slightly different between OS X and iOS in drawing a polygon. And user will get to select their development platform.
- Select an anchor point for your polygon.
- Regardless of the order by which you select polygon vertices, Pazico will automatically rearrange points when it generates bezier code.
- Customize the variable name of the NSBezierPath object (or UIBezierPath object) in Preferences. The default variable name is path.
- Let Pazico plot your polygon.
- Export as a text file or print Objective-C code for constructing a sprite polygon.
- Save your progress as a project file so that you can reconstruct your polygon at any time. A project file is an application package that contains a data file and a black-and-white image, which does not require the original sprite picture.
- Languages: English and Japanese(日本語)
- The application supports the Retina display.
- Application file size: 1.6 MB
- The application comes with a complete user’s guide written in English. (Choose Help > User’s Guide.)
System requirements
- Mac OS X 10.7, 10.8, 10.9
- 64-bit system
Limitations
- The application can read only two graphic formats (PNG and TIFF).
- The maximum number of pixels that Pazico is able to read is 65536, which is equivalent to 256 x 256 px. If the user has a pair of Retina and non-Retina sprite images, they should use the latter to record polygon vertices.
- The sprite image size will negatively affect the application performance. Although it’s possible for the application to handle a sprite image as large as 256 x 256 px, users are advised to select one no larger than 128 x 128 px.
- The application does NOT put clickable squares along with a black-and-white sprite image in a scrollview control. Therefore, the work area may be limited for laptop computers. Each pixel on the sprite image requires five pixels on the application side. Therefore, a 256 x 256 px image will require a desktop screen size of 1280 x 1280 px + the toolbar height.
Version history
Note: Release dates are ones when updates are announced here, not when updates are actually released at Mac App Store. We make no promise that they will be accepted by iTunes Connect and then released at Mac App Store.
1.1.2 (Released on August 21, 2014)
- Fix: Although the user chose IOS ad development platform, the application generated OSX code.
- In Preferences, the user is given an option of flipping Y coordinates.
1.1.0 (Released on July 18, 2014)
- The user can now create path with CGMutablepathRef. Choose ‘CGMutablepathRef’ from the development platform drop-down menu.
- Fix: When the user overwrote an existing document, a problem could occur.
- When the user opens a Pazico document file, the application appends the name of the document file to the window title.
User’s guide
Application user’s guide is available (only in English). Click here to access it online.
Trial/Demo version
Click here to download a trial version (v. 1.1.2). If you have used an earlier trial version, you must first trash ‘net.mhvt.Pazico–Trial-‘ under Library > Containers.
Video tutorial
A video tutorial with text commentary is available in the form of a QuickTime movie. Click here. The data size is 85 MB, and the movie duration is 8 minutes and 33 seconds. The video dimensions are 1,440 x 900 pts.
Pazico is a product of MacHouse.
I have made a polygon shape with your application and here I show you the code:
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(-51.0,-9.0)];
[path addLineToPoint:CGPointMake(-56.0,-26.0)];
[path addLineToPoint:CGPointMake(55.0,-26.0)];
[path addLineToPoint:CGPointMake(53.0,-16.0)];
[path addLineToPoint:CGPointMake(49.0,-5.0)];
[path addLineToPoint:CGPointMake(42.0,5.0)];
[path addLineToPoint:CGPointMake(34.0,13.0)];
[path addLineToPoint:CGPointMake(24.0,19.0)];
[path addLineToPoint:CGPointMake(11.0,24.0)];
[path addLineToPoint:CGPointMake(-3.0,26.0)];
[path addLineToPoint:CGPointMake(-17.0,23.0)];
[path addLineToPoint:CGPointMake(-29.0,17.0)];
[path addLineToPoint:CGPointMake(-42.0,7.0)];
[path closePath];
I would like to get a polyon of the type CGMutablePathRef, like this example:
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL, -51.0,-9.0);
CGPathAddLineToPoint(path, NULL,-51.0,-9.0);
CGPathAddLineToPoint(path, NULL,-56.0,-26.0);
CGPathAddLineToPoint(path, NULL,55.0,-26.0);
CGPathAddLineToPoint(path, NULL,53.0,-16.0);
CGPathAddLineToPoint(path, NULL,49.0,-5.0);
CGPathAddLineToPoint(path, NULL,42.0,5.0);
CGPathAddLineToPoint(path, NULL,34.0,13.0);
CGPathAddLineToPoint(path, NULL,24.0,19.0);
CGPathAddLineToPoint(path, NULL,11.0,24.0);
CGPathAddLineToPoint(path, NULL,-3.0,26.0);
CGPathAddLineToPoint(path, NULL,-17.0,23.0);
CGPathAddLineToPoint(path, NULL,-29.0,17.0);
CGPathAddLineToPoint(path, NULL,-42.0,7.0);
CGPathCloseSubpath(path);
As you can see, the points have the same value but the commands are different. Is it posible to have an option on the view to select the type os path. I think your application would be more interesting with this options.
Roberto,
Thank you for your using Pazico. Let me see what I can do about it. I’ll get back with you soon.
Hello,
I’ve just submitted a software update to Mac App Store. It will let you generate path code with CGMutablePathRef. I hope that’s what you need. The trial version, whose link is available above, has also been updated. You can use it till the full version is available through Mac App Store. Thank you for your nice suggestion.
Hello,
I just purchased the Mac App Store version of Pazico and have discovered a couple of what I assume are bugs. Both bugs are also present in the trail version on this site.
1. Even with iOS UIBezierPath selected as my development platform (in settings or in the window or both), Pazico still generates OS X NSBezierPath code on output for me.
2. When I generate code using NSBezierPath or CoreGraphics using a center / center anchor point, the y-axis values of the generated code I get has flipped signs thereby producing a polygon that is reflected in the x-axis. For example I get:
CGPathMoveToPoint(colorNodePath,NULL,-87.5,-27.0);
CGPathAddLineToPoint(colorNodePath,NULL,-45.5,-55.0);
CGPathAddLineToPoint(colorNodePath,NULL,-16.5,-61.0);
CGPathAddLineToPoint(colorNodePath,NULL,13.5,-61.0);
CGPathAddLineToPoint(colorNodePath,NULL,56.5,-49.0);
CGPathAddLineToPoint(colorNodePath,NULL,94.5,-17.0);
CGPathAddLineToPoint(colorNodePath,NULL,116.5,24.0);
CGPathAddLineToPoint(colorNodePath,NULL,120.5,43.0);
CGPathAddLineToPoint(colorNodePath,NULL,120.5,60.0);
CGPathAddLineToPoint(colorNodePath,NULL,-121.5,60.0);
CGPathAddLineToPoint(colorNodePath,NULL,-121.5,43.0);
CGPathAddLineToPoint(colorNodePath,NULL,-110.5,8.0);
instead of:
CGPathMoveToPoint(colorNodePath,NULL,-87.5,27.0);
CGPathAddLineToPoint(colorNodePath,NULL,-45.5,55.0);
CGPathAddLineToPoint(colorNodePath,NULL,-16.5,61.0);
CGPathAddLineToPoint(colorNodePath,NULL,13.5,61.0);
CGPathAddLineToPoint(colorNodePath,NULL,56.5,49.0);
CGPathAddLineToPoint(colorNodePath,NULL,94.5,17.0);
CGPathAddLineToPoint(colorNodePath,NULL,116.5,-24.0);
CGPathAddLineToPoint(colorNodePath,NULL,120.5,-43.0);
CGPathAddLineToPoint(colorNodePath,NULL,120.5,-60.0);
CGPathAddLineToPoint(colorNodePath,NULL,-121.5,-60.0);
CGPathAddLineToPoint(colorNodePath,NULL,-121.5,-43.0);
CGPathAddLineToPoint(colorNodePath,NULL,-110.5,-8.0);
The polygon preview I get in Pazico shows the correct outline without flipped signs.
Is it possible to fix these issues? If so, Pazico will prove a most useful tool to me.
Thanks!!
Daniel
Hello, Daniel.
Thank you for your using Pazico. I’m sorry for the trouble. I’ll investigate your claim right away. I’ll get back with you in 30 minutes or so.
Yes, you are right for about Pazico not producing iOS code. I’m sorry. As for the 2nd claim, honestly, I’m not 100% sure if that’s the case. I have to think about it longer. Anyway, I’ll produce a new trial version after submitting a software update. I’ll get back with you.
Hello, Daniel. Thank to you, I’ve resolved the 1st issue. As for the 2nd issue, does the flipped sign thing only apply to center-center or all anchor points?
Hello, Daniel. We’ve submitted v. 1.1.2 to Mac App Store. There’s a new trial version available, which is fully functional for 10 days. If you have used an earlier version, please trash the application folder inside User > Library > Containers. As for the flipped issue, please turn on the 5th checkbox (Flip y-coordinates) under the generate settings tab in Preferences. Thank you for your bug report.
Hello,
Thank you so much for your fast changes to Pazico! So fast and very much appreciated (:
Many apologies – you are correct about my second point not being valid. Pazico produces the correct sign for the y-axis on a center / center coordinate. It has been a long day and I was not thinking straight but it is quite apparent in the code. I still need to flip the coordinates in order to get the correct polygon for use as an SKPhysicsBody but this must be due to an undiscovered issue with my code. Thank you for making the flip y-axis option. This will save me a lot of time. Pazico will be a very useful tool for me.
I have uploaded screen grabs of the correct Pazico code producing the flipped SKPhysicsBody here:
http: // vineycode.s3.amazonaws.com/pazico.zip
Thank you again,
Daniel
[Partially edited by Administrator]
Daniel. That’s no problem at all. Giving a flip option makes everybody happy.
Hello, Daniel. They have approved the latest update. It should go around in a short time.