Jump to content

Progress reports on funded work


Recommended Posts

Great job Philip, keep it going. (Just out of curiosity: What PhD programme did you do? :))

Also I'm pleased to see that this time the Pledgie thing seems to be organized in a better and more transparent way. Last time it was more like "we need 3000 bucks to hire someone" and it took you quite some time to announce publicly who that would be in the first place. At least that was my impression; I'm sure though there was no major announcement that gave us the exact details.

This time we have a good announcement on the main page and Philip's excellent progress reports. Although I think that transparency could probably still be improved that makes for a much better incentive. (Which is why I donated as well :).)

Link to comment
Share on other sites

Great job Philip, keep it going. (Just out of curiosity: What PhD programme did you do? :))

Also I'm pleased to see that this time the Pledgie thing seems to be organized in a better and more transparent way. Last time it was more like "we need 3000 bucks to hire someone" and it took you quite some time to announce publicly who that would be in the first place. At least that was my impression; I'm sure though there was no major announcement that gave us the exact details.

This time we have a good announcement on the main page and Philip's excellent progress reports. Although I think that transparency could probably still be improved that makes for a much better incentive. (Which is why I donated as well :).)

Well, the trouble last time was that we couldn't be sure that Philip would be able to do the work, so it was more because of us not having any clear answers than anything else. We are aware that it could seem a bit weird though, so we're grateful people dared to donate anyway :) About more transparency now: Do you have any specific questions/suggestions for how to improve it?

Link to comment
Share on other sites

Well you could reveal a bit more about how the whole idea of fundraising started, who decided who would get the job and how it was decided, how many hours 3000$ correspond to, anything like that. I'm more than happy with the outcomes you delivered (and that Philip was chosen!) it'd just be interesting to make the processes that led to these outcomes as transparent as possible. As I said though, I don't have any major concerns, I just thought it'd serve the cause as it might make people more confident about where their money goes and thus more willing to give. Maybe for future Pledgies.

Edited by Android GRRR
Link to comment
Share on other sites

Well you could reveal a bit more about how the whole idea of fundraising started, who decided who would get the job and how it was decided, how many hours 3000$ correspond to, anything like that. I'm more than happy with the outcomes you delivered (and that Philip was chosen!) it'd just be interesting to make the processes that led to these outcomes as transparent as possible. As I said though, I don't have any major concerns, I just thought it'd serve the cause as it might make people more confident about where their money goes and thus more willing to give. Maybe for future Pledgies.

Overgrowth posts weekly alpha videos on moddb.com

I know this might be too much work for an open source game ( overgrowth videos make people pre-order = money ). But what about more posts and updates about this on moddb? It might raise awareness around the second pledgie campaign.

Link to comment
Share on other sites

maybe you can also automatically start a browser

Sounds like a good idea. Maybe I should change F11 to toggle a profiler menu screen, saying like "1: Hierarchical profiler. 2: Renderer stats. 3: Network stats. 4: Enable profiler2. 5: Open profiler2 visualiser.", so you can select what you want instead of hitting F11 lots of times to cycle through the modes, or something like that. (But I really need a better name than "profiler2" :()

Also the framerate (with SHIFT-F) varies too fast and is hardly readable. Maybe it should update less often, or eventually using a moving average.

In theory it is a smoothed average (using an IIR filter), judging by the code. It does seem pretty terrible in practice, though - not sure why but it'd be good to fix :)

The simupdate regularly freezes my game for a second or something.

Sounds like AI.

Should I click on profiler2.html while running 0 A.D. ? cause i ran it after shutting down the game.

Yes - it connects to the game via HTTP to download the current data, and doesn't store it on disk anywhere, so it won't work after shutting down. (Ideally it would be possible to save the profiling data to disk and load it later, or upload it and share with other developers, etc, but I haven't tried that yet.)

(Just out of curiosity: What PhD programme did you do? :))

(It was some computer science stuff, to do with implementing routing protocols based on algebraic models.)

Last time it was more like "we need 3000 bucks to hire someone" and it took you quite some time to announce publicly who that would be in the first place.

Yeah, it was anticipated to be sooner but it took longer than hoped to finish my PhD, and nobody else argued strongly for doing the work themselves in the meantime, so it's been quite delayed :( (and we didn't want to publicly announce details until being fairly sure they were going to be correct)

Well you could reveal a bit more about how the whole idea of fundraising started

The history is basically that k776 suggested in #0ad-dev that I could work on the game for a year after finishing my PhD, given his good experiences with hiring a developer on Globulation 2, so he set up the Pledgie thing for $45K for a year's work (based on a roughly typical starting salary for software developers in the USA/UK/etc part of the world) for me or any other developer we'd think was appropriate, then the next day it was argued that $45K was insane so it was changed to $3000 for 1 month as a nice round figure, and that's about it :). (It's less than I'd expect to get when starting a proper job, but (despite tax) more than I got as a PhD student, so it lets me wait and spend time on the game before getting a real life.)

how many hours 3000$ correspond to

160 hours (8 hours/day * 5 days/week * 4 weeks/month) though I'm not sure where that's stated explicitly.

what about more posts and updates about this on moddb? It might raise awareness around the second pledgie campaign.

Yeah, I've been trying to get the hang of doing some videos and diagrams and explanations in this thread, but it's not an ideal place since few players will see it. Do you think these sort-of-daily progress reports would be suitable for ModDB, or would some changes to structure or style or content etc make them better? (and/or would some kind of new WFG developer blog be worthwhile for this? (Don't really want to clutter up the main news page, but ModDB seems slow at updates so maybe best not to use them exclusively.))

Link to comment
Share on other sites

Day still-not-counted

Mostly finished playing around the GPU profiling code.

Committed it to SVN - if you want to try it (and your graphics drivers provide GL_ARB_timer_query, GL_EXT_timer_query, or GL_INTEL_performance_queries - most NVIDIA/AMD cards (with proprietary drivers if on Linux) should have the first two), you can launch the game, press F11 (which now enables the GPU profiler too), wait a while, then use profiler2.html, and it should have an extra row for the GPU data.

With an NVIDIA GPU (GTX 560 Ti) I get:

profiler5.png

First coloured row is CPU, second (empty) row is some other thread, third row is GL_ARB_timer_query output, fourth is GL_EXT_timer_query. The difference is that the ARB one is aligned correctly relative to the CPU, whereas the EXT one isn't (it can only measure durations, it can't tell when the frame started rendering except by guessing), so the EXT one is not smoothly spaced and sometimes overlaps itself.

In the CPU row, the cyan box underneath "water reflections" represents a piece of code that's reading a bit of data back from the graphics drivers. That's a fast operation, but it looks like the NVIDIA drivers are taking it as an opportunity to delay the CPU - otherwise the CPU would continue generating frames faster than the GPU can render them, so the delay is just to stop the GPU falling too far behind.

Each frame is about 8 msec long, which corresponds to 120fps, which is plenty, and this is with 32x AA and 16x AF, so graphics performance isn't a problem on this kind of hardware.

With an Intel GPU (HD Graphics 3000) I get:

profiler6.png

Average framerate is about 30fps, which isn't great, so optimisations for this kind of hardware would be worthwhile.

It doesn't have GL_*_timer_query but it does have GL_INTEL_performance_queries. That gives similar timing data as GL_EXT_timer_query (including the problem with frames overlapping each other because it can't tell when they start rendering). But it also gives a load of extra counters - the yellow box is a tooltip on the "patches" (terrain rendering) region of frame 265. It shows that e.g. we rendered 17876 triangles ("PrimitivesCount"), with 1.4 million pixels generated ("FragmentsRendered"), but about 10 million pixels of texture data were read ("SamplerPostFilteredTexels"), and the texture-reading hardware was busiest ("SamplerBusyTime: 0.986..."), which sounds like it might be the primary thing affecting the overall rendering performance. Would need to do a lot more work to fully understand and optimise rendering performance in this case, but at least it gives a bit of an idea about what to look into first.

Now I really ought to get back to some properly useful work...

Link to comment
Share on other sites

Thanks for the info Philip, especially for that on the fundraising operation :). Keep it up!

EDIT: I don't have any clue about performance issues, but it seems like the game eats a lot of CPU power. I have quite a new quadcore processor (Intel 2630QM) and yet my antivirus gives me a 'heavy CPU consumption' warning for pyrogenesis.exe. Just thought I'd let you know ;)

Edited by Android GRRR
Link to comment
Share on other sites

Thanks for the info Philip, especially for that on the fundraising operation :). Keep it up!

EDIT: I don't have any clue about performance issues, but it seems like the game eats a lot of CPU power. I have quite a new quadcore processor (Intel 2630QM) and yet my antivirus gives me a 'heavy CPU consumption' warning for pyrogenesis.exe. Just thought I'd let you know ;)

Philip can probably tell you more about the technical details, but in short the game uses as much CPU power as it can, I believe it is to give the highest framerate possible.

Link to comment
Share on other sites

Yeah, I've been trying to get the hang of doing some videos and diagrams and explanations in this thread, but it's not an ideal place since few players will see it. Do you think these sort-of-daily progress reports would be suitable for ModDB, or would some changes to structure or style or content etc make them better? (and/or would some kind of new WFG developer blog be worthwhile for this? (Don't really want to clutter up the main news page, but ModDB seems slow at updates so maybe best not to use them exclusively.))

It will not clutter the main news page, and I can provide links on Facebook & Twitter for visibility.

Fans love these nitty-gritty updates.

Those who don't will just ignore them.

Link to comment
Share on other sites

All i know is that the overgrowth videos are very very popular; because it gives noobs like me an insight into development. Even if the updates are trivial, post updates with videos or images and always refer to the possibility to support financially via pledgie. ;)

And choose a nice image for on the moddb news page to lure people into clicking on it :P

Link to comment
Share on other sites

In other words: the last couple of days Philip has been reviewing code other people has submitted (when he did the final work on his thesis he didn't have time to do that, so the backlog was pretty big), once he's done with that he'll continue working on writing new code :)

Link to comment
Share on other sites

In other words: the last couple of days Philip has been reviewing code other people has submitted (when he did the final work on his thesis he didn't have time to do that, so the backlog was pretty big), once he's done with that he'll continue working on writing new code :)

Reviewing and implementing patches is as good as writing new code in my book. (y)
Link to comment
Share on other sites

It will not clutter the main news page, and I can provide links on Facebook & Twitter for visibility.

Fans love these nitty-gritty updates.

Okay, sounds good. Can someone help me figure out the details of what needs to be done? :) (like how/where/who/when to publish stuff, and what surrounding text/graphics/etc to use to make it look pretty while begging for money, etc)

the last couple of days Philip has been reviewing code other people has submitted (when he did the final work on his thesis he didn't have time to do that, so the backlog was pretty big), once he's done with that he'll continue working on writing new code :)

Yeah, I'd got up to about 800 unread messages from Trac (notifications of ticket comments or SVN commits which I needed to read and maybe respond to); now it's back down to 12. So now I started reviewing some of the complicated patches, and will post another progress report once I've done a day's worth of that reviewing.

probably sometimes reviewing patches is more difficult than write new code :-)

I think it is :(. To be confident that a patch will work and won't have problems that cancel out its value, I generally want to understand the area of code that's being changed (which I might not have looked at since a year ago so it takes a while to re-learn), and then understand the patch itself, and then try to work out other solutions to the same problem to be reasonably sure that the patch is a sufficiently good solution. Those are quite similar steps to when I'm writing code myself, so reviewing patches isn't hugely easier, though on average it's still good to have more people involved and providing more ideas and patches :)

Link to comment
Share on other sites

Okay, sounds good. Can someone help me figure out the details of what needs to be done? :) (like how/where/who/when to publish stuff, and what surrounding text/graphics/etc to use to make it look pretty while begging for money, etc)

Write an introductory post answering the following questions:

  1. Who are you?
  2. What do you do on the team? Why do you do it?
  3. How is it that you're getting paid now?
  4. In brief, what have you been doing so far as part of your paid work?
  5. What do you intend to do with the remaining time/money?
  6. Why are you asking for more money?
  7. What difference does an extra month make?
  8. Why is this important?

Then just start occasionally (once or twice a week) writing descriptions of features you have developed.

Try to take screenies and videos and write about those. Put a donation button at the end of each post. You're all set.

Link to comment
Share on other sites

Yeah but let's not make him waste too much of his time on writing stuff for us rather than doing actual programming work haha. Maybe one of your PR guys could step in and make things transparent so he only has to file some of his cool reports every now and then. Just my 2 cents though :)

Edit: Then again you're probably right in saying that some PR commitment on his part would make people more likely to continue donating.

Edited by Android GRRR
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...