Nintendo NX

When high quality games are discussed, it doesn’t take long for a Nintendo game to become part of the conversation. To my knowledge, Nintendo have been creating high quality games since Jumpman was introduced in Donkey Kong (1981).

My first thought when I think about Nintendo is how delightfully playful their games feel. The entire screen is filled with playful polygons dressed in familiar saturated colours. The use of high contrasting colors was initially a consequence of hardware limitations, but eventually a deliberate and consistent choice to remain energetic, lively and family friendly.

The family friendly appeal however, doesn’t explain the enduring perception of high quality. This of course, relates more to game feel and mechanics. A classic Nintendo game feels tight, responsive and immediate, and the mechanics are brilliant – and is in my opinion, where the game truly shines. The player is given a limited repertoire of actions to manage, which the player quickly learns to master. But just as the player feels in control, the environment changes, forcing the player to relearn and adapt. This creates a rapid loop of skill mastery, which stimulates our brain and basically makes us feel good. Few games manage to do this as successfully and efficiently as Nintendo.

These good feelings associated with playing a Nintendo game is why we keep coming back, and also why their games are still appreciated more than 30 years later. Which brings me to Nintendos superior dedication to backwards compatibility, Virtual Consoles, and finally to the Nintendo NX.

I consider the Wii U to be the most complete game system available. It can play the entire catalogue of Wii games, several of which are truly classics! It supports all the controllers made for the Wii, and adds the GamePad which opened the door for assymmetric gameplay. Currently, the Wii U Virtual Console supports games for Nintendo Entertainment System, Super Nintendo Entertainment System, Nintendo Game Boy Advance, Nintendo 64 and recently the Nintendo DS.

If the Wii U wasn’t launched when and how it was, it might have sold better. But primarily I think consumers were a but weary of buying a second underpowered Nintendo console; especially as rumours about the new Playstation and Xbox were so completely focusing on processing power.

Nintendo’s next console, nicknamed NX, could fix this.

Nintendo NX to the Rescue!

This is what I’m thinking about the NX which we’ll likely see in 2017, or if they rush development, already for Christmas 2016, but I doubt it.

The NX will be given enough polygon pushing power to match the PS4. It might have an overlapping hardware architecture with an “NX Portable” widescreen gaming system to enable code sharing and speed up cross-platform development. Nintendo NX and NXP

For the NX to retain backwards compatibility with the Wii U, which it has to in my opinion, it needs to support all the official game controllers. Personally I love the GamePad, and I hate the idea of seeing it dethroned and made optional, but if replaced by a dual-retina clamshelled NXP, then I’m all for it!

I’m also hoping that the NX will support multiple NXPs being used simultaneously. This should be possible as the NXP will be a client running the game itself, not a streaming device with game controls.

I’m hoping that the NX has native support for Wii U games, and that the Wii Virtual Console is available at launch – with several classic titles.

Finally, Nintendo should focus on getting third party involved from the get go, with at least a couple of high quality games in the launch lineup. The games don’t have to be exclusive to the platform; the important thing is that developers can target the NX without cutting corners, and show their dedication at launch.

I hate to see the Wii U go, but I love the idea of the NX having the power to support the fidelity seen on the Xbox On and PS4 at a time when both of them should have found their groove.

Posted in Console Games, Games, Technology | Tagged , , | Comments Off on Nintendo NX

Workaround for UILabel Bug

If you are using a multi-line UILabel in your iOS project, you will run into this bug – at least as long as you’re using iOS 7 and set the headIndent property (filed the bug today): when you calculate the height of the UILabel, its intrinsic content size will be too small to fit all the text. Download code at the bottom of the page.

The buggy approach we are suppose to use is shown on the left, while the workaround is seen in all its glory to the right. As you have figured out, the table should show THE END as the final two words in each cell.



Download Source

You can download both projects below. And just to make it clear, this code was provided as a reply to a ticket I submitted to Apple. Though the code appears to work flawlessly, there is no guarantee that it is bug free. You can do whatever you want with the code; you take the risk if you choose use it.

Download the buggy Xcode project that reveals the iOS bug that returns the incorrect height for attributed UILabels with the headIndent property set.

Download the working Xcode project which provides the MyCoreTextLabel subclass that correctly handles attributed UILabels with the headIndent property set.

Bug and Extermination icons designed by Dmitry Baranovskiy from the Noun Project.

Posted in Games | Comments Off on Workaround for UILabel Bug

PaintCode v2

After sitting on the fence for a while, I finally decided to buy the second version of PaintCode. I already owned and enjoyed the original PaintCode, and I wasn’t really sure if the new release would justify the price. That was however, until I took the time to watch some of their tutorials at, and this one in particular.

I’m really loving it so far. Close to all implemented features work as I want them to. But as often happens, as I start using an application for an actual project, I come across and discover missing features or workflow related shortcomings. This post is simply a collection of those discoveries, in the hope it could help improve the software in the long run.

If you have any feature requests on your own, please hit me up on twitter @johanhwb. I’ll keep this page updated. The list was last updated January 14, 2015.

UI/UX Related Requests

  1. Alignment Tools; I have a feeling they are missing, though I’m not sure that is even possible. In either case I can’t seem to find them anywhere, not using help or online resources.

    You can find the alignment tools as a contextual menu, but only when you have more than one object selected. Align to canvas however, is not possible. I hope that is added in a future update.

  2. Opt+drag to copy; no matter what software I’m using, dragging and dropping an item while pressing Opt copies the object. I would like to see the same thing in PaintCode. And it should work on the canvas and in the canvas index (in the sidebar). It should even support duplicating a canvas.
  3. Zoom tool with Z; maybe this is just Adobe talking, but I do expect Z to activate a zoom tool.
  4. Arrows to increase values; I would love to be able to adjust numeric values in text boxes up and down with the arrow keys, and Shift+arrow should increase the value by 10 instead of 1. (Confirmed. This feature is in the pipeline for a future update.)

    Partly added in version 2.1.2 of PaintCode 2; it’s still not possible to use keys everywhere.

  5. Screen Shot 2014-07-02 at 14.23.20Multi-node nudging; when I select several nodes/vertices I want the keyboard position nudging to work – for the entire selection. Xcode allows this for multiple UI elements, check how they do it.

    Make sure the canvas with the selection has the focus when you start nudging with the keyboard. It’s not possible to nudge using the sidebar, or tweak sizes as in Xcode.

  6. Drop color on Groups/Selections; I would love to be able to add color to a group or selection, just for the sake of speed and convenience – the color would still be assigned to each individual shape.This could even be possible with mixed selections/groups: when the color is dropped on the selection, the user picks from the regular context menu. The action will only affect applicable shapes, so a bezier without a fill will not be assign the dropped fill. However, pressing Opt while the context menu is shown, will add “Force ” in front of the options, which means all shapes are affected by the color assignment.
  7. Drop a Canvas on a Tab; I can’t work out how to move a canvas from one Tab to another. I was assuming dragging it from the sidebar, and dropping it on the target Tab would do it, but no. You could also add a “move to tab” action to a contextual menu when right-clicking on a canvas name.In the Canvas contextual menu, offering Duplicate Canvas when an existing canvas is selected would would be convenient.When deselecting all canvases, the sidebar only shows the Tab name. The sidebar would be even more useful if it also listed all the canvases on the currently selected Tab. From there I could drag a canvas to other tabs, delete or duplicate them. Feels like a natural fit.

    Adding settings for a tab like default background color for new canvases, is also a natural fit for the sidebar, when the user has deselected all canvases.

  8. Cmd+Shift+Opt+N to add and name the new Canvas; just like in Adobe, adding Opt to the new canvas shortcut should move the focus to the name field of the newly created canvas.
  9. Add a library color drop down when deleting a color; would be nice to be allowed to pick a replacement color from the library when deleting a color used by shapes in the project.
  10. When drawing a bezier: toggle Point between Round and Sharp by pressing 1; the contextual menu is handy, but pressing 1 on the keyboard to swap between round and sharp is faster and more convenient.
  11. Canvas only mode; working on a laptop, being able to take full advantage of the screen real estate is important. I would love to have a key (eg. Tab) that toggles visibility of everything but the canvas.
  12. Paste in Place; I would really like to be able to paste a copied object in place, instead of always having to nudge the position manually.
  13. Drag and Drop Copying of Objects in Sidebar; I find it very frustrating that I can’t copy objects directly from the sidebar. First of all, it would solve the current offset issue when using copying an object. Secondly, having to click the item on the canvas often much slower than using the sidebar.
  14. Renaming objects in the sidebar; currently I have to move down to the associated text field after selecting the an object to rename it. Would be great to be able to rename objects inline.
  15. StyleKit Color display could be easily improved; managing custom colors with PaintCode and StyleKits is fantastic. I have However, the current handling and color display is not optimal for color palette management adding custom colors to the StyleKit is a really nice feature. However, the display and arrangement of the colors generated could easily be improved:
    • At least as an option, allow me to remove the outline of the StyleKit colors. They affect the color impression and doesn’t really add any value.
    • Allow me to order the colors in any order I want. Right now, I can only order the colors in the sidebar, but I think it makes more sense to allow custom order in the main view.
    • Add an option to show the color samples as squares instead of circles, and have an option to remove left-right padding, so the colors will touch adjacent colors. This makes it easier to see how the colors harmonize.
    • Offer some automatic color structures and sort orders, like a pie chart, hue sorting, brightness sorting. Basically anything that might make it easier to work with the color palettes.
    • Would be great with palette folders as well, allowing me to group colors. Each group is given a name, and the group icon reflects the colors it contains (showing maybe 5 or them, and additionally a number when exceeding that limit).

    StyleKit Mockup

  16. Set StyleKit Drawing Method also in the StyleKit tab; currently I have to locate the shape on a tab to be able to set the Drawing Method of that StyleKit canvas. I think it would be a nice improvement and a nice time saver if I could simply right-click a canvas in the StyleKit tab to right there tweak the Drawing Method option.
  17. Right Click canvas in StyleKit tab to jump to Tab with Canvas; would be great to be able to see size of a canvas in the StyleKit tab, and be able to jump directly to the tab containing the canvas and right-clicking and selecting “Go to Tab”.
  18. Color Indicators letting us know how the color is used; with several colors in the color palette, it would be of great help to instantly be able to see which colors are methods, local variables and stylesheet. Something like this would work great: S for Stylesheet, M for methods and L for local variables.


Framework Integration

  1. Wrappers for UI/NSBezierPath; this would allow PaintCode to work on both iOS and OSX. @Seivanheidari
  2. SpriteKit support @Seivanheidari
  3. Allow hooks to generate code @Seivanheidari
  4. CAShapeLayer support; an option to generate CAShapeLayer code. @BrianMueller333

Bugs & Minor Glitches

  1. Outline Only doesn’t seem to update the canvas in certain situations, though I’m still not sure what those are (I’ll update this entry when I do find out).

That’s it!

Posted in Games | Comments Off on PaintCode v2

Sketch 3

On the 14th of April 2014 Bohemian Coding released the third version of their vector editing application Sketch. Maybe this version will finally replace Adobe Illustrator (and possibly Photoshop)? The previous version had several serious bugs and missed some features that I just couldn’t be without. This release however, seems promising.

On this page I’ll collect the features I would have liked to see added to Sketch 3, features that would make my pixel generating life easier. To keep everything in one place, any glitches and bugs are added to the list at the bottom of the page.

I’ll update this list as I familiarize myself with Sketch 3.
This post was last updated April 24, 2014.

Feature Requests

  1. Screen Shot 2014-04-14 at 18.42.05Smart Snap Across Shapes
    The ability to snap a vertex part of one shape, onto a vertex of another. This will possibly work best as an optional snap, meaning I would press the Option key while dragging to snap to any close enough vertex.
  2. Guided Dragging of Multiple Elements
    Currently it seems that the only way to see the alignment guides when dragging is by dragging a single element. However, I shouldn’t have to group elements just to see the guides when dragging a selection, as this has an obvious impact on layer ordering.
  3. Make the Deselected State of the Inspector Meaningful
    Currently when I don’t have anything selected, the Inspector is useless. Why not have it show the settings, state and options of the Document, Artboard, Page or whatever is the “top level” of the currently open file? With nothing selected that inspector is clearly the most natural place to e.g. toggle the grid, set the color of the scratchboard and enable snap to grid on the document level (with possibly a local snap setting for each artboard).
  4. Drop On Page Header in Sidebar (16.04.)
    It would be nice to be able to move an element to the top of the sidebar Layer stack by dropping the element on top of the Page section header, instead of having aim to hit just below it.
  5. Opt+Arrows to navigate Sidebar (18.04.)
    Option combined with arrow keys are current not being used for anything it seems. I would like to see them used to navigate the layer stack in the sidebar. It would make it so much faster to clean up (deleting and renaming elements) the stack.
  6. Press Opt to change hide to lock in Sidebar
    When I’m working with by Wacom it is much faster for me to tap a layer in the sidebar then to move both hands to the keyboard to hit a shortcut. I would therefore love to see Opt change the eye (visible toggle) in the sidebar to a padlock, allowing me to click to lock the layer I’m hovering.
  7. Shift to show the vertices of the selected Layer (19.04)
    When I have selected a shape in the sidebar, I can’t seem to find a way to directly start editing the shape, I have to double-click it to see the vertices. If I instead could press Shift to show the vertices of the shape, selecting a shape in the sidebar would be even more meaningful.
  8. Show Active Tool (24.04)
    It would be nice when I hit V to add a Vector shape, or O to create an Oval, that the Insert menubar graphic was updated to the currently active tool.

Bugs & Glitches

  1. Buggy sidebar duplication
    It isn’t possible to Opt+drag to duplicate the last element in the sidebar; which means if your canvas only contains a single element it cannot be duplicated using the sidebar.
Posted in Technology | Comments Off on Sketch 3