Jump to content
Entries in this blog
It's been 15 days since the official launch of my first software and so far it has been an incredible learning experience. You can't predict the future, but you can learn from your mistakes, and with that I'd like to share my number one discovery.
When your product releases it reaches a number of unique people who each have a unique age, position and disposition of your product. There will always be a myriad number of reasons a person might want your game or product but it's rare that this h
In the midst of my late night insomnia set on by inspiration and excitement, I read the talk “AI is possible .. but AI won't happen: The future of Artificial Intelligence” by Mark Humphrys.
This is a great read for someone interested in the current state of AI. It’s far less impressive than someone might hope, but far more realistic. In summary, when computers were invented people generally believed we had the tools to create brilliant artifi
How many simultaneous projects can you manage until your productivity begins to drop?
This has been inspired from my own decisions and mistakes of over dedicating myself to numerous projects ending up ultimately being very unproductive.
If I have 4 projects and I split my available time evenly across these 4 projects the productivity is not split evenly. Additional time is taken closing previous projects and opening and prepping other projects. Will power, state of mind, and vision for e
As a single developer on a relatively large project that has taken much time to develop, the progression of technology can prove to be quite an enemy. 4 years ago the technology considered cutting edge is now legacy and the dependence on such technology can prove to be quite a headache when attempting to upgrade.
A common practice when the underlying implementation of particular technology is expected to change is to create interfaces that act as contracts all implementations must abide by.
3 Years and 35,000+ lines of code later I can look back and see many things I would of done differently.
I started my project more than 3 years ago which was when Leadwerks was at version 2.2x and unfortunately I was in to deep to switch to Leadwerks. My software is a game creation tool that is specific to creating Real Time Strategy games like Command and Conquer and Starcraft.
I've learned a few lessons about developing game creation software that if I were to do it again I would not s
Developing a failure sucks. You spend hundreds, sometimes thousands of hours on a project only to find out that it's a complete flop and nobody wants to use or play it.
As independent game developers we have a unique situation and challenge. Our resources are limited and our conditions are that of extreme uncertainty.
Acquiring certainty of the success of a project by collecting feedback early on is great way to determine whether to continue, change course, or drop the project. You'll wa
Time invested into a game doesn't determine it's sales.
This is an important fact to acknowledge if you decide to enter the wonderful world of independent development.
If I had to do things over again I would create a simple game and focus on addicting game play and mechanics.
The real question I've been asking myself these last couple of weeks is what do people buy when it comes to games? And how can I incorporate these into a game the would only take a few months to create.
While I should be finishing my game and engine a notable epiphany has hit me like a ton of bricks, the kind of epiphany that's worth writing about so the next time you decide to dedicate 3 years of your life to a programming project you don't forget what you learned the time before.
My project has consisted of 3 sub projects - The Engine, the Level Editor, and the IDE.
I've been working on "RTS Creator" for awhile, and it's a full suite of tools to make your own Real Time Strategy game w
Since the birth of the internet, web sites have been constructed from HTML(HyperText Markup Language). Displaying web sites was a simple process that consisted of taking data and rendering static information to the users screen.
Things have become much more complicated, with animation, AJAX - a method of getting data from the server without reloading the page, and CSS (how web pages are 'styled'/themed'), yet the method in which these pages are displayed haven't changed but have been expande
Approximately 3 years ago I quite my job out of frustration and began a project I didn't realize would consume almost 3 years of my life.
A lot has happened in the last 3 years including acquiring a new job and getting my hands on LE.
40,000 lines of code later I'm finally coming close to finishing this project.
This has been an incredible learning experience in the world of OOP and OpenGL and even helped me to land my first programming job.
From learning, to dedication and dete
I had this thought today about Leadwerks and its origination, and the company that wrote the language the original Leadwerks was developed in (BlitzMax, Blitz Research Limited) and how Leadwerks and Blitz Research limited started in similar places, took unique approaches yet have similar goals in their products, being cross platform compatibility.
Blitz Research Ltd developed Blitz3D, which was one of the first languages/libraries to have a well working standardized set of 3D commands. Later
As a game developer and programmer one of the most frustrating things can be choosing a game engine or graphics library.
It seems this day and age there's a library of options but non of them seem to fit the bill. What am I looking for when I assess a graphics library/game engine?
Compatibility - I want my product to be as usable as possible and reach as large of an audience as possible. I want to see my game on PC, PS3, XBOX, PSVita, Android and iOS.
Flexibility - If you're lucky en
If you're not familiar with the Pareto Principle than you may have heard it referred to as the 80 / 20 principle.
The Pareto Principle states that roughly 80% of the effects come from 20% of the causes. This is a pattern that can be seen in many places such as income, sales, wealth, etc.
I've continually found this principle to take effect in my game development projects. Once I'm about 80% complete the effort to push forward seems to be just that much more.
Continually inspiring my
For every project, a coder is ultimately caught between 2 opposing ends of the spectrum. The first end is the goal, the purpose for developing the software. The other end is how the machine implements the code. I'm realizing that through development, we're trying to produce code with a balance between efficient implementation, readability, and of course the ability to accomplish the task it was designed to do.
You could say the most efficient implementations would always be written in some
So I'm the guy who writes 7k lines of code only to find out that "I'm doing it wrong." If you haven't been there then you probably haven't learned much.
This is going to make me sound like a complete idiot, but damn! I really feel like one. After coding as a hobby for 3 years I'm finding out now I never really knew how OOP worked and how fantastically useful inheritance and polymorphism really is.
It seems like everyday I'm learning something new about programming, languages have so muc
I have a bunch of books on coding that I like to approach slowly. Everyday I read a section or two from a book and let the idea's resonate so I can really understand them and see where they're applicable in my own work.
The latest book I'm reading is "The Pragmatic Programmer" by Andrew Hunt and David Thomas. It's a book full of concepts and ideas to make you a better programmer. One of the things they discuss is a principle called "Don't Repeat Yourself" or DRY.
When I initially read t
There have been a lot of lessons learned now that I’m finishing my first large project. RTS games continually push the limit on unit and structure counts and with the latest OpenGL features I would argue it’s now possible to have hundreds of thousands of units.
The strategy is simple, the implementation can get tricky. Keep all movement and calculations on the GPU and use textures as data structures (optional). The concept borrows a similar idea of a lot of modern particle systems in that ea
A focus that's received a lot of attention in the world of productivity has been motivation. What motivates people and how people are motivated in turn results in all of the worlds output. By boiling down motivation we can separate all types of motivation into 2 separate and opposing psychological sources.
"Away from" motivation are ideas and situations a person is trying to avoid. For example, you don't have a job, you're running out of money and you're unsure how you're going to continue t