Tuesday 13 December 2016

Jam Enslaver Plays...The Last Guardian - Episode 01

It feels good to get back into making a video series again, and very exciting to be playing something so keenly anticipated as The Last Guardian! Luxleaena and I had been throwing around ideas for a video series we could do together for a couple of months, and even have a solid idea for a continuing series beyond this one. Playing through The Last Guardian together seemed like a good starting point since we both have an affinity for Team Ico's games but have never played them together, or ever really talked about them. Here was an area fertile for discussion that we could experince together for the first time, and get used to talking to each other on-air.

Interestingly, adding an extra person to the recording process didn't make it much more complicated. Last year I bought a Blue Snowball ICE which I've used a couple of times in my videos, which when placed on the desk in front of us picks up both voices easily without much of a drop in quality. It would have been harder to get audio to two different sets of headphones without some kind of splitter, but luckily I have a pair of Bang and Olufsen headphones with allow you to daisy-chain another set of headphones off them, so we were both able to listen to the audio from the game with minimal effort. Once again, I used the technique of running the HDMI audio from the console out of the back of the monitor and into the Line In of my PC, so we could just listen to the audio output from the computer itself.

Not everything was plain-sailing, though. Before we began recording the Roxio started misbehaving, causing Windows 10 to crash twice before I moved it to a different USB port and it seemed to calm down. That wasn't the last of the trouble though. When I hit the 'Stop Recording' button in the Roxio software I had a sudden thought about what happened to my last episode of Shadow of the Colossus, and quickly made a copy of the raw MT2S file before it was automatically deleted in the encoding step. This proved to be a smart move because whilst the encoding completed successfully some time later, about 6 minutes into the MP4 the audio disappeared!

Since I had made a backup I was able to create a new MP4, but this was a huge shock and I have resolved to never again use the MP4 recording option in the Roxio software; it's just too unreliable and when it fails, there's nothing I can do to recover the recording. Transcoding the raw file manually adds an extra step in the process, but being able to keep a backup in case of transcoding failure is vital.

I have no idea what caused it to fail this time. Originally I thought that making my own copy of the raw file was the cause; perhaps my copying the file interrupted the file stream in the encoder and caused some kind of unresolvable desync between the video and the audio. However after re-encoding the final MP4 still had a minor corruption at exactly the same point that the original MP4 lost audio, which you can see in the final video above. This suggests to me that there was a weird blip in the recording that the manual transcoding was mercifully able to handle.

I'm looking forward to diving further into the game, and continuing to develop the on-air rapport between Lux and myself. There were some really great moments between us (when we both say 'Whee!' when sliding down the chain being a highlight) and I know we'll have more in the future!

Wednesday 30 November 2016

Jam Enslaver Plays...No Man's Sky LIVE

A couple of weeks ago I started playing the pen-and-paper RPG Stars Without Number online with some of my friends from the Games Only Podcast. If you haven't watched it yet the archive of the live stream is up on YouTube and I can recommend watching it: we've set up some really fun, unusual characters who's adventures I'm looking forward to discovering over the coming months.

Having to buy a webcam to be on Stars Without Number, and then highly enjoying the experience of doing the live stream itself, meant that I had started to think about doing my own live stream playing a game. The thing that was holding me back was the lack of a game I was really excited to play. The week before I had been accepted into the Gwent closed beta and thought it would be useful to show off that game, but since it's a multiplayer game I wasn't confident that I could talk about all the things I wanted to and also concentrate on playing the game.

Then on Sunday Hello Games released their first big update for No Man's Sky, a game I had really wanted to like but bounced off after only a few hours. As soon as I saw the news that they had added a substantial amount of content to the game I had the idea to run a live stream to find out what was the deal with this new patch.

Before I could do that I had to do some set up, which is why I'm writing a blog post about it. Firstly I should mention that I was using OBS since that seems to be the de-facto standard open-source application for setting up live streams. It allows easy combining of various different media sources including my webcam, the Roxio which I was using to capture footage from the PS4, and my microphone. I was even able to compose a couple of different 'scenes' before I started which allowed me to switch the view of the livestream to show off the cool artwork that Hello Games had put on their website to announce the patch. Once again I used the trick of piping the audio out of my monitor into the Line In port of my PC and using the listen functionality to be able to hear the sound of the game through the headphones plugged into the computer.

Since I'm still very new to live streaming I wasn't sure about what would happen to the video after I was done. I spent some time playing around with Twitch's settings and found a way of getting it to archive the stream, but I was also aware that the quality of that recording would be very dependent on how well my internet connection was behaving at the time. Luckily OBS has a really cool feature that allows it to record and stream at the same time, so I had a nice local copy once I was done that I could just upload directly to YouTube.

The only real problem I encountered was with using the webcam, which is understandable since this is the first time I was using it to record. For some reason OBS was recognising that the webcam was plugged in but not showing anything on-screen. The fix turned out to with setting OBS to use the camera's default resolution. Presumably the cheap webcam I bought doesn't present a usable default resolution that OBS can use and it was just showing nothing. Setting a custom resolution of 1080p solved the issue immediately.

Something I discovered after I had finished recording was a sync issue between the video from the webcam and the video from the Roxio. As I've mentioned in previous posts, the Roxio footage comes with a roughly 1 second lag. The footage on the webcam, on the other hand, has no noticeable lag and thus there are times in the video where I seem to react to things happening in the game before they actually happen. I'm going to experiment with introducing a lag to the webcam video to fix this issue, something that you can supposedly do in OBS. I'll report back following my next stream on how that goes!

I had a lot of fun doing this live stream and plan to do more in future! Look out for those soon. I'm also starting to think about what game I want to tackle for my next review...

Saturday 20 August 2016

Jam Enslaver Plays...Shadow of the Colossus - Episodes 12, 13, 14, 15 & 16

The final episodes of my journey through Shadow of the Colossus were largely uneventful from a technical perspective, until I got to the last episode. I'm still not entirely sure what happened, but for some reason the two hour original episode that I recorded disappeared after the usual encoding step that the Roxio software does to turn it into an MP4. I suspect that my hard drive ran out of space as it was trying to write the new file.

The most frustrating thing about this is that the whole episode recorded perfectly well, and I even saw the video file sitting where it always does as an M2TS file, which Roxio uses for the conversion and then deletes. I suspect that the Roxio software wasn't written to expect file write errors and even though the newly encoded MP4 didn't get saved to the hard drive it went ahead and deleted the source file anyway!

Oh well, I recorded another episode which was much shorter and finished off the series. I've been thinking of a few ideas of what I'm going to do next, one of which is something not related to videos so I'll talk more about that when I have more to show. Other ideas for different video series that I might do are taking shape so we'll see what comes of that.

Thank you again for watching!

Monday 18 July 2016

Cable Management: Improving Cooling in My Gaming PC, Part 2

So here was the situation: I had moved a couple of components around inside the computer to try and improve the flow of air coming into the case. Things had improved considerably, but 3DMark was still saying that at 92.6% framerate stability so there was still work to be done.

So many cables!

The most obvious thing to do was deal with the thick bundle of cables going through the middle of the case. I had used a cable tie to make it as narrow as possible but even at the thinnest part it had a diameter of about 2cm. I knew that at some point I wanted to tidy things up, and finding out that even with all the fans on the case I still wasn't getting enough cooling was motivation to put things right. There were two things in my way:
  1. The CPU power cable that comes out of my power supply was only just long enough to reach the socket on the motherboard. In my old PC the PSU had been mounted at the top of the case so the cable didn't need to be very long, but UNICORN-31 has the PSU at the bottom.
  2. I'm really bad with cable ties. I had a handful that came with the CPU cooler but had already wasted most of them trying to tie up cables and then realising I needed to move them!
Solving the first problem was pretty straight-forward: I just needed to buy an extension for the power cable, which I found on Newegg for about $3! Then I could run the cable through the cavity that the case creates behind the motherboard. I almost had a problem because the hole in the motherboard mounting plate was partially blocked by the motherboard itself, but with a bit of pushing I managed to get the surprisingly wide plug head through the gap and plugged in to the socket.

The obvious answer to the second problem is to just buy a whole bunch of cable ties, but I found something even better: reusable velcro ties! This was a huge help for me as it meant I was completely free to experiment with how I secured the cables and even tie things back temporarily whilst I worked with other cables. I really can't recommend them enough!

With this new-found confidence I tackled the bundle of cables. These could be broken up into a number of categories: main power cables for things like the motherboard itself and the video card, smaller auxiliary power cables for things like the hard drives and optical drive, fan control cables which run from the case fans and CPU cooler, and the myriad of tiny wires running from the control panel on the case that do things like make the power switch work or illuminate the hard-drive access LED. The goal of cable management is to have as much of the wires as possible sitting in the gap behind the motherboard, so step 1 was to untie the cables from each other and push them through the nearest hole.

It seemed like the obvious choice to tackle the bulky power cables first, especially the motherboard cable since it's probably thicker than all the other wires put together. I also have a lot of unnecessary wires of this type because the PSU is presumably designed to support a second graphics card, and also because my old case had a lot of LEDs which had their own dedicated power cable. As you can imagine, this proved to be the hardest part of the whole project. The gap for cables on this case isn't very wide, so anywhere were two of these thicker cables overlapped made it difficult to close the case. 

After about half an hour trying different ways of keeping the cables as separate as possible I decided to change tactics. Instead of running the excess of the main motherboard cable into the cavity, I used the small area in front of the power supply. I also ran the smaller power cables through this area and tucked them into the cap underneath the hard drive.

The last obstacle was the auxiliary power cables. The cables themselves are pretty thin but they have a number of fairly large plugs attached since they act kind of like wall outlets inside the computer (you can see one in the photo above, it has the white molex plugs attached). Again, my PSU has way more of these than I actually need as it has two such cables, each with four molex plugs. All the fan cases are connected to just one plug, and the optical drive needs a plug as well, which leaves two un-used on one chain and a whole other chain to spare! Eventually I found the perfect place: in the empty drive bay below the DVD drive, out of the way of the fans but still in a central position so that all the components that need them can be easily plugged in. After that it was easy to secure the smaller cables behind the motherboard and close the case!

Much better!

As you can see there are now no cables running through the main area of the case. You can see the larger cables tucked into the bottom, and some of the smaller cables through the larger hole in the motherboard plate. Not the tidiest case, perhaps, but much, much better than what I had before!

Now came the moment of truth: with the case still open I turned the power on to make sure everything was hooked up and working properly. At first everything seemed to be okay: the familiar beep from the system speaker and pattern of LEDs showed that the motherboard was happy. Then, I caught a whiff of something burning and panicked! Had I run a cable too close to something hot? Was something not seated properly? This could be really bad! No, as it turns out, my wife had chosen that exact moment to light a candle in the next room! After sharing a laugh and giving my heart enough time to climb back down out of my mouth, I checked everything out on the computer and found it to be working perfectly.

I had one more trick up my sleeve for improving the cooling, but wanted to see the results of my labour with the cables. Closing the case back up I ran another benchmark and was pleased to discover that 3DMark was now reporting a 99.6% frame rate stability (at some point I need to re-run this test because we had had the house's AC running for a while and the ambient temperature was much lower than when I had been experiencing problems). Not exactly a lot of room for improvement, but I had already spent the money on a fan card and wanted to see what difference it made.

I had never heard of adding extra fans to a computer before, let alone one that mounts into a PCI-slot and blows air upwards. It seems like most people use these to increase the flow of air into their GPU, but since my video card already has two pretty good fans I wanted to use this to improve cooling on the top of the card. I mounted it in the slot directly above the video card, close enough to suck the hot air away from the top of the card and blow it towards the output fans at the top of the case (as well as provide more air going into the CPU cooling tower. As you can see from the picture the card plugs into the standard molex power cables, which I had positioned in the nearby drive bay and thus reached easily.

Once again I ran the benchmark and was amazed to see the result now at 99.7%. My time working in my university physics labs tells me that this is probably not a statistically significant result, but pleasing nonetheless! I'm also very pleased that the fan card's LEDs are the same colour as the case fans.

So that's how I managed to sort out the cooling in my computer, only spending around $20 in total and just using a bit of common sense. Things have been working well on the computer since then, although I have yet to try out one of the games that was giving me the most trouble. I'll report back when I have more to talk about.

I hope this was informative and interesting for anyone else like me who's a novice with building computers and is a bit unsure how to proceed with cable management. It seems to make a much bigger difference than I expected, and is very much worth the time and effort.

Edit: I re-ran the stress test twice after a day of not having the AC on in the house, with an ambient temperature of 26°C and the results were 99.5% and 99.6%.

Friday 15 July 2016

Air Flow: Improving Cooling in My Gaming PC, Part 1

It's been a couple of months since I built my computer, and recently I decided that I wasn't quite finished with it yet. I had just finished playing Uncharted 4, not quite ready to jump into a big commitment like the new Witcher 3 DLC, and I wanted to test out what the new rig could do. As it so happened, one of my friends had gifted me the new Mad Max game on Steam, so I decided to see how well UNICORN-31 coped when confronted with a triple-A video game not yet a year old.

The answer, it turns out, was not well. The game would run fine for about 60 seconds and then start to get awful frame-rate drops that made the game feel like it was running in slow motion! I tried fiddling with the graphics settings for a while but even on the lowest this still happened. I read up about it online, found a number of people with similar problems who all recommended different things, none of which worked for me, and decided that this was why PC games tend to be cheaper than console ones: sometimes your specific hardware setup is going to clash with the way the game is made and not work perfectly.

I moved on to another game, Divinity: Original Sin, which I've owned for a while and wanted to try out, especially since they released a free 'enhanced edition' upgrade some time last year. Things initially seemed good, the gorgeous 3D title screen running at a smooth 60fps. But once again, when in-game, things began to chug after a couple of minutes. Divinity doesn't have nearly so many knobs and sliders in its graphics options, but after trying a couple of variations I was still getting the same problem. From what I read online, my conclusion was that I had a problem with cooling: when first starting a game when the graphics card and CPU were cool everything was running smoothly, but as soon as things began to heat up inside the case performance would drop significantly. The message was clear: I needed to improve cooling inside my computer! 

One of the things I've learned at my time at Facebook is that if you're going to undertake a project, it's important to be able to measure its success. So the first thing I did was take advantage of the Steam sale and buy 3DMark, an application used to benchmark the performance of gaming PCs. It offers a few different functions, including a benchmark suite which renders various graphically intense scenarios and measures how well the system handles them, and a stress test in which it plays the same loop over and over again to show if system performance degrades over time. The results were much worse than expected: the benchmark ran around 10fps, and the stress test showed a stability of only 12% in framerate! I opened up the case and assessed my options.

The first thing that occurred to me was the position of the hard drives. Hard drive bays are always located towards the front lower part of a computer case, which means that they tend to be right in front of the main input fans. When building the computer I put my solid-state drive (SSD) in a lower slot and the hard-disc drive (HDD) above it (see picture), because I knew that platter-based hard drives actually create heat whereas solid-state drives do not and thus it would make more sense for the HDD to be in a more direct air-flow. I also left a gap between them because it matched up with the spacing of the plugs on the power cable. As a result, the bulky hard-drive was blocking one of the fans providing air-flow into the case! A quick swap relegated it to the bottom of the case and put the much smaller solid-state drive in the slot directly above it, meaning that the two input fans were now much less obstructed.

The second thing I looked at was the positioning of the video card. I had it mounted in the top-most PCI-slot, which meant that there was about a 2cm clearance between the top of the card and the CPU cooling tower. The GPU has a pair of built-in fans on the underside which blow air upwards into the heat-sink, which cools the underside of the card nicely. My thought was that with the top of the card so close to the cooling tower and with relatively little air blowing across it this side of the card might be getting too hot. So, I moved the GPU to the bottom PCI-slot, so that the top of the card would get more air blowing over it.

After closing up the case and running the stress test again, I was pleased to find that the stability was now 92% (the benchmark was still pretty low, but it's designed for much higher-end GPUs). Whilst that's a huge improvement over what was happening before, it's still not a pass according to 3DMark. There was still work to be done!

I decided that now was the time to actually make the effort to sort out the huge bundle of cables going through the middle of my computer case. As you can see from the picture, they form a trunk about 3cm in diameter at the widest point which can't help the air flowing from the front of the case. It's a bit hard to see but I also have the power cable for the CPU running diagonally from the bottom centre (where it comes out of the power supply) to the top left (where it plugs into the motherboard) because that's the only way the cable would reach! As a result, it touches both the GPU and the cooling tower, which doesn't seem like a good idea!

Look out for Part 2 where I'll talk about what I did to tidy up my cables, as well as add a bit more control to the flow of air through the case!

Friday 8 July 2016

Jam Enslaver Plays...Shadow of the Colossus - Episodes 08, 09, 10 & 11

As expected, not a lot has changed in my recording setup for the last month, so I haven't had much to write about here! I'm planning on doing a bit more work on my PC very soon related to improving the cooling and finally sorting out the cables, but until then here are the latest four episodes.

Sunday 5 June 2016

Jam Enslaver Plays...Shadow of the Colossus - Episodes 06 & 07

My new recording setup continues to work well, especially in regards to how much more quickly it allows me to post new videos! Rendering times which used to be up in the 2 - 3 hour range are now a much more comfortable 30 minutes. Not only that, but a subtle other change has been that I no longer need to split up rendering of the videos.

The effects I use in the title sequence use a lot of layering and masking to create the effect of the video clip being inside the book. On my old system I would render this part separately first and then later incorporate it into the actual episode. Now, though, the system is powerful enough to do the whole thing in one go!

Monday 23 May 2016

Building A New Computer: The Story of UNICORN-31

The time had finally come. DRAKE-22, the PC that I had bought in October 2007, which had taken me through four generations of Windows, which had moved with me countless times including all the way from London to San Francisco, was at last starting to stumble in its duties. Eight-and-a-half years is an extremely long time to own a computer, showing that my initial investment of over £2000 was well made, but with increasingly frequent system hangs and extremely long video-rendering periods it was time to put the old workhorse out to pasture and upgrade to a newer model.

I had never built a computer before because it sounded scary. Hearing people talk about applying thermal paste and being careful not to zap sensitive components with static electricity, it sounded like a recipe for spending a lot of money and ending up with a massive headache. There's an episode of Top Gear where the presenters have to put together a kit-car, upon which one of them observes "Would you drive a car built by us?" That neatly sums up how I felt about trusting myself to build the machine that I would go on to rely on for the best part of a decade.

Having completed the task I'm happy to say that it's not quite as scary as I had thought, but it did involve a lot of time, stress, frustration, worry and sore knees. Things did not go perfectly smoothly, but overall I'm glad of the experience. I learned a lot, and hopefully I can share some of that learning with other would-be DIY PC builders.


I'll start off by listing the parts that I used:
  • Intel Core i7-6700K 8M Skylake Quad-Core 4.0 GHz CPU
  • ASUS Z170-A motherboard
  • DIYPC Gamemax-W White case
  • Cooler Master Hyper 212 EVO CPU cooler
  • G.SKILL Ripjaws V Series 2 x 8GB DDR4 memory

Parts taken from the old machine
On top of these I re-used some components from my old machine:
  • nVidia 760 GTX graphics card
  • 250GB SSD and 250GB HDD
  • 700W power supply
  • DVD R/W drive
I was particularly keen to make use of the video card because I had only bought it a couple of years ago after the one I bought with the old computer started failing. I had thought about re-using the old RAM as well but since it was DDR2 it wouldn't have fit in the new motherboard.

Putting It All Together

The cooler and motherboard inside the case
Using the How Stuff Works guide to building a computer I worked for a few hours putting all the parts together. The step that I had been the most nervous about, applying the thermal paste, was actually not very difficult. The cooler I bought came with a tiny tube of paste so it would have been quite difficult to use too much. I knew I was aiming to get as even a layer as possible across as much of the CPU as possible to form a seal with the cooler above so I applied a blob in the middle of the CPU and then pressed the cooler on top. It was at that point that I realised I didn't know which direction the cooler should be facing (for anyone wondering, the fan should blow towards the back of the case). There was an anxious period where I was sliding and twisting the cooler on top of the CPU to get it into the correct orientation. In retrospect this might have actually helped get a thinner, more even layer of paste, but at the time I was quite worried about whether I had done it right.

Everything else was faily simple, for the most part it's impossible to plug something into the wrong socket on a motherboard. The main challenge was getting the motherboard into the case, which took a little bit of adjustment to get the ports on the back to line up with the faceplate on the case. After that most effort came from finding the right angle and positioning of the computer to reach in and hook up all the cables.


After many hours of fitting components into each other and finding the right socket for very, very tiny wires to fit into, it was time to power up the computer and see what happened.

I saw the case LEDs light up, heard the fans whir into action, but nothing on the screen. When you're tired and have spent a really long time working on something, there's nothing quite like the feeling that you're going to have to do it all over again. Or worse, that you need to spend more time figuring out what went wrong and fixing it, potentially having to deal with faulty components that need to be returned to the manufacturer for a refund. I spent another hour or so that night trying different things, including connecting my monitor up to all the different VGA plugs on the motherboard and video card in case I had the wrong one, and trying different SATA ports for the hard drives. No luck, and eventually I accepted defeat knowing that it would be much easier to continue in the morning after I had had a chance to rest and calm down.

What I did glean from that first evening's frantic work was that the How Stuff Works guide is tremendously unhelpful for the average person trying to figure out why the computer they just built isn't working. The main point of their troubleshooting section is to try to figure out if any components are broken by swapping them out for others. I don't know about you, but I don't have an extra CPU or motherboard lying around for this purpose.

I spent most of the night worrying about what the problem might be. Maybe I had seated the CPU incorrectly, or applied too much thermal paste. Maybe the CPU had been broken when I fitted the cooler; it had seemed to apply a very large amount of force when all the screws were in place. Perhaps the motherboard had a fault somewhere. My imagination had no shortage of ideas for things that could have gone wrong.

The next morning I looked around online and found a check-list that someone had written, and as it turns out this was much more helpful. So helpful in fact that I only needed to follow the first step. This step was very simple: read the motherboard manual carefully. I hadn't really considered this before because I was following a guide, but on opening the manual I discovered pretty much everything I needed to figure out what was going wrong. The motherboard had various small LEDs on it that would light up red to show if something wasn't working, and I was able to use these in conjunction with the manual to figure out that the CPU was actually fine and it was the memory that was the problem. This was surprising because I've installed RAM numerous times before and never had a problem, which is why I didn't try re-doing it the day before.

After re-seating the RAM the computer was finally able to complete its power-on self test (POST), and then it was on to easier things like installing Windows 10 and copying all my backed-up data from an external hard drive onto the new computer.

The Name

I like to name my computers, using a scheme that I came up with years ago that has actually proved quite useful since it gives me an idea of how long I've had a particular machine. My first gaming rig was DRAKE-22, so called because I was 22 years old at the time, and because it was an Alienware and I had just learned what the Drake equation was.

I already had a name picked out for the new machine. I had decided to get a white case because I wanted a change and liked how it looked, and so I was thinking of a white knight motif and calling it KNIGHT-31. However, when everything was finally put together and working, and I plugged in the wireless adaptor to the USB ports on the top of the case to start downloading updates, the right name was immediately obvious.
Thus, UNICORN-31 got its name.

Final Thoughts

In conclusion, my main piece of advice for anyone building a PC:


I know it seems like a lot of stuff you don't need to know but it's actually very helpful throughout the whole process. Not only will it explain what all the lights and indicators are on the motherboard, it will also direct you immediately to the right connector for every other component. Mine even had decent instructions on how to install most parts which would have been helpful if I had seen them before I started.

I've been using the computer for over a week now and am very pleased with the performance boost. Episode 05 of Shadow of the Colossus demonstrated just how much more powerful the CPU in UNICORN-31 is than that in DRAKE-22: the 32 minute episode rendered in about 26 minutes, a dramatic improvement from the 3 hours that the old computer took to render an episode of similar length.

I'm sure that I'll continue to tinker with things over time, but for now I'm glad to have completed my first ever PC build.

Sunday 22 May 2016

Jam Enslaver Plays...Shadow of the Colossus - Episode 05

Episode 05, the first video created using my new computer! As promised, I have a dedicated post about the building of that computer that's almost ready so look out for that soon. In the meantime, I hope you enjoy this latest episode.

Monday 16 May 2016

Jam Enslaver Plays...Shadow of the Colossus - Episode 04

Here it is: the last video produced from my old PC. It's the end of an era...

The replacement is mostly complete, I just have a couple of extra things to do with it before I finally do up the screws on the back of the case and say it's done. I'll be posting about my experience building a computer for the first time fairly soon, and hopefully the inaugural video of the new computer will be up this weekend.

Monday 9 May 2016

Jam Enslaver Plays...Shadow of the Colossus - Episode 03

After Episode 02 I was rather worried about what might happen going forward. As I mentioned in that post, the crashes on my computer seemed to be getting more frequent and I was at a loss as to what I should do, except in that I was making preparations for building a new computer.

It came as a somewhat pleasant surprise, then, that this next episode was recorded without interruption, especially as this one runs a bit longer than the previous ones have done. I'm confident that it is related to the ambient temperature at the time of recording: the warm spell that North California had been enjoying when I recorded Episode 02 had broken and the day that I recorded Episode 03 was wet and windy. The computer behaved itself and I got into a good rhythm with this episode, beginning to get into a little monologue of my thoughts on some aspects of game design that I hope to continue in future episodes.

That being said, the need for a new computer became very clear in the production of this episode, as it took over three hours to render! I'm very much looking forward to seeing how much of an improvement the new machine will bring.

The parts for the new computer will be arriving this week, and since this will be my first build I will probably wait until the weekend to put them all together. Thus I will try to record one more episode of Shadow of the Colossus on the old machine so as to have something to upload this week. It'll be the end of an era, for sure, but I'm ready for the next one!

Thursday 5 May 2016

Jam Enslaver Plays...Shadow of the Colossus Episode 02

Well, it turns out that I hadn't fixed my computer issues after all!

I still think it has something to do with heat management, and maybe it just happens that over the last few days the weather here in North California has made the area where I have my PC very hot and humid during the late afternoons/early evenings when I tend to record. Regardless, this is a pretty clear indicator that I need to get a new computer.

I'll go into more detail about how that's going in a dedicated post, but suffice to say that I've been backing up files and ordering parts from NewEgg over the last couple of days! I will probably try to get one more video recorded on my existing machine just so there isn't too much of a break between episodes.

For what it's worth, the break in recording doesn't actually seem too jarring in the video, and it's really good that I had practiced beforehand and knew exactly what to do in the event of a computer crash.

I'm very excited about the prospect of a new PC, and building a computer for the first time. More to come soon; thanks for watching!

Wednesday 27 April 2016

Jam Enslaver Plays...Shadow of the Colossus Episode 01

Hello again! I'm very excited to start my new video series in which I will be playing Team Ico's masterpiece Shadow of the Colossus. I'll be posting all the episodes here as they go live (I'm hoping to get the next one up early next week since I'm in New York right now!)

Since they will all be using a very similar recording setup I might not have much new to say about each one for this blog, but here are a couple of interesting notes about getting everything organised for a different style of video. See you next time!

Recording Setup

This was a slightly more complex recording setup than usual simply because I was going to be recording the game footage and myself talking at the same time. I wanted to avoid using multiple computers as the area I use for making my videos is pretty small; even a laptop would have to sit on the floor if I wanted to use it for recording the voice-over. I also wanted to use my headset mic rather than the Snowball. The audio quality is much better with the Snowball but when I'm recording the voice-over for my reviews I tend to hold it in my hand because the stand is quite small so the mic sits low on the desk. Whilst it picks up my voice perfectly well like that there is a lot of echo, so I hold it directly in front of my mouth. When I've got a controller in my hand and need to see the screen in front of me that doesn't really work!

Recording the video footage wasn't a problem: I have a Roxio Gamecapture HD Pro that I first used for my Beatles: Rock Band review, I just needed to get a PS3 component cable to use with it since there's no way of recording the HDMI output of the PS3 because of its always-on HDCP. The Roxio then plugged by USB into my computer to record the footage, and via HDMI into the TV so I could play the game without any input delay (see below).

This posed the question: how do I set things up so that I can hear the game audio as I'm playing? The footage being piped into the PC by the Roxio is about 1 second behind what's actually happening in the game, which is why it's good that the Roxio also delivers a pass-through feed. The monitor I was using doesn't have built-in speakers (which I wouldn't want to use anyway to avoid the sound bleeding into my headset mic) but does have a 3.5mm audio jack*. So, I could just get an extension cable and run another pair of headphones into the back of the display.

 *I actually wasn't previously aware of this jack and was very glad to discover it; I usually play PS4 games on that monitor so for audio I always plug my headset into the controller itself.

Detecting Crashes

As I mentioned in my post on my 3D Movie Maker review, my computer has been having some troubles recently. Seemingly at random it would just shut off and need a hard reset. Since it tended to happen when I was playing a game I suspected that it had something to do with overheating. I was worried that it might also happen whilst I was recording the video footage I needed, since this is a very CPU-intensive thing to do.

One of the things I was particularly worried about regarding my computer crashing was not noticing when it happened. When the computer shuts itself down in this way the screen goes black but the fans keep running (another strong indicator that this issue is heat-related). Since I would be playing the game whilst watching the pass-through video feed, I wouldn't be able to tell that the computer had crashed and stopped recording until I switched back to it when I had finished. This is especially bad for a game like Shadow of the Colossus which offers no manual save functionality: if I played past one of the points where the game saves automatically, I wouldn't be able to go back and play the same sequence again if I lost the footage!

I needed some proof-of-life indicator for the PC. Unfortunately the Roxio doesn't seem to need the computer to be on for the pass-through to work, it just needs power going to the USB port it's plugged in to. So even if the computer died, the footage I was seeing of the game would be uninterrupted. Then I thought about audio, and a way of killing two birds with one stone.

As I mentioned above, I was getting gameplay audio for myself from an audio jack on the back of the monitor. This had always seemed like an inelegant solution since it would require me to wear a second set of headphones. Luckily, I had recently discovered what the line-in port does on the back of a computer whilst playing around with ways to record footage from Android devices (some ideas brewing there, watch this space). I had often wondered what that blue jack was next to the more familiar green (audio out) and pink (mic input), but never bothered to find out. Only now do I discover that it has the amazingly useful ability to take input from any device that plays audio! And this gave me an idea...

I used the extension cable I had been expecting to run from the monitor to a set of headphones and used it to run the audio output back into the computer. Then it was just a case of turning on the listen function for the audio input and I was able to hear the non-delayed game audio through the same headset I was using to record my voice as I played the game! Not only that, but if the computer died the line-in audio would go silent and I would immediately know that something had gone wrong.

Recovering from Crashes

To test this new crash-detection system I decided to do a practice run playing Uncharted, which I've been playing in my own time in anticipation of Uncharted 4 coming out this year. I didn't have to wait long; seven minutes into playing the game the audio went dead and I switched the input on the monitor to find that the PC had crashed.

Now I had a new problem: if the computer is going to crash sometimes whilst I'm playing, can I recover the footage and voice-over that was recording at the time? The gameplay footage recorded by the Roxio seemed to be fine, (not even the zero-length issue I had seen with Hypercam), except that it was an M2TS file which Sony Movie Maker doesn't support properly (for some reason it doesn't pick up the audio). Once again the solution was to re-render the file as an MP4, which is actually what Roxio does anyway when you finish recording properly.

A bigger issue was the voice-recording, which I always do using Audacity. I had hoped that I would be able to just re-open the application and it would do some kind of automatic recovery, which it tried to do before showing an error message. This had me very worried because I've seen Tweets from podcaster Travis McElroy complaining about having to reconstruct Audacity projects from hundreds of 6 second clips. I found the clips in question, buried in a temporary folder, and even found some instructions online for the best way of putting them back together by hand. Unfortunately, after doing this for a few minutes, I realised that the audio clips weren't in any sort of order in the folder, and short of listening to every single clip and trying to figure out where it belonged in the timeline, there was no way I was going to be able to reconstruct the entire file by hand.
Then I decided to do what I should have done to start with: find out if there was anything to do about the error message that Audacity had shown when it had tried to automatically reconstruct the file. It turns out this would have saved me a lot of time and worry, as the problem was pretty easy to solve. It turns out that if Audacity quits unexpectedly, it can sometimes print a line of garbage characters at the end of the automatic save file which keeps track of where all the audio clips belong. All I had to do was open the save file in a text editor and remove the broken characters. Hey presto, the audio recording was back!

Keeping Things Cool

Of course, the ideal situation would be if my computer didn't crash at all! Whilst it was annoying during the production of my 3D Movie Maker review it wasn't insurmountable; the nature of my reviews calls for short clips of the games I play, so if the recording happens to unexpectedly stop it doesn't matter as long as the file is still usable. However for a Let's Play where I need to record 30+ minutes of unbroken footage, it's a different matter! 

I knew that I would always be able to recover the recordings so I could just edit the clips together if I needed to, but if my maximum recording time was seven minutes I would have multiple breaks in each video and it wouldn't always be possible to disguise the transition. So I decided to try and find a way of actually fixing the problem, or at the very least figuring out a way of extending the recording time to something more like 30 minutes so I could rely on having at most one transition for a typical video.

My research online seemed to suggest that focusing on cooling was the right way to go, so I downloaded an application called HWInfo to check the temperatures of my CPU cores whilst doing different things (idling, running Roxio and Audacity simultaneously etc). From what I could tell they didn't seem to be particularly high (around 40 - 56°C depending on the load). I tried running the logger whilst I recorded Uncharted and was able to get the PC to crash again, but the results on the logger didn't seem abnormal, although I wasn't able to work out how close to the crash the logged data actually went. The only useful information I gleaned was that all four CPU cores were working at 100% during the recording.

Based on what I had read online I decided to poke around a bit in the BIOS of my computer to see if I could find any temperature settings. After a little digging I discovered some controls for regulating temperature, specifically controlling two schemas called TM1 and TM2 which reduce the amount of work the CPU does to prevent overheating. Both of these were turned off, presumably because when the computer was new it was bought from Alienware and they had dealt with heat management by having multiple different fans in the case rather than sacrificing performance. Turning TM1 and TM2 on seemed to help a bit and I was able to get a recording time closer to 15 minutes, but it still wasn't enough!

Next I paid attention to what exactly was causing the CPU to spike. Something strange I noticed is that Roxio caused all four CPUs to run at 100% for about 30 seconds when it first opened, and that the CPU usage actually dropped for a few seconds when I started recording. Then I noticed that if I had the Roxio window minimised CPU usage dropped to about 95%, presumably because the computer wasn't having to render the preview window. A small difference, but one that could potentially offset factors like running Audacity at the same time.

Since all my readings were showing temperatures in the mid 50s, I decided that maybe I should adjust the way the fans worked on my computer. When I first went into the BIOS I noticed that they were set up to reach full power when the temperature hit 65°C. Perhaps my aging CPU couldn't deal with that kind of temperature any more and should be allowed to spin up the fans to full power at a lower temperature? Working under the hypothesis that sustaining a temperature of 55°C for long periods was what was causing the trouble, I modified the fan settings to spin up to full power at 50°C and started recording again.

That seemed to do it. I was able to play through the remainder of Uncharted (about 45 minutes) without another crash. At some point I might take a look inside the computer to see if there's anything obviously wrong, but for now this fix seems to work.

Thursday 21 April 2016

Jam Enslaver Reviews...Microsoft 3D Movie Maker

I hope everyone enjoys my latest review. It took quite a lot of work to get it completed, so as promised here are some of the things I had to deal with during production for those who are interested. See you next time!

Recording in a VM

For most of my videos, the idea for which game I should review starts with the question "What can I record footage of?" and goes from there. This was not the case with 3D Movie Maker!

I got the idea to make a review of it whilst I was finishing my review of Body Harvest. There comes a point in each project, when I've finished playing the game and recording footage, and when the voiceover is in the can, where I finally have to start pulling all the pieces together into the final video. It's a daunting prospect, similar to what a writer faces when they have a blank page in front of them, and there'a always a part of my brain that wants to procrastinate by thinking of what my next video should be about.

I'm not sure what made me think of 3D Movie Maker as a potential next project, but I really liked the idea of using it as a way to talk about my growth as a creator of videos so I was determined to find a way of making it work. Unfortunately, the game doesn't seem to be compatible with Windows 10 so I had to find a work-around. Luckily I happened to already have a copy of Windows XP installed on my computer using VMWare (which is, surprisingly, free for personal use). The game ran in a window but otherwise was perfectly playable once I had fixed a strange issue that caused my mouse to unexpectedly zoom off the edge of the screen at random intervals (it turned out I had the mouse input mapped twice, so each movement was doubled).

With a working copy of the game, the next question was how to record footage. In past PC game reviews I've used FRAPS, but I didn't have high hopes for that working since it's very flakey and doesn't even seem to work for games that run in fullscreen, let alone one playing inside a window inside a VM!* It didn't take long to confirm my fears: As I suspected, FRAPS does not work with VMWare.

Forced to find an alternative, I stumbled upon a forum thread where someone recommended Hypercam. I've looked online for better alternatives to FRAPS before and have always been disappointed. Most screen recorders seem to be designed for video tutorials of productivity software, so they tend to only record at very low frame-rates and never record system sound. So I was amazed to discover that Hypercam did exactly what I needed: allowing me to record the exact part of the screen I wanted at a smooth frame rate and choose which audio inputs were used. This one tool has suddenly opened up a world of possibilities for things I can do in the future, including revisiting that Riven idea!

* People who recall my video series playing Myst might be interested to know that I was hoping to follow up with a series in which I played Riven: The Sequel to Myst, but because I just couldn't get FRAPS to work with it I abandoned that idea.

Computer Issues and Corrupted Files

Not everything went smoothly with my recording setup, though. My trusty Alienware PC is now getting on for 9 years old and has developed a rather alarming trait where it will randomly show a black screen and stop working, which happened numerous times whilst I was recording footage. Luckily all the files were intact despite having to hard reset the machine, but when I came to edit them I discovered that not all was well. I'm guessing that when one clicks the Stop Recording button in Hypercam it does some work to 'finalise' the video file, including things like writing the length of the video into the file. Because the computer was turned off without this final step being completed, the videos were showing up as having a length of zero seconds.

Initially this didn't seem to matter. If I opened them in a video player they would work fine, but if I tried to skip ahead it would be extremely slow. I'm guessing this is because without time information to work with, the computer would have to scan through each frame from the beginning of the video to find the one you had selected. Since editing videos requires constant skipping around inside video clips, this was a problem. The solution was to re-render each of the corrupted videos, (rendering goes frame-by-frame anyway so wasn't affected by the missing data) which took an extra couple of hours but meant that I didn't have to go back and re-record any of the footage.

Finishing the Movie

This was the first time I've been blocked on a video project for creative reasons. From the beginning I wanted to make a complete movie in 3D Movie Maker as part of the review process, and then to publish it to YouTube to accompany the review as a demonstration of what the game can do. The problem is that I'm not much of a story-teller, and I spent ages trying to figure out how the story of the bank robbery should end.

Originally the two police officers were going to follow a trail of clues through a number different scenes, eventually ending up at the villain's hideout for a final showdown. I couldn't figure out what even one of those accidentally left behind clues should be, before hitting on the idea that perhaps they were left on purpose. So I started imagining that the police were lured to a location by a treasure map for some nefarious purpose. Then I couldn't think of why a bank robber would do that, until the idea of a surprise birthday party hit me as the perfectly ridiculous way to end the story.

Late Script Changes

Speaking of changing the story, I actually ended up modifying the script for the review whilst I was in the editing phase, several weeks after I had recorded my voiceover. Originally the script talked about my surprise that Movie Maker's McZee is voiced by the same person who plays Barney in the Half Life series, and I had planned on finding the scene in Half Life 2 where he first reveals himself to the player to put alongside the footage of McZee speaking.

I knew that the same actor played the G-Man, but Barney is one of my favourite characters so it seemed like the obvious choice. However, when I started playing Half Life 2 to record the footage I was immediately struck by the iconic, incredibly creepy monologue that the G-Man gives at the very start of the game, which I had somehow completely forgotten about. The juxtaposition between the two performances seemed too good to ignore, so I changed the script to mention the G-Man instead of Barney.

I usually avoid doing this for the simple reason that a re-recorded line of dialogue tends to sound different from the rest of the voiceover and can be very jarring for the viewer. Your voice can sound different on different days, and when I used to record using a headset mic the audio would vary wildly if I didn't get the positioning exactly the same between the two recordings. Luckily my new Blue Snowball mic didn't seem to have this problem, and the updated line slotted into the rest of the recording seamlessly.

The change ended up working really well as it allowed me to do something even more interesting in contrasting the two characters together in the video!

What's Next?

As I mentioned at the top of this post, I'm always thinking of what comes next for my videos. I've been tinkering with my recording setup for the last couple of days and am now able to record footage for my next project. I'm looking forward to making this one because it's going to be a little departure from what I've been doing recently: a new installment of Jam Enslaver Plays...

Look for it soon on my YouTube channel!