Tag: video

Corona SVG Level Builder 1.3 features and examples!

 

The massive Corona SVG Level Builder 1.3 update has been finally released! It has dozens of new features and it finally comes with examples.

Now you can edit even more of your game properties direct into Inkscape. You will edit Lua source code only to add and take care of your game logic! Let’s take a look at the new features and at the examples!

Resolution Independence and Dynamic Scaling

Draw your levels just once and it will work for all resolutions: iPhone, iPhone Retina, iPad, Android Phones and Android Tablets.
Corona SVG Level Builder - Resolution Independent Levels
It comes with an example showing the resolution independence, so it is easy to achieve it. You just need to worry on exporting the different graphical assets on different sizes, other than that, Corona SVG Level Builder does all the job for you.

Spritesheets

Corona SVG Level Builder now loads and take care of spritesheets created with TexturePacker.

Assigning SpriteTo create levels that use spritesheets you just have to create them with TexturePacker and add one variable with the spritesheet name when you load your levels:

local level = svg:new("levelFile", {spriteGrabber = "game"})

You can have levels with:

  • Single spritesheet.
  • Multiple spritesheets.
  • Externally loaded spritesheets.

Assigning a game object with a sprite is as simple as assigning it with an image: the step is the same! Just add an image attribute with the sprite name.

Animations

Corona SVG Level Builder AnimationsTo add more sauce to the spritesheet support, you can have animated sprites and objects as simple as having static objects. By simple assigning the frame names, giving a pose name and frame positions to a game object, you can animate, change poses and pause it in your code, with methods provided by Corona SVG Level Builder (from SpriteGrabber)!

-- Grab the body with the ID you set
local monkeyNpc = level.bodies.monkeyNpc
-- Call playClip with the pose name
monkeyNpc:playClip("left")

Game Materials

This is one of the coolest additions. You can now define your materials (game objects properties) in an external file and they will persist for all your levels.

As an example let’s consider a game where you have a zombie and a type of block to construct the levels. You need to make 100 levels in Inkscape. If you had to define your block properties along 100 levels, this would be too time consuming. And what if you had to update properties (like friction) from this block? It would require you to manually edit 100 levels.

With game materials, you define and update only once, and the attributes and properties will reflect in all levels for bodies that use the materials name!

local gameMaterials = {
    brick = {
        type = "static",
        image = "brickImageName",
        width = 45,
        height = 20,
        friction = 0.5,
        bounce = 0
    },

    zombie = {
        type = "dynamic",
        image = "zombie",
        frames = "idle:1:1:100:0; walking:2:5:200:0",
        width = 40,
        height = 100,

        custom = {
            health = 120,

            lootRate = {
                coin = 10,
                ammo = 20
            }
        }
    }
}

Custom Attributes

Consider an example game where you add coins, and then you want to set the value of the coin. The “value” can be set as a custom attribute, additionally to all attributes you already add. Other examples could be the health of an enemy type, the score for a breakable block, etc.

That means: you are tweaking and editing game values in Inkscape. You don’t need to edit a line of Lua code!

You can also now set Custom Level Attributes, which allow you to set level specific attributes you can read in you game code. Examples of level attributes are the OpenFeint Leaderboard ID, Level Speed, Highscore ranks (10.000 = 1 star, 12.000 = 2 stars), whenever you need on a higher level just after loading the level, edited all in Inkscape.

Multiple Named Layers, z-ordering and object filtering

Now you can have multiple named layers, which means you can group common objects in your Inkscape drawing and treat them on your code accordingly to the layer they are in.

Also the order they are placed in Inkscape is the order that your game objects will be placed (z-ordering).

Want to put curtains above all your elements? Just move the layer with curtains above the other layers and all your game objects will be covered! I can’t imagine doing that manually in a level with 100+ elements!

Drawing Vectors and Primitives

You don’t need to always assign a sprite or image to your game objects. You now can have them in your game in the same way you drew them in Inkscape: as a rectangle, ellipse or path! Corona SVG Level Builder will even draw them with the fill color, stroke color and stroke size you choose.

Massive Documentation

Well, this isn’t new: the documentation has always been massive. But now it is even bigger! With all the new features it has grown up and got updated. You can check it here: http://levelbuilder.karnakgames.com/doc/.

Examples

Nothing better than learning by practice. Now Corona SVG Level Builder comes with source codes showing each one of its features. Some examples even add some more: what about an example with camera and level scrolling? You have it!

Let’s see a fast video showing the examples in action:

Platformer Game Kit

I’m working now on the Platformer Game Kit! Well, I think the name says it all, right? Along all the dozens and dozens of the Corona SVG Level Builder features, the Platformer Game Kit will be killer. You won’t have anything similar out there.

With the 1.3 update you can already make practically any type of level and game with the Corona SVG Level Builder, while editing your game values and properties all in Inkscape.

But, that is not enough for me: the Platformer Game Kit not only will contain the main features of the classic platformers, but will also come with menus, etc, that means: the source code for a complete game!

What now?

If you don’t have it, what are you waiting for? Go buy it now and save dozens if not hundred hours of development! Or you may consider checking all the features first? Here they are: levelbuilder.karnakgames.com!

Graphics

The 1.3 update uses Free Art Packs made by Vicki Wenderlich – http://www.vickiwenderlich.com/. All credits go to Vicki Wenderlich.

Don’t you dare waste your time. Work for your dreams. Live your dreams.

 

This post is not game nor game development related. It’s just a reflexion about “Dreams”, about “What can I do with my life?”. It applies to everyone’s life. Notice that is a bit abstract and a try to be motivational, but totally inspired by an Austin poetry video (video below).

Don’t you dare waste your time!

If you aren’t working right now in your best idea or in favor of your dreams then you are doing everything wrong.

In my everyday’s rush in trying to get more and only the best things, and noticing the chaotic world we live in, I notice and feel even more the need to DREAM. We need something to sustain and keep our bases strong, something that must keep us STRUGGLING.

Wake up everyday, work, lunch, work, dinner, sleep, go out with the family on the weekends. Loop through it. Repeat. It’s a pattern. Almost everyone is happy and satisfied with that. But even this repeating cycle has a meaning (even although it’s completely abstract): happiness. But where does this take us? The same cycle for 10, 20, 50 years?

I DON’T HAVE ENOUGH TIME / MONEY / SUPPORT / [INSERT ANY OTHER EXCUSE HERE]

You’re WRONG. It’s not a matter of chasing and struggling for your dreams when you have more time, when you have more money, when you are in the right place, when you have a bigger house or a better computer. This time will never come, because by then you will want a even bigger house or a even better computer, you will always think that you won’t have the time because you need to work to bring food home, and then you will keep locked in this repeating pattern. Maybe you think that working in your dreams looks like that you will lose the power to feed your family?

Here’s a tip: if you are in a place that you want to leave or if you are in a bad moment, adopt that as a reason to fight for a dream or for something you can do best: this way you will be able to leave this bad or repeating situation.

If you are still waiting for the “right moment”, sorry to say but it won’t come.

THE TIME IS NOW.

Yes, now, in this very own second. Start by changing your behavior, acts and thoughts – drive them accordingly to your dreams. You will se how things will start shining. Everything will be more pleasant and enjoyable.

Turn your dreams into your reason to live and bring them into your everyday’s activities. This good thing will spread to everyone around you, and then, they will start supporting and taking part of what you do and think. And everything will look even bigger.

Life is so fragile and at the same time, so short. I ask you, right now, what are you waiting for? Why aren’t you being everything you can be right now? *

One more time: If you aren’t working right now in your best idea or in favor of your dreams then you are doing everything wrong.

* Words by Gabrielle Bouliane that died by cancer last year and like a night before she gave a motivational speech about enjoying everyday as it was the last, and that you should never AVOID NOR DELAY something, because death can come anytime.

Her last speech, but ultra motivational video:

I originally wrote this text on Apr 20th, 2010. Additional inspiration from REWORK (controversy sometimes).
This post is part of iDevBlogADay, a group of indie iOS development blogs featuring two posts per day. You can keep up with iDevBlogADay through the web site, RSS feed, Twitter.

Unity video tutorials and courses

 

As expressed on my last #iDevBlogADay post I’m “disconnected from my normal life” with just a Windows laptop (which I’m hating btw, I miss my Mac :(), and I’m taking this as an opportunity to share the way to learn 3D Modeling and Unity.

I love Unity for basically two reasons:

  • Easy way to do multi platform game development.
  • I want to create GAMES and GAME CONTENT instead of spending time on low level details and on programming game engines.

Free video tutorials and courses

  1. 3D Buzz – Over 7 hours of Unity Training Videos: I liked these videos so much that I watched them all in just one day (I know, it was heavy)! These videos teach how to work with Unity overall by making a 2D shooter with it. By the way, they cover scripting with C#.
  2. Unity3D Student: probably the most complete site on teaching Unity, divided by learning modules.
  3. Unity Jump Start – Video Tutorials – Proof Of Concept #1 – Space Shooter: another one that creates a 2D game.
  4. Video Tutorial: Making Tic Tac Toe in 25 minutes: (2D)
  5. Will Goldstone – Unity Tutorials: a 5-hour course focusing the creation of a 3D game from scratch with some Cinema4D lessons.
  6. Infinite Ammo – Unity3D Tutorial: Indie legend Alec Holowka (Aquaria) recorded this six parts video tutorials (all videos listed on this YouTube playlist).

More tutorials and references

Paid books and courses

Happy New Year!

2010 was an AMAZING year for me and I plan to write about this (on the Game Development angle) in the next #iDevBlogADay post. This makes my last post of 2010. See you in 2011! Happy New Year!

This post is part of iDevBlogADay, a group of indie iOS development blogs featuring two posts per day. You can keep up with iDevBlogADay through the web site, RSS feed, Twitter.

Blender video tutorials and courses

 

BlenderOne of the most cool things of being an indie is that you have to be learning something new every time, otherwise you’re a dead indie game developer. And this is my favorite part: I love to learn new stuff. To be honest, I like studying and researching more than actually doing something – but as expressed on my last post a balance is necessary to avoid procrastination with never accomplishing something.

I’ll be disconnected from 24/Dec to 03/Jan with just a Windows notebook (I just have an iMac) – that means iOS development won’t be possible. That’s my chance to finally watch some videos I’ve been archiving forever. I’m talking about some 3D gaming video tutorials and courses.

More specifically Unity and Blender (I’ll skip writing about Unity for now).

Why Blender? Why not Maya? Cinema 4d? Or another one? Reason number 1: I already did some modeling with Blender on the past for the TV, even tho it was some basic stuff, anyway that counts as experience. The other reasons? See next.

Note: if you are looking only for the learning resources, scroll down the article to “Free video tutorials and courses” where I posted dozens of links to video tutorials and more!

3D modeling and animation tools

Blender InterfaceI researched about almost every 3D tool and installed the following ones (trial/demo versions, except for Blender):

  • Blender 2.49 and 2.55: both scared me off because once you open it it looks so complex and confusing (even more in case of version 2.49), but it’s FREE and has tons, tons and tons of tutorials.
  • Cheetah 3D: it’s OSX only and WOW what a nice piece of software, so compact, clean and cheap (~$149), not so many tutorials, but the few available cover almost everything.
  • Silo: another clean and cheap one (~$80), with nice video tutorials (for every level) from the official site. And from reading on the Unity forums, it misses some features which makes you still use another tool like Blender or Cinema 4D together with Silo.
  • Cinema 4D: very nice with thousands of learning resources, but the price is too big as I just want to try.

I also took in consideration the Unity support: Blender, Cheetah and Cinema are naturally integrated with Unity (check this nice comparison: 3D Modeling and Animation on OS X). Pull off Silo from the list (it is possible to use it or any tool with Unity but for these “non native” tools you need additional work and as a beginner on the subject I prefer to skip everything “additional” for now). Also skip Cinema 4D due to its price.

Blender and Cheetah 3D left. I sticked with Cheetah 3D. The interface is so clean and easy, I also started following some video tutorials pointed on the forums. And almost bought the official training. And was loving it…

Sintel on Blender…until I met this open movie project totally made with Blender and other open source tools. But what really convinced me was watching the one hour long making of. Everything involved is amazing and I thought “wow, this is something everyone can participate”.

Consider the fact of it being FREE, having an huge amount of learning resources and anamazing and also huge community… so why not giving it a try?

And it worked! I’m LOVING it. After just some hours of tutorials I feel so confident with the interface already. I can’t do anything good yet, but I already know the shortcuts and how stuff ties together on Blender. And that’s what I’ll share now: the FREE (hundreds of) learning resources I’m following!

Note: to use Blender 2.55 you will need to do some manual work when importing into Unity, since Unity still doesn’t natively support it. So, as most Unity users that use Blender, I’ll stick to version 2.49 until 2.55+ is supported.

Free video tutorials and courses

These links are posted in my order of preference so far and the order that I’m following, but you can pick any of them.

  1. Blender Underground – Learning Blender 3D: Covers Blender 2.44 (in our case, it is valid for Blender 2.49), I’m still following these videos and they are my favorite so far.
  2. Blender 3D Design Course: A MASSIVE amount of videos and exercises. As the title implies, it’s a complete course (2.5+).
  3. Blender 3D Design, Spring 2008 – Tufts OpenCourseWare: another MASSIVE amount of videos and exercises (2.4+).
  4. A Detailed Overview of the Blender Interface: 23 minutes of interface coverage (2.4+).
  5. Blender Cookie – Getting Started with Blender: looks good, but they charge for part of the content (2.5+).

Free books and general references

  1. Blender HotKeys In-depth Reference: the most important PDF I found, with every Blender hotkey (be prepared for a massive information overload).
  2. Hotkeys Map: the hotkeys mapped on a keyboard image – easier to follow than the PDF.
  3. Book – Essential Blender: a wiki-book available in the official site.
  4. Book – Blender 3D: Noob to Pro: another wiki-book.

Tutorials and community sites

Paid resources

Merry Christmas!

Christmas arrives in two days: MERRY CHRISTMAS EVERYONE! And if for some reason you still haven’t checked my Christmas Games, give them a try! Santa in a Hurry and Present Catcher (universal, Game Center, Retina Graphics): http://karnakgames.com/christmas.

Also remember that I’m running an iTunes Gift Cards contest! It’s very easy to take part: just follow me on Twitter and RT a message. Details: http://karnakgames.com/christmas.

This post is part of iDevBlogADay, a group of indie iOS development blogs featuring two posts per day. You can keep up with iDevBlogADay through the web site, RSS feed, Twitter.

Santa in a Hurry submitted to the AppStore! Screenshots and details!

 

Yesterday I submitted Santa in a Hurry to the AppStore. Now let’s hope that it is approved in time for Christmas! Also, I’m doing a promotion where you can Win iTunes Gift Cards and Game Promo Codes. Access http://www.karnakgames.com/christmas for details!

Gameplay video:

Screenshots:

Complete details about the game on its official site: http://karnakgames.com/christmas

GIMP for Pixel Art: Shortcuts, Setup and Tips

 

Almost every time I see someone talking about GIMP is that it has an awful interface or that it is difficult to use, or they just say that GIMP is a bad piece of software. I was one of these complainers. But since I’m doing some pixel art to my game, I decided to give another try to GIMP (and I’m loving it).

I could use Inkscape, but it’s a vector tool. The day before I complained about GIMP on Twitter, Québarium wrote a post about using Inkscape as a effective tool to game graphics (well, that applies to any piece of software, you just need a lot of practice and patience). So I thought, why not giving a SERIOUS try to GIMP this time? The fact is: I have never tried GIMP for more than 5 minutes before giving up, and I think most of the persons that complain about GIMP don’t give it a chance either.

Give it some time, and the fact is: it is fast to get used to its interface, just customize some shortcuts, get used to this and that and you will start loving (or at least being friend of) it.

Getting Inspired

First, let’s watch some casts of Game Producer doing pixel art with GIMP:

More from him: Robot Pixel Art (1/2) and part 2. Now, let’s see how to do this!

Download GIMP

Enabling the Command key for GIMP under OS X

This tip applies to users of both Inkscape and GIMP under Mac OS X (if you are a Windows user you can skip this section). They aren’t native applications and depend on X11, so the Command and Option key don’t work. Since we are used to CMD+C and CMD+V to copy/paste, using CTRL+C, etc can be annoying or take some time to get re-used. But there is a solution for this.

Close GIMP and open you preferred text editor and paste this:

clear Mod2
clear control
keycode 63 = Control_L
keycode 66 = Alt_L
keycode 67 = Control_L
add control = Control_L

Save it in your home directory (~/ or /Users/yourname/) and name it .xmodmap (if the editor asks about it starting with a dot “.”, keep it). Now open X11 (Applications, Utilities, X11), open its Preferences and uncheck all checkboxes:

Now let’s finally start into GIMP.

Setting up GIMP shortcuts similar to Photoshop shortcuts

You can skip this step if you are satisfied with GIMP shortcuts. But it’s possible to setup it to have almost the same keys as Photoshop, which I am totally used and I feel it’s easier to work it, even more when working with Pixel Art when we use Pencil and Eraser almost 90% of the time.

Go to Edit – Keyboard Shortcuts. On the Configure Keyboard Shortcuts dialog you can easily find a tool or action within the Search box:
GIMP - Configure Keyboard Shortcuts

Using the search, find and change the following tools / actions:

GIMP Custom Shortcuts

GIMP has already some familiar default and useful shortcuts for pixel work:

GIMP - Default Useful Shortcuts

* I’ll explain these later.

Change some Preferences

The following Preferences changes could add some productivity to your work. Again, change as you wish. Go to Edit – Preferences and:

Under Environment, change the minimal number of undos to 50 and up the maximum undo memory, depending on your computer capacity:
Gimp - Preferences-Undo

Under Default Grid, change the “Foreground Color” to a bright gray:
GIMP - Grid Color

Under Toolbox, check “Set layer or path as active“: when you click on a layer with the Move Tool, it will select that layer, and you will be able to move/edit it without the need to go to the layers dialog:
GIMP - Move Tool Preference

Tips to work with Pixel Art on GIMP

NOTE: None of the “tips” explained is new nor GIMP exclusive, remember that the purpose of the article is to show how to do these stuffs with GIMP and how they can help while working with pixel art.

1) Real size preview

Editing Preview

Since to work with pixel art you have to deep zoom in (normally 1000%+), you can’t really see how your final image is, then we need a real time preview for our image. In your image window go to View – New View. In the new window, set the zoom to 100% and go to View and uncheck Show Selection and Show Grid. Resize and position the preview window below your work window.

2) Easy access to palettes

One of the most important things when working with pixel art is the color palette. GIMP has a cool palette control. To always have the palette window at hand, go to the Toolbox window and click the “Configure this Tab” button Configure this tab buttonAdd Tab – Palettes.

Palettes - Tab position

The palettes tab probably will be added as a tab with the “Tool options tab”, click and drag it to the line above, so it will stay in its own line:

Drag palettes tab

Now double click any palette. A new window will be opened with the selected palette. Drag this window so it turns in a tab at the right side of the palettes tab:

Drag Palette to create a tab

3) Importing and generating palettes from images

You can create a palette adding color by color: Palette – New and add color by color or you can import a palette: right click in the palettes tab and “Import Palette“. In this dialog you can generate a palette from a gradient, from an Image (note: the image has to be already opened in GIMP) or a palette file.

4) Setup your pencil and eraser

Pencil Brush

Pencil and eraser are pixel artist’s main tools, so we need to setup them. Select the Pencil (B) and in the tool options select Brush – Circle (01). Select the Eraser (E), the same brush as the pencil, mark hard edge and uncheck Anti erase.

5) Color variation for shading

While you could have setup all your image’s colors in the palette you can also decide the colors while working on the image. Let’s say you are drawing a tree and while shading it you can’t decide which tons of green to choose: then lower the opacity of the pencil tool!

Same green, 3 different opacities:

Pencil Opacity

The other way of doing real time shading is using the Colorify tool. With the layer you want to shade selected, go to Colors – Colorify, click on “Custom Color” color and pick a color. Shading done! Anyway I prefer via pencil opacity.

6) Quickly drawing with the selection tools

Use the rectangle (M) or ellipse selection (Shift+M) tools to quickly draw large areas and then fill them with the Bucket (G).

To add selections to existing selections: let’s assume you selected a rectangle and you want to add another one on the other side of the image but without losing the first selection. Just hold Shift and draw the new selection:
Selection: ADD

Let’s say you want to remove a small part of a selection: hold Command and drag the selection over the part to remove:
Selection: Remove

7) Where is the line tool!? How to draw lines? How to draw rectangles?

To draw lines, select the Pencil (B), draw a pixel, then hold the Shift key to the direction you want the line:

GIMP - Drawing lines

To draw rectangles, ellipses or even irregular forms (tip 6), use the desired selection tool and while the selection is active, go to Edit – Stroke Selection, select Stroke Line, line width 1.0, open Line Style and uncheck Antialiasing:

Draw rectangles with the selection tool

8) I selected a tool but it is not working!

Since GIMP is not native, it doesn’t work like Photoshop when selecting something on one of its windows: all under the same focus. When you click the Toolbox tool, or Palettes tab, etc, all other windows lose focus, so you have to click your image window once and then one more time to regain its focus to make the new tool selection work. Notice that this isn’t necessary when using shortcuts.

References:

This post is part of iDevBlogADay, a group of indie iOS development blogs featuring two posts per day. You can keep up with iDevBlogADay through the web siteRSS feedTwitter or delicious.

Learning Diary #5: iPhone inspirational stories and Cocos2D concepts

 

26/Jun/10

Developers Stories

  • iPhone Layout

    15 years old spanish teen that made a successful iPhone game and contributes to Cocos2D (wrote CCArray as a substitute to NSArray = performance): Manuel Martínez-Almeida from http://abstractionworks.com/ – I started when I was 8, but with web programming, so very impressive! Congratulations Manuel!

  • The top AppStore sellers have some good inspirational stories: Lima Sky (Doodle Jump – 5 million downloads), Demiforce (Trism – one of the first iPhone game dev and “From Rags to Riches“), Ethan Nicholas (iShoot history).
  • Ethan Nicholas, developer of a tank artillery game called iShoot, told Wired.com he quit his job the day his app rose to No. 1 in the App Store, earning him $37,000 in a single day.

  • All of Pangeasoft‘s (Brian Greenstone) videos are educative, fun and inspirational. Engimo‘s history and video is very interesting. Also don’t forget to check all of his videos.

Cocos2D

Some Cocos2D API:

  • Actions simultaneously: Spawn
  • Actions one after another: Sequence
  • CallFunc: put it as a param to a sequence/spawn
  • Repeat/RepeatForever

General