I recently left the software development industry after a long career, but I've actually been doing it full-time for over 20 years. I actually wrote my first game when I was 9-10 years old, and I continued writing games until I was 20, when I joined the military, and into adulthood. So if you add in my previous career and my current career, I've been making games for over 30 years.
In this short time, I've learned a lot of valuable lessons, many of which are related to game development and some of which are software-related, so I want to share some of the relevant lessons here. 1. If it's not fun, then your game is wrong At many times in my career I've been involved in multiple areas of software development, and without fail whenever I started one I quickly left it. Take hosting, for example. I started one in the 90s and was very happy doing complex and advanced delivery solutions. At some point we stopped doing that stuff because it became too serious, people wanted to buy my company, and there were other growth issues. We were trying to focus on what would bring in revenue instead of focusing on doing great things, so it became boring and just about making money. Of course, the outcome was obvious; the company failed a year later. You always have to take research and development seriously sometimes, but never erase the simple fun, because when you enjoy what you do, it is easier to be motivated. So my rule of thumb is: do things that fuel your passion and make you happy or joyful. 2. Keep learning because knowledge and skills are easy to acquire One important lesson I learned is that after stopping a project or task, you must learn as much as possible. What I mean by this is that you should always make sure that you learn something when doing something, even if you completely fail, you should make sure that you don’t follow certain rules. There are two purposes for this. First, it exercises your brain. From what I understand (this is not scientifically proven) the brain needs regular exercise to stay healthy, just like the body. However, secondly, the knowledge is easily retained. You don't need extra space to carry it when you move to another city, and you don't have to pay any rent for it for the next 30 years. Once you learn it, it's yours, free and priceless. When we made our first game, Maff's Math Game, we were more focused on learning how to actually make a game. In other words, our entire team learned from the entire game development process mostly without a plan or a profit plan. As a result, when we start a new game now, we can skip a lot of the learning process and get results faster. Yes, this learning process may cost more money, but we know that in the long run, the return on this investment is many times. The lesson learned is: Omnia mea mecum porto, my life motto (Latin: I carry all my wealth with me, this is my life motto). 3. Always create reusable resources My company, Lobster Games, is currently working on a new game series called Final Arena. We are not sure the gameplay is completely correct, and I have not tested it yet, but our development is still progressing, and we are now hiring composers, modelers, animators, etc. If you follow the traditional concept, you must think that our approach is crazy, "You need to test your ideas as early as possible so that you can find errors in time", I agree with this point of view, but I have learned a more important experience. You see, the way we make games, the code base allows us to quickly replace any part of the game. If the current gameplay doesn't work, no problem, we can replace it with something better, but it won't change the systems we need to control the characters, tell the game story, store the game state, track the character's health and inventory, etc. By making various different components separate, we can replace them without affecting other parts of the game. Equally important, we can reuse parts of this game in other games, because in most cases, future games will need music, stories and characters. Lesson learned: Always reuse resources, even if you might not reuse some of them, but always assume that it will be used again. This is easier to do than you think. 4. Programming language is not relevant, but it is necessary Smarter people than me have talked about computer languages, but the quote I prefer is that languages are to programming what telescopes are to astronomy, you need to learn one, but that's not the end. I often see people arguing about which language is the best for game programming, but the truth is, there is no answer, which is why this question has been going on for more than a decade without a clear answer. So, as long as a language is needed for game programming, it doesn't matter which one it is. Here we come to the second half of the title of this section. You always need to know a programming language, no matter how many tools there are now that can make games without programming, but learning programming is crucial for game development. If you don't learn programming, it's hard to do a good job in game development. In the SharePoint company where I worked for more than ten years, this was the most important non-programming development tool that Microsoft had to cancel. The visual design interface of a tool is called SharePoint Designer, which was previously called Frontpage. People who know it should know it. Microsoft also said that they did this because SharePoint encountered the MySpace problem. The reason for this problem is that it is easy to think that you have output value but in fact more often than not, which can easily put you and your team into a dead end. However, for a programmer, especially an experienced programmer, they will grasp most of the causes of the problem before they start to make a solution. They know the problems of maintainability, scalability, security, and many simple web page conversions that will never be encountered. This is not because programmers have very high intelligence or something else, but because learning to write code allows you to solve problems in a clearer and more orderly way. Whenever possible, I will urge people to learn programming, even if many people will never need to write a line of code in their lives. The reason is simple, because it allows people to solve problems in a clearer way. Lesson learned: You must learn programming, there is no reason. So, these are what I consider to be the four most important lessons, things I have learned in over 30 years of software development experience and have actively applied in my game development career. |
>>: Recommended: Free resources for foreign game developers to learn game design
As we all know, Apple has gone against its norm t...
The user life cycle of each product is a process ...
Statement: This article is a medical-related educ...
Today, I would like to talk to you about the issu...
Friends who use Tik Tok know that video content i...
Selling goods through short videos has already be...
The rise of mobile devices has brought Wi-Fi into ...
Asked what makes people fat Different people have...
Once there is an incident and a discussion, a fir...
June 2 Mars will "meet" with the Beehiv...
Since 2017, remarks about the arrival of the ceil...
Hanekawa - Douyin Merchant Self-broadcasting Oper...
It turns out that some comedians are born because...
Gifted Mission-How to Live a Powerful and Free Li...
A concise and elegant iOS project directory can h...