Author Topic: A perspective on development  (Read 4531 times)

0 Members and 1 Guest are viewing this topic.

Offline The E

  • He's Ebeneezer Goode
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
A perspective on development
As many others, I started off as a Fan of the original Blue Planet. I never really did think of ever joining that most glorious of teams, but as it happened, I managed to acquire some skills that were mildly useful. After dealing with Darius, Fury, General Battuta and the others for some time, I came to admire the way they worked as a team. The dynamics were just perfect. We all knew that we were working for Darius, and not once was it in doubt that this is his baby. We also are incredibly motivated to give this mod our best.
Anyway, after I managed to make a kick-ass set of interface art for WiH (using Flaming Sword's awesome Interface Templates app), I got invited to the BP beta test group. Soon after that, General B and Rian had to temporarily step away from the VA effort, I volunteered to help them with that, which brought me my BP badge.

Lessons learned

As I took a greater part in development, several things became clear to me, which I think are valuable pieces of information that other teams may profit from.
One thing that helped us is that the BP team is a small group of very dedicated, passionate people who not only give their best, but expect the same from others, and are not afraid to tell the others when they think that the work submitted does not meet the quality standards we have set for ourselves. This, of course, means that each of us has to deal with sometimes harsh criticism delivered in no uncertain terms. Stereotypical Primadonnas wouldn't last very long here, I imagine.
Another thing is that there is no question about who is in charge. If something doesn't meet the Darius test, it's out. While discussion is certainly encouraged, in the end, what Darius says goes.

Development tools

1. Debug builds
During our development, we use debug builds very, very often. We take great care to squash every warning, assertion and crash we encounter, and the result is an incredibly stable mod.

2. Immediate Feedback to the SCP
WiH was developed for 3.6.11/12. We literally couldn't make this work on .10, the performance increases we've seen in .11 and, of course, the added features which make our live so much easier. Just having debug builds that can perform on the same level as the regular .10 build was a great boon for development.
The other side of the medal is that, if you are using builds from the bleeding edge, you need to stay in contact with the coders. Provide feedback on what does and what doesn't work, and report any and all bugs you find that can not be traced back to your assets.
One added bonus to using dev builds was the improved error checking. .11/12 will report things that .10 cannot pick up, and fixing those improves the stability of the game on .10.

3. SVN
In October 2009, we made an arrangement with Zacam and rev_posix to get our data hosted on a SVN server. Before that, versions of the modpack were regularly compiled by Fury, and sent out to everyone. This of course meant that, occasionally, not everyone could be counted upon to have the latest version of it. Darius and Dilmah G are Australian, and subject to the horrible ISPs there. They have to be somewhat conscious about their monthly bandwidth usage, as their Internet will get throttled down to dialup speeds once they go over their quota.
SVN allows us to keep the download volume relatively small, as only the new and improved data needs to be downloaded. It also gives us the opportunity to go back and retrieve older versions of files, as all revisions are stored on the server.
The end result is that it's incredibly easy for us to get the data distributed, and tested out by the team, which makes our feedback cycle extremely short.

4. Play early, play often
A maxim I first heard in a video on the development of Civilization, uttered by the awesome Sid Meier, certainly proved its worth here. SVN allows us to put up early versions of missions, and test them to death. Again, short feedback cycles FTW. We can quickly throw out what doesn't work, and get the best possible version of the mission.
Especially FREDers should play their missions as often as possible, after every major change in fact. Just to make sure that the brilliant idea you just had actually does work.

5. Beta testers
Due to the extensive internal testing we did on the AoA DC, we figured we could get away with a very short beta phase. The original beta team that was hired (Snail and NGTM-1R) were unavailable for feedback (Snails Comp died literally a few days before we wanted to start the Beta, and NGTM-1R had RL duties to attend to). Fortunately, we were saved by the last-minute addition of blowfish (who you may know) and ubiquitous (who you may have heard in the DC), who both noted a variety of issues we simply overlooked. Again, using the power of SVN made implementing those fixes easy, and as a result, we could wrap up the Beta in two weeks, and release the product.


PS: Sorry for calling our awesome Testers "tools". I certainly do not mean to belittle their involvement in this.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline Herra Tohtori

  • The Academic
  • 211
  • Bad command or file name
Re: A perspective on development
I think I can only agree on all counts.

I would only want to add dedicated IRC channel as the required means of communication for the fast feedback you mentioned. Forums are more static and upstanding issues can and were posted there, stuff that required larger changes, but IRC channel was pretty instrumental in getting immediate feedback.

My story about how I got involved with Blue Planet was that I was asked to do some skyboxes, and it sort of expanded from there to dealing with other texture related stuff. It's been challenging and enjoyable so far, and I see no reason why that would change in the future.
There are three things that last forever: Abort, Retry, Fail - and the greatest of these is Fail.

 

Offline FUBAR-BDHR

  • Self-Propelled Trouble Magnet
  • 212
  • Master Drunk
    • 165th Beer Drinking Hell Raisers
Re: A perspective on development
As many others, I started off as a Fan of the original Blue Planet. I never really did think of ever joining that most glorious of teams,
..snip..

Same here.  Just stated with some feedback on FH 2259 and went to a full blown analysis when I had to replay due to the bug fixes.  Sure Vid was initially happy with me on that.  Move on to asking about multiplayer and wrote a bunch of simple missions for it hoping to get them out the door for 3.4b.

Quote
Lessons learned
I won't even go into this. 

Quote
Development tools

1. Debug builds
During our development, we use debug builds very, very often. We take great care to squash every warning, assertion and crash we encounter, and the result is an incredibly stable mod.
Can't remember the last time I ran a non-debut build.  When was the last time we had a multi session just for fun and getting drunk?
Quote
2. Immediate Feedback to the SCP
WiH was developed for 3.6.11/12. We literally couldn't make this work on .10, the performance increases we've seen in .11 and, of course, the added features which make our live so much easier. Just having debug builds that can perform on the same level as the regular .10 build was a great boon for development.
The other side of the medal is that, if you are using builds from the bleeding edge, you need to stay in contact with the coders. Provide feedback on what does and what doesn't work, and report any and all bugs you find that can not be traced back to your assets.
One added bonus to using dev builds was the improved error checking. .11/12 will report things that .10 cannot pick up, and fixing those improves the stability of the game on .10.
Digging into the code and being able to analyze the debug logs and trace out problems really helps as well.   Sooner or later you even learn to start fixing some yourself. 
Quote
3. SVN
no arguments here.  SVN is a great tool.  It should be used along with FTP to give the team easy access to everything not just the end product.

Quote
4. Play early, play often
Ran out of time to play my own missions a long time ago.  I settle for debugging other peoples right now.  Hope to get back to FREDding at some point.  Lots of stuff I need to finish. 

That leads me to my point.  Look at other peoples stuff.  Best way to learn.
Quote
5. Beta testers
Due to the extensive internal testing we did on the AoA DC, we figured we could get away with a very short beta phase. The original beta team that was hired (Snail and NGTM-1R) were unavailable for feedback (Snails Comp died literally a few days before we wanted to start the Beta, and NGTM-1R had RL duties to attend to). Fortunately, we were saved by the last-minute addition of blowfish (who you may know) and ubiquitous (who you may have heard in the DC), who both noted a variety of issues we simply overlooked. Again, using the power of SVN made implementing those fixes easy, and as a result, we could wrap up the Beta in two weeks, and release the product.
you make it I'll break it in new and creative ways.  :pimp:

I'd also like to add that one of the biggest team motivators is not waiting on others.  Grab the reigns and do it yourself if you have to.  Might make some enemies along the way but you will motivate the team and others along the way.  Not to mention get stuff done. 

Oh and don't over extend yourself.  I'm a little over my limit right now and it's a pain.  Lots of stuff I want to get done but just not enough time to spread around at the moment.

No-one ever listens to Zathras. Quite mad, they say. It is good that Zathras does not mind. He's even grown to like it. Oh yes. -Zathras

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: A perspective on development
Yeah, I have to agree with FUBAR's last point. I think one project at a time is the way to go.

 

Offline FUBAR-BDHR

  • Self-Propelled Trouble Magnet
  • 212
  • Master Drunk
    • 165th Beer Drinking Hell Raisers
Re: A perspective on development
Well that all depends on what your role is in the project and what projects.  If your coding for a project there is no reason not to be coding for others as well as they may very well fall into the same code needs.  FREDding same way.  If your waiting on assets for one project no reason not to do some work for another.  Now if you are doing major work for one project then you probably shouldn't join another until it's done. 

The problems start happening when you think things are getting quite on one mod so you move on and then all hell breaks loose on the previous one. 
No-one ever listens to Zathras. Quite mad, they say. It is good that Zathras does not mind. He's even grown to like it. Oh yes. -Zathras

 

Offline Fury

  • The Curmudgeon
  • 213
Re: A perspective on development
After dealing with Darius, Fury, General Battuta and the others for some time, I came to admire the way they worked as a team. The dynamics were just perfect.

One thing that helped us is that the BP team is a small group of very dedicated, passionate people who not only give their best, but expect the same from others, and are not afraid to tell the others when they think that the work submitted does not meet the quality standards we have set for ourselves.

These things are the key factors for successful mod of any size. First and foremost the core team needs to have dynamics that simply works. If dynamics doesn't work, development becomes tedious as things simply don't flow and progress. Often such issues can be worked out by sitting down and having a lengthy chat. If that fails, one should seriously think about his/her own commitment to the mod and whether he/she could do better elsewhere.

Secondly, things aren't rolling well if your staff is full of people who need to be told what to do and when to do something. People need to have certain amount of initiative and commitment towards the mod. If you lack necessary initiative, commitment, or both, chances are you're just being dead weight. If that's the case, then one should once again seriously consider if he/she could do better elsewhere.

Thirdly, for god's sake, do not over-commit! You're being of little use to anyone if you can't organize your own time properly and manage to keep acceptable level of initiative and commitment towards each project you've joined. Not only does over-committing harm projects you've joined, it also harms you. Most people have enough sense of responsibility that they slowly burn themselves out because they know what they're expected of, but cannot provide. Do yourself a favor and remove unnecessary pressure from your shoulders by either quitting projects you cannot commit to, or sitting down and properly discuss about state of things with rest of the staff and together agreeing that you're not committing to the project until further notice.

Purpose of this post is not to discourage people from joining projects or encourage people from quitting projects. It's to encourage people to set their own priorities right and properly organize their time. When you join a project, they are expecting results, not slacking. You're not earning your badge if you can't provide what you were asked to join for. Projects would actually have some chance to get completed in timely manner if people would have the willpower to keep focused on one thing at a time. And only if you still have plenty of time, initiative and commitment to spare, consider joining another project.

Communication is extremely important. Real-time chat is the best form of communication in a community that spans multiple time-zones and nationalities. In BP's case having our own irc-channel really has helped a lot. You can discuss about anything you feel like, it doesn't even have to be about the project. You will learn a lot about each other by simply communicating. This is very, very important part of fluid team dynamics. Don't be too formal with this form of communication, do not restrict topics of discussion. It will help development of your project but also relieves a lot of stress and reduces uncertainty. The important thing is that you're not alone, you're working together as a team, communication should be natural.

Burn-out is always a threat. But if you've followed what I've written thus far, all above points reduce your chances to have a burn-out. But if it does happen, sit down and discuss with the team about what led to this burn-out. Once things have been discussed about, you will feel better. Next you will take some time off to recover and when you get back, things should roll better because you had the conversation.


Before you build a house, you need solid foundation.
« Last Edit: February 27, 2010, 09:13:34 am by Fury »

 

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
Re: A perspective on development
ive learned the following

1: people are evil so do everything yourself
2: leech off the government/family, someone has to feed you and pay the internet bill while you work
3: be incredibly lazy and easily distracted so that it takes years to release a simple ship pack, this builds suspense and makes you legendary
« Last Edit: February 28, 2010, 06:13:20 pm by Nuke »
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN

 

Offline Snail

  • SC 5
  • 214
  • Posts: ☂
Re: A perspective on development
About IRC channels - I find they're not that great sometimes. People might shoot out an idea on an IRC channel that would potentially be useful, but it gets drowned out in a sea of discussion, and the idea is lost. However, ideas posted on forums seem to be less fleeting.

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: A perspective on development
That depends on the caliber of the participants in the IRC discussion.

 

Offline TrashMan

  • T-tower Avenger. srsly.
  • 213
  • God-Emperor of your kind!
    • FLAMES OF WAR
Re: A perspective on development
Lessons learned

Don't even get me started there...



Quote
1. Debug builds

Recently learned their value.
Squashed 99% of all table problems so far :D



Quote
3. SVN

Never did have a big enough team to need SVN.

One more lesson learned - if you want something done right, do it yourself.



Quote
4. Play early, play often

Time is always an issue. But yeah - any mission I make, I play trough it at least several times.



Quote
5. Beta testers

Indispensable.

Nobody dies as a virgin - the life ****s us all!

You're a wrongularity from which no right can escape!

 

Offline Iss Mneur

  • 210
  • TODO:
Re: A perspective on development
3. SVN

Never did have a big enough team to need SVN.
No, you are never too small to not have version control.  Even if it is not used to share data with team members, being able to access previous versions of your code or assets is invaluable.
"I love deadlines. I like the whooshing sound they make as they fly by." -Douglas Adams
wxLauncher 0.9.4 public beta (now with no config file editing for FRED) | wxLauncher 2.0 Request for Comments

 

Offline The E

  • He's Ebeneezer Goode
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Re: A perspective on development
Indeed. Also, SVN is just one of many version control systems out there; there are other solutions that may be more appropriate when working solo.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline chief1983

  • Still lacks a custom title
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
Re: A perspective on development
Yeah git is ridiculously fast and cheap on space.  If you're a one man team you don't need a server, you can run the full VCS locally.  Then you have your own revision history so nothing you do is ever lost, don't need to leave comments and backups everywhere, etc.
Fate of the Galaxy - Now Hiring!  Apply within | Diaspora | SCP Home | Collada Importer for PCS2
Karajorma's 'How to report bugs' | Mantis
#freespace | #scp-swc | #diaspora | #SCP | #hard-light on EsperNet

"You may not sell or otherwise commercially exploit the source or things you created based on the source." -- Excerpt from FSO license, for reference

Nuclear1:  Jesus Christ zack you're a little too hamyurger for HLP right now...
iamzack:  i dont have hamynerge i just want ptatoc hips D:
redsniper:  Platonic hips?!
iamzack:  lays

 

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
Re: A perspective on development
i was thinking of using svn for my megalithic scripting projects. anyone know where i can get some?
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN

 

Offline The E

  • He's Ebeneezer Goode
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Re: A perspective on development
Google is your friend.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline Quanto

  • 28
  • Permanent Nostalgia Goggles
Re: A perspective on development
The_E, dude, I want you to know, that everything you wrote in that, struck a very strong and profound chord in me. Very well said. All I can say is that I will be taking all of that to heart as I continue working on my own project and getting my team built.

/edit/
And this needs a sticky!
00:41:58 <DarthGeek>: I might do it, I need to build a reputation of someone who doesn't suffer fools
(DarthGeek on: "Relentless")

 

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
Re: A perspective on development
Google is your friend.

GOOGLE IS MY SWORN ENEMY!
I WILL HAVE ITS BLOOD!!!
:D
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN

 

Offline Iss Mneur

  • 210
  • TODO:
Re: A perspective on development
Yeah git is ridiculously fast and cheap on space.  If you're a one man team you don't need a server, you can run the full VCS locally.  Then you have your own revision history so nothing you do is ever lost, don't need to leave comments and backups everywhere, etc.
To be clear subversion does not require that the repository be network assessable or even be on a different file system than the code that exists in the working copy. Even TortiseSVN supports this type of usage.  See the breakout box in chapter 1 of the SVN book. Chapter 6. Server Configuration is also useful.

That being said, while we are plugging VCS, Mercurial is also a nice DVCS like git.
"I love deadlines. I like the whooshing sound they make as they fly by." -Douglas Adams
wxLauncher 0.9.4 public beta (now with no config file editing for FRED) | wxLauncher 2.0 Request for Comments

 

Offline JGZinv

  • 211
  • The Last Dual! Guardian
    • The FringeSpace Conversion Mod
Re: A perspective on development
Concerning the OP, I'd have to say it all reminds me of our own FringeSpace so very much.
Small team with structure, SVN, internet and computer issues, debug's often being used...etc etc.

Hopefully we'll get to the parts on testers and FREDers soonish.  :cool:
True power comes not from strength, but from the soul and imagination.
Max to PCS2 to FS2 SCP Guide
The FringeSpace Conversion Mod

 

Offline The E

  • He's Ebeneezer Goode
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Re: A perspective on development
 :bump:

There's a very good article about Uncharted 2's development process at eurogamer.

Especially its last page holds some good lessons that can be applied to game development in general.

http://www.eurogamer.net/articles/among-friends-how-naughty-dog-built-uncharted-2?page=5
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns