Mostrando postagens com marcador game development. Mostrar todas as postagens
Mostrando postagens com marcador game development. Mostrar todas as postagens

terça-feira, 27 de agosto de 2013

[QuickTip] SublimeText Build System for Love2D

For those using Love2D as game engine and SublimeText2 as IDE this *.sublime-build can come handy if you want to rapidly generate *.love file for testing. (using command+B in mac for instance)

{ "cmd": ["zip -9 -r --exclude=.love game.love .; ls"], "selector": "source.lua.love", "shell": true }

This will generate a game.love inside your current folder excluding the .love files itself, also will show on SublimeText shell the output of the command.

By the way, if you want to run .love in the sequence just use the following

{ "cmd": ["zip -9 -r --exclude=.love game.love .; ls; /Applications/love.app/Contents/MacOS/love game.love"], "selector": "source.lua.love", "shell": true }
CMD receives a string used in terminal so using: /pathToLoveExecutable name.love; Will call the love executable as you would do in Terminal. 

And that should do the trick ;)

segunda-feira, 29 de outubro de 2012

Using multi touch in CoronaSDK

Multi-touch is a very useful feature for games and mobile apps and comes frees of charge in native applications, but how do you use it in CoronaSDK?

Its simpler than one can imagine.

On your main.lua add the following activation codeline


With this your "touch" listener will have more than one touch in its event variable, an id property is available to identify each different touch.

Ok but it would not be me posting if I let you guys with only that ummm lets say dumb tip.

To try it out create a blank project with a new main.lua and our multitouch activation.

Let us place two round buttons to control a ball that will move it horizontally and vertically when these buttons are pressed. Also add a name variable with a differente identifier for each button, we will use it to know when each one has been touched.


You're probably seeing something similar to this

Now to the moving part.

Create a function for listening the touch actions and add it to both buttons.



When you execute it in the CoronaSDK Simulator one thing will come to mind: "How the hell I test it if I can only use single touches?"

Yes my friend that is an annoying problem, you will have to build your application and test it directly into your device. If you don't have one I suggest you to check if corona ultimote or luaglider (cider) have anything useful on this case.

Happy touching.

quarta-feira, 11 de julho de 2012

Using sprite sheets in CoronaSDK

A thing that is very common and useful in game development is the application of sprite sheets. Most of us make of this a day-to-day tool, but some don't know what it is or how to use it depending on the platform or because of any other problem.

So before we start I'm going to give quick defs.
- Sprite - its the assets representing an image in your game. Like an 1up mushroom from SMB.

- Sprite Sheet - its a group of sprites in a single file, can represent various animations or simply a group of static images used in the game. Like the zero sprite sheet bellow.

For the first demo we're going to use a classic character the jelly!

The jelly sprite sheet is equally divided, that way we don't need to care about specifying each frame individual settings.

Start importing the sprite classes from CoronaSDK, they are required to our code.



Each jelly sprite has 37x47 and we have 16 frames on our sheet so Corona needs to be informed of this, for that purpose we use a simple lua table.



Now we can call the graphics.newImageSheet using the sprite sheet filename and our table.



So we have our sheet with a few lines, now we need to specify the frames we want to display and create the image onscreen.



If you run now the simulator now the jelly will appear correctly in the screen but won't animate. Try to add sprite:play() after the scaling code line and watch our jelly flick like craze in the screen.

Lets improve our sample and change our animationData table to the following



Now our jelly feels more "natural". Why is that?

That happened when we added a time for our "walking_down" animation, if you play with it you can speed it up/down, don't forget that the time is given in miliseconds.

 Still we can't switch between animations.

For that purpose we need to improve our code with a couple of lines. Begin changing the animationData to



And to see the changes add some touch logic after the sprite:play() call (in fact you can even replace it)



When you touch left or right of our jelly sprite you'll see it change bettwen walking_left and walking_right animations. That was achieved using sprite:setSequence("animation_name") method.
After calling setSequence on a sprite is necessary to call play() if you want it to run the animation otherwise it will switch to the first frame (start parameter for example) and stay still.

Now it feels better uh, but wait! What if we move our jelly while animating?

Insert a transition call after onTouch sprite:play() line like that:



With these basic steps you added a sprite from a sprite sheet in the screen and made it move left and right.

Hey but it isn´t over yet! When the sprite sheet is like zero sample (from megaman, remeber?) we have to use more complex info on sheetSettings variable and also when we have non sequential animation we need to be more specific on our animationData variable.

Using short samples our animationData could have it walking_left animation re-written to



What we did here is jump through frames 5,2,7 and 3 always in that order for 800ms 2 times.

And to keep things simple, instead of given a gigantic sheet lets imagine sheetSettings can be re-written with every frame of our green jelly that we already know.



Even though this is useless in this case, we can use it for more complex sprite sheet images.


Last question before letting you code for yourself: How the hell am I supposed to build these sheets?

Well you can use some useful tools, let me give 2 hints:
- Texture Packer
- Zwoptex


Leave your questions and thoughts and happy coding!!

quarta-feira, 28 de março de 2012

Lessons learned - Get in the Games Industry

*Procurando pela versão em português? Acesse o NextLevel *

Hi everybody!

Back there when I was watching some GDC sessions I met Lindsey from 38 studios on her talk about dos & dont's on breaking into games industry.
It was such a good talk that I couldn't let that get away without helping the rest of my fellow companions that are also trying to work with their passion (GAMES YEAH!)

She was very kind to me and gave me all the session info edited in a nice pdf.

Enough with the chat lets go to the goodies.
* Most of these ideas belongs to 38Studios and should not be used without their permission, also this is not exactly their text, I mixed some of my ideas too*

Top 5 - Good ways to network

# 5 - Apply directly
- Try gamedevmap.com for info on companies in your area
- Try jobportals. I'd personally recommend: gamasutra, Edge jobs and Games Industry Jobs
- Try submitting resume in events (GDC for instance)
- Try job fairs

Tips:
- On interviewing be prepared to make tests, specific tests, tough tests!
- Prepare a list of questions that you want to make. That way is easy to talk with the interviewer.
- Always, I said always ask for feedback, that shows you're concerned about improving yours skills and also commitment.
- Don't be afraid of picking jobs that aren't initially on your area of specialty. You can start as a QA and try to build up your way to the top, being in the industry is the best way to get a job in the industry (I know it sound strange but is true).

#4 - Social Networking
- Prepare your linked in/stackoverflow account. Don't have one? Stop right now and go signup! (kidding just continue reading ok?). Put everything that matters on your account, don't use it for friends stuff, this is pros place. Events, games, prototypes, recommendations, school, jobs, everything goes here!
- Twitter. You have two options here go pro with your personal account and add companies, team members and job accounts OR Make a professional account where you follow and post only job related stuff.
- Facebook and Google+. I don't really like this option since basically they are personal social networks, but if you want to try them look for apps that target business contacts like BranchOut on FB or build business circles on G+. And please keep embarrassing stuff out of the internet.
- Look for other networking sites, there is lots of stuff happening out there on the web.
- Try placing your demos, prototypes and other related videos on youtube. That will make your name a little more findable on the web and also will show off some of your talent.
- Have a blog! This way you can express yourself about everything you have learned so far, show a portfolio, share experiences. Just remember this is public so be careful on what you write on it ok?
- Playing Games...what? Yes most of the people in game industry play something, so you have a chance of meeting someone online.

#3 - Groups and Communities
- game dev clubs & competitions. Pay attention to game jams they are extremely crucial for getting attention and improving yourself, also is a good way of knowing new people or forming a group of friends. Compohub have mapped some game jams.
- modding communities. This is a good way of starting, here apply the same tip as the previous one.
- if you're an artist check  digital art communities & competition, like CGSociety, CGHub, and Ani-Boom.
- Be part of game development groups like IGDA, WIGI and others.
- This falls on some other tips: volunteering - community management, events, or beta testing. Playing, modding and making games are some effective ways of breaking in.
- Depending on which forums & fansites you post into you can use it on your behalf. Just remember to build constructive and valuable posts, that way even if you're not saying that something is good try to be adding a point of view and a suggestion of improvement (be nice devs/artists have feelings too).

#2 - Conferences and Events
- GDC, GDC Online, a bunch of others.
- Consumer Shows (PAX, E3, etc)
- University-hosted events
- Networking events/parties and meeting
-  Developer open houses/portfolio review

Tips:
- It's not easy to go into these places and probably that would require some money (often more than you could afford), but if you can be prepared with cards and firm handshakes.
- Take into account each event situation, consumer show isn't hiring centered but GDC has its career pavillion.
- Don't be shy and make them remember you (in a good way)

#1 - Friends
- This may sound silly but having friends that work in industry can help you to be a step ahead. If you made all your previous lessons and have enough good background your friends will talk about you when the time come.
- A huge tip: there is no point of having a friend on Blizzard (pick any company here) if you're not even trying to be an awesome developer/artist/your role here. If you're good at something your friend will talk about you, don't insist from five to five trough sms asking him "Can you talk to your boss about me?" or  "Hey a need a job can you lend me a hand", just let him know once what you're doing. After all you're already friends right?


Top 5 Worst Ways to Network
#5 Inquire through inappropriate means
- Follow the procedures and instructions on job pages, they are there for good reason. If someone asked you not to call don't call.
- Avoid spamming developers, if they don't answer you probably they are to busy to do so, give them time. Also never stop by a studio and hassle people, that is ugly (bad bad professional no donuts for you). There are good ways of meeting people, Lindsey provide some in her document.

#4 Have someone else do all the leg work for you
- Basically don't cheat, meet the people and maintain relationship by yourself. It is your job to get hired not yours girlfriend/friend/parents.

#3 Don't make promises that you can't keep
- If you send an email to someone and that person don't answer you then you get sad with him right? So why would you do the same? If you going to promise something remind of actually doing it, give back what others have given to you, isn't that hard.

#2 Lie
- Again, don't cheat, the industry is small when bad things happen (truth rides a turtle and lie rides a fast airplane). Try to make yourself clear on what you're saying and is better not to get a job than be on a negative situation because of a lie in your resume.

#1 Point fingers or take it personal
- This is the best way to not get a job and even curse yourself. I'll quote Lindsey exact words "This industry WANTS you to succeed. Recruiters want to hire you, Developers want to know more about you, people want to interact with what you create. But there’s a time and place for everything, and even rejections are a part of the process. Keep in mind that it’s rarely about you."
- What she says is a fact if you destroy you own roads instead of building them to new cities how you think you going to get where you want?


There are more must read tips and goog examples on Lindsey`s pdf, so please read it all and you won't regret it I promise.
Get it here

Again a special thanks to Lindsey and 38studios, thank you!!

If you want to know more or just talk about it I'll be glad to do so, just send me an email vitor.navarro87 at gmail.com

terça-feira, 27 de dezembro de 2011

Who said developers can`t draw?

When you`re indie or in short of good designers or both you start to get your drawings done yourself or by another developer or non-designer role in the team (if there is any team), but you always say ok it`s good enough this way but the truth is that the art bad, really bad...
That happens because most of us don`t improve our arts skills or at least don`t try a little bit harder.

"SpriteAttack" on 2D Game Art For Programmers from a artist try to lead us in the right tracks. Bellow are two images that I made based on his tutorials.



Before you leave this post download Inkscape, its the software used in the tutorials, is supported in Windows, Linux and Mac OS oh and is free (open source ;D)... Is very easy to use, better than gimp in my opinion and for those who are used to Illustrator, Photoshop or Paint.NET is a even easier to work tool. Put it on your dev-tool-belt right away private!

Go on now and give it a try, the worst that can happen is having some fun.

quinta-feira, 22 de dezembro de 2011

First Game - Candypot! for Android

Hi everybody!

I coming here today not to put up my opinion or review a game, instead I'm here to show my first official game released: Candypot!

It's a casual jewel game, in our case candies made of fruits yummy!!!! It has lots of power up jewels, they are surprise (I won't spoil), it integrates with PlayPhone (which is our publisher), is hell of fun and it's free-to-play!!!

I worked on the Android version and we have a Facebook version too... can't confirm but I hope we can make an iOS version soon....

Hope you all enjoy it, please post as many comments as you like it I'll be glad to anwser ;D

https://market.android.com/details?id=com.playphone.games.candypot
https://apps.facebook.com/candypot/                                     













quarta-feira, 21 de setembro de 2011

Apps for iOS - Jetpack Joyride


We are used to lots of apps every month but some times one or another really does all that "OMG THAT`S AWESOME!" and Jetpack Joyride from @halfbrick is exactly that kind of app. Congrats @halfbrick team, this is a great and inspiring job for us devs and gamers.

It`s as simple as a running game with a cool machine, rainbow, shark and other jetpacks, some machine to ride and lots of awesomeness. The game is very beautiful, his background goes fast backwards in parallax movement (different speed for each background layer) while you go forward flying or riding a hot machine. The characters have expressions in their movements, even being a little small, and the animations are smooth.

Its very easy to play, your only command is up and down holding or releasing the touch screen, if you catch a ride a nice machine will appear and touching transforms in the machine command. Besides the music and the sound effects are nice too, sometimes the music starts to repeat to much but you never get  tired of it since you probably will have breaks between one play round and another.

Oh and there is all those kick ass itens like dynamites, head starts, golden machines, new cloths and new jetpacks, and more. And if you get a special x coin you can spin the machine to get a prize after you die, sometimes you can revive others you`ll simply explode with bombs and get shot a little further in the level.

The screen video bellow show a friend o`mine playing on its ipod touch and the other video is the official trailer. The last message I have to give you all, if you play this you won`t stop playing....don`t say I didn`t warned you.



quinta-feira, 7 de julho de 2011

Competição E-games do Senac

 O e-games é um concurso cultural que promove o desenvolvimento de jogos eletrônicos (vulgo game para os íntimos) e está em sua 3º edição. Recomendo participar pela experiência, visibilidade e principalmente diversão.
Segue uma parte das regras de participação e os prêmios.


e-Games - Concurso de Desenvolvimento de Jogos Digitais do Senac São Paulo (3ª edição)
Mais informações do evento e todo o regulamento consta no site e-games
Participantes:
Poderão participar do e-Games pessoas físicas maiores de 14 (quatorze) anos, com cidadania brasileira e residentes em todo o território nacional, individualmente ou em equipes com até 3 (três) integrantes, com qualquer nível de escolaridade e atuando em qualquer área do conhecimento.

Os participantes devem concorrer com apenas 1 (uma) única inscrição e com jogos que ainda não concorreram ao e-Games em edições passadas. Os jogos e seus documentos auxiliares deverão ser desenvolvidos obrigatoriamente em língua portuguesa. Caso o participante tenha feito sua inscrição individualmente, não deverá também fazê-la como integrante de uma equipe e vice-versa.

Categorias:
A participação no e-Games deverá acontecer de acordo com as seguintes categorias:

5.1. Categoria Vídeo Game & PC
Os jogos desta categoria devem ser obrigatoriamente criados para rodar em uma das seguintes plataformas:

·         PC - Windows Vista
·         PC – Windows 7
·         Video Game - XBOX 360

Eles podem ser desenvolvidos utilizando qualquer tecnologia, como por exemplo:

·         XNA
·         C
·         C++
·         Flash
·         Java
·         Silverlight


5.2. Categoria Mobile
Os jogos desta categoria devem ser obrigatoriamente criados para rodar em uma das seguintes plataformas:

·         Mobile – Iphone
·         Mobile – Windows Mobile 6.5
·         Mobile – Windows Phone 7.0

Eles podem ser desenvolvidos utilizando qualquer tecnologia, como por exemplo:

·         XNA
·         C
·         C++
·         Flash
·         Java
·         Silverlight


5.3. Categoria Jogando na Nuvem
Para esta categoria os jogos podem ser criados em qualquer linguagem e podem rodar em qualquer plataforma. A única exigência é que o jogo tenha uma integração com Windows Azure, utilizando a plataforma de Nuvem da Microsoft, o que pode ou não contemplar SQL Azure.

Premiação:

1° lugar – Categoria Vídeo Game & PC
XBOX  360 
Troféu e-Games 2011

1º lugar – Categoria Mobile
 Ipad 2 
Troféu e-Games 2011

1º lugar – Categoria Jogando na Nuvem
XBOX com Kinect
Troféu e-Games 2011

2° e 3º lugares de todas as categorias
Troféu e-Games 2011
Livro da Editora Senac  

sexta-feira, 27 de maio de 2011

I want to use Lua....but what about the IDE?

I think that the title said it all, you look to Lua as a good language to create whatever you're planning to, but then you face a neat problem: The IDE.
This post is dedicated to Lua devs and game devs, specially those that decided to use Corona SDK as an application platform (more game SDK than app SDK).

The steps to follow are:

  1. Download and install IntelliJ Community Edition or pay for other versions (is not really necessary if you don't really need) from here http://www.jetbrains.com/idea/download/index.html
  2. Download Lua plugin for IntelliJ here http://plugins.intellij.net/plugin/?idea_ce&id=5055
  3. Now unzip Lua plugin and copy IDLua folder to intelliJ's plugin folder in a path like this C:\Program Files (x86)\IntelliJ IDEA Community Edition 10.5\plugins (is very likely that your folder path is another one)
  4. Open IntelliJ and access Settings in the file menu or type Ctrl+Alt+S. In IDE Settings section you'll see the Plugins area, click it and check if Lua is listed on the right panel. If isn't appearing there try to install trough available list or follow this tutorial https://bitbucket.org/sylvanaar2/lua-for-idea/wiki/Home
  5. Hey its done!!! When you start project creation you'll see Lua option in the list...
Now for Corona SDK
  1. Download the Corona SDK for IntelliJ here https://bitbucket.org/sylvanaar2/idlua-sdk-corona/wiki/Home
  2. Unzip the package into a fixed place, this means that this folder (Corona SDK for IntelliJ) must remain there as long as you're using it with the IDE
  3. After creating the project you will work into select project's root and type F4 to access project structure.
  4. Here click in SDKs in Platform Settings section and in Lua sdk add a new Classpath, in this case the path to your Corona SDK fixed folder.
  5. Ready to rumble!!! Now you have intellisense for Corona code and the documentation (type ctrl+q to access it)
Note: You must add SDK's and API's in every project you need them.

If you have any problems adding sdk's and api's follow the tutorials bellow or email me: vitor dot navarro87 at gmail dot com 

sábado, 30 de abril de 2011

More pixel Art!!!!

The guys from Contra 4 Team made this awesome Thor pixel art sheet that is usually used to make games and also this can be a preview of a possible thor game...or is just a very cool pixel art.

domingo, 20 de fevereiro de 2011

XNA Adventures: Building a Sprite Class

Hi everybody!
After some time playing with XNA I decided to start spreading what I know so others don't need to suffer in some problems and can enjoy as much or even more than I'm enjoying play with it.
In this first tutorial I'll show you something very basic that is a simple base Sprite class that you can expand or use in any project (I'll use it in my next tutorial to show 2D animation).

Requirements:
Visual Studio 2010 or 2008; (I'm using VS2010)
XNA 4.0 or 3.x; (I'm using 4.0 so somethings might need changes, just ask me if you got any problems ok?)
Start by creating a new windows game project in visual studio then create a new class named Sprite. This class will be the base for any sprite (i.e. char sprite, life sprite, background and so on) that you create so don't add any specific logic here.

A sprite needs a texture (the image), a position, a size, a scale and his asset name. Let's add them as attributes

The properties are now in their place but we don't set any of them, we're going to do this using two methods: Rescale and LoadContent
-Rescale: This method will verify if the texture exists and then will rescale the image trough Size property; -LoadContent: This method will load our texture and rescale the image properly calling Rescale.

Ok almost there, we just need to draw our sprite and update it so it'll be prepared to future movement input.
To achieve that we will add two drawing methods and one update method.
-Draw: Use a SpriteBatch.Draw method to draw our texture in the screen;
-Update: Change position using sprite speed and direction and the game time.
The drawing method should be like this

Basically the parameters we're passing to SpriteBatch.Draw are:
-Texture: _spriteTexture;
-Position: Position;
-SourceRectangle: sourceRectangle; This represents the area of your image that actually will be draw to the screen, everything that is not inside this rectangle will be ignored.
-Color: Color.White; This is the a color to tint your sprite. Use white if you don't want to add any color layer to your image.
-Rotation: 0.0f;
-Origin:Your sprite origin, in this case it will be upper-left corner (0,0).
-Scale:Scale;
-SpriteEffects: flip your image here or use none;
-LayerDepth: xna draw textures in layers, use 0 so xna organize the layers or specify a number to set your texture layer;
To finish our Sprite class we only need an update method

From here you can change and adapt it as you desire.
If you just want to test it go on and change your Game class with the following code

That's it guys!

quinta-feira, 29 de outubro de 2009

Good Bye PopFly

I've runned to my game at popfly today only to discover that Popfly Beta doesn't exists anymore, that makes me very sad....
PopFly Blog

For those who share the passion for making games, please try XNA,KODU, GameBuilder at NetBeans with Java Programming language or just C++/C#/Java games in general at GameDev, this good site for beginners and seniors at game developing =D.

Good Bye PopFly rest in peace....XD