Category Archives: Productivity

A Simple Guide to Installing OpenCart Manually on BlueHost

I recently had to install the appropriately named open source shopping cart OpenCart on a BlueHost shared web host account and figured it would be good to record the basic steps here in case I need to do it again or if someone else comes along and needs to do the same thing.

Note: All of these actions were performed from a Windows machine.

Part 1: Get OpenCart to the Server

This is pretty straightforward. You need to download the zip file of the latest version of OpenCart from the official website.

You should then create a private key through the cpanel interface to make connecting to your server easier. This is done by visiting the SSH Access section and managing keys. After you create a new key, authorize it and download a ppk format version to use with Putty and WinSCP.

Using a program called WinSCP (that is Windows Secure Copy), you copy the zip file to your server’s file system using the SFTP protocol.
In the Advanced Menu under SSH – Authentication, you can choose your key file for authentication.

Once you have the OpenCart zip file copied over to the server, you will need to SSH into it. A common tool for this on Windows is Putty. However if you are a little computer savy, since Windows 10 you have the option of installing a Bash shell such as you would use in a Linux environment and directly running the ssh command from there.

For now, I will assume you are using Putty.

Run Putty and put your server URL or IP address into the hostname box. In the list of options on the left, expand SSH and select Auth. This will allow you to choose your key file for authentication just like WinSCP. I would recommend saving this session for future use.

If you created your key with a password, which you should do, you will need to enter your username (provided by your webhost) and your key password.
Now you are in.

Navigate to the folder with the zipped OpenCart file and unzip it. This is as simple as running `unzip nameofopencartfile.zip`.

This will create a folder called “upload” and you need to copy all of the files in that folder to your public_html folder or the subfolder related to your url in the public_html folder.
`copy -r upload/* public_html/url_folder/`

Part 2: Setup

Now that we have all of the files on the server. We need to prepare a couple of things before we finish the installation.

First, we need to setup a database and user for OpenCart. Back in your cpanel interface, go to the MySQL database setup and create a new database for this installation. Then create a new database user and give it full privileges on the new database.

In your browser, visit your website URL and you should now see an OpenCart install screen at step 1 with a license agreement.

Accept the license agreement and move to the next step. You may need to rename a couple of config files in the OpenCart directory on your server at this point from config-something.php to config.php, one in the main folder and one in the admin folder.

Next you will input the database information you previously created. And finally you will create an admin user that will be used to manage the site.

That is the basic setup for an OpenCart install.

There may be a popup warning when you first visit the admin page to move the storage folder to a different location outside of public_html. It seems like the site will create a new folder for you automatically, but you may have to manually remove the original folder.

Keep getting wiser, stronger, and better.

Monkey-X Frameworks and Physics Modules

One of the useful ideas I picked up from reading a book on how to make games with PhaserJS, was to take a look at the various frameworks and modules that had been built already for Monkey-X.

I have been slowing myself down by trying to handle some of the specifics of the game directly instead of building on the work of others.

The thing I am looking for most is a physics frameworks. Nothing says edge case like handling collisions of various shapes.

Some GUI help would be nice too.

The Frameworks

I did some searching and there are probably others out there, but these were the easiest to find frameworks I came across and some of my notes on them.

  • Fling
    1. Free
    2. Physaxe implementation in Monkey
    3. No updates since 2011
    4. A few examples in Monkey-X forums
  • Monkey Box2D Implementation
    1. Free
    2. Last updated in 2013
    3. No real documentation
    4. A few forum posts on Monkey-X site with usage examples
  • Diddy
    1. Free
    2. Large number of examples in github
    3. Recent update by author
    4. Spotlight from Monkey-X main site
  • Ignition-X
    1. Paid with free trial
    2. Older framework which official site no longer directly links to.
    3. Still referenced from Monkey-X store page
  • Pyro
    1. Paid
    2. Successor to Ignition-X
    3. Looks professionally done.
    4. Various examples
    5. Scene Graph, Collision System (Box2D), Tile System
    6. Skinnable GUI System, and other useful features
  • Fantom X/Fantom Engine
    1. Free
    2. Creator wrote a book on how to make games with Monkey-X and Fantom Engine
    3. Fairly well documented with examples
    4. Recently updated
    5. Has Box2D physics implementation
    6. Has GUI helpers

Conclusion

Based on this research the choice is between Diddy, Pyro and Fantom X. I will be testing out the Fantom X engine for now and seeing how useful it can be, and depending on how that goes I will probably use it in the following parts of my making your first game with Monkey-X series.

There are 2 main reasons for this. First I will be using it for examples and for people just getting started into making games who may not want to invest too heavily financially to begin with or even don’t have the money for something like Pyro.

Second, for being a free framework Fantom X is well documented and the maintainer seems to keep it up to date.

Looking forward to evolving my game making skills.

Your Best Year Ever – Part 2

This is a continuation of the last post of my notes on this talk by Jim Rohn.

Personal Development – Continued

The 5 Abilities

#1 Absorb – be like a sponge, don’t miss anything

Learn to get from the day, not through the day.
Wherever you are, be there. Let your heart, mind and soul take “pictures”.

Pay attention.

#2 Respond – let life touch you

Don’t let it kill you, but let it touch you.
Give in to emotion.

Your emotion needs to be as educated as your intellect.
Need to know how to respond to life, to people.

#3 Reflect – go back over, study it again, remember

Go back over books, notes, your day.

Good times to reflect:

  1. At the end of the day for 1 hour
  2. At the end of the week for a few hours
  3. At the end of the month for half a day
  4. At the end of the year take a weekend

Solitude when you reflect is important. You can reflect with your spouse, your family, or your colleagues, but it is important to spend some time to reflect with yourself.

Reflection makes the past more valuable for the future. Gather up the past and invest it in the next day, the next week, the next year.

Self development earns respect, makes you better for others.

#4 Act – take action, don’t be hasty, but don’t waste much time

Act when the idea is hot and the emotion is strong. Otherwise you fall prey to the Law of Diminishing intent.

All disciplines affect each other.

Everything affects everything else

Every let down in discipline affects the rest of your performance.
Every new discipline affects the rest of your performance. That is why action is so important.

Greatest value of discipline: Self Worth or Self Esteem. Lack of discipline erodes the psyche, affects your philosophy. One neglect leads to another. Just start the smallest of disciplines and watch how it grows into another and another.

Walk away from the 97% who won’t do what they can. Don’t talk like they talk, don’t read what they read, don’t watch what they watch, don’t use their excuses and their blame list.

Affirmation without discipline is the beginning of delusion.

Labor well, learn well, discipline yourself well. Take charge of your own retirement, life, day, family, possibilities. Join the 3% of people who are doers.

Do what you can. Do the Best you can. And Rest very little.

Make rest a necessity not an objective. The objective of life is to act

#5 Share – pass along to someone else

If you share with 10 people, they get to hear the idea once and you get to hear it 10 times. You will get more out of it.

Everybody wins when somebody shares.

Sharing helps you, helps the person you share with. Sharing makes you bigger than you are. Increases your capacity. So you can hold more of the next experience.

Some people can’t be happy and can’t be wealthy because they aren’t big enough.

Setting Goals

Goals are your vision of the future.

You can either face the future with apprehension or with anticipation. Most face it with apprehension.

If you don’t make plans of your own, you will fall into someone else’s plan.

Need to make a “Not Much” list. If economy improves, if taxes get a little smaller, if you get a small raise at your job, if your negative relatives become positive, if the “right” political party got in power, etc, it would not do much for you. And too many people are counting on this list.

Count on your ability to design the future. If the promise of the future is clear and powerful, the price is easy to pay. The price is a few small disciplines practiced every day.

Get a handle on the future, set your own goals.

It is this simple: Decide what you want and write it down. Thats it.
It is your own private list so write whatever you want on it, no matter how small or silly.
Keep your list year after year so you can go back and look at it.
Get together with your spouse, your kids, your colleagues and come up with some goals.

Put “Become a Millionaire” on your list, for what it will make of you to achieve it.

The greatest value in life is not what you get, it is what you become.

Major question to ask on the job is not “What am I getting here?”. The major question to ask is “What am I becoming here?”.

When you have become a millionaire, what is important is not the money, you can give that away. What is important is the kind of person you have become.

Set the kind of goals that will make something of you to achieve them.

Don’t set goals to low. Don’t join the easy crowd. Go where demand to grow is high, where expectations of excellence are strong.
Don’t compromise. Don’t sell out. Count the cost.
Judas got the money, success? NO.

Greatest source of unhappiness is self unhappiness. Starts with being a little less than you can be. Beware of this.

Financial Independence

What should a child (or an adult) do with a dollar?

Don’t spend more than $0.70 of every dollar.

If your outgo exceeds your income, your upkeep will be your downfall.

What to do with the other $0.30?

  • $0.10 – Charity: Helping people who can’t help themselves. Nothing teaches character better than generosity. Best to start with small amounts. Easier to give $0.10 out of a $1 than to give $100,000 out of a million.
  • $0.10 – Active Capital: Try to make a profit yourself. Profits are better than wages.

    Wages will make you a living. Profits will make you a fortune.

    There are many ways to show a profit. Leave things better than you found them. Become a person who leaves a profit. Profit has potential to make a fortune.

  • #0.10 – Passive Capital: Interest bearing investment. Loan it out (stocks, bonds, etc.). “The borrower is servant to the lender.” Be the lender.

This is an ideal. Set it up and work towards it. It’s not the amount that counts, it is the plan. You can start with 97/1/1/1. The numbers will change. It is just a good sample philosophy.

Keep strict accounts. Now where your money is going. Don’t let it “just get away from you.”

Get a new attitude.
“Hate to pay my taxes,” get past this. Taxes help pay for democracy, liberty, and freedom that is the goose that lays the golden eggs.
“Hate to pay my bills,” get beyond this. Bills reduce your liability and increase your assets.
Everybody must pay, even if its only pennies.

Spend, invest, show a profit, help others.

Communication

Effective communication is how to affect people with words.

Words can work miracles. They are powerful and can have dramatic effects.

Have Something Good to Say, Be Prepared

Interest

Show interest in the subject.
Then go beyond that and show fascination. Turn frustration into fascination if you can.

Sensitivity

Understand other people. You have to be touched and moved by the drama in other peoples lives so you connect with them where they are. This involves emotion.

Knowledge

Take notes. Gather knowledge. Don’t be lazy in learning.

Say It Well

  • Sincerity
  • Repetition – Mother of Skill
  • Brevity – sometimes you don’t need many words
  • Vocabulary – There is a relationship between vocabulary and behavior. Words are a way of seeing and expressing. Stretch your vocabulary

Read Your Audience

  • What your see – body language
  • What you hear – kids will tell you
  • What you feel – emotional signals (women naturally better at this than men)

Intensity

Your words need to be mixed with emotion. It has an incredible effect. Put more of you into what you say.

Don’t be casual in communication.
Emotions must be measured. “Don’t shoot a cannon at a rabbit.”

You need well chosen words mixed with measured emotion. The more you care, the stronger you can be.

The Negative and the Positive

Negative

There is a time to laugh and a time to cry. Life is not all positive.

Negative is normal, it is a normal part of life. It should not be ignored because it needs to be mastered.

Need the ant philosophy. Never quit and think winter all summer.

Positive

The day that turns your life around.

Things that turn your life around:

  1. Disgust – normally associated as negative, but can be positive. It is when you say, “I’ve had it. No more. Enough is enough.” If you can add an act to it, that helps.
  2. Decision – you can make a decision that turns your life around.
  3. Desire – wanting to bad enough. Sometimes desire waits for a trigger (like meeting someone, or not being able to do something that you want). Welcome all experiences because you never know which one will turn everything on.
  4. Resolve – saying “I will.” Do or Die. Promising yourself you will never give up. “Until,” do it until you succeed.

Final Thoughts

Learn to help people with their lives. Touch people with a book, with words. Help them with their goals and dreams.

If you work on your gifts, they will make room for you.

Conclusion

Great advice. Take charge of your own future. Make plans, set goals, and act on them.

If you will change, everything will change for you

Your Best Year Ever – by Jim Rohn: Part 1

Just to show you how good I think this is and how much value you can get out of it, this talk by Jim Rohn is 4.5 hours long and I have listened to it at least 5 times (probably 7).

And I will listen to it again.

This last time I took 15 pages of notes which I am posting here. After you are finished reading them, go listen to the talk for yourself.

Jim Rohn on How to Have Your Best Year Ever

Some do and some don’t. Why? We don’t know.

Sincerity is not a measure of truth.

3 Ways to Get the Most Out of This Talk

  1. Be Thankful – for what we already have, it opens up. Cynicism locks the doors.
  2. Listen Well
  3. Take Good Notes – be a good student

Don’t be a follower, be a student.

Make sure what you do is a product of your own conclusions.

5 Major Pieces – the Fundamentals

#1 Philosophy – the major determining factor

It is what we know and think.

Got to think and process ideas.

The set of the sail. Can’t change the wind so change the sail.

Don’t blame all you got to work with.

Start with your mind, your thinking, your philosophy.

Failure is a few errors in judgment repeated every day. It is accumulated disaster.

Success is a few simple disciplines practiced every day.

#2 Attitude

It is how we feel, about the past, about the future. The promise of the future is an awesome force.

How we feel about everybody else – appreciation
How you feel about yourself – self worth
Place high value on yourself. If somebody else can do it, I can do it.

Life change starts with education, not inspiration. “If a guy is an idiot and you motivate him, now you’ve got a motivated idiot.”

Get educated to the point where you messed up.

#3 Activity – the work, the labor

If you will plant the seed, God will make the tree. Give God the tough end of the deal.

Invest philosophy and attitude into action and you get a miracle. Turn wisdom, faith, and discipline into action to perform a miracle.

  1. Do what you can.
  2. Do the best you can.

Could change, should change, won’t change = Disaster
Could change, should change, will change = Miracle belongs to you

Just because you don’t understand something, doesn’t mean it doesn’t work. Get a list of the things you should be doing and clean it up (do them).

Don’t postpone like other people postpone (procrastinate).

Take action on neglect in disciplines. Start forming disciplines.

Do the best you can. Your philosophy on activity will determine you next years.

#4 Results – gotta measure every once in a while

Don’t let too much time go by without checking the results. See if you got the wrong plan.

How many books have your read, how many classes have you taken, what does your bank balance look like?

Results is the name of the game.

Life only asks that we make measurable progress in reasonable time.

Some things you got to check everyday, others weekly.

Got to be honest with yourself. The Truth will set you free.
The Truth is for amending our errors and finding new disciplines.

Don’t curse what is available and start amending what is possible to get the results you want and you will have great personal change.

Success is a numbers game.

How many pounds overweight should you be at 50 years old? Start checking your own numbers.

#5 Lifestyle – learning how to live well

Ultimate challenge of life after applying philosophy, attitude, and action to get results is how to fashion for yourself a good life.

If you wish to be wealthy, study wealth.

If you were to show me your current economic plan, would it excite me so much that I would want to travel across the country teaching it to others? Why not?

If you wish to be happy, study happiness.

Happiness is something you design, not an accident. Happiness is within the grasp of all of us.

Happiness is a study. Wealth is a study. Don’t be lazy in learning. Learn how to do well and learn how to live well.

If 2 tip amounts come into your mind, always go with the higher amount. Become the higher thinking person. Money doesn’t make you happy.

Personal Development

It is hard to give up blaming everything but yourself for your current economic, social, and emotional woes. But it is not what happens that determines the major part of your future. What happens happens to us all. The key is what you do about it.

If you will start the process of change, even a small one, everything will change.

What you have at the moment, you have attracted by the person you’ve become. You got to transition to taking responsibility for where you are in life.

If you will change, everything will change for you. To have more, you have to become more.

Don’t wish it were easier, wish you were better.

Start with money. It is not the only value but it is easy to count and measure.

We get paid for bringing value to the marketplace. It takes time to bring value, but we don’t get paid for time. We get paid for value.

Is is possible to becomes 2x, 3x as valuable and make 2x, 3x the money in the same amount of time? Of course. Simply become more valuable.

The facts: If you are not very valuable, you won’t get much money. You can’t get rich by demand.
Become more valuable.

Learn to work harder on yourself than you do on your job!

If you work hard on your job you will make a living. If you work hard on yourself you will make a fortune.

Develop the skills. Can’t change the world and how it works, so work on yourself.

Life and business is like the seasons. You cannot change the seasons, but you can change yourself.

Things are not going to change. The next 10 years will be pretty much like the last 10 years.
Short description of human history: Opportunity mixed with difficulty.

If you change though, everything will change for you.

  1. Learn how to handle the Winters (they come after Fall) – emotional, social, economic, personal. What do you do about them? Get wiser, stronger, better. Wiser – read more, listen, watch. Stronger – workout, practice. Better – develop the skills.
  2. Learn how to take advantage of the Springs (they follow winter) – Spring = Opportunity. Got to take advantage. The key is to plant in the spring. Seize the day. Life is brief.
  3. In the Summer, nourish and protect – become capable and powerful. Bugs and weeds will take the garden unless you protect it. Nourish the garden and kill the weeds. Summer is a scenario of opportunity and threat. If you just think positive that is too naive, got to think negative too. Deal with your enemies in the summer.
  4. Reap in the harvest (Fall) without complaint or apology – must take personal responsibility. No apology for doing well and no complaint for doing poorly.

Physical Personal Development – take care of yourself

Treat your body like a temple, not a woodshed.

Some people don’t do well because they don’t feel well.

Vitality is a major part of success.

Some people take better care of their pets, take more care in what they feed their animals than they do of themselves.

You never have a second chance to make a first impression with you appearance.

God may look on the inside, but people look on the outside. Its the world we live in.

After people get to know you they will start to judge the substance, but they see the outside first. So make sure the outside is a major reflection of what is going on inside.

Spiritual – study it and if you are a believer, practice it

Mental – learn, study, grow, change

Human development takes time. Wildebeest only have a few minutes after birth to learn to run because of the lions. A human baby, after 16 years we are not sure if ready to survive.

Feeding and nourishing the mind takes time. Get ready to debate great life issues. Got to be able to defend your philosophy, virtues, and values.

Need a good library. Most homes over $250,000 have a library.
Your library needs to show you are a serious student. Can’t live on mental candy.

Some recommended books.

  1. Think and Grow Rich by Napoleon Hill – great book, has some weird stuff in it.
  2. Richest Man in Babylon – good book on wealth fundamentals
  3. How to Read a Book – has list of “best writings ever written”

Your library needs to be balanced. Some sections for your library.

  • History – recommends Lessons of History by Durant
  • Philosophy – recommends Story of Philosophy also by Durant. Don’t just read the easy stuff, you won’t grow.
  • Novels – philosophy often interwoven into the story. Skip the trash
  • Biographies – stories of both successful and unsuccessful people, examples and warnings, good and evil
  • Accounting – at least a primary understanding
  • Law – need to know what to sign and what not to sign, don’t need to be a lawyer but knowing a little law will protect you
  • Economics – how to become financially independent
  • Culture and Sophistication – it is part of the fabric of the nation, be a student of dance, art, music
  • Spirituality – study it, and if you are a believer, study and practice

Keep a Journal – don’t trust your memory.

If you hear something or come across something important, write it down.

Buy empty books and fill them with valuable notes. Go back over them and let it instruct you and feed your mind and soul again.

3 Treasures that you leave behind

  1. Pictures – take a lot of pictures
  2. Library – books that taught you to become healthy, wealthy, powerful
  3. Your Journals – the ideas you picked up, be student enough to write things down

Part 2 to Come

I just realized that this post was over 1500 words and I am only about half way through my notes. That is a lot for one post so I will be breaking these notes into 2 parts. Tons of value here and while you wait on the second part you can go watch the talk for yourself.

Don’t wish it were easier, wish you were better (and get better).

Lessons in Productivity: Overcoming Procrastination

One of the major forms of resistance when working on any project is the temptation to put it off until tomorrow. The problem comes when you wake up a year later and realize you did nothing. So here are a few ways to overcome one of the most pervasive vices of mankind.

Start Smaller

This is the mistake I make time and time again. I even did it with the first game of this year. The final goal looks so big and time demanding and mentally holding everything that it takes to get there is just exhausting so you put it off. But that is not how you start things.

The phrase that keeps coming up when I read about productivity is “How do you eat an elephant? …. One bite at a time.”

And it is true. Don’t think of the whole problem. It often overwhelms and keeps us from taking the first steps.

If you need to, make the first step ridiculously simple (like turn on your computer or open your notebook and get a pen) and list out 2 or 3 simple steps that you know you can do to get started, then do them. After you are done, do it again.

This builds momentum and gets you in the habit of doing instead of putting off.

Find the Pleasure

When you find yourself wanting to procrastinate, stop and think about what it is you are avoiding and why it is bad. What happens if you actually finish it? What are the physical, emotional, or spiritual rewards? What are the consequences of not doing it? What are you planning on doing instead?

Tony Robbins, a self-mastery kind of guru, proposes that the reason we do things is because we associate them with pleasure and the reason we don’t do things is we associate those things with pain. But you can condition yourself to associate the task you are finding difficult with pleasure.

Find the Why

Most of the information I have found about becoming successful and productivity says that if somebody has a strong enough reason, they will do something.

Are you writing that blog post just because you think you should have a blog or because you have an idea you really need to share? Are you building that app because you feel like you should, or because you want to learn and grow as a developer and bring your ideas to life in a computer?

You will only do things consistently and well if you have a good enough reason. Find your reason for doing what you are doing and make sure it lines up with your life goals.

Change your State

Another idea I got from Tony Robbins, change your physical state if you are feeling like procrastinating. Often we put off stuff because we feel tired or mentally exhausted. This may be because of bad diet and lack of exercise, but regardless simply improving your physical posture as if you had energy, taking some deep breaths and putting a smile on your face often helps you feel better and gets you in a state to get things done (a brisk walk will help as well).

All Together Now

These are just a few of the ways to beat procrastination but they are effective. Use them and get more done this week. Procrastinate next week.

Looks like overtime for Game 4

As you may well be aware if you have been reading any of these posts, I and doing the #1GAM (1 Game A Month) challenge.

April has been a crazy month and it looks like I will not be able to finish the game by the 30th (but it might be close). Thankfully this challenge has no rules, only guidelines. And one of those guidelines is that you can take your game a few days into the next month to finish it.

More Video

I recorded another session programming. This one is about 3 times as long as the first and involves a lot more long periods where I am stuck trying to figure out typos, things that I forgot about the language, and reading something off screen to figure out my next step.

The main purpose of these videos is to give myself something to form a baseline to do a series of tutorials.

Right now, I have found a few important things to consider when doing a video.

You need a plan

Seriously, plan out exactly how far you want to get with each recording and exactly what you are going to do.

You need to edit

These videos are currently unedited for 2 reasons. First, I don’t currently have any video editing software set up, and second, they are for me to learn from so I don’t want to cut anything out.

Really though, if you are going to create a video course of any kind, editing will be crucial to make the videos as clear as possible.

SPEAK UP

Or at least get a good mike. I was using the default mike on my laptop and the sound quality is not great (except for when I click with the trackpad which comes through way too loud).

Clear speech will allow your viewer to better understand what is going on.

Less Video

For now, these first 2 videos will be it for game 4 as recording significantly slows down my progress.

I will attempt to finish up game 4 within the first week of May and then attempt to do a better job recording game 5 and managing my time so that it does not run into June.

Here is video 2

Warning: this one is about 45 min and the audio is terrible. Also I spend a few minutes too many remembering that sometimes methods need return types.

You can find video 2 here.

Keep getting better at what you do.

Doing it bad is better than not doing it …

This is going to be a terrible post. I am writing it quickly and keeping it short.

Why would you do that?

Because doing it poorly is better than not doing it at all. Especially when it comes to a habit that you are building and want to keep.

I am trying to build the habit of writing here once a week about things I am learning and my progress through this one game a month challenge. However, today I did not feel like writing.

I had long day traveling and have to get up early to get wisdom teeth removed but I happened to read something today that really stuck with me.

“Be very scared to fail to execute a habit, even once.”

Now this clashes slightly with something else I have learned recently about motivation but is good advice nonetheless.

So here I am at almost midnight, writing my Sunday blog post because it is a habit I want to keep.

Also, I am learning that some of our most valuable work is the work that our little brains like to try to keep us from doing with excuses. The trick is to do it anyway.

In fact, it is probably in your best interest to seek out the stuff that your brain is telling you to procrastinate on (for example my brain said to write this in the morning).

If you would like to read more about these ideas and where I am getting some of them from, check out Derek Siver’s reviews on Superhuman by Habit and The War of Art.

That’s all for now, may do post on Wednesday this week if I am recovering quickly enough and get game #4 started.

Keep getting better at what you do.

Evolve or Die — Game #3

Finished game #3, yeah!

There is something uniquely satisfying about finishing something that you started and putting it out for the world to access and use.

I had heaps of fun making this game and learned a ton.

Lessons from game #3

Sometimes you have to cut features

I have started following this process when designing my games but I always add some nice to have features to my design in the (at this point unlikely) event that I finish the game early and can add some pizaz.

A couple of guidelines that I put on myself for this 1 game a month challenge was to try to make each of the games touch friendly and have some multiplayer component.

So far so good for the touch friendly part, but for this game, the multiplayer had to be cut to meet the deadline.

It has probably been done before

To be honest, I wasted a couple days trying to figure the camera thing out by myself without looking up anything on the internet about how it had been done before.

This was a terrible idea.

Most features in games have been done multiple times before and there is a lot of good information about the patterns and pitfalls involved in them. Use these resources to save time and headaches.

You can cheat a little at art

Although I really like to sketch on paper, I haven’t really found a way to draw on a computer that I actually want to sit down and do.

This was one of my hangups for the last year or so with making games, and why I waited till the last day to make the login and instruction pages. Not to mention, I haven’t spent enough time with Monkey-X’s fonts and such and the default one for drawing text to the screen is not really pretty.

But I head faked myself into creating it in a way that I was more comfortable figuring out.

By day I am a web programmer. So I simply took the tools that I already know for making a screen look good (html, css) and applied them to this problem.

Using a screen shot from the game and a little css magic, I made a webpage that looked like a little home screen for the game (complete with start button) and then took a screen shot of it.

Then to make the button work, I drew a rectangle to the screen and over played it on the button to figure out the dimensions and set up a touch/click listening event for that area.

Voila, cheating at art!

To Sum up

  1. Get to the MVP (Minimum Viable Product) first, then add other features.
  2. When you are stuck, don’t bang your head against the wall. Get help.
  3. Use your existing skills to find away around tough or annoying parts of the process (or see if you can get someone else to do them)

Game #3 — Evolve or Die

Evolve or Die

(itch.io seems to be down right now, will update post with link to game as soon as possible)

5 Things That Will Help You Finish Your Games

Most side or hobby projects tend to get left to gather dust after the first flurry of excited programming. I know this all too well and have started several projects before with good intention only to have them become forgotten and never finished.

Fortunately, I have been learning some techniques to prevent this from happening and to finish more often and faster. So here is a list of things that can help you complete all the little side projects you start.

#1 — Break the Main Problem into Little Sub-Problems

This is by far what has been most effective for me when working on a project. Many times we procrastinate on a hard problem because we aren’t sure how to approach it or continue on it. We get stuck mentally and just stop working on it altogether.

I have found that picking a small piece of the problem, figuring it out then repeating is super effective.

Keep a piece of paper and a pen or pencil near your computer. When you get stuck or it just seems hard to work, look at your problem and write down on your sheet of paper a small piece to figure out. Then just work on that smaller problem until it is solved.

For example on game #3 that I am working on right now, I have several smaller problems that the game has been broken down into.

  • Draw player to screen
  • Draw plants to screen
  • Move player to a point that was touched or clicked
  • Have player eat a plant if they collide
  • Make player grow if enough plants have been eaten
  • Make some enemies
  • Have the enemies move randomly
  • Have the enemies eat plants and grow

And there are a few more sub problems that I will be working on later this week.

#2 — Commit to a Scheduled Time to Work on the Project

This one is absolutely the main way to see a project through. Just make it part of your schedule.

The best part of the day to work on it is first thing after you get up. If you work on it before all the stuff you “have to do” gets in the way and wears you out, it is much more likely to get done.

If you do better work in the evening that is fine too, just make sure that the time is set aside and you remove distractions (phone notifications, tv, etc).

Since I am employed full time and that employment involves programming, doing more programming once I got home from a full day of work was difficult. So I actually started getting up an hour earlier every morning just to work on building these games a little each day.

And it works!

Cannot emphasize the schedule enough. Just do it.

#3 — Have a Good Reason to Do the Project in the First Place

If you don’t have a good reason to start the project it will probably wither and die.

The best thing you can do before you start any programming project (any project at all really) is to ask yourself what the end result should be.

The answer to that question should probably fall into 1 of 2 categories.

1. A Learning Project

It is often best to use a small project to learn a new programming language, framework, or technique. A project in this category does not have to be pretty. It is simply for you to learn how to do something.

However, you need to be specific about what you intend to learn.

I am using this one game a month challenge to learn several things including basic game creation techniques, rapid prototyping, and the Monkey-X programming language and framework.

2. A Project that Solves a Need

Often referred to as “scratching an itch”, it could be your own itch or someone else’s. The point is that it solves an unmet need.

Making software that will get used either by you or others on a regular basis is a good motivator for finishing a project. An added bonus is that you made the world a little bit better place to live.

#4 — Get Help When You Are Stuck

I recently read an interesting statement that there are no limit to resources, just to resourcefulness.

There are friends.
There are forums.
There are blogs.
There are books.
There are sites like Stack Overflow.

There are a lot of resources if you just look for them.

#5 — Have Some Accountability

There are a few different ways to do this and I will only cover a couple.

Blog About It

Obviously I am doing this and it definitely helps when it comes time to sit down to write if there is something that you have done this week to write about.

It also helps you track your progress and put down ideas to come back to later. Sort of a developer’s journal.

Find a Friend

One of the secrets of successful people is they form “Masterminds”. This is a fancy way of saying that they form a group to share ideas and keep each other accountable for what they say they will work on.

If you can, find a friend who is doing a side project and help keep each other accountable on a weekly basis.

To Summarize

Its almost midnight and the laptop is on its last 5% of battery so I will sum up.

  1. Break your problem up into manageable pieces.
  2. Schedule a time to work on your project and stick to it.
  3. Have a specific reason to be doing the project.
  4. When you are having difficulty, get help.
  5. Write about your project or find a friend to help you stay accountable.

If you are not doing these 5 things and you start doing them for new projects, you will find yourself finishing and enjoying your projects more.

Until next week.

Putting Your Work Online

When we make games, it’s so people can see them, play them, and hopefully get some form of enjoyment out of them.

That does not happen if they never make it somewhere that people can find out about your games and then access them.

Therefore, you need to:
A. Tell people about your games.
B. Put your games where people can get to them.

We’ll tackle the second one First

Putting Your Games Out There

Used to, if you made a game, you needed a way to distribute it. This meant physical forms of distribution and lots of money. Thankfully, the Internet has made it extremely easy to put you games in front of a large audience. There are lots of free and inexpensive methods of putting your game out there for people to see and get at.

Game Hosting Specialty Sites

There are several sites that allow you to host your HTML5 game on them free of charge and a couple that have an add revenue sharing model. This is not a comprehensive list, just a few places to get started.

I put my first HTML5 game out on Itch.io and it was incredibly simple. After creating an account, you just need to upload a zip file containing your game and its assets. Just make sure the game has an index.html file.

Heroku

Heroku is a great hosting option if you are playing around with some server side code, or if you want to host your game their temporarily while you are testing it.

A Heroku app is free as long as it is only using limited resources, you can see more about their pricing model here. I use it all the time for testing little ideas.

You can use it to host your HTML5 games while you are testing them. However when you are ready to show them to the public, I recommend either putting them on at least one (read as ALL) of the free game hosting sites mentioned above or hosting the games yourself.

Self Hosting

If you are an extreme do-it-yourself type, or maybe you just want to learn more about the server side of things, you can pay to host the game on your own server somewhere. Almost any hosting provider will do, but I would probably recommend that you use something like Digital Ocean.

A nice simple server will run you about $5 USD a month. In addition, they have a ton of free tutorials on setting up almost any type of server you could want to set up.

Now time for the slightly harder part.

Telling People About Your Game

This is really important. If nobody knows about the awesome game you just made and put online, then nobody will ever get the joyful experience that you carefully designed and constructed for them.

Start With Friends And Family

Tell everybody you know about your game. Don’t be shy about it.

Also, make them play you game and ask for their honest feedback. This may be difficult to get, especially from your mom (who only ever wants to say nice things), but you should be able to tell if they are ready to put it down pretty quick, or if they seem to actually enjoy the experience.

Build An Online Audience And Tell Them About It

Start a blog and put your games and your progress on it.

This is a perfect place to build an audience of people that you can tell about your new games and get feedback from. Once you make a game you want to sell, it can be the place where you market first to people who already like what you do. Additionally if you ever decide you want a career in game programming or game design, it can become a showcase or portfolio of your work.

To get your blog set up, I recommend signing up for the Dev Career Boost blog email course put out by John Sonmez. This is email course is an easy to follow guide to setting up you blog and preparing it to be successful. I found all of the advice to very helpful, especially for deciding on a blogging schedule.

Also, John has a great site dedicated to advice for programmers at simpleprogrammer.com

Now go make some games and put them online!