Category Archives: Books

Getting Started with Xamarin: Gathering Resources

One of the first steps with learning anything is finding available learning resources for it. So today I am just finding a list of various tutorials, blogs, podcasts, books, and video to use for self teaching.

Note: I did not thoroughly inspect any of the resources in this list. Just basic searches and brief scan of the site to come back to later if it looks like it might be useful.

Books

Some people hate reading. If thats you, go ahead and skip this category. I for one love reading, though I definitely prefer good fiction to technical books.

A quick Amazon search will give you books like:

  1. Xamarin Mobile Application Development: Cross-Platform C# and Xamarin.Forms Fundamentals 1st ed. Edition
  2. Xamarin: Cross-Platform Mobile Application Development
  3. Mastering Xamarin.Forms

I would encourage you to go to amazon and search for Xamarin and see what comes up.

Blogs

Podcasts

Written Tutorials

Video Tutorials/ Youtube

There’s More

There are other resources out there but this is just to get started with. Also some of these links are to another list of link.

After getting an understanding of the breadth and scope of what learning Xamarin will cover, I will be picking a more narrow topic and exploring it further.

Fear

As I sit to write this post, I feel small twinges of exactly what I am writing about. Fear that it is pointless to write this and that it is a waste of time. But it needs to be written because Fear is exactly what will keep you from making a great game or doing anything great.

Another Name

Another name for Fear that has been given is the Resistance. Most of the people I have heard use this term reference a book called The War of Art by Steven Pressfield. I have written a little about this Resistance before, but I think it is such a major factor in holding people back, myself included, that it needs to be readdressed occasionally.

Common Fears

In one of the classic books on success titled Think and Grow Rich, the author list 6 categories of fear that most fears can be grouped under.

  1. Fear of Poverty
  2. Fear of Criticism
  3. Fear of Ill Health
  4. Fear of Loss of Love
  5. Fear of Old Age
  6. Fear of Death

Today we will look at the fears of poverty and criticism because they seem to be the most likely culprits in keeping creative people from doing great things.

Poverty

Fear of poverty is characterized by things that keep you poor such as worry, doubt, indecision, and procrastination. It makes you overcautious and unwilling to take the risks which you need to take to become richer. And often the risks are not really risky at all. It turns out it is usually more risky to keep the status quo than to make the changes necessary to achieve success.

Criticism

For writing and making games especially this is a big one. I think it is the one that keeps me from wanting to hit the publish button every time I write a post and that keeps me from wanting to show someone a rough version of a game.

You are not likely to become poor from writing for free on the Internet or from showing people the games you are making. However, you are likely to receive some criticism, especially if you have any sort of audience. It is impossible to make everybody happy. But often the criticism comes from people whose opinion of us does not matter. As far as games are concerned, criticism is exactly what we need. We need fresh eyes to take a critical look at our games and we need the criticism and insight that they offer.

There is a fairly well known quote from Theodore Roosevelt that says

It is not the critic who counts; not the man who points out how the strong man stumbles, or where the doer of deeds could have done them better. The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood; who strives valiantly; who errs, who comes short again and again, because there is no effort without error and shortcoming; but who does actually strive to do the deeds; who knows great enthusiasms, the great devotions; who spends himself in a worthy cause; who at the best knows in the end the triumph of high achievement, and who at the worst, if he fails, at least fails while daring greatly, so that his place shall never be with those cold and timid souls who neither know victory nor defeat.

What Do We Do?

There are a couple of ways to get past the fears. One is to talk about them, they hate that. The part of your brain that likes to bring up fears does not like you to look at them directly and consider the worst outcomes and the likely outcomes.

Another way is to ask good questions. What is the likely outcome of performing this action? What is the worst outcome? Who might criticize me and do I care that they do? Who am I helping by doing this? Start asking yourself questions about why you don’t want to do something.

A final way of getting past fear is just make what you want to do a must and turn it into a habit. Every day you will do this thing. It helps to make it the first thing you do when you get up.

I hope this help you get past some of your fears that are preventing you from writing that blog post or showing someone the game your are working on.

Use a Sharpener

While reading through Clean Code today, I was surprised to reach the end. Even though there were 80 or so pages left in the digital version of the book, they were all appendix and index. So today is the “what have we learned day.”

Keep It Sharp

One of the most common stories about self improvement is the story of the man felling a tree. Usually this man has a saw or an axe and is working very hard but making little progress. A friend comes by and notices the tool is very dull. When this is pointed out, the man felling the tree usually says that he does not have time to sharpen his axe because he has to get this tree down. Most people can see the irony that if he would spend a little time keeping the axe sharp, the tree would be down quicker.

This is the point of reading books and doing other forms of continuous education. As creators and designers we need to keep our skills sharp so we can be more effective.

Fragrant Code

The essence of Clean Code is summarized nicely in its last chapter called “Code Smells.” It gives a list of heuristics of “smells” that, if you find them in your code, can be warning signs of poor code design.

Importance of Clean Code

One of the most beneficial things that I have gotten from learning how to write cleaner code is being able to come back to code I wrote a week ago and more easily pick up where I left off. Sometimes life happens and I don’t get the opportunity to work on my games every day. And one of the things I noticed as I was reading this book was a lot of the time as I tried to make games quick and with my limited time, I sacrificed a lot of code cleanliness.

And this is ok. But what I did not do, and what is very important to do is go back and clean up or refactor that original code. Otherwise your pace will start to slow down as you dig through to find what that function does and have to rewrite that other one to handle some new case. You will be trying to chop the tree down with a dull axe.

So Sharpen Yourself

Knowing that you need to stay sharp doesn’t do a whole lot. You have to actually take the time to read, to watch and to learn. If you write any code at all, I would recommend reading through Clean Code if you haven’t already. And if you have, read it again.

Even if you never plan on writing code, just the principles that help keep code clean will help you keep designs clean.

10/10 Would recommend reading.

Book 1 of 2016 Review – The Art of Game Design

I wrote an initial review over the first few chapters of the book earlier this year, then quickly realized with the types of notes I was taking it would take forever to finish the book. Well it took 5 months anyway with everything I had going on. I suspect if I had focused on it bit more I could have finished it in 1 month no problem. This is a very brief set of notes with a thought about every chapter.

Rating 10/10

This book is fantastic. It is essentially 500 pages of great ideas and questions to ask yourself when making a game. This may sound overwhelming and it is a little, but just get 1 or 2 of the ideas at a time. In fact, there is a separate little deck of cards that can be bought (or you can make your own) from the “lenses” in the book. Highly recommend anyone who is interested in games creation, game design, or the game industry read through this book.

Notes and Thoughts

The only way to be a game designer is to design games (and make them). So if you want to be a game designer say “I am a game designer” and go make games.

There are several important skills every game designer can have but the most important is the ability to listen. Not just listening to what people say, but also to their body language and other non verbal communication.

As a designer, you are really designing an experience that the player(s) of the game will have. Then you design a game that will deliver that experience.

Games are made for players. Who is your player? Ofter written as, who is your target demographic?

Even though people usually interact with the game through some sort of interface, the experience you design actually takes place in the player’s mind.

Games are made up of different elements. Only one of those elements is the game’s mechanics. This includes rules of the game and the playing pieces and interactions.

Balancing the game’s mechanics is very important to the experience.

The mechanics of the game support puzzles in a game. By this we mean that there is some sort of problem solving in the game caused by the mechanics.

All games have an interface so you can play them. It is a loop. Player puts inputs into interface, game interprets and gives an output, player interprets the output and gives a new input. The ideal design is to have the interface add to the experience that is being designed.

Interest curves are very important for judging experiences. One of the most effective interest curves is well known and is basically a short period of rising action at the beginning, a small drop in action, then a longer period of rising action to the climax of the story. However the best interest curves are fractals of this curve so that a small arc of the story along this larger interest curve will also follow the same pattern.

Stories are one type of experience. The dream is to have a completely interactive story with open endings. This is both difficult and impractical for now (see this post I wrote about branching explosion of story writing). There is good ways to design story into the game and the book has several good tips.

The game and the story can be merged together with “indirect control.”

Stories and games take place in worlds. Some of the best worlds are those that people actually want to visit and even pretend to visit and translate into other forms of media well.

There are characters in our worlds. We want to create compelling characters.

Worlds contain spaces, we usually call them levels. You can use the design of the spaces to create a better experience through giving visual clues the players may not even notices but react to and follow.

The aesthetics of the world define its look and feel. Sound, art and the technology used to create the world all work together to help get the experience where you want it.

Some games are played with other people. This can sometimes get a little tricky.

Sometimes communities form around games. It is important if you are designing a game where you hope a community will form to build in support for a strong community. The author gives several good suggestions and examples of ways to build a strong community.

Game designers usually work with a team (even if it is only a team of 1 other person). Getting buy in from everyone on the team is super important. Keep communication levels good.

Sometimes the team communicates with documents. Make sure to not let them get stale.

Playtesting is the key to a good game. You can never playtest enough. You need to ask the playtesters: Why, Who, Where, What and How?

The team builds the game with Technology. Technology can be tricky, especially on games that are being developed over a multi year cycle. Choose carefully.

Games usually have a client. By this we mean someone who is financially backing the game.

The designer usually gives a “pitch” to the client to get them to buy-in to the idea of the game. There is a list of tips for how to give a successful pitch.

Most of the time, the client (and you as the designer) want to make a profit from the game. You should spend some time learning the lingo of game sales and figuring out the business model of the game.

Games actually change the people who play them, the book uses the word “transform.” Games can be both good and bad for you.

Because of the affects games can have, game designers have certain responsibilities.

Every game designer has motivation, what’s yours?

The End

Seriously, go get this book and read it. Even if you don’t want to design games, it still has valuable ideas for anyone wanting to get into design or creation of software.