Category Archives: Programming

logotitle350w

Poked at Javascript or PHP? Want to Try Game Development?

I have a “Crash Course” video tutorial in game development using Corona SDK (a 2D mobile framework) that’s hosted on Udemy:

Game Development Crash Course

The course is free and even better, can be done using the free trial version of Corona SDK. This is for beginners, but I assume you’ve played around with programming at some point, maybe with QBasic back in the day, or done some Javascript coding on your web site, or similar.

It’s fun, it’s quick, and it should whet your appetite for more game development. ;)

Share

Game Development for Homeschoolers

It doesn’t matter whether a kid is in public school or whether he or she is homeschooled — almost every kid loves computer games. And there’s a certain percentage of those who not only want to play video games, but they want to make them, too.

With the game engines available today that’s completely possible to do at home — and for much less money than most people think. As a homeschooler you don’t have an unlimited budget for curriculum, so I’m going to cover one of the better low-cost options. (And what’s really cool is that option may be lower cost, but it’s the same option professional studios use to create games you see for sale today.)

Creating Your Home Game Studio

While a separate room might be the nicest option, just about everything you require is digital and lives on a hard drive, so even a laptop you carry around here or there will work for your studio. A specific place is nice because having a whiteboard for brainstorming is a great help as well as having wall space for posters that spark your creativity.

While an internet connection is a complete requirement, it comes close. It helps your productivity to be able to look up information in online documentation, or see a sample video, or ask questions of experts online.

Assets: What Your Game Is Made Of

While the source code you’ll write may seem to be the heart of the game, there are two other assets you’re going to need: artwork and audio. It’s fairly easy to make your own simple sound effects, and if you’re talented in drawing or painting you may be able to do the artwork, too. But in many cases the game developer write the code and then plugs in art and sound created by someone else.

That’s one way a group of friends can work together in making a game. If you’re talented in art, maybe you’re the artist for the game while your musician friend creates sound effects and background music. But if you’re a “lone wolf” there are still options.

Hiring someone to create a set of art or game sounds can be done cheaply, but you’re probably going to end up paying at least a few hundred dollars (or a few thousand) for something that’s good quality. If you have the funds for that, it’s a great option because you’ll get exactly what you need.

Limited funds? No problem, there are artists and musicians out there who create game assets that can be used for free. No purchase up front, no royalties later. All you have to do is give them credit in your game, such as in the About box. Just make sure you check their license agreement before using the assets — you don’t want to be surprised later because use wasn’t permitted.

The Game Engine: 2D or 3D

While 3D games such as first-person shooters are very popular, I don’t recommend 3D for beginning game developers for the simple reason that they are very complicated to put together. Not only do you need to write the code, add artwork and sounds, but your artwork relies on 3D models that have to be created. Modeling is a skill that requires at least as much time as programming itself.

Plus, by creating a 2D game first (or always – some people prefer 2D games) you’re learning principles of design and development that will help you no matter what type of game development you do in the future.

Programming: Cranking Out The Code

While there are game development tools that require no coding at all, they’re typically much less powerful than those that require some actual programming. Even someone starting from scratch can quickly learn the necessary commands if the right game engine is chosen.

While some engines use C++, Objective-C, or even Javascript, probably the fastest language to pick up is called Lua. It’s been used for game development for years and now there are several 2D game engines available that use Lua as the language.

The best game engines make it quick and easy to get pictures on the screen and animating. The engine I’ve used for the last half dozen mobile games can draw the picture with one line of code, and animate it across the screen with a second. It’s a great balance of ease-of-use and power.

The Best Way To Learn To Make A Game

First choice is to find someone who knows and have them teach you. If you’re lucky enough to live close to someone like that, take advantage of it! For others, there are books and video courses. I usually suggest video tutorials because seeing how to do something is often the key to really learning it.

Discover how to create your own game for iOS or Android with the Beginning Mobile Game Development video course. http://MasteringCoronaSDK.com shows how easy it is to make your own mobile game.

Share

Free Corona SDK Code and Tips

I have a full video tutorial course on making Business Apps Using Corona SDK (a framework better known for making 2D games) but for people who look at it and are on the fence, I created an email list where they can get new Corona SDK tips and code every few days…

…along with a sales pitch for the full course, of course! ;)

Free Corona SDK Code + Tips

Use that link to get to the sign-up page. Completely free, and the tips are *very* useful.

Share

Making Mobile Business Apps with Corona SDK

I’m finishing up the last of the videos for an online course, “Business Apps Using Corona SDK” and just finished the sample app for Lesson 7.

The Lesson 7 videos should be done and online today, and then all I have to do is put up the 3 bonus videos and the course is completely done!

I think it’s turned out pretty well. I wish I’d had something like this available last year, I would have had a lot more apps available! :)

Share

iPad – Programming on the Go

While some folks continue to claim the iPad is a “consumption device” other people are using it for creation. And not just the artsy-fartsy types who use it for cool “finger paintings” but more and more programmers are getting into the act.

Apple still has some rules in place that keep the iPad from being a total portable software studio, but it’s really close now — depending on what kind of programming you’re into.

Game Development

Probably the leading tool for game programmers is Codea (http://itunes.apple.com/us/app/codea/id439571171?mt=8). It uses Lua as the language and includes a graphic framework that allows you to “easily” create games, from simple to complex. All of the games you write have to run right inside Codea — that’s part of the Apple restrictions I mentioned earlier.

However, the guys behind Codea created a “wrapper” that can be used with a Codea-based game and fed into Xcode — and out pops a native app that can be submitted to the App Store. With that addition you can now work on a game on the go (Riding the train to work? On your lunch break?) and when it’s done, convert into a native app.

Web Development

There are a lot of text editors on the iPad that cater to programmers (Textastic and Diet Coda are my two favorites) but there’s a new app available that’s aimed at PHP programmers — and even allows you to run PHP code on your iPad. Offline. You don’t have to be connected to the internet.

That’s an awesome advantage to those of us who have wi-fi iPads and are running from place to place and writing bits of code here and there.

It’s called Kodiak PHP and is brand new on the App Store (http://itunes.apple.com/us/app/kodiak-php/id542685332?mt=8). Full disclosure, I was given a pre-release copy to play around with but it was with the understanding that I wouldn’t promote it unless I really liked it.

And I do. It’s a very cool tool for anybody who does PHP programming (or wants to get into it). The editor does syntax highlighting and includes an extra row of buttons along the top so you can get to things like $ and ; without needing to switch keyboard layouts.

It’s only $10 after the launch special, but even if you miss the sale it’s worth the price for the ability to code and execute PHP right on your iPad.

If you’re into web development/programming and find yourself away from your desk with time to kill, Kodiak PHP is a cool tool to have at your fingertips.

Look at one of the examples in the screenshot below — grabs info from a Twitter URL in JSON format, decodes it, and displays it on the screen. In PHP, on your iPad. Just way cool.

Kodiak php screenshot1 480

Share

Renegade

I’m just starting work on a new product for game developers. While there are a lot of game development tools out there, I don’t think any of them are doing it right.

Here are some of the best of the bunch (oh, I’m talking about 2D mobile development for the most part – 3D stuff is a whole other kettle of fish (and a kettle I care nothing about)).

Stencyl – one of the oddest game development tools I’ve seen because while it’s based around a visually-oriented IDE, the logic of the game is created by dragging little blocks together to form a kind of flow chart. It’s really kind of fun and Stencyl seems to have a pretty hardcore community around it. The downside is that typing the equivalent lines of code would take a fraction of the time.

Corona SDK – Another odd one in that while they are targeting newer people, there’s no IDE of any kind included. You use your favorite text editor to write the code and then test it in their simulator. One of the nicest things about Corona SDK is how fast it is to get up and running. From a coding standpoint you can get a lot of mileage from just a few lines of code. One con of Corona is there’s no way to expand it – what you can do with it is what you can do and if you want to do something more you have to hope the guys behind the scenes add that functionality at some point.

Moai SDK – Just a month or so out of beta at this point Moai SDK has attracted a lot of attention lately by being chosen as the framework of choice for a couple high-profile games. The big deal about Moai is that it’s open source, which means if you want added functionality you can download the source code and add it yourself (or hire a smart person to do it for you). The worst thing about Moai is the learning curve can be pretty steep.

There are three game development tools, all with things to recommend them, but I’m the sort that’s often dissatisfied with the status quo (I think 200 years ago I would have been one of the guys heading West to see what was there). I want something that combines the best of all three.

And so I decided to write it. It will have an IDE that makes it drag-and-drop easy to create games like Stencyl, with the ease of coding like Corona, and the extensible power of Moai.

I call it Renegade and it will ship in late Q4 2012.

Fast, easy, and powerful cross-platform development (Windows and Mac) for cross-platform games (iOS, Android, Windows, and Mac).

I’m really excited about the possibilities and can’t wait to show it to you.


[Update Nov 20, 2012] — (Warning: drama alert) People are asking about the status of Renegade, seeing as how it’s now the middle of Q4.

The death of my father and the disappearance of my 16yo daughter this summer basically blew 3 months to smithereens. About a month ago is when I finally got things shifted back into Drive but I’m still playing catch-up. (We know my daughter is alive and physically safe, but not much more than that.)

That’s the biggest downside to being a “lone wolf developer” — when life happens there’s nobody else who can take up the slack.

Renegade is still on my list, but pushed back because the scope of Outlaw is in flux. While today Outlaw is a rebranded copy of CPM, I’ve come up with some ways to get about halfway to Renegade — while still allowing it to be used in it’s current form.

Renegade is going to be a complete switch — if you want to use it, you *won’t* be able to write your program any way you want like you can now with Outlaw/CPM. But what I see Outlaw morphing into over the next 2-3 months is something that allows both methods.

The biggest difference between Outlaw and Renegade is the “new stuff” in Outlaw will be using Corona SDK under the hood — I still plan on using Moai SDK for Renegade.

Why not just get to work right on Renegade? Because I think at this point the market for a Corona-based tool is bigger than the market for a Moai-based tool. And I have to pay the bills. My “funding” for tomorrow comes from whatever sales I make today, basically.

But if someone threw a big bunch of money at me? I’d dump everything and focus on Renegade. In a heartbeat.

Share

Mobile Game Development: Crash Course

On May 5th I’ll be teaching a 2-day course for beginners who want to get started in mobile game development.

Have you ever wanted to create your own game for iPhone, iPad, or Android? This weekend course will show you exactly how to do that!

Get all the details here:

Mobile Game Development: Crash Course

Share

Miner or Merchant?

Everybody’s heard the best way to make money during a gold rush is to be the guy selling picks and shovels to the miners. Very few people will “strike it rich” but even the guys who lose their shirts need the tools to mine.

I want to be a miner in the worst way — I daydream about what will happen when I hit the mother lode. And I know that big strike is right around the corner, so I keep digging and digging.

And yet, the money I make continues to be in the sale of tools to other miners. Sure, I come across a nugget or two in my mining (I do use my own tools), but the bulk of the money that pays the bills comes from tool sales.

That’s true now in the game development world and it was true a few years ago when I was in the “internet marketing” world. The mining is what I wanted to do — the tools were more profitable.

That says to me I should give up mining and focus on making the best tools I can for the miners who are heading for the gold fields.

That makes the most business sense.

Except that I’m a freakin’ MINER and I don’t want to stay home while everyone else is out there striking it rich!

I know most of them will come back empty-handed, but think about it — would you rather sit and listen to an old geezer tell stories about the thrill of looking for gold; about the mother lode he *almost* found?

Or would you rather sit and listen to an old geezer talk about inventory and stocking the right tools?

Give me the first old geezer any day! And I’d rather BE that guy than the other one.

Except when the rent is due. Or the car needs another tank of gas. Or a new iPad is released. Those times? I want the income from the merchant.

The good news for me is that I enjoy building tools — not as much as mining, but I still enjoy it. While only working on tools might be the “wise” move, giving up my mining on the weekends would just make a me a bitter old merchant. And that would wind up negatively impacting my tools.

My dream?

To get to the point where I can manage a game studio — I’ll design the tools to help make games and then use them to create the actual games. If a game makes it big, very cool. But even if not, the tools are still bringing in the revenue. I have a list a yard long of tools that would help make game/app creation faster and easier — just no time to develop them.

Because in my spare time I’m out there with everyone else, swinging a pick, knowing the biggest vein of gold is almost within reach. Right around the corner.

I’ll hit it any day now.

Share

Is That A Computer In Your Pocket…

Laptops are outselling desktop machines (by a huge margin) and tablets (iPads, specifically) are being used to replace laptops by more and more people.

I can see a time within a couple years (yeah, that soon) where the only computer most people will need will be an iPhone.

Sidebar: Yeah, someone using Android could pull off what I’m suggesting, but Apple has a proven track record of doing more cool things. Sorry, just a fact.

A “home computer” could consist of a monitor and a keyboard — and your iPhone. Sit down in front of the keyboard and connect your iPhone to the monitor — that could be as simple as tapping the phone against the the monitor. It’s wireless — and iPhones can already mirror what’s on their screens.

And iPhones already talk to Bluetooth keyboards. So right now, today, you can actually do 90% of what I’m talking about.

What’s missing is a way to use a touchpad to control the “cursor” on the screen — of course, while the iPhone is sending its signal to the HDTV/monitor, it could be used as a regular touchpad that controls an on-screen cursor, so that piece is easy for Apple to add.

Your iPhone is powerful enough to do 100% of what 90% of people use computers for:

  • Listening to and watching audio/video
  • Reading
  • Browsing web sites
  • Using Facebook
  • Email
  • Playing games

Am I missing anything? Isn’t that about the extent of what *most* people do with a computer?

With a system like that in place you could be at someone’s house and check your email, update your Facebook status, etc., without needing to log in and out of someone’s computer — because you’re using the computer in your pocket.

Make the monitors just a little bit “smart” so they can watch for nearby iPhones and when you walk up to one it can ask if you want to connect — wirelessly, of course.

Right now I can do a lot of my computing on my iPhone and/or iPad but I have different data on those devices than on my desktop computer. Cloud storage helps with that problem to some extent, but I’m looking forward to the day when someone (Apple, probably) puts all the pieces together into a really compelling package.

Share