 |
Navigation |
 |
 |
Users Online |
 |
 |
Guests Online: 5
Members Online: 0
Total Members: 13
Newest Member: Hairy Goggles
|
 |
 |
 |
 |
 |
Forum Threads |
 |
|
 |
Programming |
 |
 |
I'm not sure if (m)any of you readers (do any readers exist for Underscore yet?) know this, but I am a wannabe programmer. Currently teaching myself C# the hard way. I'm discovering that while it's easy to write HELLO WORLD into a command prompt window, and not much harder to make it 3D and fly around the screen, it is much, much harder to achieve anything meaningful.
To non-geeks among us, I have to apologise if you don't quite grok what I'm saying here, but basically I'm trying to replicate what the windows on your desktop can do. That is, moving, resizing, etc. However, I am programming for something rather posher than just window management. I'm aiming for windows that animate everything. Wobbling when they're shaken on the screen, and generally behaving more rubbery and smoothly than the browser window you're reading this in.
Transparency effects, anti-aliasing, motion blur, lighting, shading and much more.
Believe it or not, the effects are all relatively easy to run. However, as I mentioned earlier... Achieving something meaningful is hard. Seriously fucking hard. Which is why I've now got code that can draw a chosen number of 'cells' into a window, arranging them to fit nicely, and allows them to be dragged around and the like. The thing that pisses me off though is that all this behaviour takes the computer some effort to calculate.
Granted, it's not exactly resource hungry but once the application is doing anything besides animating boxes around, especially once it starts running any form of artificial intelligence, pathfinding or physics calculations, performance is going to drop because the 'framework' I'm programming with is designed for single-core computers. When machine now have at LEAST 2 cores to throw around, some as many as 8, that's a pretty big limitation.
So now I have to work out the thing that even large games development companies are struggling with right now. Multithreading. That is, having bits of the game run on separate processor cores. Supreme Commander did it, quite astonishingly well for its time. Crysis does it. A bit. Half Life 2: Episode 2 does it. Very badly, but it does it.
However, these all use what is quite honestly a piss-poor method of multithreading which is to offload entire chunks of the game to different cores.
Supreme Commander, for instance, runs the sound engine on one core, the graphics pre-processor on another, physics on another, and AI on a 4th. For some reason it has a second sound engine which (if possible) will run on a fifth core if there's one available.
This approach works fine for applications where, conveniently, the number of cores available exactly matches the number of threads, and all the threads require the exact same amount of resources. But this is the real world, and that never happens. In fact, close to 40% of Supreme Commanders entire CPU use is for the primary audio engine.
The approach that scales best, from 1 to 100 processing cores, is similar to what your graphics card is doing all the time. That is, running teeny little similar tasks on up to 3,200 cores at the same time. This method allows a GPU using 200 watts of electricity to do more than 50x as much arithmetic as a CPU using 150 watts.
That's a damn good improvement I say. And it revolves around an absolute fucker of a principle, which is that rather than sections of the game running on separate cores... Every time a new piece of work needs to be done it is offloaded onto a new thread, to run on the least occupied processor in the system. This means that as long as there's enough jobs that need doing it'll use an infinite number of cores. And it means that where there's 4 cores available, it's roughly 3.999x as fast as running a single thread.
The main problem with all this is that I have to reprogram every single aspect of the engine so that it's able to spin off new threads whenever they're needed. If I do it now, I'll be able to apply the principle relatively easily as I add more functionality to the program. If I leave it until the end, I may have to rewrite the whole thing in such a way that it's even possible for it to be threaded.
So yes. I currently have a graphics engine nicer than Windows 7 or Ubuntu Linux. I also have a programming language that can take advantage of the most powerful processors in the world. And the software to make all the magic happen.
Now I just have to use it really, really well.
|
 |
 |
 |
 |
 |
I've been told I have to do this... |
 |
 |
Mr Aranthos is being very mean and is ordering me to use this website as some kind of sick blog for whoever finds this site to read.
Today I'm going to tell you all the story of how I completed my 7x7x7 Rubik's cube yesterday at the time of 1920. It was raining outside, I was the only one in the canteen, I sat and stared at my nemesis sitting on the table: the 7x7x7 cube. It had been months since we first met and I was yet to solve his mystery. I knew I could do it if I could just line up the centre... but how? Every time I moved a piece I would disrupt the patterns I had already created, for every line of colours I created, I destroyed two more. I suddenly slipped and one of the layer moved unexpectedly, revealing to me the answer I seeked. If I lined up a row of colours with the centre piece missing I could take the missing centre piece out, onto the adjacent side and spin it round before moving it back into place without disrupting any of the other sides. With this new knowledge I was able to complete all of the centre blocks. I was then able to simply pair up the edge pieces and solve the rest of the cube as a 3x3x3. Right then is when the ninja jumped out from behind the vending machine (But that's a story for another day)
|
 |
 |
 |
 |
 |
Re: Abortion |
 |
 |
I'm here with you today to touch on the subject of abortion. A touchy issue, I'm sure you'll agree. However, I would like to not so much discuss abortion directly, but rather the implications of outlawing it for pro-life reasons. As I'm sure you're aware, the main reason people oppose abortion is because it ends a life. Or, perhaps more realistically (considering the foetus is simply a sack of cells for a significant portion of its time in the womb) preventing a life from happening.
However, outlawing abortion for that reason implies that preventing a childbirth is illegal. Could we extend the law to cover unprotected sex between partners? And from there, to unprotected sex? It'd be every fat basement dweller's dream come true.
|
 |
 |
 |
 |
 |
I was told I had to do this so... |
 |
 |
Mr Aranthos is being very mean and is ordering me to use this website as some kind of sick blog for whoever finds this site to read.
Today I'm going to tell you all the story of how I completed my 7x7x7 Rubik's cube yesterday at the time of 1920. It was raining outside, I was the only one in the canteen, I sat and stared at my nemesis sitting on the table: the 7x7x7 cube. It had been months since we first met and I was yet to solve his mystery. I knew I could do it if I could just line up the centre... but how? Every time I moved a piece I would disrupt the patterns I had already created, for every line of colours I created, I destroyed two more. I suddenly slipped and one of the layers moved unexpectedly, revealing to me the answer I seeked. If I lined up a row of colours with the centre piece missing I could take the missing centre piece out, onto the adjacent side and spin it round before moving it back into place without disrupting any of the other sides. With this new knowledge I was able to complete all of the centre blocks. I was then able to simply pair up the edge pieces and solve the rest of the cube as a 3x3x3. Right then is when the ninja jumped out from behind the vending machine (But that's a story for another day)
|
 |
 |
 |
 |
 |
Cycling. In the dark |
 |
 |
So tonight I cycled home. At like 10:30 PM. In almost pitch darkness.
It was actually a pretty good run to tell the truth. I was able to go epically fast thanks to the coldness keeping me... Well. Cold. The only thing that bothered me was how my brain turned normal things and nonexistant things into things that made me almost shit myself on the spot. Things like a cow in the field next to me as I cycled past. Or reflective signs/posts in the distance. Or trees. And in cases, bunnies. Rabbits!
I was being shat up by fucking rabbits! Seriously people, I'm not afraid of the dark but my subconscious sure as hell is. I'd see one of those furry little fuckers dashing across the path and I actually panicked. I shit you not. They got to me like they were Dante's own.
And trees. Trees were scaring me too. God alone knows how, considering I knew they were trees. But I had to actually keep telling myself that.
Oh, and there was this one time when some kinda flying insect (I presume a large one thanks to the effect it had) hit my headphones and made a rather meaty clunk and knocked them noticeably. For some reason I was ACTUALLY worried that it was a bullet that skimmed the 'phones. Presumably it was fired by a murderer who wanted me (the only witness to his crimes) dealt with. Because I didn't get 'shot at' again I pushed it to the back of my mind.
Surely there's something wrong when the only good reason you can come up with for NOT having been shot at is that you didn't get shot again? Although to be honest I probably wouldn't have known if I had anyway. The 'phones were wound right up to my MP3 players full volume. Which, by the way, has been tested as able to drown out a disco.
Anyways, my head seems to be pretty fucked and my body is definitely pretty fucked. I've been cycling nearly 25 miles a day, most days, for the past month. I cycled about 35 3 days ago. Nearly 10 of which were on hills and off road. Fun times.
|
 |
 |
 |
 |
 |
Sooo... |
 |
 |
Earlier I woke up from a nap to find a large sticky label attached to my forehead reading POOP in all caps.
See attached pic.

I neither know nor care who made the label, how they made it, or WTF was going through their mind when they decided to put POOP all over my forehead. All I want to know is why did I decide it was worthy of going on Undercore? Oh, wait. I know. Because I haven't put anything on here at all for fucking ages.
|
 |
 |
 |
 |
 |
JELLY WAFFLES! |
 |
 |
IT. IS. ALIVE! |
 |
 |
That's right, after years of malnurishment, underscore is back! Now I have some motivation to make my movie as there is now a place for it to live!
I repeat. W00T
|
 |
 |
 |
 |
 |
And lo! This has been willed where what is willed must be. |
 |
 |
Don't ask about the title. All I'm here to do today is announce that until January my single responsibility with my life is work, which takes up 10 hours of my week. Aranthos is pleased. More after the jump!
|
 |
 |
 |
 |
 |
Attachments on forums |
 |
 |
Alcohol + 3 XBoxes + Halo |
 |
|
 |
Login |
 |
 |
Not a member yet? Click here to register.
Forgotten your password? Request a new one here.
|
 |
 |
 |
 |
 |
Shoutbox |
 |
|