Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 15 Jun 2006
Offline Last Active Today, 01:52 PM

#4895104 Which Country Should I Move To?

Posted by Katie on 18 December 2011 - 04:21 PM

"I don't see that I am giving off such a vibe."

Yeah. Sorry. You are. Your post is all ranty and foamy.

Just as an example; "It is exactly such misunderstandings by the politicos of some very fundamental aspects of how modern monetary systems actually work"

You're blessed with knowledge that the entire political leadership of the western world has either stupidly spurned or just never bothered to learn? And the absolute assertion that MMT is a definitive description of the world's monetary system? Posted by someone on a games development site? Yep. That comes across as ever so very slightly looney.

"their emotional commitment to irrational ideology."

Good job none of that is happening round here.

#4892559 Best computer science schools in Europe?

Posted by Katie on 10 December 2011 - 11:12 AM

Actually Cambridge (and other English unis) tutition is UKP3.3k a year for all UK/EU resident students -- call it 10k for the course.


Cambridge is widely recognised as being world class. Warwick, Bristol and Southampton have good reputations with employers within the UK and Europe. Imperial, as previously mentioned, is world known.

List here; http://www.thecompleteuniversityguide.co.uk/league-tables/rankings?s=Computer%20Science

#4887734 Speedup OpenGL at some Opperations

Posted by Katie on 25 November 2011 - 04:26 PM

"Use google a hole bunch of hours to get something that dosent work is anoing."

Since that is largely what software engineering consists of these days, I'd suggest finding a new line of work then.

#4887733 Compiling Lite Versions for Android

Posted by Katie on 25 November 2011 - 04:25 PM

"Does some-one know a short-cut I can take?"




Personally, I tend to write bash/sed scripts for this sort of thing.

#4887732 Why is it that game designers should not have emotions for their ideas?

Posted by Katie on 25 November 2011 - 04:21 PM

Writers refer to this as "Be willing to kill your children."

You must be ruthless. You must be objective. You may think it's a neat idea, but *YOUR* opinion is not important. Your readers are the important ones. If it's not the very neatest idea, then it's not a neat idea at all and it must go.

Without that ruthlessness -- that willingness to kill ANY of your ideas in the service of the greater story, you will be self-indulgent and great writing is never self-indulgent.

#4884524 AOP .... who uses it?

Posted by Katie on 16 November 2011 - 04:52 AM

" logging is not an important problem to solve. It's quite irrelevant and trivial and the goals that loggers are after are not about how to log as many actions as possible with as few lines of code as possible."

Logging isn't unimportant. Logging is mindbendingly important, particularly in large service infrastructures such as the sort of place where Java gets used. Finding out where, in hundreds of supposedly co-operating components running on scores of machines in dozens of datacentres, something happened to something inside your process takes up the majority of large systems maintenance. Fixing any single problem is usually relatively trivial compared to the painful, painful weeks of trying to find out why 1 per 10,000 download activations never complete successfully because something somewhere on the network is placing a lock on something that we're not expecting.

Logging is problem that is rarely solved well and yet is VITAL to most infrastructures.

#4883517 Use a Pixel Shader or Make More Textures?

Posted by Katie on 13 November 2011 - 02:30 PM

One thing to bear in mind when making these decisions is whether your GPU has sufficient bandwidth to access the textures. Spritesheets, in particular, tend to be large and randomly accessed and this can cause texture cache thrashing. Adding mip-map levels to entire sheets can make that worse.

In some circumstances, (particularly mobile) maths operations on simpler pixel data can be cheaper than extra texture lookups because GPU <-> memory bandwidth is often constrained by power requirements (driving the offchip memory controllers at higher frequencies would use too much power) while maths operations are relatively power cheaper (because they take place entirely on-chip) and hence more available.

#4876679 Story mapping / Dialog Tree Software

Posted by Katie on 25 October 2011 - 03:44 AM

There's a relatively new one out called "Articy: Draft". They have some youtubes of demos. Looks interesting.

#4875046 Problem with skills

Posted by Katie on 21 October 2011 - 08:05 AM

Bricks aren't all the same.

Some bricks are tough bricks which you can use to make kilns and furnaces. People pay extra for high quality bricks like that.

Lower quality bricks you buy in a stack but some of them will be crumbly. The better the brickmaker, the less chance of getting crumbly bricks.

#4874990 List of medieval offices

Posted by Katie on 21 October 2011 - 03:49 AM

Might I suggest reading some history books?

"tax collector", as an example, was not really a medieval office.

Firstly very few people had noticeable monetary incomes. So there was no universal income tax. Much of the taxation arrived as duties levied on various things -- England, for example, taxed wool exports. These were usually imposed on things that were easy to find -- wool export needs a port, it's fairly easy therefore to see it happening.

Collection of the monies was delegated down through various structures to people such as bailiffs (typically non-landholding tax collectors), sheriffs (landowners who also collected taxes, and also ran local courts) and coroners (in addition to their duties investigating deaths). There was also a scheme of purchasing the rights to collect taxes. For a pre-determined price one would buy from one's Lord the right to tax others; any excess monies collected over the purchase price were your reward. Similarly some grants of land included the right/obligation to collect tax from subholders.

Very rich landowners were expected to pay an amount of money determined by the worth of their holdings. So a landholder with land worth 5000 pounds a year might be required to pay a tenth of that. Terms were somewhat flexible, and the payment might be in money or goods or personal military service or by supplying soldiers or by various other means. These taxes were granted by parliament on a case by case basis -- some years a fifteenth would suffice. In wartime a tenth. One year the King proposed an eighth and nearly provoked a revolution..

In other areas, the church might be responsible for gathering taxation at a local level (the ecclesiastical tenth) and funnelling the money to deliver both to the church structures themselves and also to the King's wardrobe.

So, "tax collector" isn't a medieval job. "steward" (working for a lord running his estates and also collecting taxes), "sheriff" or "coroner" would all be jobs which may include collecting taxes. "bailiff" isn't an office, it's a sort of collective title -- "mayors" are also sometimes included in the term but at various through medieval England it also referred to those who administered a hundred.

These sorts of things are complicated and if you want to be realistic, you shouldn't be just making them up based on a sort of SCA view of what was actually quite a long period of history.

#4872155 N64 Quality Water...

Posted by Katie on 13 October 2011 - 04:08 AM

The surface looks like it's just a triangle mesh, rendered after the scene with a surface texture and the waves are done by shifting the verticies up and down, probably in the shader. It's probably just a simple set of sine waves of different frequencies added together. It's fast and also easily reproducible for when you want to do (say) collision detection.

The interactions with the objects can be done in two ways.

Firstly, for decorative objects (say things floating on the surface of the water) they can be drawn with a shader which just computes the same sort of offset as the waves based on their position and adds that to all coordinates.

For player objects you'd probably do the position calculation on the CPU and send them prepositioned. This allows them to do things like sink into the water upon landing.

Scatter water splash particle effects around at all the interaction points based on what interaction is happening and that'll help obscure some of the polygon edge artefacts (although many are still visible in that video).

The only complicated part is going to be doing the bouncey "floating" behaviour for your player objects but it'll end up being a fairly small lump of code run a few times a frame (so efficiency won't be too much of a stress) with a few constant factors which will need tuning by hand until you get a behaviour you're happy with -- it's that that tuning process which will give your game its character and feel.

#4869315 C++ Interview Questions

Posted by Katie on 05 October 2011 - 03:20 AM

" the one you know the answer to but the interviewer has wrong"

Frankly, it's amazing how common that is. One of the problems with these things is that all too often they degenerate into an opportunity for interviewers to make themselves feel better. And quite often they're over-reaching their own technical skills.

Fizzbuzz or reverse a string is entirely sufficient to lose the maybe 60% of candidates who actually can't program AT ALL[1]. Anything beyond that is frankly labouring the point; esoteric questions about the C++ spec are boring for everyone concerned and have no relation to work actually done. (It was amazing the amount of interviews I went to as an IT contractor which were all about weird tricky edge cases of C++ exception throwing, but when I actually started work there, the codebase doesn't use exceptions because the developers aren't confident enough at using them. And usually therefore they're banned...)

[1] What I find slightly bonkers is that a substantial number of these candidates actually think they are good developers and are surprised to find themselves struggling. It seems to stem from being in large matrix-managed teams where one can spend many many years being only borderline competent at developing without anyone noticing. The actual output of the team is caused by the work units being regularly and randomly swapped between members until (eventually) they're done by the one or two competent developers. In many industries this is normal working practice[2], and staff can truly believe they're contributing because the work units passed through their hands. Likewise I meet an amazing number of highly experienced OO devs who, on closer inspection, have actually spent many years going to meetings where some OO design got done... not *necessarily* by them.

[2] And the appallingly low productivity is (in a storming bit of double-think) considered normal because... well... software developers just actually aren't very good are they? Well, on average NO, they're not...

#4868370 Fundamentals of Game Programming?

Posted by Katie on 02 October 2011 - 02:29 PM

"Should I be creating a simple, procedural program?"


"or should I be using state/process managers and complex class structures"


#4868314 Choosing a college in London as a Programmer

Posted by Katie on 02 October 2011 - 11:11 AM

They're just called A-levels (A for advanced). Yes, they come with grades of A-F.

There used to be O-levels (O for ordinary), but they were replaced by GCSEs in 1988 {IIRC}.

There are also AS-levels (I didn't know why, but google says "advanced subsidiary"), which you used to do as separate subjects but which are now just the first half of an A-level.

There are also S-levels (S for specialist, I think) which are the next one up from an A-level. If you go to an academic college, it's quite often an option to take an S in some of your A subjects {I did an S in physics. Badly.}. S-levels are graded in numbers; there may only be something like 1,2 and U grades for them.

#4868071 Terrain multitexturing problem

Posted by Katie on 01 October 2011 - 02:36 PM

"Is it could be done by multipass? Use depth function to set equal for second pass?"

Yes, this is typically how it would be done.

Make sure you write solidly for the first pass (to populate the depth buffer), turn off depth writing for the subsequent passes (for speed), set equal as the test and then use chained texture blend units to feed the R G or B component from one stage as the alpha into the second.

The key phrase to look up here is "texture combiners".

Basically if you imagine the fixed functionality has a bunch of little units in it which can have the inputs fed from selections of different things -- constant colours, a texture lookup, the glColor or (crucially here) the output from one of the earlier stages.

Setting them up is faffy and fiddly and involves a big stack of glTexEnvi(GL_TEXTURE_ENV,...) calls; it's a good idea to plan out carefully what needs setting up before starting to write the code.

You'll need to do some jiggery pokery with the texture coordinate scales; because one of your textures is big (landscape sized) and one of them is the grass/sand/rock tile. I *think* you do this by chosing the active texture unit and then manipulating the texture matrix, and it'll apply to just that unit. So you can put a scaling on one of the lookups.

You could I guess, possibly do this in one go. Maybe. You'd have to look really carefully at the texture combiner modes available.

Is there any reason why you can't just do this in a modern vertex shader? It seems a lot of work to go to to do this ye olde fashionedey wayey.