Journals

Gather round and let me tell you a story. It's a story of hope and despair, sadness and enlightenment, desperation and joy, life and death. It's a story of my computer upgrade.

It all started towards the end of last year. Lots of people on TWHL were getting new graphics cards, and I was starting to think that it might be a good idea. Ant bought some Mac thing for twice the retail price so he could play all those mac games that exist, and Strider bought something ridiculously overpriced so he could play games from the 90's. Archie has had a crazy GPU for a while but he's just rubbing it in our faces with his fancy new screens. Other regulars in the upgrade club include notable pillars of our community such as DoctorAmazing, TawnosPrime, and Jessie.

So I thought: enough is enough! I will no longer be a spectator, I must take action! And action I took. I went to my local internet providing mechanism (my work computer) and ordered myself an upgrade with intense focus and concentration. The upgrade in question? It was none other than an Nvidia GTX 970 with 4GB RAM, 400mb of drivers, support for VR, Shadowplay, built-in toaster, plus I opted for the Roomba attachment and extra fries on the side.

My boss has a parking spot at work, so I knocked him out by giving him a light tap on the head with a ball-peen hammer and grabbed his keys and escaped before somebody could initiate a safety share about getting hammered in the workplace. As I swerved my way over to the computer store (I've been playing GTA recently so I couldn't remember which lane to drive in), I imagined all the incredible things I could do with my new graphics card. I could increase the draw distance in GTA V by 10%! Play Rainbow Six Siege in slightly higher detail than potato mode! Experience Half-Life in a graphical fidelity that's never before been possible! I was so excited that I almost ran over a particularly wide person on the footpath, but fortunately I managed to avoid them with only a small amount of collateral damage.

The gentleman that served me at the store had an incredibly impressive afro. I'm talking big, puffy, and really tall. His hair was larger than the rest of his head. This afro was hypnotising in its puffy majesty. I stood there staring for about 10 minutes while he was trying to serve me. Eventually I managed to exchange an impressive sum of Australian dollarey-doos for a chunk of plastic and steel that a Chinese dude made for ten bucks. I asked the guy for a lock of hair to remember his afro by, but he refused. I left empty handed, but that hair will forever be etched in my mind and I will compare all future hair to that noble image.

After dreaming about my new graphics card on the train home, I finally managed to walk through my front door and get ready for upgrading procedures. I took all the standard precautions, of course: take off pants, put computer on fuzzy carpet, don't bother unplugging the power because honestly who bothers with that nonsense. I was under my desk without much light so I put my phone into flashlight mode and balanced it awkwardly on the edge of the case.

After unplugging a few cords running over the old card, I was able to yank it out with only a little bit of brute force. A few things snapped but they probably weren't very important. The new card was jet black and reminded me of a super sleek racing car, if a racing car could be installed in a PCIe slot. I carefully jammed it into said slot and reconnected the power and whatever else was lying around that looked like it would fit into something. I stood the computer back up and pressed the magic button.

I grinned when I saw my motherboard's BIOS screen flash up. The GPU was working! The grin lasted about 5 seconds before it turned into a slight frown. The BIOS screen was still there. A minute later it changed into a blinking cursor on a black background. 5 minutes later, nothing had changed.

Have you ever felt that sinking feeling when you know something's gone horribly wrong? I have. Not only today, but in the past as well. My first GPU upgrade was at a LAN party, upgrading my GeForce MX440 to a FX5200. I eagerly installed the card and flicked the switch. All was going well until I smelled something. It was the metallic smell of ozone, the smell of fried electronics. The tab on the card was blocked by my computer case, and the AGP pins hadn't connected properly. The resulting short fried a capacitor in my motherboard. The rest of that LAN was not an enjoyable experience for me. It took 6 months for Intel's warranty department to issue a replacement.

Anyway the point is that I have felt this before. Fortunately I've learnt my lesson and I knew the pins were connected properly, and nothing smelled of ozone so I was trying to stay positive. I shut it down and checked that everything was seated properly, that the power was connected, and that my PSU had enough juice to support the card in the first place. Everything was okay. I tried again, and still nothing happened. The sinking feeling increased. Something's broken. I paid 500 dollarey-doos for this damn thing. The store is not known for its refund policy, and its support is Valve-quality. What the hell am I supposed to do?

I was desperate. And what do people do when they're desperate? They try everything. In my case, 'everything' included looking for motherboard BIOS updates. You know, that thing that absolutely never does anything to fix your actual problem? But it doesn't matter, I was desperate. I did it anyway. The last update on my motherboard was published in 2012. Not a good sign. But even still, I did it anyway. There was indeed a BIOS update, and at this point I didn't really care if it made things worse than before.

So I flashed the BIOS. I squeezed my hands together as the progress bar progressed. I popped a stress ball. The blood in my fingers experienced a pressure so great that it would still be in liquid form if I was sitting on the surface of the sun. The progress bar finished and my computer rebooted. I crossed all my fingers and toes and even digits that I didn't even know could be crossed. The BIOS booted...

... and worked! A BIOS update actually solved my problem! It's even less likely than the second coming of Jesus. But it worked. Windows started, and the driver installer struggled to start up and eventually gave me a green light after choking on installations for a while.

I celebrated by turning all the settings up in GTA. I can now make everything in the background incredibly blurry without it dropping frames! It looks absolutely awful so I turned it off, but isn't it nice that GTA with maximum settings also doubles as an "I'm not wearing my glasses" simulator. I'll now go back to playing games that I was able to max out on my old card anyway. New games are expensive, you know?

TLDR: Got a new graphics card, GTX 970. Didn't work initially, but for the first time ever a motherboard BIOS update actually solved the problem. Story may be slightly exaggerated in places. Not that guy's hair though - it was 100% real.

I posted a link to my (very basic) JavaScript RMF loader/renderer in the Shoutbox yesterday and a few people said they were interested in learning more about JavaScript and 3D stuff, so here's my official guide to learning JavaScript and/or 3D stuff! Hopefully someone finds it useful or interesting

Even if you're not interested in learning programming, I would recommend clicking on the links to the D3 and three.js websites - the examples for those libraries are really damn cool!

JavaScript:

What you need to get started:

A computer

...(with a browser)

.......(that's not IE, use Firefox/Chrome/ChrOpera)

Learn the core language: Eloquent JavaScript is a slightly old, but still relevant introduction to JavaScript, and programming in general. No previous programming knowledge required!

Learn some basic HTML and CSS: This video series from Google is said to be a good introduction to HTML and CSS, as well as some more stuff about JavaScript.

Learn more about HTML, CSS, and JavaScript APIs: MozDev is one of the best resources for doing front-end web programming. It covers every API and element that Firefox supports (or might be supporting in the near future) - which is basically everything you'll ever need to know.

Backbone - write a single-page application like all the other cool people! I'm writing one at work at the moment. SoundCloud is an example of a single-page website made using Backbone.

D3 - a super-cool library for graphing and displaying data in a visual way. Supports topography/maps, graphs, animations, interactivity, and other cool stuff. The examples are great!

three.js - Really easy OpenGL (see below) for the web! I used this for my RMF demo. There's tons of examples, so it's really easy to get started.

3D stuff (I only know OpenGL, sorry DirectX fans!):

What you need to get started:

A computer

A graphics card that supports OpenGL 3+

Programming knowledge. You can't just jump into 3D programming, you need to know the basics first. JavaScript works, but so does C, C++, C#, VB, Java, Python, and many other languages with OpenGL bindings. JavaScript is one of the easier options due to the three.js library (see above).

Learn how to use (modern-style) OpenGL: Learning Modern 3D Graphics Programming is one of the best modern GL references out there. You may have heard of, or stumble upon, the NeHe tutorials website - be careful! These tutorials (especially the intro ones) are mostly for OpenGL 1.0, which is extremely slow and no longer part of core OpenGL! Learn the new pipeline that is in OpenGL 2+, you will save a lot of time.

Skip all of that and learn three.js instead: Skipping the OpenGL stuff will certainly put you at a disadvantage, but three.js allows you to get started with 3D programming without having to deal with the lower-level stuff. If you want a quick 3D fix without having to learn loads of really difficult stuff, you could do this, and learn the complicated stuff later!

I wrote about Sledge development in my blog, detailing the process I go through when implementing a new feature (decal rendering in this case). If you're interested in Sledge or programming it might interest you.

(For those who don't know, Sledge is a project I have worked on for a long time, it's intended to be a replacement for Goldsource Hammer and hopefully, eventually, Source Hammer as well. It's completely open source which means the code is available to all to use, modify, and add new features. It's not finished yet, however I hope to release a beta sometime this year.)

If you do take a look, please let me know any feedback you might have. Is this kind of thing interesting? Would you read something like it again? Am I just a nerd who likes really boring stuff? Let me know in the comments! (either on the blog page or here on TWHL)

invert-x is a little site that our good friend Ant and I have been working on. Basically, we choose one topic per week and each write a short article on it. It should be updated every Sunday (I hope!).

We started off with some opinions on the Battlefield 3 beta. Feel free to subscribe/like/whatever it is the kids are doing these days.

Last night, I got off my computer at a reasonable time (11PM) for work tomorrow. I go to set my alarm, and it's an hour behind!

"What's wrong with this thing?", I thought to myself. I must have knocked the time set button or something last time I hit snooze on it for the tenth time in a row.

I thought little of it, and grabbed my phone to confirm the time - it was indeed 11PM. Stupid alarm must be playing up.

So I woke up this morning at 6:45, half an hour before I needed to leave. I flicked on the news while I was eating breakfast - the news says that it's 5:45AM. That's an HOUR AND A HALF before I need to leave! I check my phone and it is still an hour late. I check my trusty analogue wall clock and it is showing 5:45!

At this point I was really confused. Do I need to go to work yet, or not? I messed with the date settings on the phone, turning off automatic time setting. The time went back exactly one hour.

Suddenly, a little light bulb switched on in my head. Daylight savings time switched over yesterday morning, and, of course, being in Queensland, Australia, I don't need to worry about all of that crap.

BUT, it turns out that somehow, BOTH my phone and computer had their time zones set to Sydney and had automatically switched to daylight savings time yesterday.

Time for another episode of Penguinboy's dead projects! (Aka the side project showcase)

Today we say goodbye to a project that I worked quite a bit on for about a year. Yes, this is the 'big project' I've mentioned previously. Some of you knew about it before, many didn't. But it's dead.

Gotta say I was rather sad to see this one go. Ah well.

Project: ThorGoal: Hammer clone.

Yes, it's a clone of Valve's Hammer Editor. Working for both Source and Goldsource, Thor was to be a perfect clone of Hammer (interface and functionality). Combining all the extra features of version 4 and the stability of a modern programming language, Thor would probably have made a few Goldsource mappers happy.

Anyway, a screenshot or two:This one's kinda outdated, but shows a basic layout:

This is how the 3D view looked, with textures and entities:

What these screenshots might not make apparent is how far along this was. It was loading RMFs (above maps are one of Grim's vault maps, and Adam Foster's Someplace Else), showing them in 3D, had brush and texture editing, and compiling as well. Here's a video that should show it a bit better:Video link

Project status: DEAD. Sorry guys, this thing is completely dead. Why? For starters, it's very badly coded. Also, it was crashing constantly - I couldn't nail down the cause, but I think it was one of the underlying libraries, something that I couldn't change without basically rewriting it. Finally, when I upgraded to Windows 7, it broke completely and by that time, I didn't want to put in the effort to look into that. Thor is dead, and it's not coming back. Don't cry for Thor, it's gone to a better place.

That said, I do actually have a bunch of semi-decent code left over from it. I may do something with them in the future. I have RMF/MAP/VMF parsers, FGD editors, texture application algorithms, and quite a bit of 3D programming knowledge. Any suggestions on what I should do with all this stuff?

One day, perhaps I will clean up any of the half-decent code and release it under an open license. It's all coded in .NET, if you were wondering.

Register for the mystery beta program! Beta is far, far away, but I need to get up a small database of testers so I can get a range of people to test.This is, of course, for my big project that I've been working on.

I'm finished the first semester of uni for this year, so I'm ready to start on my big project again. I just thought I might show off some of my random side projects that I started during the semester. (I didn't want to do any big project until my break, which is a month long, starting now.)

Project the second: Randomly generated MUD gameGoal: Make this (with a twist).

I was bored at uni and I had a few hours to kill so I started making a MUD game. The basic idea is that it's the regular text-based adventure game, except everything is randomly generated, making it more of a text-based dungeon crawl. Also, I wanted to inject a 'twist' in the form of surprise windows forms elements appearing and offering a puzzle or display that no command line ever could.

Another thing I slipped in there was the use of the Half-Life 'action' words: Run, Think, Shoot, Live. "Think" was to be for investigation, "shoot" for attacking, "run" for movement, and "live" for...well, I didn't get that far.

_>

How far I got:See for yourself:Early version showing random generation of map:

Bit later showing enemies:

The end. Nothing more was done. It wasn't really going anywhere anyway. The end result would be boring to play, so who really cares?

Project status:Pretty much dead. Chances of revival: not zero, but slim. I have better things to work on.

I'm almost finished the first semester of uni for this year (1 more week, 3 exams), so I'm ready to start on my big project again. I just thought I might show off some of my random side projects that I started during the semester. (I didn't want to do any big project until my break, which is a month long, starting next week.)

As said in the news post, I'm recoding TWHL. Why? because the current TWHL code is disgusting, and I never want to look at it again. (This is the reason I never make any changes/improvements/bug fixes/etc to TWHL.)

The solution? Recode it. Entirely from scratch. HTML, CSS, PHP. Some of the HTML/CSS is okay but mostly it isn't as flexible as I would like it to be for a dynamic website. The PHP is unrecoverable, and has been completely scrapped.

You may be thinking, "Won't the same thing happen with the new code?", and you're right to think that. Hopefully, the way that it's being coded will make it easy to make changes/additions/upgrades without making me want to kill myself. I'm using a framework this time, CakePHP, and it's actually very fun to work with. It has a ton of really nice features that are dead easy to implement, and should make TWHL a much more friendly site to navigate.

So let's look at features for said TWHL recode. For easy reference, let's call it TWHL4.

First of all, I'm not sure if the theme will stay. I'm rewriting all the HTML and CSS, but I'm making it look pretty much exactly the same. I'm leaning towards changing the theme to something less orange, but this theme will be available as an option (as will custom user-created themes, if anyone actually bothers to make one).

New default theme - 60%Custom/multiple themes - 90%

A better tutorial system is a must-have. I don't know exactly how it'll be better, but it will be. There needs to be drastic improvements on tutorials from proposing to drafts and tutorial revisions.

The VERC Articulator wiki will need to be implemented so that people can start adding the missing images and formatting them with BBCode. This will definitely happen.

I'll also try to make the entity/error Wiki more attractive to people who might edit them.

Map of the Month! I hope that TWHL4 will bring new votes to MOTM, as well as making it easier for Daubster and co. to upload reviews. I'll do this by implementing a proper MOTM admin panel for Daub (and other reviewers) to use, and putting a MOTM thingie on the right column of the main page. Also, I'll put up a big obnoxious message telling you to vote for MOTM if you haven't (disable-able, of course.)

MOTM admin panel - 100%MOTM widget & reminder message - 100%

Javascript might play a larger role in TWHL4, but it will be designed to degrade gracefully if javascript is not enabled. TWHL3 doesn't do this. Naughty penguin.

Graceful javascript - 101%

User/Admin alerts will no longer suck.You'll be able to view previous poll results.A more complex polling system might be made.I don't know about poll-threads, I don't like the idea of them. But, maybe.Shoutbox Live might actually be live.It'll be easier to get to your own profile.Top right icons will be changed to look clearer.The old avatars will be replaced with new, HL-related ones. (The old ones will still be available.)

CakePHP makes URLs much neater. So, instead of/forums.php?thread=12345, it's/forums/thread/12345This is done automatically by Cake, so I don't need to do anything!

Fancy URLs - 100%

Static pages (about, where, servers, etc) will be easier to edit, meaning that people's servers might actually get on there once in a while!

Servers/links page updated sometimes - 80%

I might open up some spaces for user-created compo's. And maybe more than one compo running at once.

More compos - 90%

Profiles will be improved - birthdays, PC stats, xfire/Steam details, last login, stats that actually increase when you do things...the list goes on.

Profiles 2.0 - 100%

That's all I can think of for now. And that's just the start of it!

In the comments: what changes would you like for TWHL4?Please, don't list bugfixes, as they'll probably not even exist once the new code is done. I'm talking about what core functionality of TWHL you think should be changed.

I am now the proud owner of a brand new Playstation 3 console thingie. I won it in that competition that Ant didn't win, as a voters prize. It also came with a game called Tiny-Huge Island, which I assume is related to Mario LittleBigPlanet, which has nothing to do with Mario, except that it's a sidescrolling platformer. It's pretty crappy, so I'm planning to sell it to Strider and buy RE5 instead.

Recently I went on a used game buying spree, from Ebay, and certain trading stores. Here's the results of my search: