Dumb questions about game development

Not everyone here works in software development or even follows other games much but I would be really interested to know how ED's development works. Judging by the "is it a scam" thread, there are people who share that curiosity and people that have a fairly good idea of how these things are or will be.

1. Alpha 1 to Alpha 2 took something like six weeks. Is it fair to estimate that sort of time, give or take a fortnight, per stage assuming things don't go too badly? How long or short can those metaphorical pieces of string be?
2. Will the Premium Beta be a largely complete game, just with a number of features to implement?
3. What sort of differences would you expect there to be between the two stages of the Beta? Is the Standard just a more stable build with fewer features left to polish off?
4. What determines completion of stage? Is it reaching a point where the bugs are fixed or is it more driven by reaching a stage where the next planned release looks like it works?
5. Would there be today, deep on David Braben's laptop (hypothetically - substitute a secure place as appropriate) something that resembles a full game, albeit not fit for human consumption? What I mean is do you develop a game by making parts that work and then stitch it together at the last minute, or after a certain stage does everything need to be developed as part of a whole?
6. Is the Gamma release really a chance to kill the last few bugs and tweak the balance so it plays "just so"?
7. Do the future developments like planetary landings stay completely on the back-burner until the Gamma is hunkydory?

Hmmm, it didn't feel like I had that many questions when I started the list. Any illumination would be appreciated.
 
the truthful answer to all of your questions is going to be "nobody knows" outside of Frontier anyway.

Although I think talk of a completed version on DB's laptop sounds like the foaming mouth ramblings of a crazy man.
 
Difficult to answer without knowing the composition and organization of the team, and the 'methodology' for development being used.

As far as the 'near complete' version on DBs laptop. There are probably 2 versions of the game on the go at anyone time:

- the one we see
- the one we will see next

While we are testing Alpha 2.1 there is likely a subset of team working on defects, while another subset of the team is polishing Alpha 3.

As for future developments? There probably isn't any active coding until Gamma is looking strong, there maybe lots of design and prototyping happening.
 
Difficult to answer without knowing the composition and organization of the team, and the 'methodology' for development being used.

As far as the 'near complete' version on DBs laptop. There are probably 2 versions of the game on the go at anyone time:

- the one we see
- the one we will see next

While we are testing Alpha 2.1 there is likely a subset of team working on defects, while another subset of the team is polishing Alpha 3.

As for future developments? There probably isn't any active coding until Gamma is looking strong, there maybe lots of design and prototyping happening.

there are probably small/medium teams doing preliminary (or more advanced) work on most of the large components we know will be in the game such as trading, travel, the universe, the missions whatever.

I once spent 6 months developing a snow system for a game that never even got past the design phase. Why, my system would lay snow on a height map and drift snow depending on factors such as time of year, wind and precipitation. I used to watch my snow algorithm process the height map and the features and carefully lay my snow on the environment.

Then the game got canned.
 
Not everyone here works in software development or even follows other games much but I would be really interested to know how ED's development works. Judging by the "is it a scam" thread, there are people who share that curiosity and people that have a fairly good idea of how these things are or will be.
I can't comment for Frontier Development but I am a Dev for a large multinational and will share what I can.


1. Alpha 1 to Alpha 2 took something like six weeks. Is it fair to estimate that sort of time, give or take a fortnight, per stage assuming things don't go too badly? How long or short can those metaphorical pieces of string be?
My Dev house follows an agile development mentality called Each period of time is called a 'Sprint' and they usually last up to a month. The way that we work out what we're going to do is be looking at a list of items in our backlog and then figuring out how long they will take. For some things this is a known quantity but for other things frankly it is little more than sticking your finger in the air and making a guess. Once a product has gone live then you also need to factor in some time for other issues to be found.

I SUSPECT that FD had most of 'Alpha 2' coded before Alpha 1 was released and most of their development time was spent investigating and solving things that were found in Alpha 1, although as we saw some features (I.E. the planet shading that broke some ATI cards) were added. These new issues that come up can be anything from a quick 1/2 day's work (I.E. adding the ATI card's option) to 'OH **** what DO WE DO NOW???!!?!?'

So to answer your question a month to six weeks seems a reasonable turn around to add some things and test them internally.




2. Will the Premium Beta be a largely complete game, just with a number of features to implement?
That seems to be the scuttlebutt, though of course the universe may reset at any time, expect a lack of stability etc...

4. What determines completion of stage? Is it reaching a point where the bugs are fixed or is it more driven by reaching a stage where the next planned release looks like it works?
For us we have a list of features we want to complete. Usually this is called the Sprint Goal. Normally we'll release things when they're ready and say ok this is version 1.1 or whatever...


5. Would there be today, deep on David Braben's laptop (hypothetically - substitute a secure place as appropriate) something that resembles a full game, albeit not fit for human consumption? What I mean is do you develop a game by making parts that work and then stitch it together at the last minute, or after a certain stage does everything need to be developed as part of a whole?
I think we can take it as a given that the version of Elite they are playing internally is at least 6 weeks ahead of what we've seen. We have also heard them saying that the FD devs start their day getting the most recent build. Who knows the current state of play for them but usually when we do stuff we'll have features and 'hide' the untested stuff. Or we will have our trunk and then remove features from the released branches.



6. Is the Gamma release really a chance to kill the last few bugs and tweak the balance so it plays "just so"?
That would be my guess.

7. Do the future developments like planetary landings stay completely on the back-burner until the Gamma is hunkydory?
That would be my guess.


Hmmm, it didn't feel like I had that many questions when I started the list. Any illumination would be appreciated.

Hope that helped where I could...

Eid
 
Not everyone here works in software development or even follows other games much but I would be really interested to know how ED's development works. Judging by the "is it a scam" thread, there are people who share that curiosity and people that have a fairly good idea of how these things are or will be.
I can't comment for Frontier Development but I am a Dev for a large multinational and will share what I can.


1. Alpha 1 to Alpha 2 took something like six weeks. Is it fair to estimate that sort of time, give or take a fortnight, per stage assuming things don't go too badly? How long or short can those metaphorical pieces of string be?
My Dev house follows an agile development mentality called Scrum' Each period of time is called a 'Sprint' and they usually last up to a month. The way that we work out what we're going to do is be looking at a list of items in our backlog and then figuring out how long they will take. For some things this is a known quantity but for other things frankly it is little more than sticking your finger in the air and making a guess. Once a product has gone live then you also need to factor in some time for other issues to be found.

I SUSPECT that FD had most of 'Alpha 2' coded before Alpha 1 was released and most of their development time was spent investigating and solving things that were found in Alpha 1, although as we saw some features (I.E. the planet shading that broke some ATI cards) were added. These new issues that come up can be anything from a quick 1/2 day's work (I.E. adding the ATI card's option) to 'OH **** what DO WE DO NOW???!!?!?'

So to answer your question a month to six weeks seems a reasonable turn around to add some things and test them internally.




2. Will the Premium Beta be a largely complete game, just with a number of features to implement?
That seems to be the scuttlebutt, though of course the universe may reset at any time, expect a lack of stability etc...

4. What determines completion of stage? Is it reaching a point where the bugs are fixed or is it more driven by reaching a stage where the next planned release looks like it works?
For us we have a list of features we want to complete. Usually this is called the Sprint Goal. Normally we'll release things when they're ready and say ok this is version 1.1 or whatever...


5. Would there be today, deep on David Braben's laptop (hypothetically - substitute a secure place as appropriate) something that resembles a full game, albeit not fit for human consumption? What I mean is do you develop a game by making parts that work and then stitch it together at the last minute, or after a certain stage does everything need to be developed as part of a whole?
I think we can take it as a given that the version of Elite they are playing internally is at least 6 weeks ahead of what we've seen. We have also heard them saying that the FD devs start their day getting the most recent build. Who knows the current state of play for them but usually when we do stuff we'll have features and 'hide' the untested stuff. Or we will have our trunk and then remove features from the released branches.



6. Is the Gamma release really a chance to kill the last few bugs and tweak the balance so it plays "just so"?
That would be my guess.

7. Do the future developments like planetary landings stay completely on the back-burner until the Gamma is hunkydory?
That would be my guess.


Hmmm, it didn't feel like I had that many questions when I started the list. Any illumination would be appreciated.

Hope that helped where I could...

Eid
 
Hope that helped where I could...

Eid
Thank you, I really appreciate the time you put in to that. I'd picked up on the repeated references to the latest build in the team interviews so it was good to have an indication of the range of possibilities that covers. You pre-empted a follow-up question there.
 
I'm a web developer who's followed the game's development quite closely. I can tell you the developers have repeatedly said future developments are indeed on the backburner, but everything else I'm about to say is just an informed guess...

The first thing to remember is that there's no one "standard" way to make software. Developers have a saying the nice thing about standards is that there are so many of them to choose from, so a good development team will grab standard concepts like "beta" or "release schedule" and bend them to meet the needs of their specific problem, often inventing weird new terms like "gamma" and "soon" as problems arise. The only honest answer is that all these things will play out however the problem needs them to play out when the time comes.

Bearing in mind the terms "alpha" and "beta" are just attempts to nail a code-shaped jelly to a wall, my guess is that the greatest release pressure will come from forumites' demands, so something called "beta" will be released when the beta backers reach fever pitch. If they get really get shirty that might mean inventing some kind of "pre-beta" stage running alongside alpha, but that would double the team's support cost without increasing their budget, so might create more problems than it would solve. If beta folk are content to wait it out (or if Frontier can placate them by e.g. giving them alpha phase 1 to play with), my guess is 6 weeks will be the minimum per alpha stage and premium beta will indeed have the majority of core features (but see below).

The nature of big software projects is that different teams finish their part of a job at different times. It's quite possible David Braben's laptop has a version of the game where he can press a button to change his current system from IMPSYS42 to FEDSYS27 and get into combat with a Boa-sized oblong while listening to a techno remix of The Blue Danube, but the biggest part of development is understanding what it is about things that don't work, so it would have more things that are blatant, jarring placeholders (or even wrong on purpose) than elements of a playable game.

If you think about all the procedurally-generated content in the game, Frontier could make a universe that was complete and playable, but had very little going on (see the factions+causes proposal). My guess is the beta stages will be about balancing those core mechanics (at a coarse level in beta 1, and a finer level in beta 2), while gamma will be about piling in events to see which ones can be made fun and which will never work.
 
Last I heard Frontier employ about 200 staff - whether or not they're all woking on ED is another matter.
So I would expect a lot more than 2 teams, that said whether you are programming code, network or doing art assets would determine how much you were involved in each alpha stage. I think it would be a larger number of teams working on different modules and depending on which modules were involved in each stage would determine who is busy with what.
An alpha stage would be made up of more than one module though I would imagine: models, ai, ui, networkng, effects - it all adds up to a lot of separate skill sets and staff!
 
there are probably small/medium teams doing preliminary (or more advanced) work on most of the large components we know will be in the game such as trading, travel, the universe, the missions whatever.

I once spent 6 months developing a snow system for a game that never even got past the design phase. Why, my system would lay snow on a height map and drift snow depending on factors such as time of year, wind and precipitation. I used to watch my snow algorithm process the height map and the features and carefully lay my snow on the environment.

Then the game got canned.

That's a good example of what I was getting at with the question about the secret full version on DB's laptop. Some aspects of ED could have been "complete" and incredibly sophisticated, months or years ago. On their own, however, they don't make a game but are fundamental to how a final product works.

Do systems like that have their implementation in to the finished product arranged at the initial design phase or do problems often arise in tying everything together to form the final product? Or is it not actually that challenging (for a decent developer) bringing together a group of systems, say running a flight model and generating planets? I would imagine that Elite's trading system is something that could be run as a game in its own right, unlikely to mess up the operation of anything else.
 
Do systems like that have their implementation in to the finished product arranged at the initial design phase or do problems often arise in tying everything together to form the final product?

Guessing again, but I would say this is where it helps to have a mature team working on a platform they know well. There's a famous story about NASA losing a spacecraft because one team worked in feet, the other in metres. Nothing's ever easy in software development, but Frontier are likely to have fewer integration problems than, say, a space game with several teams siloed off from one another and loads of newbie mistakes as yet unmade.
 
How well everything is implemented has a lot to do with the engine : look at source and how it was designed to be modular and easily improved.
Then look at the bloated mess that is frosbite.

Since ED was built from the engine up with improvement in mind, I would imagine it is fairly sreamlined and so easier to recode and compile. I would hope so at least!
 
Ok this is just totally speculation, I'd love it if there would be a dev interview about this stuff, because I'm curious too. Here are my guesses:

1. Alpha 1 to Alpha 2 took something like six weeks. Is it fair to estimate that sort of time, give or take a fortnight, per stage assuming things don't go too badly?

Generally I'm astonished by their speed of development so far, but I'd guess they will slow down. So far the alpha is just a really simple game. Theoretically the work needed to integrate new systems grows larger and larger. As new features potentially affect all previous systems there are complications, bugs, and worse, code redesign / rewrite. A feature that worked perfectly fine might have to be totally rewritten because now the data it operates on is changed, will be changed at runtime etc.

That is the crux of software development, you simply cannot plan it. Features sound like easy to implement, but complexity can always hide in the details and only the implementation will show it. And games can change simply "because it's not fun" so are even worse to plan. That's why most game studies adapt agile development models.

Programming is fun because it's similar to solving a puzzle, like a rubric cube. You divide and conquer, but the larger the puzzle gets the more moving parts you have to juggle.

About 2: My guess is yes, since the main parts are planned for the alpha. Combat, docking, outfitting, traveling, trading. I'd expect the simulation and reputation system and stuff like that to be incomplete.

About 3: Like you said, but nobody knows.

About 4: Checklist. But a feature is never done from a coder's point of view :p

5. Would there be today, deep on David Braben's laptop (hypothetically - substitute a secure place as appropriate) something that resembles a full game, albeit not fit for human consumption? What I mean is do you develop a game by making parts that work and then stitch it together at the last minute, or after a certain stage does everything need to be developed as part of a whole?

No there is no hidden beta version. They seem to focus on strictly incremental development. Of course it's highly likely that individual subteams prototype separate features like docking or the trading interface. Stuff like background simulation is probably developed with a completely different UI.

They probably have lots of different prototypes that get outdated pretty fast and don't connect to each other.

7. Do the future developments like planetary landings stay completely on the back-burner until the Gamma is hunkydory?

Yes, they are probably trying to ignore at as best as they can so they can focus. Of course, the game design team is likely to be churning out preliminary design docs for planned expansions, but you can print them out, plaster the desks with design documents, and your coworkers will never read them :p

For agile development like scrum, you want to focus on developing ONLY AND ONLY what you need right now. Then when stuff gets more complex you rewrite as needed. Instead of planning ahead and building architecture and abstractions that might never work out, you just code the hell out of the current feature. That way you can change your current stage as often as you like until it is fun to play, and don't think about the future development.

But probably there are dangerous exceptions :p One thing is that in games you also create content. Probably the walking around in ships is giving them a big headache. You can't finish even the design of one ship until you know how you can move around in a ship. Probably they have a prototype like the SC hangar module. But still you have to plan ahead with big uncertainties. Then when you change features because they weren't fun, the artists have to change stuff that was previously "finished".



I once spent 6 months developing a snow system for a game that never even got past the design phase. Why, my system would lay snow on a height map and drift snow depending on factors such as time of year, wind and precipitation.

Wow sounds awesome, would love to see that. Screenshot or it didn't happen ;) Unfortunately I can't +1 you
 
Frontier use their Cobra development system so any bug could exist in the Cobra development libraries or in the ED specific code or both. Depending on where the issue is impacts the scope of the fix and the consequent testing required.

I would expect that Cobra would support a multiple branch system so you can develop elements of the game as components and then bring them together in a build. The key is to look at the elements that make up the game and see how they build up. You can see that in the description of the alpha stages.

eg The planet database, location, names etc is a basic component. The UI for the galaxy map could be developed standalone. The planet designer again can be a separate development. For the galaxy map you need a rough planet design. However for inter planet travel you need more detail and then for SPL and EVA still more. These are things you can add over time. I believe that's what we are seeing evolve in Alpha. We currently have basic planet form, but the detail will develop as the game development progresses.

I fully anticipate that lots of the game elements are already coded and could be added in a build otherwise Alpha would potentially last many more months.

Certain elements of the development are more significant than others. The first Alpha standalone single player dog fighting could be relatively easily tested by FD and was one reason why it was relatively bug free.

Stage 2 with multiplayer online is a significant milestone. You've got all the issues of networking and the impact of players in multiple locations with different network topology to factor in. Any issues here of any magnitude need to be fixed otherwise they will bite later.

Much as it pains me to admit it, FD's stance of it's ready when its ready is the right one. Having said that I would anticipate that once stage 2 of Alpha is stabilised that things will move on quicker.
 
In programming, there is the abstract logic and the concrete logic. The physical errors (inappropriate instructions) and the logic errors. Find an error in a module of code, may take more time than the creation of the module itself. ED must be partially composed of a relational database. In this part there is analysis methods, like "Merise", eg. I guess for the other parties (gameplay, graphics, network) there are also the analytical and methodological approaches.
 
2. Will the Premium Beta be a largely complete game, just with a number of features to implement?
3. What sort of differences would you expect there to be between the two stages of the Beta? Is the Standard just a more stable build with fewer features left to polish off?

Just on this part, for software development an Alpha is a software version which is suitable for release to testing but is incomplete in terms of features. That's what is in the wild now.

A Beta is a feature complete version of the software that is released for final bug testing and for games, balancing.

So the premium Beta in both phases should be close to final form of the game. As with most game development projects though, sometimes a Beta can feel like an Alpha because bugs stop features working to the extent they seem to be missing entirely!

Toad.
 
Ok this is just totally speculation, I'd love it if there would be a dev interview about this stuff, because I'm curious too.

That would make an awesome dev interview. Most of the stuff people have put in here, even as speculation, gives a really good insight in to the sorts of problems that have to be resolved in a project like this.
 
Back
Top Bottom