Software development model

This new stand alone release based on the legendary War in the Pacific from 2 by 3 Games adds significant improvements and changes to enhance game play, improve realism, and increase historical accuracy. With dozens of new features, new art, and engine improvements, War in the Pacific: Admiral's Edition brings you the most realistic and immersive WWII Pacific Theater wargame ever!

Moderators: wdolson, MOD_War-in-the-Pacific-Admirals-Edition

User avatar
guytipton41
Posts: 351
Joined: Sat Feb 26, 2011 4:01 am
Location: Houston, TX

Software development model

Post by guytipton41 »

Hi Folks,

If someone was to put together a team of volunteers to do a major upgrade of AE - possibly not using any of the legacy code base - what development model would you favor?

1. Overlapping waterfall with level A/B/(C) requirements.

2. Agile with use cases/user stories.

3. Expert driven development - developer is SME on subsystem.

4. Something else?

Possibly some of the AE development team have some (strong) opinions about what worked and what didn't. Agile and Waterfall have the advantage that the coding skills are disconnected from the domain knowledge skills.

Cheers,
Guy

Ps. I've never done any game development - mainly just large scale real time training systems.


Image
Attachments
sstf.jpg
sstf.jpg (51.64 KiB) Viewed 187 times
User avatar
Rising-Sun
Posts: 2141
Joined: Thu Nov 05, 2009 10:27 am
Location: Clifton Park, NY
Contact:

RE: Software development model

Post by Rising-Sun »

Well what I like to see is tactical naval engagement in real time, since the players cant control it but watch it. In 3D would be nice, not sure how air engagement would be like, but it can be done. Having 3D models over landscapes and making it even more interesting. I would very much like to see this happen someday.
Image
User avatar
Mobeer
Posts: 664
Joined: Wed Jan 17, 2007 7:59 pm
Contact:

RE: Software development model

Post by Mobeer »

Not a member of the AE team, but:
- using volunteers who can come or go, so expecting a fixed team to complete large chunks of work seems unwise
- not too clear on deadlines or goals, so the approach needs to allow for changes

Then a Agile approach would seem the way forward
wdolson
Posts: 7648
Joined: Tue Jun 27, 2006 9:56 pm
Location: Near Portland, OR

RE: Software development model

Post by wdolson »

ORIGINAL: guytipton41

Hi Folks,

If someone was to put together a team of volunteers to do a major upgrade of AE - possibly not using any of the legacy code base - what development model would you favor?

1. Overlapping waterfall with level A/B/(C) requirements.

2. Agile with use cases/user stories.

3. Expert driven development - developer is SME on subsystem.

4. Something else?

Possibly some of the AE development team have some (strong) opinions about what worked and what didn't. Agile and Waterfall have the advantage that the coding skills are disconnected from the domain knowledge skills.

Cheers,
Guy

Ps. I've never done any game development - mainly just large scale real time training systems.


Image

I notice you're in Houston. A friend of mine is an Agile project manager in Houston.

In any case, the original WitP was developed by three guys in a room together. I've only been involved in the one game project (AE) and we did things somewhat different from other game development projects, but from what I have learned about game development, it is different from most business software projects. For one thing, this sort of game needs fast data access and you need to have some hardware understanding in the development team.

I've worked in engineering since the late 80s, 90+% has been working on software or firmware. Most of it has been embedded systems, which is a very different critter from typical business software project. I've never worked with any of the models you mention. I've been on teams and operated alone, but most of the teams I was on predated the naming of Waterfall and before Agile became a thing.

On things like avionics, which I worked on with a number of companies (always commercial aircraft), formal design and development processes like Waterfall are the norm, especially in flight certified developments. The development plan can be less stringent for things that don't have to fly.

The AE project is the only one I've worked on since 2001 that involved much of a team. Right now I'm the only full time programmer the company has and they have one part time programmer who isn't working out all that well.

You might be able to call the AE team an Agile team. I don't know what a real Agile team looks like, so I can't tell you for sure.

In any case, it helped a lot for the programmers to understand the systems they were modeling. Just throwing programmers at the who don't know project might not work as well.

Bill
WitP AE - Test team lead, programmer
Image
User avatar
guytipton41
Posts: 351
Joined: Sat Feb 26, 2011 4:01 am
Location: Houston, TX

RE: Software development model

Post by guytipton41 »

ORIGINAL: wdolson

I notice you're in Houston. A friend of mine is an Agile project manager in Houston.

In any case, the original WitP was developed by three guys in a room together. I've only been involved in the one game project (AE) and we did things somewhat different from other game development projects, but from what I have learned about game development, it is different from most business software projects. For one thing, this sort of game needs fast data access and you need to have some hardware understanding in the development team.

I've worked in engineering since the late 80s, 90+% has been working on software or firmware. Most of it has been embedded systems, which is a very different critter from typical business software project. I've never worked with any of the models you mention. I've been on teams and operated alone, but most of the teams I was on predated the naming of Waterfall and before Agile became a thing.

On things like avionics, which I worked on with a number of companies (always commercial aircraft), formal design and development processes like Waterfall are the norm, especially in flight certified developments. The development plan can be less stringent for things that don't have to fly.

The AE project is the only one I've worked on since 2001 that involved much of a team. Right now I'm the only full time programmer the company has and they have one part time programmer who isn't working out all that well.

You might be able to call the AE team an Agile team. I don't know what a real Agile team looks like, so I can't tell you for sure.

In any case, it helped a lot for the programmers to understand the systems they were modeling. Just throwing programmers at the who don't know project might not work as well.

Bill

Hi Bill,

I'm also a agile (small a) Project Manager. I've worked for most the major aerospace companies over the years. Started with B-52 flight software and moved to training simulations. Used to be a fairly hot code slinger but now I do spreadsheets and PowerPoints.

(small a) means we just pretend to be agile to make our organization look modern and forward thinking - at heart we still think waterfall.

The simulation I work on now has the main loop running in real-time at 80Hz (12.5 ms frames +/- 100us) with some robotics/mechanical subsystems running contact dynamics at 1000Hz, so we're all about wringing the last erg of performance out of our 64-core 512GiB RAM simulation boxes.

I had been thinking that an AE2 could be kicked off by writing up a set of requirements or user stories. Something like what Albert has written up for ship repairs. If those were parsed into a pseudo-code or UML a non-programmer could go in and tweak the assumptions and what not. Have no doubt, a set of detailed requirements or user stories for this beast would run at least a 1000 pages.

Cheers,
Guy
wdolson
Posts: 7648
Joined: Tue Jun 27, 2006 9:56 pm
Location: Near Portland, OR

RE: Software development model

Post by wdolson »

ORIGINAL: guytipton41

Hi Bill,

I'm also a agile (small a) Project Manager. I've worked for most the major aerospace companies over the years. Started with B-52 flight software and moved to training simulations. Used to be a fairly hot code slinger but now I do spreadsheets and PowerPoints.

(small a) means we just pretend to be agile to make our organization look modern and forward thinking - at heart we still think waterfall.

The simulation I work on now has the main loop running in real-time at 80Hz (12.5 ms frames +/- 100us) with some robotics/mechanical subsystems running contact dynamics at 1000Hz, so we're all about wringing the last erg of performance out of our 64-core 512GiB RAM simulation boxes.

I had been thinking that an AE2 could be kicked off by writing up a set of requirements or user stories. Something like what Albert has written up for ship repairs. If those were parsed into a pseudo-code or UML a non-programmer could go in and tweak the assumptions and what not. Have no doubt, a set of detailed requirements or user stories for this beast would run at least a 1000 pages.

Cheers,
Guy

A major company has the money to pay someone to sit down and write 1000 pages of requirements. With something like AE2, it would require someone to do that as a volunteer effort and people tend to get bored doing things like that for free. The problem is volunteers have a tendency to quit when they get too bored.

Bill
WitP AE - Test team lead, programmer
Image
User avatar
guytipton41
Posts: 351
Joined: Sat Feb 26, 2011 4:01 am
Location: Houston, TX

RE: Software development model

Post by guytipton41 »

ORIGINAL: wdolson



A major company has the money to pay someone to sit down and write 1000 pages of requirements. With something like AE2, it would require someone to do that as a volunteer effort and people tend to get bored doing things like that for free. The problem is volunteers have a tendency to quit when they get too bored.

Bill

Hi Bill,

Boredom doing documentation is a problem with me as well. At 50 lines per page that's the equivalent of writing 50 ksloc of code. I could probably knock out a major component like air combat, land supply or naval pathing in 50 ksloc.

Is the number of ksloc in AE covered by the NDA?

Cheers,
Guy
User avatar
guytipton41
Posts: 351
Joined: Sat Feb 26, 2011 4:01 am
Location: Houston, TX

RE: Software development model

Post by guytipton41 »

ORIGINAL: RisingSun

Well what I like to see is tactical naval engagement in real time, since the players cant control it but watch it. In 3D would be nice, not sure how air engagement would be like, but it can be done. Having 3D models over landscapes and making it even more interesting. I would very much like to see this happen someday.

Hi RisingSun,

This is a tough one. For the common case of base defense someone would have to write a tactical battle simulator sub-system that would take as inputs:

1. The local map.
2. Some initial disposition of defending ships.
3. Some concept of tactical doctrine on a per nationality per year basis.
4. An actor model for the various fleet, task force, element and ship commanders.
5. A run-time engine to take all these inputs an come up with a repeatable and enjoyable encounter.

In the real world the commanding officers of the defending force and attacking force would study maps, look at resources, (hopefully) talk to the ship commanders and come up with some courses of action.

Now all of this could be doable - look at the CoOp mode in World or Warships where a team of players duke it out against 'bots. It would be best to find an existing free and open source software tactical naval simulator and add in the hooks to feed inputs in and get results back. Or work with the developers of a tactical naval simulator to do the integration.

One big issue would be testing and validation. With an actor based model and a healthy dash of random numbers the range of outcomes could be dauntingly large.

Cheers,
Guy
User avatar
Rising-Sun
Posts: 2141
Joined: Thu Nov 05, 2009 10:27 am
Location: Clifton Park, NY
Contact:

RE: Software development model

Post by Rising-Sun »

ORIGINAL: guytipton41

ORIGINAL: RisingSun

Well what I like to see is tactical naval engagement in real time, since the players cant control it but watch it. In 3D would be nice, not sure how air engagement would be like, but it can be done. Having 3D models over landscapes and making it even more interesting. I would very much like to see this happen someday.

Hi RisingSun,

This is a tough one. For the common case of base defense someone would have to write a tactical battle simulator sub-system that would take as inputs:

1. The local map.
2. Some initial disposition of defending ships.
3. Some concept of tactical doctrine on a per nationality per year basis.
4. An actor model for the various fleet, task force, element and ship commanders.
5. A run-time engine to take all these inputs an come up with a repeatable and enjoyable encounter.

In the real world the commanding officers of the defending force and attacking force would study maps, look at resources, (hopefully) talk to the ship commanders and come up with some courses of action.

Now all of this could be doable - look at the CoOp mode in World or Warships where a team of players duke it out against 'bots. It would be best to find an existing free and open source software tactical naval simulator and add in the hooks to feed inputs in and get results back. Or work with the developers of a tactical naval simulator to do the integration.

One big issue would be testing and validation. With an actor based model and a healthy dash of random numbers the range of outcomes could be dauntingly large.

Cheers,
Guy

I imagine it does take a lot of work and testing, if you think on the other hands what it would be like when it is done. Depending on the team players and languages you are using to build this projects. Best bet is write down and draw patterns on how you want this to be done and as well others may give you some ideas too. I know this wont happen anytime soon, very much like to see this before I die lol.
Image
User avatar
Mobeer
Posts: 664
Joined: Wed Jan 17, 2007 7:59 pm
Contact:

RE: Software development model

Post by Mobeer »

ORIGINAL: RisingSun
Well what I like to see is tactical naval engagement in real time, since the players cant control it but watch it. In 3D would be nice, not sure how air engagement would be like, but it can be done. Having 3D models over landscapes and making it even more interesting. I would very much like to see this happen someday.

PacLink tried to do this with Carrier Strike and Pacific War. It could make a scenario in Carrier Strike from Pacific War, though I don't know if it ever progressed far enough to return the results. Storm Eagle Studios also used a similar idea between their campaign and battles in games like Distant Guns.


These links demonstrated an issue in the handling of battles. For example Carrier Strike battles last up to 3 days, whereas Pacific War turns lasted a week, and WitP typically a day (though customisable). This gives problems if a battle takes more than a day to resolve - just for example:
- the battle engine needs to allow forces (espcially planes) to rebase
- what happens if ships enter port (or leave port)
- how does the game engine handle task force movements in the strategic map compared to the battle map, for example if a convoy travels a narrow straight that is closed off on the strategic map?
- what happens if 2 battles occur at once?

Potentially the game data can be shared every midnight between strategic and battle engine, but then this can wipe out the careful positioning of forces by a player.


The old Great Naval Battles games took a different approach, of trying to model everything in detail all the time, but they ended up with much simplification when planes, troops and supplies got involve.

Numdydar
Posts: 3271
Joined: Fri Feb 13, 2004 9:56 pm

RE: Software development model

Post by Numdydar »

There was another thread about doing WitP 2.0 a few months ago. Someone wanted to put some money into actually paying people to develop a new version. I wonder what happened with that [&:]
wdolson
Posts: 7648
Joined: Tue Jun 27, 2006 9:56 pm
Location: Near Portland, OR

RE: Software development model

Post by wdolson »

ORIGINAL: wdolson

A major company has the money to pay someone to sit down and write 1000 pages of requirements. With something like AE2, it would require someone to do that as a volunteer effort and people tend to get bored doing things like that for free. The problem is volunteers have a tendency to quit when they get too bored.

Bill
ORIGINAL: guytipton41
Hi Bill,

Boredom doing documentation is a problem with me as well. At 50 lines per page that's the equivalent of writing 50 ksloc of code. I could probably knock out a major component like air combat, land supply or naval pathing in 50 ksloc.

Is the number of ksloc in AE covered by the NDA?

Cheers,
Guy

I don't know how many lines of code are in there. I've never found a decent code line counter, and it's sort of a red herring measure anyway. Probably the most complex piece of code I ever wrote was 1-2K lines of code. It took me about six months to write it. It was elegant and very tight and it was used quite extensively in the 777 test program and they never had a problem with it.

I've written much larger programs that took less brain power to write.

Bill
WitP AE - Test team lead, programmer
Image
Alfred
Posts: 6683
Joined: Thu Sep 28, 2006 7:56 am

RE: Software development model

Post by Alfred »

ORIGINAL: Numdydar

There was another thread about doing WitP 2.0 a few months ago. Someone wanted to put some money into actually paying people to develop a new version. I wonder what happened with that [&:]

He had no idea how much money it would cost, thinking that a small amount would suffice.

Alfred
User avatar
guytipton41
Posts: 351
Joined: Sat Feb 26, 2011 4:01 am
Location: Houston, TX

RE: Software development model

Post by guytipton41 »

ORIGINAL: wdolson

I don't know how many lines of code are in there. I've never found a decent code line counter, and it's sort of a red herring measure anyway. Probably the most complex piece of code I ever wrote was 1-2K lines of code. It took me about six months to write it. It was elegant and very tight and it was used quite extensively in the 777 test program and they never had a problem with it.

I've written much larger programs that took less brain power to write.

Bill

Hi Bill,

My experience has been that the real tricksy code bits average out with the brainless bits if the project is large enough. Using a tuned COCOMO model I wouldn't expect to be off by more than 25% in the estimate for required man-hours for a project over a quarter million lines of code. Our current project is currently at ~11.5 Msloc (about the size of Windows) and is less than 100% over budget!

Cheers,
Guy




User avatar
robinsa
Posts: 173
Joined: Wed Jul 24, 2013 9:00 am
Location: North Carolina

RE: Software development model

Post by robinsa »

Sorry for the possibly stupid question but as a novice programmer I must ask. What is Msloc?

Numdydar
Posts: 3271
Joined: Fri Feb 13, 2004 9:56 pm

RE: Software development model

Post by Numdydar »

ORIGINAL: Alfred

ORIGINAL: Numdydar

There was another thread about doing WitP 2.0 a few months ago. Someone wanted to put some money into actually paying people to develop a new version. I wonder what happened with that [&:]

He had no idea how much money it would cost, thinking that a small amount would suffice.

Alfred

And here I was hoping that we had a billionaire on the forum that was willing to sink a mil or two into development. If I ever win the lottery I know where some of my money is going [:)]
Alfred
Posts: 6683
Joined: Thu Sep 28, 2006 7:56 am

RE: Software development model

Post by Alfred »

ORIGINAL: Numdydar

ORIGINAL: Alfred

ORIGINAL: Numdydar

There was another thread about doing WitP 2.0 a few months ago. Someone wanted to put some money into actually paying people to develop a new version. I wonder what happened with that [&:]

He had no idea how much money it would cost, thinking that a small amount would suffice.

Alfred

And here I was hoping that we had a billionaire on the forum that was willing to sink a mil or two into development. If I ever win the lottery I know where some of my money is going [:)]

The individual wanted a particular "scenario" created. Can't recall the parameters which were not already covered by one of the existing scenarios, both official and by modders. Apparently AE is deficient in covering the PTO.

After several declarations of his serious intent to fund the development from his real estate earnings, Symon responded that he could do a bespoke custom made scenario to the requested standard of accuracy. It would entail entering into a legal relationship evidenced by a signed written agreement. IIRC, just for a single scenario the cost would be about $100,000 and take about 3 months.

These were conditions which our real estate professional considered to be unnecessarily formal. After all, anyone competent could just whip up the scenario in a fraction of that time frame for a fraction of the cost. Now how often have I heard such comments from people who have never designed any computer game but know all there is to know because they once wrote a short macro for an excel spread sheet and of course all the details (such as OOB) already "exist" on the internet.

Alfred
Numdydar
Posts: 3271
Joined: Fri Feb 13, 2004 9:56 pm

RE: Software development model

Post by Numdydar »

I agree [:)]. Which is why I said a mil or two was needed [X(]. And with a ROI of about 0.01 too [:'(]
wdolson
Posts: 7648
Joined: Tue Jun 27, 2006 9:56 pm
Location: Near Portland, OR

RE: Software development model

Post by wdolson »

ORIGINAL: Alfred

The individual wanted a particular "scenario" created. Can't recall the parameters which were not already covered by one of the existing scenarios, both official and by modders. Apparently AE is deficient in covering the PTO.

After several declarations of his serious intent to fund the development from his real estate earnings, Symon responded that he could do a bespoke custom made scenario to the requested standard of accuracy. It would entail entering into a legal relationship evidenced by a signed written agreement. IIRC, just for a single scenario the cost would be about $100,000 and take about 3 months.

These were conditions which our real estate professional considered to be unnecessarily formal. After all, anyone competent could just whip up the scenario in a fraction of that time frame for a fraction of the cost. Now how often have I heard such comments from people who have never designed any computer game but know all there is to know because they once wrote a short macro for an excel spread sheet and of course all the details (such as OOB) already "exist" on the internet.

Alfred

There is such a thing as a "go away price". When you really don't want to do a project, but someone keeps pestering, you quote an exorbitant price to make them go away. What is really crazy is when they bite. I think that's how my sister ended up working full time for over $100 an hour.

Oh and definition of terms:

ksloc - thousands of lines of code
msloc - millions of lines of code

The bottleneck to getting any all new game developed is not so much the money, but finding the people with the free time to do it. With the economy the way it is, there aren't many competent programmers with the free time to take on a major project. It also helps quite a bit to have programmers who know what they are simulating. You also need programmers with the skills to program native code and know how to optimize for speed. A lot of younger programmers have been spoiled by very high level programming languages that are fast enough for what they are doing, but not fast enough for a game.

For the data people, you need people who know a lot about the subject and know enough about business practices to organize the data into formats the programmers can take and incorporate into the game. There are a lot of people out there who can do research, but they don't have the skills to organize it. I ran into this with another project. I had several people generating content for a program I was developing. Only one really understood why I needed to get the data into the format I did (she was an unemployed programmer) and only one other could be trained to put it in the right format. I didn't have the unemployed programmer for very long, so I had to have the other person format the content from everyone else. Fortunately she was a skilled editor.

Organizing the entire project has to be someone with a fair bit of project management skill plus some experience leading projects outside of a corporate setting.

With an AE2 project, even if there was lots of money, you would either have to train some people who don't know much about the subject but have the technical skills you want. There is a good chance they might not be very enthusiastic and just work for the paycheck. Or you need to find people with convertible technical skills, who are available, and know the subject.

Bill
WitP AE - Test team lead, programmer
Image
User avatar
guytipton41
Posts: 351
Joined: Sat Feb 26, 2011 4:01 am
Location: Houston, TX

RE: Software development model

Post by guytipton41 »

ORIGINAL: robinsa

Sorry for the possibly stupid question but as a novice programmer I must ask. What is Msloc?


Hi Robinsa,

Millions of source lines of code.

Cheers,
Guy
Post Reply

Return to “War in the Pacific: Admiral's Edition”