Posts Tagged ‘Software Development’
Jan
27

One of the first things my wife said to me after we got married was “I knew you played video games, but I didn’t know how much you played them.”  The thing you have to know about programmers, no matter what they are or what they do today, they probably started out as a kid playing games on “something” with a video screen.  That kid is still in all of them, yearning to topple empires, win dogfights with a starship, or hack zombies to bits.

Which brings us to our most recent entry in the “Future Products” category.  You can’t swing a dismembered limb in a GameStop without smacking into a game with zombies in it.  Vampires may be in vogue with all the tweens  and moms, but zombies have the hearts of nerds around the world (take that Edward Cullen).  So why shouldn’t WE get in on the game.

Let’s think about this for a second…what kind of zombie game would *I* like to write? I’ve seen a lot of things done with (and to) zombies, but I’ve never seen an  RTS zombie game (NOTE: if there is one out there, please don’t tell me…it will spoil the illusion…I’ll have to buy it instead of dreaming about writing one…I’ll have to hide it from my wife…and my kids (who love zombies)…it won’t be pretty).  A few quick pen strokes and …

Zombie Apocalypse XXVII - Basic Concept

Zombie Apocalypse XXVII - 10,000 ft View

There you have it.  The 10,000 ft. view of the game.  The last “bastion” of humanity, trapped in…well trapped someplace and trying to survive.  All they need are some motivation to venture outside…like food, equipment, exercise by running away and screaming very loudly.  Let’s zoom in the camera a bit and take a look at what it might look like up close….

Zombie Apocalypse XXVII - 1,000 ft View

Zombie Apocalypse XXVII - 1,000 ft View

NOTE:  Please excuse the crudity of the drawings in both cases.  If I’m going to do a formal presentation, I will use formal tools.  But for informal brainstorming, I can crank out ideas on pages about 10 times faster this way.

A full 3-D world…but a small one.  To make up for the lack of artistic skills (and the lack of an art department for that matter), we (that is to say Nonlinear Ideas and its amazingly dedicated staff who follow my every whim…except when they don’t) will use the equivalent of cardboard cutouts for our “agents” moving about the board.

We’ll also avoid needing a path finding engine (and the tools to post-process the geometry files and create path nodes)  by using a simple terrain and simple flocking behaviors (i.e. seek) for moving agents about the game.

As for plot, we’ll re-imagine existing plots that (seem to) have worked for others in new and bold ways the originators would never have thought (i.e. steal what is not nailed down, dress it up, sell it fast, get out early).

Well, that’s it then.  Right.  That’s all you need to get a game started.  Nothing left now but to write the code, demo it to EA, sell the rights, retire to private island and fight off real pirates with our own private army.  Sort of like the game we’re talking about, but with real people.

Some time passes….

Well, I’ve submitted the drawings to the marketing department.  It seems they’ve wasted no time and jumped right on top of this with their (usual) crack analysis skills (see their response below).

Zombie Apocalypse XXVII - Response from Marketing

Zombie Apocalypse XXVII - Response from Marketing

Maybe next time…

, , ,

Jan
08

Coding is all about grammar, software is all about philosophy.
– Unknown

Programming can be fun, so can cryptography; however, they should not be combined.
–Charles Kreitzberg and Ben Shneiderman

The sooner you start to code, the longer the program will take.
–Roy Carls

Our developers never release code. Rather, it tends to escape, pillaging the countryside all around.
–The Enlightenment Project

Perl is the crystal meth of programming: it’s so incredibly useful when you need to do a large amount of work in a small amount of time that you tend to overlook the fact that it’s basically precipitating the implosion of your vital organs.
–Dan Martinez

Programmers are the tools for converting caffeine into code.
–Unknown

If you lie to the compiler, it will get its revenge.
–Henry Spencer

There are only two industries that refer to their customers as users.
–Edward Tufte

Einstein argued that there must be simplified explanations of nature, because God is not capricious or arbitrary. No such faith comforts the software engineer.
–Fred Brooks, Jr.

To iterate is human, to recurse divine.
–L. Peter Deutsch

Good judgment comes from experience, and experience comes from bad judgment.
–Fred Brooks

There are two ways to write error-free programs; only the third works.
–Alan J. Perlis

When Leo Tolstoy wrote Anna Karenina, he could have been thinking about cubicles: “there are no conditions of life to which a man cannot get accustomed, especially if he sees them accepted by everyone around him.”
–Leo Tolstoy

The real value of tests is not that they detect bugs in the code but that they detect inadequacies in the methods, concentration, and skills of those who design and produce the code.
–C.A.R. Hoare

The most important single aspect of software development is to be clear about what you are trying to build.
–Bjarne Stroustrup

Most of you are familiar with the virtues of a programmer. There are three, of course: laziness, impatience, and hubris.
–Larry Wall

I did say something along the lines of C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows your whole leg off.
–Bjarne Stroustrup

There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.
–C.A.R. Hoare

Any fool can use a computer. Many do.
–Ted Nelson

Trying to outsmart a compiler defeats much of the purpose of using one
–Brian W. Kernighan and P. J. Plauger

UNIX is simple. It just takes a genius to understand its simplicity.
–Dennis Ritchie

Putt’s Law: Technology is dominated by two types of people–those who understand what they do not manage and those who manage what they do not understand.

An organization that treats its programmers as morons will soon have programmers that are willing and able to act like morons only.
–Bjarne Stroustrup

Theoretically, software is the only component that can be perfect, and this should always be our starting point.
–Jesse Poore

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
–Damian Conway

Documentation is a love letter that you write to your future self.
–Damian Conway

If you think good architecture is expensive, try bad architecture.
–Brian Foote and Joseph Yoder

Theory is when you know something, but it doesn’t work. Practice is when something works, but you don’t know why. Programmers combine theory and practice: nothing works and they don’t know why.
–Unknown

If the code and the comments disagree, then both are probably wrong.
–Unknown

Those who want really reliable software will discover that they must find means of avoiding the majority of bugs to start with, and as a result, the programming process will become cheaper. If you want more effective programmers, you will discover that they should not waste their time debugging, they should not introduce the bugs to start with.
–Edsger Dijkstra

In theory there is no difference between theory and practice. In practice there is.
–Yogi Berra

For a successful technology, honesty must take precedence over public relations for nature cannot be fooled.
–Richard Feynman

One of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs.
–Robert Firth

Hofstadter’s Law: It always takes longer than you expect, even when you take into account Hofstadter’s Law.

PHP is a minor evil perpetrated and created by incompetent amateurs, whereas Perl is a great and insidious evil, perpetrated by skilled but perverted professionals.
–Jon Ribbens

If you want a girlfriend, avoid working in the computer games industry like the plague. If you work seven days a week, 15 hours a day for almost two years, with barely enough time for a pint, you have no time whatsoever for relationships. Plus computer-games makers are regarded as being about as hip and cool as abattoir workers.
–Toby Gard

Your problem is another’s solution; your solution will be his problem.
–Unknown

Embedded lines of code are growing 26% annually but developers are increasing by 8%.
–Venture Development Corporation

Productivity can decrease by as much as 25% when workers put in 60+ hour weeks for a prolonged time. And, turnover is nearly three times higher among workers who work extended hours. Absenteeism among companies with extended hours is more than twice the national average.
–Reworded from Circadian Technologies Shiftware Practices 2005 survey

There’s a fine line between being on the leading edge and being in the lunatic fringe.
–Frank Armstrong

Two things are infinite: the universe and human stupidity; and I’m not sure about the universe.
–Albert Einstein

Some people, when confronted with a problem, think I know, I’ll use regular expressions. Now they have two problems.
–Jamie Zawinski

The most amazing achievement of the computer software industry is its continuing cancellation of the steady and staggering gains made by the computer hardware industry.
–Henry Petroski

One test is worth a thousand opinions.
–Unknown

If the lessons of history teach us anything it is that nobody learns the lessons that history teaches us.
–Unknown

The trouble with the world is that the stupid are cocksure and the intelligent are full of doubt.
–Bertrand Russell

Debugging is like alien abduction. Large blocks of time disappear, for which you have no explanation.
–Unknown

Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.
–Alan Kay

If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization.
–Gerald Weinberg.

Ugly programs are like ugly suspension bridges: they’re much more liable to collapse than pretty ones, because the way humans (especially engineer-humans) perceive beauty is intimately related to our ability to process and understand complexity. A language that makes it hard to write elegant code makes it hard to write good code.
–Eric S. Raymond

Let us change our traditional attitude to the construction of programs. Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.
–Donald Knuth

The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic.
–Norman R. Augustine

No engineer looks at a television remote control without wondering what it would take to turn it into a stun gun. No engineer can take a shower without wondering if some sort of Teflon coating would make showering unnecessary. To the engineer, the world is a toy box full of suboptimized and feature-poor toys.
–Scott Adams

I love deadlines. I like the whooshing sound they make as they fly by.
–Douglas Adams

In handling resources, strive to avoid disaster rather than to attain an optimum.
–Butler Lampson

There are various reasons that software tends to be unwieldy, but a primary one is what I like to call “brittleness”. Software breaks before it bends, so it demands perfection in a universe that prefers statistics.
–Jaron Lanier

People tend to overestimate what can be done in one year and to underestimate what can be done in five or ten years.
–Joseph Licklider

Code generation, like drinking alcohol, is good in moderation.

--Alex Lowe

Nothing makes the software work like the hardware.

– Unknown

To error is human, but announcing your brand new Twitter, YouTube, Blog, and Forum Page in the same worldwide e-mail
as an application update is just asking for Trouble.
– Unknown

Overall pedigree unknown; attributed to a post on embedded.com; read at your own risk.

, , ,

Jan
05

I always keep a few sticky notes on my desktop to remind me about the realities of the (seemingly endless) tasks at hand:

The Six Stages Of A Project
1. Enthusiasm (This project rocks!)
2. Disillusionment  (This project blows chunks!)
3. Panic (How is this my fault?!)
4. Search for the Guilty (Run Away!  Run Away!)
5. Punishment of the Innocent (Blame the new hires!)
6. Rewards for the Non-Participants (Can you say MIP?)
The Five Rules Of Plumbing
1. Hot on the left
2. Cold on the right
3. Waste flows downhill
4. When in doubt, add a vent
5. Payday is on Friday

Happy Tuesday

, , , ,

Dec
24

A version of Time Tracker for your iPhone or iPod touch.

Basic Feature Set

  • Create Projects, Tasks (assigned to Projects) and Records like you can in the existing Time Tracker application.
  • Allow you to filter records like the existing application.  You would be able to see roll-ups of the time for viewed Records as well.
  • Send the data via e-mail so it can be imported into the PC version of Time Tracker.

, , , , , , , , , ,