Planet Bit Games

Navigation Menu

How to Lose the Fear of Learning Programming for Video Games

Posted by on Nov 6, 2013 in Game Development | 0 comments

howToLoseFearToProgram

This is the path I’ve taken so far and has helped me lose the fear of learning game programming and feel more confident to continue. Learning by yourself is not easy and requires a lot of discipline and dedication, the good thing is that it has a much lower cost compared to a formal education in programming (like going to University). For those who find it difficult to focus the Pomodoro technique will help you on your way.

It is important not only to learn how to write in a language but also to know the theory and foundations of programming. These fundamentals are the same to almost all programming languages ​​and classes from Professor Simon Allardice at Lynda.com are very good explaining the concepts. This road is to develop games based on Unity with C# language but you can apply it also for programming in general. At first you will not understand everything, and that’s fine, but the moment you learn the same concepts from different sources you will have a better understanding of each topic.

The Way to Lose the Fear of Learning Programming  for Video Games

First Step – Enter the Matrix

Getting Started with Programming – Code Academy

 

Concepts and Foundations 

Computer Science 101 – Stanford – Coursera

Foundations of Programming: Fundamentals – Lynda

Foundations of Programming: Object-Oriented Design – Lynda

Learn to Program: The Fundamentals – University of Toronto – Coursera

Foundations of Programming: Code Efficiency – Lynda

Foundations of Programming: Databases – Lynda

Foundations of Programming: Test-Driven Development – Lynda

Foundations of Programming: Refactoring Code – Lynda

 

C# Programming

Introduction to the C# Programming Language – Microsoft

C# Intro – Riddlersoft

C# Essential Training – Lynda

Beginning Game Programming with C# – University of Colorado System – Coursera

 

Unity 3D Learning

Unity 3D 3.5 Essential Training – Lynda

Level Design Basics in Unity – Lynda

Beginner’s Guide to Unity – Digital Tutors

 

Version Control (optional)

Try Git – Be introduced to the basic concepts of Git version control – Code School

Fundamentals of Software Version Control – Lynda

It is important not only to learn how to write in a language but also to know the theory and foundations of programming (this will help you a lot). These foundations and concepts apply to almost all programming languages ​​and courses from Professor Simon Allardice at Lynda.com are very good explaining those concepts. This path is based to develop games in Unity with the C# language but that is not the only way to develop games. At first you will not understand everything, and that’s fine, seeing the same concepts from different sources will help you to have a better understanding of each topic.

After completing these courses you will feel more confident so you can keep learning more. If you have trouble perhaps a formal education program may be the solution, but learning on your own is a low cost alternative for those who can not afford that kind of education or just want to learn specific stuff. As a last tip have a lot of patience, do not try to use shortcuts, practice often and step by step, learning new things every day that will help you on your quest of developing video games.

Finally something that can help a lot is having a programmer friend or contact who can guide you on certain things, in my case I was lucky to have @androbtech who patiently guided me along the way.

=====================================================

Follow us on Twitter @PlanetBitGames
Join us on Facebook Planet Bit Games

Crowdfunding Tips & Tricks – Funding For Indie Game Developers

Posted by on May 22, 2013 in Game Development | 0 comments

Presentation done for Drabcon Conferences in @spaceapps Event in Ecuador.

With the growth of the Internet in recent years there has been possible a new form of financing, known as crowdfunding. Independent video game developers around the world have adopted this model unlike traditional funding to have more freedom and power to realize their creative projects.

Follow us on Twitter @PlanetBitGames
Like us on Facebook Planet Bit Games

First Prototype of Baison’s Tower

Posted by on Dec 7, 2012 in Game Development | 0 comments

Here you can play the first prototype of Baison’s Tower, the first game of Planet Bit Games (generously sponsored by the great León Posada G.).

I used Construct as the engine to create the prototype and test the gameplay. Some mechanics have been balanced as the changes in animations from jumping to falling and the feeling of climbing the tower. Some may recognize the music of Wizard & Warriors, a game where I’m getting some inspiration to create certain levels (of course without all the frustrations of the NES game). Thanks to David Hellman for letting use the assets of Braid to develop prototypes.

Follow us on Twitter @PlanetBitGames

Like us on Facebook Planet Bit Games

Indie Game Development Resources And Links

Indie Game Development Resources And Links

Posted by on Oct 11, 2012 in Game Development | 7 comments

This is a roadmap to develop games primarily as a Hobby  in the style of DIY (Do It Yourself ). Being a hobby does not mean that your games can not generate money later. Note that this is not a guide to create video games in 24 hours, instead it’s a roadmap that will take you months but you will learn programming, art and make awesome  and better games.

A key part is knowing English, most resources, tutorials are in English. It would also be ideal as the default language of your game to reach more gamers.

On one part, the roadmap splits between using a 2D or a 3D engine. This is a very important decision, since the scope of your project will change accordingly. 2D Projects can be made with a single person or a very small team, can start with simple art, pixel art, or your own scanned drawings. 2D programming and mathematics will also be less complex inside the 2D engine.

Instead the 3D route is the most complex, as hard as fighting a Metal Gear, if you do not have Grey Fox on your side probably the 2D route could be better to start. You have to model 3D characters, bones and rigging systems, UV textures, 3D physics and dynamics, and many complicated things that can go wrong by adding another dimension. I do not include tools like Zbrush or Mudbox in the workflow since that will increase workforce needed to complete a standalone game. So if you are on the 3D road think games like Rush, Shatter, Bob Came in Pieces, etc. instead of trying to make the next World of Warcraft, Uncharted or Metal Gear Solid. This last group of games can take five years of development, with 1,000 professional employees and a $ 50 million investment, keep that in mind.

Regarding the music is recommended that someone with more experience in that field it’s in charge of that, but you could try to compose some tunes if you wish.

It’s better to start with the first tutorial of Construct and then alternate these with readings of Game Design, Indie Game Development and Business & Marketing.

Update: I updated the roadmap to develop independent 2D games in Unity 3D. After done some researching and see some examples of 2D games being developed in Unity, I can say that it is entirely possible and a good choice, since apparently Microsoft is not updating XNA to support new DirectX and other technologies. On another side Unity has a great community, with many books, tutorials, and plugins that will help you work with 2D sprites within the engine, and is always updated. Another advantage is that if you want to create 3D games after making some 2D games you do not have to learn a new engine or language since it works with C# too. The only downside is that you have to buy a license for Unity Pro

And most important: have fun and love what you do.

Follow us on Twitter @PlanetBitGames

Like us on Facebook Planet Bit Games

Indie Game Development

First of all it is good to do some research on what you’re getting into. The game development and especially the indie one takes a lot of dedication and discipline. Understand that an idea is not a video game and be realistic to what you can achieve. Here are good reads about it.

Business & Marketing

Video games are an industry like any other. Many think that creating video games it’s just about playing the whole day playing and money magically falls. But for that to happen you first need to plan how you will sell your game, know about digital distribution sites that will allow your game to be sold. Understand that these places will get a commission (sometimes up to 50%) of the total value of your game. And that to reach more gamers you need to create a community following your updates (the whole social media crap).

Game Design

The heart of your game. Where all ideas and creativity comes together to create the gameplay. Inside Game Design there area other areas like: level design, game writing, world creation, user interface design, content design. The Game Design is an iterative process, that means that it will change and improve while you are developing the game, so do not spend months doing a game design document that will change anyway when the game takes more shape. And remember that it’s important to also learn how to code and make art, so you know  how much it would take to do what you’ve designed or if it’s realistic what you have in mind.

Construct 2

A program that allows you to make 2D games with the option to export for web without the need of programming skills (or very little). I include it because it’s a great way to create your first game quickly and the feeling that you are actually making something it’s great.

UPDATE: I added more tutorials, including simpler games like Breakout, PacMan, Tic-Tac-Toe, which seem silly but you will learn basic programming and gameplay concepts.

Published Games

Just with learning you are not going anywhere, you have to publish that damn game. Always create new prototype games and finish the ones with more potential. Publishing your initial games will help you grow a community that follows your games and you will gain confidence to start new challenges. There is no point having them hidden in your drawer. Start by creating one simple and minimal game in Construct, publish it and then make another with more advanced engines. But if you can not at least create a simple 2D game like Breakout or Tetris, it will very difficult to develop your dream game in Unity.

Programming Foundations

Programming is not just learning a language, there are certain concepts that you need to learn before talking to machines. If you do not want to learn to program, then indie game development is not for you. The point is not to learn to be the best software developer in the world, but to be able to create your own prototypes and video games without depending on others. It is one of the most powerful skills that you must learn.

C#

A language created by Microsoft that is widely used in the field of games, not as complex as C++ but enough to be able to develop games for consoles, mobile and web.

Music & Sound

Music and sound, a very important part of your game. At the beginning you can use stock sounds and music, and when you have more experience you can try creating your own sounds and music. If everything fails then there is always the friend who knows how to compose.

Art Foundation

Like programming, art is not only knowing how to use a program. Photoshop and 3dsmax are just tools but good fundamentals of art will help you become a better artist and know why you’re doing what you’re doing.

Photoshop (or others) for 2D – Pixel Art

Pixel Art is an art common in independent games. It doesn’t have all the complexity of 3D art and also you can get fun graphics.

Photoshop for 2D – Digital Paint

This requires more skill and practice. But as the great Iain McCaig said: “Everyone can draw”, so draw only one hour per day for 6 months and you are good to go!

XNA

The framework (not to be confused with language) created by Microsoft to develop games for Xbox 360 and Windows. There are also developed tools to port your game to Mac, Linux, iOS and Android. While you can create 3D games with XNA is mainly use for 2D. Examples of games created with XNA: Bastion, Fez, Dust: An Elysian Tail.

3D Foundation

Before entering 3dsmax, Maya or any 3D program, it’s good to know the basics, fundamentals and concepts so you are not lost.

Photoshop for 3D

Learning Photoshop for 3D production is quite different than learning Pixel Art, there are more things to learn as handling textures for 3D models and retouching images.

3dsmax

One of the most used 3D software in the movie and games industry. Learning the basics is easy, you can create primitive shapes for your games with few polygons. But making models like Uncharted, is another thing, and you will need a battalion of people to do it. One free alternative 3D software is Blender.

Unity 3D

Lately Unity is gaining more popularity for its continuity and support. Although you can create games with 2D sprites in Unity it’s specialty is being a 3D engine. The advantage is that you can port your game to a wide range of platforms such as Android, iOS, Windows, Mac, Linux, PS3, Wii and Xbox 360.

Unity 3D (for 2D)

Doing a little more research I found that with Unity 3D you can develop 2D games (with the help of some plugins). One of the most used plugins is 2D Toolkit with the ability to create 2D tiles and sprites.

More Unity 3D

Unity is a large engine, continue refining your skills.

More Unity Tutorials

Troubleshooting

At some point you will be stuck, don’t worry, usually someone had your same error and solve it, Google it. Also you can ask on StackOverflow a large community of programmers.

Resources

Take the red pill and enter the Matrix.

Follow us on Twitter @PlanetBitGames

Like us on Facebook Planet Bit Games