Given a particular problem of a similar sort to something he's worked on, an experienced engineer will be able to list 10 different issues that might crop up.
An inexperienced engineer won't know of those potential problems and will just see the most optimistic path possible.
When you're moving massively outside your familiar zone, many unexpected problems will crop up. Best solution is a phased approach. Pick the bits you judge as most risky (you should hopefully have some idea) and implement prototypes in those areas, in the hope that most of the scaries will crop up. You've then got a better idea as you move on.
I've written this in the context of doing engineering, but it's equally true in all fields - like trying to sell a product into a new an unfamiliar market.
The other aspect of this that I see, even in seasoned engineers, is the 'presumption of simplicity'. Some things look really simple, but inside they are actually quite complicated. A smart phone is just a screen, a computer, a battery and a radio right? Too many times people see something, think "that doesn't look too hard I bet I could do that in a weekend"[1] but don't actually follow through on that thought and spend a weekend building what ever it was that was so easy. Sometimes the more experience you have the more dangerous this is. I can recall times in my own life we're I've grossly underestimated the difficulty of stuff, its lead me to be a lot more conscious about things I know about and things I think I know something about, especially when predicting schedules and work effort.
[1] A very common theme on acquihire stories here.
For example, a singleton is easy to learn and easy to use, but since every function using it adds a hidden dependency it quickly grows in complexity to the point its impossible to reason about it without forgetting something.
On the other hand, a Promise is simple as it depends on nothing but a producer and a consumer, no matter how much you compose them. Yet I've seen many experienced developers struggle to learn how to use them as they're not easy to understand at first.
This is somewhat related to meta ignorance. From my own experience I've seen a tendency in novice programmers to stick with things which are both easy to learn and use. Their projects go well initially but they grow less and less productive over time as complexity creeps in from the composition of all these easy to use things.
I've always said experience in our industry is knowing what not to use in order to stay productive in the long run.
Here's a link to Rich Hickey explaining it in depth: http://www.infoq.com/presentations/Simple-Made-Easy
Also note that english isn't my first language (I'm french Canadian) and even here in french the distinction is seldom made.
The distinction between two main types of simplicity, those of parsimony and elegance, has been a long-standing philosophical topic [1].
In engineering, the so-called KISS principle (first coined as such in the early 20th century) has always had the implication of minimalism and implementation simplicity, in contrast to mere ease of use.
Fred Brooks wrote a famous paper in 1986 [2] perfectly describing the differences between accidental and essential complexity, and of the semantics of complexity management in software projects.
Hickey has said absolutely nothing spectacular, but his name comes up every time from the typing fingers of the historically illiterate whenever simplicity and ease of use are brought up.
[1] http://plato.stanford.edu/entries/simplicity/
[2] http://www.cs.nott.ac.uk/~cah/G51ISS/Documents/NoSilverBulle...
Rich Hickey gained fame for this because he stated an idea very clearly and compellingly, this is non-trivial and should not be so flippantly dismissed as just recyling old ideas—all your ideas are recycled too.
+100 for this.
I knew about KISS, but almost every time I hear someone mention it they think about ease not simplicity. I will also definitely check out Brooks' paper.
While I understand your position, I believe a lot of this has been lost to the new generations of engineers and what Rich did is remind them of it.
In the parlance of Mr. Rumsfeld, you can learn from the known unknowns, but often you don't even discover the unknown unknowns (the "meta-ignorance") until it's too late.
This, like most engineering tasks, is more straight forward. You have to know what its going to take to build each piece and assemble them into the final product. So if you are making a AAA indie game, it helps if you can talk with the project manager at a company that made AAA games and go through their list of deliverables, and then think about how you're going to deliver the same thing. Sometimes you'll be tempted to say "we won't need to do that" but like Chesterton's fence, you need to understand why they did that so that you can really say you won't need to do that thing.
It is always ok to start with "how hard could it be?" but that starting point requires you educate yourself on exactly how hard it could be. For game development I think pretty much all the questions are knowable (except for consumer reception of course)
"Chesterton's fence is the principle that reforms should not be made until the reasoning behind the existing state of affairs is understood."
I learned something new (and useful) today. Thanks!
Source: https://en.m.wikipedia.org/wiki/Wikipedia:Chesterton%27s_fen...
Yeah, it's descriptive. I think I re-purposed a term from an academic paper that referred to meta-stupidity: stupid people are too stupid to know that they're stupid.
They did an experiment where they got people taking an exam to guess what mark they were going to get. In general, the lower scoring people in the exam over-estimated their mark more than the smart people.
Part of why it's good to be cautious around self-proclaimed experts.
Its very easy to forget all the efforts invested in learning a skill when you've been using that skill for many years. When it becomes second nature, you assume its also that way for others.
I definitely do the "manager doubling" when it comes to estimates. If I think it'll take a month, I estimate 2 months to my boss. If I have to report several levels up, I multiply by 2 for every level.
This tends to affect future work rather than the current sprint.
Hah, I like this. Every level up that sees it is also a potential for more scope creep, as each person will have their own vision of what's being produced.
One of my favorite estimating guidelines from a mentor was that development tasks are either 2, 4, or 8 hours. If it's more than 8 hours it can be broken up into smaller tasks.
1) Daily report in the morning SCRUM style of what was tried, and what's going to be tried next. 2) After a full working week, reassess everything and try and understand where you are going with this.
Rinse and repeat. Basically the estimate is set at 5 full working days whenever you work on an obscure problem. But it's not a hard deadline. It's just a hope that it'll work out by then and a mild mental aid of giving something to work towards.
I ask this sincerely, because I am trying to find a way to approach office politics as just part of my job and play it well. But as a developer, I'm also trying avoid the version of office politics where you just promise impossible things then find scapegoats later.
- I think there will be some challenges in that, can we take some time to think through the implications of ______ (or how we would deal with _____, etc)
- I think it's a great idea, but we're going to need to come up with a creative solution to solve _______
- I think we're probably under-estimating how much work that is. Maybe there's a smaller version we could start with and progress from there.
- We've looked into this before and got stuck at ________, do we think we've got a solution for that?
Once you have committed to doing something, experience usually wins out in doing it better.
"Hofstadter's Law" at work: any unfamiliar task will take longer than planned, no matter how much extra time there is the plan. You can't account for your ignorance with padding, you need some kind of actual knowledge.
The result, then, is that there are only a few ways to actual make an AAA game. One is to hire some quorum of people who've already made one, so that they can bring you up to speed. The other is to do enough proofs of concept that you can see the problems coming.
It looks like Woolfe went from some mobile, educational games to a AAA PC title. That, it seems, was too big a gap to predict and prepare for the hurdles they would face.
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
I've always known this as Cheops's Law: No project is ever completed on time or under budget.
In his biography, Elon Musk acknowledges that his original estimates for SpaceX were completely ridiculous and based on his experience with writing software and ignorance of the realities of building spacecraft.
a. "things that would mean the project failed."
in contrast to:
b. "things that could lead the project to fail."
For "a" one could list. There is no money left. The team desintegrates. Etc...
And finally ask yourself, what could I do now so that, if we arrive to any of the listed sutations the damage is reduced.
Take this comment with a grain of salt. As every other comment on the internet.
After doing all the normal project management estimates, etc, the very first thing he does is sit down everyone who will actually be implementing the project (or a representative sample).
He then asks them a simple question: "Come up with one scenario where this project would fail."
The implication being that this is lateral to the train of thought people use to make initial estimates. Iow, in all possible estimation scenarios, the project is assumed to have been a success! It's not unreasonable to expect that implicit optimism to filter down through sub-estimates.
His point was that giving people permission to imagine scenarios for total and abject failure identified important risks that could be back-fed to improve the initial optimistic estimate.
I pulled in a sample of people from the development team and proposed the following scenario:
It's the Monday morning immediately after our implementation, and you come in to the office to find a bunch of senior managers discussing a big issue with the system.
What went wrong?
That brought up a huge number of potential issues that were sitting in the back of the engineers minds that have never been written on any risk register, etc.
We talked them through, got comfortable that some of them weren't really likely/possible, and then worked on mitigations for the others (mostly via test plans)
In the end, the implementation was a success.
Whenever I'm about to build something big, I first start thinking about things that would be hard to do, or perhaps that I even don't know how to do yet. Then I build prototypes of those to make sure I can to it and do it efficiently.
Once all pieces are ready, it's just a matter of putting them together which is straightforward and you have some chance to actually estimate the time.
Want to do better or find an edge? Figure out a way to be part of a better reference class.
It's so easy to underestimate the work to be done, graphics easily break when you change the underlying hardware and renderers, gameplay had to be adapted to touch controls, etc. It didn't help that our estimate multiplier was only 3.
All of this gave me a much greater appreciation of the work you guys did at Naughty Dog.
I'm not an expert on the economics of the video game industry, but I can't believe that would pay a team of 6-10 people for very long.
[1] https://www.kickstarter.com/projects/45588301/woolfe-the-red...
I think they failed to earmark the funds for rewards (they did ship the game, the issue is they didn't ship the art books, wallpapers etc, and went bankrupt), and mostly just failed to build an awesome enough game. They probably expected strong sales as they'd been hyped quite a bit, greenlit in a few days, featured at the E3 etc. But when the sales didn't happen and the loans had to be paid back etc, they went bankrupt and couldn't ship the merchandise rewards.
I see a lot of kickstarter project where a team of 5 is looking for 20K or somesuch. While some teams can and do pull it off, that just seems crazy low and too much risk (especially when you factor in KS' fee and cost of rewards).
EDIT: Removed the as a rule from the first sentence (was I, as a rule, won't back...). After reading andallas' reply, I realised that there are some very rare occasions where I do back projects I otherwise wouldn't, but they have to have really proven themselves.
Descent:Underground [0] and Starfighter Inc. [1] both had well-seasoned teams of industry veterans, including founders who had written popular space games (X-Wing, Wing Commander).
One of the big differences I identified between the two campaigns was that D:U asked for an amount of money that seemed like enough to run a small game studio for a year ($600,000) while SI asked for an amount of money that seemed like it wouldn't get them anywhere close to done ($250,000 for a bigger team). D:U was also really clear in their messaging -- if we don't raise the funds, that's a market signal that we shouldn't make this game. SI communicated several times that if they didn't reach their KS goal they'd just do it another way. What that indicated to me is that D:U had a realistic crowdfunding plan that could get them to release, while SI seemed not to know what they were trying to accomplish with kickstarter.
To be sure, there were a lot of other factors at play. With D:U, Eric Peterson pulled a lot of support from Star Citizen backers and they released an excellent trailer in the last 48 hours of the kickstarter. SI dodged questions about what engine they were using and had a number of other customer interaction problems. But I think one of the big issues was that they didn't ask for a realistic amount of money, which made it seem like they either didn't know what they were doing or were relying on additional funding which would increase the risk for kickstarter backers.
[0] https://www.kickstarter.com/projects/descendentstudios/desce...
[1] https://www.kickstarter.com/projects/impellerstudios/starfig...
$50,000 could have afforded them an artist for 6 months, or helped them to secure some essential software, or just supplemented the incomes of the existing team, while they continued doing 'side-jobs' to generally pay the bills.
Now ideally, they would get all their funding from one source (so we know what they received) and it would be enough to pay for everything. But I think a lot of people who pledge on Kickstarter have a gross misunderstanding of how much money a game takes, considering each team-member may have a salary ranging from $50k - $100k is not unreasonable at all.
With that said, I've been following Patreon and the financial models at Patreon just make more sense than Kickstarter.
Various game development groups have constantly slipped their schedule, and backers respond typically by keeping the donations steady. As long as the game developer releases a demo demonstrating progress, backers are more than eager to continue their $5/month or so funding.
The main issue is the slow pace of early Patreon funding. A lot of games have to bootstrap with $500 / month or $1000/month for two or three months. Even "successful" Patreons only get $3000/month to $5000/month, and those are few and far between. (Patreon doesn't seem to have the reach of Kickstarter or Indiegogo quite yet. Perhaps if Patreon expanded and grew it'd be better?).
The Patreon model is also better for "subscription" stuffs. Podcasts, youtube videos and the like are more popular there. I can't find too many games on Patreon by searching, but I've seen them advertized on various forums.
In any case, even with $5000/month, it'd be hard to run a team of 6 on such meager money. I've been following a team of 3 and they're barely making it on that.
But Patreon does strike me as more plausible than Kickstarter.
-----------
On the other hand, Kickstarter is extremely good at measuring "hype". So perhaps the Kickstarter model is better if you're trying to prove to outside funding groups that your team is worth investing into.
Patreon seems to work out for smaller-scale projects, like youtube videos or podcasts. Its a bit harder to map it to a video game, but I still think the Patreon model for video games is superior to Kickstarter.
Everything is crap though, some real innovation should happen in this space. Unfortunately, I'm out of ideas...
*unless this was a legitimate case of being 1 month away from launch.
Clearly, the amount of work involved here was way too much.
But if 72k can keep you alive on ramen and a futon so that you can make millions on the back-end ...
Regardless, it's a gamble. But the up-front money isn't the only consideration. Especially if everyone has a real stake (which is not the case for startups in general).
And a single person just cannot turn out something close to a AAA title.
I have friends who've launched XBLA games on much, much less working full time out of a basement. During development, they could barely pay rent. Afterwards, they buy new houses.
I feel like people don't take real risks any more, and seem to misunderstand what actual ownership of the outcome looks like.
Sign of the times?
And the issue of AAA ... well... Get a simple game or playable demo going and build off of that rather than shooting for the stars. Or did we lose site of what an MVP is, too? Sounds like the OP did.
I feel like a lot of people underestimate the work/cost involved in physical rewards. I remember reading a game devs blog post about the subject.
Overwhelmed by rewards seems to be a common failure on KS. The list he rattles off in this case is quite extensive, and the postage cost is all that's preventing it from being sent. I wouldn't be surprised if they have 10k into rewards alone, especially when you account the time spent developing them.
72k USD will get you one senior developer for one year.
Out of my friends that graduated with me, in the set of {Google, Microsoft, Amazon, General Dynamics, AMD, Intel} employers, no-one, and I mean no one made above 90k starting. These people all graduated Suma Cum Laude (>3.96), with >3 years experience on average through internships.
No one should ever assume their counterparts are making anywhere close to them.
If you make $80k where I am, I would be expect the same person to make around $105k in Seattle. I'd wager the person you replied to is also somewhere in the Midwest.
Going out to lunch here at a decent sit-down restaurant is around 8-10 dollars with tip (assuming you're drinking water). Somewhere like SF or NYC will be much higher.
I'm the tech lead for my team at a medium sized company that builds high demand, critical backend services. Customers include small businesses, some well known Silicon Valley companies and some established Fortune 500s. I like what I do and get to see just how well software I work on scales with customers that push it to the limit. I mostly use C# with a bit of C++ right now, but previous jobs I used Python, Java, JavaScript and PHP. VCSs have ranged from SVN, TFS to Git. The one used mostly depends on when the company was founded. Early 00s probably means SVN while the last 5 to 10 years probably means Git or TFS.
Does company culture differ here? I don't think so really. Like anywhere, it depends on where and whom you work for. I work 40 hours a week on average, have a workstation that rivals my own gaming PC at home (we also had the choice of a high end laptop, but I prefer a desktop) and wear jeans/shorts/t-shirts to work (assuming I'm not working at home that day). My brother works for a company with a similar culture to mine and they have their own personal chef that serves them lunch every day. My employer and his are only about 10 to 15 years old, so that probably contributes somewhat to the cultural similarities.
Feels like there's a real dearth of opportunity here in Seattle compared to the Bay Area. There's mainly Amazon and Microsoft, and nobody I personally know who work in either place like it much. Google and Facebook have some small offices here, but most of the interesting and exciting work they do appears to be done in the Bay Area.
Do you feel like you can find another job you'd enjoy in the city where you live pretty easily?
Columbus, OH. Around 800k-850k if you just include the city limits and well over a million with the metro area. Third largest city in the Midwest. Lots of job growth and probably more tech jobs here than anywhere else in state. Factor that with cost of living being pretty cheap, I don't have much of a reason to leave right now.
> Do you feel like you can find another job you'd enjoy in the city where you live pretty easily?
I'm sure I could. I didn't used to think so, until I actually started looking for work after doing mostly consulting and contract work. I think companies here have more trouble finding versatile developers that can wear "many hats" versus developers finding interesting work. Most only know one language well enough to use it (mostly Java or C#) and are either bound into knowing Linux or Windows Platform development and rarely both. That's just my opinion on it though. I'm comfortable with doing most types of development in most languages, so that helps with finding jobs I like.
No interest really in working for large companies. From my experience, that's generally the reason people move West (or East) that live here. I prefer companies where people actually know who I am.
20k is far too low, you can make more than that waiting tables. Jesus 9.615/hr. I made about double that as a waiter in Oklahoma in the mid 1990s.
Update your resume sir/ma'am!
Where did you take this number from?
Try at least, the bare minimum, double that in Western Europe for anyone calling themselves a game developer
This sounds ideal for me, but I like low-level C/C++/assembly programming and wouldn't want to give that up for the web.
The main difference on the downside is a plethora of frameworks that often constrain your design badly. Of course, on any large project there is always a way to do things, and it is not always pleasant ;-) So it's not really so different. I also had to learn quite a lot about databases, something that I shied away from in my earlier days. Again, many frameworks try to shield you from database details, but they bugger up the object modelling so badly that you are much better off being quite aware of what is happening under the hood.
On the plus side, code bases are generally very small. We're talking having to maintain small 10's of KLOC (and very often less than 10k code) as opposed to 100's of KLOC. I wouldn't say they are toy problems, but they are definitely on the small to medium size. You can pretty much understand all of how an app works. Frameworks often bring the total code size up to above 100 KLOC (yes, I have spent some time debugging Rails ;-)), but again, it's not something that would scare a seasoned dev.
My main pleasures are being able to work with 100% free software tools from back to front. It's truly awesome to be able to debug and tweak anything I want. For frameworks and libraries, no longer do I have to depend on marginal documentation to see how something works -- I can just read the code. This is a massive plus.
For me, the acceptance of unit testing as a normal development procedure has been wonderful. Not all web devs subscribe to it, and very few do it well, but it is at least a mainstream concept. Also the tools available for TDD are really great. Rspec style tools (including Jasmine) are worth their weight in gold.
I think the biggest surprise for me making the transition was that there is a huge amount of complexity in web development. Yes, there are lots of people who do web development as a kind of paint by numbers, but honestly I've seen those kind of devs everywhere I've gone.
If you are looking for a change, I wouldn't rule web development out.
Compilers, JIT compilers
Maintenance of old software
For example I work in France and I keep approx $36k after all taxes (but still not taking VAT into account, which is 20% on most products). This salary costs around $78k for the company I work for. Approx breakdown: 25k in employer taxes, 12k in employee taxes (the distinction is rather arbitrary, but sometimes the government changes the rate of one or the other...) and then 5k in household income taxes (if you have some capital gains it also goes to income, but actual work is taxed over and over and over... :p )
Also I work full time: 218 days a year (with no fixed number of hours per week, but it is very reasonable). That's more than 6 weeks of paid vacation + a dozen of holiday here and there. And when I was sick for 3 weeks last year, it was not deduced from my vacations (but the sickness indemnity during those 3 weeks were less than my usual rate, maybe 60% but I'm not sure)
I also sometimes work on the side as an independent and on the monetary side the end result is roughly the same: if a client pays me X, at the end I keep approx X/2 and the other X/2 goes to various taxes (but it is better to be salaried, because those X/2 in tax provides you virtually no security as an independent, whereas they do when salaried)
Now to compare anything you'll also have to at least convert in PPP, and also consider what is provided to you (and even to others!) for "free" with your taxes. This is arguably not reducible to a single figure; I would rather make a "little" less if that lets other people have better health care and if that means that nobody will ever ask me a fucking ridiculous amount of money if I need a really expensive medical treatment (not that the French health care system is the best, but I guess it is not that bad compared to some other countries...). Also a lot of social and related services are provided for completely free to the users. And even in areas where housing is expensive you would find it insanely cheap compared to NYC or some places in the silicon valley.
And to finish remember that the value of the Euro has decreased a lot the last few months compared to the USD. That make all the amounts even more difficult to compare: one year ago I would have told you that I keep maybe $47k after all taxes (from an amount in € that was actually a little lower than what i have now...)
Let me say you can find better opportunities outside the field
The biggest problem with making games is the fact that there's no end goal of "Done." It's just a vague point in time, really. Is it done when you've made 10 levels or 11? Is it done when you've added 10 power-ups or 11, or 15? In a movie, you can't make the thing 50 hours long, no one would watch it all. But for a game, 50 hours is now considered medium sized, compared to MMO's and MOBAs that offer hundreds of hours of time to play.
Scope creep is the biggest danger in the games industry. Reading this update, where they talk about going from 2D to 3D, my heart broke. That's such a major change, and as he writes, such a major uptick in difficulty, it was the beginning of the end.
Terry Cavanaugh [http://distractionware.com/blog/ ] gets scope right. Valve gets scope right. You can tell when it's done right because the pacing of the game feels damn near perfect, like Half-Life 2: there's little down time, and you're always moving forward, even if yer not always shooting.
I feel bad for the Woolfe team, but they clearly had rose colored glasses on. There's a very good reason modern console games cost at least 8 figures. Hell, even with 8 figures of budget, many big name titles aren't even that good. The games industry is a harsh mistress. Like judging what's funny for a comedian, judging what's fun for a game developer is the toughest task they have.
> In the video game industry, AAA (pronounced "triple A") is a classification term used for games with the highest development budgets and levels of promotion. A title considered to be AAA is therefore expected to be a high quality game and to be among the year's bestsellers.
By definition, a budget of $75k + 6-10 people wont make an AAA game.
> When we made Crash Bandicoot (with a team of 7), it was already virtually impossible to make a AAA game with 6-10 people, and that was 20 years ago.
I'm biased/invested in this area, but I think nowadays tools are really helping strip away the technical challenges of making a game. Increasingly game development is less about technical challenges but more about the creative challenge. Individuals are willing to pour thousands of hours of work into artistic and creative projects, and I am seeing far less resistance and challenges going forwards for these sorts of people to produce AAA quality games, when previously game creation was extremely inaccessible to them.
Also, thank you for Crash Bandicoot. Amazing game :) One I loved playing growing up!
This is both good and bad news for indie developers. Bad in the sense they'll never reach that scale and level of graphics without serious investments. Good in the sense the triple-A giants are anything but flexible and indie developers can therefore differentiate themselves through innovative gameplay and storytelling, which is very much lacking in the AAA scene nowadays.
AAA game (typical example: Skyrim):
* Sells for $50-$60
* Has cutting-edge graphics and (generally) runs on the newest generation of hardware
* Is available on most/all gaming platforms
* (Nowadays) Usually has some celebrity involvement (Skyrim had Max von Sydow, Christopher Plummer, Michael Hogan. Oblivion had Patrick Stewart.)
* 20+ hours of gameplay
AA game (typical example: Far Cry: Blood Dragon, Call of Juarez: Gunslinger):
* Sells for about $25-$40
* Made with last year's AAA engine
* Runs on last year's hardware
* Typically available on fewer or only one platform
* 8 - 20 hours of gameplay
Anything below that is either a classic game remastered (for example, the recent Homeworld remaster), or an indie title.
Frequently a AAA game (like Diablo III) will have a AA game come out at the same time to compete with it (Torchlight II.) In a lot of cases, like Torchlight II and Call of Juarez: Gunslinger, the AA game is actually a far superior game to the AAA games its competing with. ;)
Sometimes the sequel to a AAA game is a AA game, I'd say that's the case with Wolfenstein: The Old Blood.
Some games, like Portal and Portal 2, straddle the line. But I'd slot the Portal games as AA.
Minecraft was also a great achievement in terms of game design and gameplay, yet had simple graphics, and consequently was easily moddable, which greatly contributed to its popularity and success. But is was considered "AAA" when it was released, and is it considered "AAA" now that Microsoft bought it (even though it's essentially the same game)?
So how important do you think fancy graphics are to the definition of an "AAA" title, versus accessibility (in terms of how many people can play it because of its lower hardware requirements, and how many people can mod it because of its graphical simplicity)? And how important are game design, gameplay, popularity, making money and other issues like moddability to the definition of an "AAA" title?
Another way for a game to achieve easy (but more limited) moddability without limiting its graphical complexity is to support advanced built-in tools for user created content (like Spore for example, which has advanced built-in specialized tools as opposed to supporting simple generic third party tools).
Subsequent versions of The Sims had much fancier graphics, and much more advanced built-in content creation tools (like create-a-sim), but that made it harder to create content outside of the game (because objects were 3D meshes instead of 2.5D sprites, and texture maps for character meshes were not nearly as simple).
The original Sims 1 team (which I worked on) only had four core programmers, but it was developed over many years before the point that EA bought Maxis and put more people on shipping it. So The Sims 2, 3 and 4 were much more typically AAA-ish, and had vastly larger teams working on them. (The Sims Studio became one of four major sub-divisions of EA.)
I think small indie teams would be better off focusing on game design and gameplay instead of fancy graphics.
What I like about these games is that they're immersive, without being overly long or tedious. You can play through Portal in a few evenings, without feeling like you're missing out on hundreds of side quests. The gameplay is tight, fun and innovative.
However, if you have a friend who likes first person shooters, you could play through one or more of the Gears of War games in cooperative split-screen mode. I hate, HATE, HATE playing FPSs on consoles, but I had a blast playing Gears in coop. It was the first console FPS I'd ever played where
* the gunplay felt good
and
* I didn't find myself longing for a keyboard and mouse after two minutes of play.
Indeed, the combat works really, really well with a controller.
I don't know how the game has held up over the years, but it was lots of fun back in the day.
If you like, change FPS to "shooter" everywhere it appeared in that comment.
However, in my opinion AAA doesn't apply to scope or budget but quality of experience. Super Meat Boy is one of the best games I've played in years and it doesn't come anywhere near the scope of say GTA 5 (which is also awesome).
I don't think anyone calls SMB a triple-a title though... so I'd say wikipedia's definition is correct.
So then, I think the real issue here is aiming to make a game that compete with major studios who have budgets of $50m and employ hundreds of specialized team members.
These devs claim it was a passion project, but then they throw in the towel on the entire concept of running an indie studio after the negative reviews come in. I understand the bankruptcy move, but if I were the founder's shoes, I would move somewhere cheap, take a side job and keep making games on the side. If I still loved the Wolfie project, I would fix it for free and I would find a way to send my KS backers whatever I owe them. I would read every negative review of my game, try to bucket the feed back (something like: legit, semi-legit, ignore) and then fix the game. I would also print my favorite positive reviews and hang them up around the house for motivation. If I no longer believed in the game, I would build something new but smaller. 13 years is a long time to wash down the drain due to one failure.
Currently I'm trying to make indie games along with my gilfriend. She has no formal 3d art training but has been teaching herself via the internet. I learned Unity and have been teaching myself c# / cg and all the other shit that goes with 3d game development (I come from a python / js background). We will most likely fail hard but I don't understand the concept of quitting when you got into something for fun in the first place.
edit: it also sounds like these guys tried to build their own engine... or something. If they did, that was a bad idea. If they didn't, I don't understand why they had so many issues with collision detection. Haven't played the game though... its just odd to hear that they had major collision detection issues.
Suffice to say, it is entirely powerful and possible to create incredible games. Ori and the blind forest, Hearthstone, and plenty of AA and indie games use unity, lots of kickstarter projects.
To the chagrin of gamers, Steam has greenlit several terrible unity based games, that only use free/cheap unity store assets, namely Airplane (?) and DayZ (sic) , which are quite infamously reviewed by Jim sterling on YouTube. Enough to cloud the market for games created by any future indie dev.
Advice is plentiful, though you do have a lack of great sources to ask questions.
IMO, devs starting with unity are almost drowned in advanced features to get started from concept to prototype. Easy to learn, hard to master, easier to edit store bought prefabs than to DIY. They can become a crutch very quickly.
The unity store can be a boon and a roadblock to progress, because it doesn't always help. Starting out, it won't give you the best direction or how to code, but it will take you forward to developing a playable prototype. Sometimes within hours of starting a new project.
If you have a team, unity is going to be the source of frequent anguish, but it is still more flexible than it ever was.
the biggest hassle will more likely to be assets, and far down the road, dealing with rigid bodies, collision, raycasthit, and the PhysX implementation of mesh and mass collision.
For most devs, the initial unity workload will be around 70-80% asset creation to 20% game coding, and about 290% of the budgeted time, debugging.
A good idea is to build a prototype, get the mechanics working while the art is being developed. Once the code is in place, debug/playtesting is critical to developing assets that then can be designed, built as mesh, and imported within the prototype in a few seconds.
Character controllers are generally easy, more dynamic mechanim is able to avoid some pitfalls of the capsule collision system, and there are ways to add crouch/jump use cases with pathfinding and AI,(which is a good bit of work.)
Unity does excel at getting a walking mesh going, using mechanim to blend animation and mesh collision, and 3d art assets designed in Maya or 3dsmax, etc.
When I started with unity in 2012, it took forever to even think about how to build a menu system, until NGUI. It's improved drastically since the store was added.
[1] https://www.quora.com/Who-makes-more-money-Hollywood-or-the-...
Minecraft does this, in a way. Instead of a villiage-sized Barbie / GI Joe playset (with everything perfectly designed), you get a giant bucket of lego bricks.
Not that Minecraft / df style games have done much better on Kickstarter.
Yes, it's a hugely popular game, but it is the archetype of "indie game done good".
I agree, it's not AAA, in terms of assets, but I'm saying a "box of lego bricks" (or something like that - copying Minecraft won't work now) is the only way to compete with AAA on assets. PCG looks like a holy grail, but I doubt it (unless you can get it good enough to sell to AAA, then why wouldn't you just license the tool?).
Minecraft is AAA success. Your big-box retailer probably has Minecraft guide-books for sale. There's nothing that touches it. Papers, Please is an "indie game done good", and it sold maybe 5% of Minecraft.
For what it's worth, "semantic" means "related to definition of words". The argument we're having is still semantic. And semantic arguments are usually pointless. Just in case you didn't know.
For AAA games, modern, high-end systems increase the difficulty of providing a product. Modern development tools help, but graphics demands and expectations are inexorably growing. In a world where animating reflections might be a full-time task, 6-10 people can't even count on developing a trailer for a AAA product.
In response, then, indie games. Why the rebirth of pixel art and simple, geometric visuals? Not because it's 'retro' or 'clean', but because it's easy. Procedural generation, low-poly graphics, and user generated content aren't popular because they produce the best products, they're popular because they're all decisions that slash the number of employees you need.
Woolfe's mistake was setting out to make their game as good as it could possibly be. For an indie team today that's simply not possible.
To paraphrase your producer, "3 years = Duke Nukem Forever".
(Fun anecdote: I'm from Russia and I didn't know English when I was a child. I had no idea what "save game" means so I started Crash Bandicoot 3 from scratch every time. Imagine my surprise when I realized how saving works.)
Reading this made my day, it's the exact same rule I try to apply to my own effort estimate, to the letter. I was 100% convinced I came up with it myself, but now I'm starting to think I may have (unconsciously) picked it up from someone else at some point ;-)
I feel like CTR was slightly easier, but still a great arcade racing game.
The combination of ahead-of-its-time graphics with really fun gameplay is rare, particularly after the 80s.
Reminds me of these rules:
- Multiply by π for small, known teams, doing a new job,
- by π^2 for unknown teams,
- and √π for known teams who have already started, know their work and have a good track record.
From http://alistair.cockburn.us/The+magic+of+pi+for+project+mana...
New problems mean unknown ways to fail === hard to estimate
Also there is a parallel between your "add one and increase the unit" and the estimation of what kind of manpower you need to take an defended objective. The wisdom here is basically the same: If you are facing an objective defended by a squad, you will need a platoon to take it. If you are looking at a platoon dug in to the objective, you will need a company to take it. An entrenched company needs to be uprooted by a battalion, et cetera.
It's from this (The Mythical Man Month as you mention, and the estimations the infantry taught me) that I have built a kind of mental model for estimating things, that ends up being sort of universal like the 80-20 rule.
http://www.quora.com/How-did-game-developers-pack-entire-gam...
Why can't you do something like "Game on Rails", where you set up a basic framework that has all the stuff a game normally needs, and then you only have to layer your assets and logic on top of it?
Do game devs already use something like that and still have these delays?
No one of those features stops you, but you get a "death by paper cuts" effect, because you eventually hit a mine that requires original technology to be written - most commonly, something to do with collision code. A good team led by a competent producer is able to figure out how to get the right effect within the budget, but it's never an easy process, and game productions have a habit of "pitching the moon and shipping with swiss cheese".
With that said, a lot of great (albeit typically somewhat simple) games are made with frameworks. When I when to a few game jams back in college, we typically started with something so that we could have a "complete" game by the end.
[1] - https://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp
[2] - http://all-things-andy-gavin.com/2011/03/12/making-crash-ban...
Some studio have made success with flash-compatible renderers, and we even thought for NHL2K2 to use one, but first it was only compatible with the Windows version of the Dreamcast (okay, I barely remember now, as we didn't used it, but there was a choice whether you can ship your game with some barebones NT system on the Dreamcast - but you had to lose 2mb to the oS). So that middleware (I think) required it, and it wanted somewhere from 2-4mb more on top.
One big problem, back in the days, with the UI is that you can have tons of memory in your main menu, but you barely have anything while the game is playing. So your "PAUSE" menu might use completely different code path, and look quite differently. The alternative is to reload things after PAUSE, but this decreases the quality of the product, also much harder to test, and you would hear the DISC "screaming" soo much :)
Nonetheless Dreamcast was fun to work on, spare the compiler, and the debugger :)
1. I know this, I have done it before in this codebase. Estimate is accurate, multiply by 2 to account for watercooler talk, documentation, and other non coding work. 2. I know this codebase, I have a pretty good idea of what to do, how, and where. I have walked trough the code and can't identify any major roadblocks. Multiply by 5 3. I don't have an honest idea. Multiply by 20, and make it clear that it's a guesstimate at best. Usually a better estimate can be given after working on it some time.
It's still off more than I like.
congrats!
There are a lot of $10 games that will entertain for 4-5 or more hours (even excluding the outliers like Terraria). I'm surprised that the developer was surprised at the perceived value of their product.
That said, he's right that the market for indie games is ridiculously saturated right now.
For example something like Ori and the Blind Forest, not exactly indie but a $20 title with amazing graphics and sound and around 6-8 hours of bug free gameplay.
I think if you are making a 3d game you haven't thought things through.
People often don't believe me, some reason being that some developers really deliver on time and sell it as finished but then having the rest of the team fixing bugs and working around strange APIs for months. Often it's just that they also haven't experienced the pain of developing something of reasonable scale and stability.
No man, these are not tears, I just got something in the eye.
http://www.quora.com/Engineering-Management/Why-are-software...
But game programming is like architecture. There's so much more to do.
I didn't know CB had such a small team! Props!
What is your definition of AAA game? I believe Minecraft was created by 1 person (or at least started). I consider Terraria to be a AAA game and that was made by 3-4 people.
When we made Crash Bandicoot (with a team of 7), it was already virtually impossible to make a AAA game with 6-10 people, and that was 20 years ago.
I tell inexperienced entrepreneurs to take their honest best estimate and multiply by 10. Or, as Mark Cerny (our producer on Crash) used to tell us, "add one and increase the unit: 1 week = 2 months; 2 months = 3 years; 3 years = you're doomed".
For a less anecdotal version, read The Mythical Man Month. (The factor he arrives at is 9.)