What happened to No Man’s Sky?

Like a lot of people I had been looking forward to No Man’s Sky for some time. However I didn’t preorder it, and when it was announced that it would not be a multiplayer game I decided it wasn’t for me.

During the week of launch a friend of mine bought it. Having seen the opening of the game and then reading some articles online my wife thought it sounded like something she’d enjoy, something akin to minecraft in space. So I bought it for her as an anniversary gift (‘cos I’m romantic like that) and she’s been playing it on and off for the last week.

Now I will stress that besides a quick ten minute stint of a bit of mining and a bit of flying I have not played the game. I have however been excitedly following the progress of the game since E3 2015 and I’ve also seen my wife playing the game (a lot) for the past week. As far as I can tell the game whose progress I had been following and the game that she’s playing seem to only share graphics.

While the procedurally generated planets do have some variety, it seems the variety is largely in the things you don’t need to interact with. The main resources that you are required to mine seem to take on a fairly similar, if not exactly the same, appearance on all the worlds she’s visited. The fauna and flora beyond that all seem to only yield carbon and there seems to be no reason to interact with any of it, other than the financial reward for discovering new species.

The planets, at least the ones I’ve seen her play through seem quite sparse and very repetitive. Every building that she’s come across appears to be exactly the same as the last. Sometimes it has one of aliens in it with the choose your own adventure question, sometimes it’s a computer asking you to figure out the next number in a sequence and sometimes they’re devoid of life. The buildings themselves though seem to be exactly the same on every planet, in every galaxy that she’s visited.

One of the standout features was the ability to seamlessly leave a planet and travel through space and that works as previously demoed, but it seems vastly watered down from the experience I had been looking forward to. So far I’ve not seen a single space battle, and whilst there are other ships out there you don’t seem to be able to interact with them. The huge space stations are all identical and consist of just two rooms and a hangar with one alien at a desk and some other random aliens flying in and out. The sum total of interaction with other characters seems to consist of picking the right answer, buying resources, selling resources or buying their ship.

It just feels so unfinished. Part of me wondered in a game world universe so large perhaps she just hasn’t come across any of these events yet. So I read some reviews online to see what other people thought.

With an average score of just 65% – ignoring Eurogamer, who also published a video called “Where did No Man’s Sky go wrong?” despite recommending it – it seems I’m not alone in my criticism. The core mechanic of the game is mining resources to power and upgrade your suit, mining tool and ship. As a passive viewer it feels that the game’s unfathomably huge, open universe becomes merely a backdrop to a fundamentally tedious activity. One that ultimately has no reward except to make the tedious activity a bit quicker.

Once you start earning upgrades for your equipment, tasks like mining start feeling less like a tedious chore. There’s no worse modern game design convention than “this task sucks until you upgrade to make it suck less”, and that’s a convention No Man’s Sky is oddly invested in, sadly. — Alex Navarro (Giant Bomb)

It really feels like Hello Games invested all of their energies and innovation into building a vast game world and somewhere along the line forgot to actually add the game to it. I’m left feeling quite conflicted; part of me appreciates the enormity of what they have achieved. Creating this huge open-universe game where you can transition between the planet you’re on and the planet or moon that you’re looking up at without a loading screen is genuinely impressive.

However they must know that this is not the game that they had previously demoed. They must know that some people will have preordered it and will now be massively disappointed with what they have received. I hope that with the influx of cash they have surely received since launch that they can continue to patch the game. That they can add the factions, the meaningfully different ships, the space battles, maybe even some missions and I hope that one day they can make a multiplayer version of the game that they demoed, because after all that is the game that people were excited about.


No Man's Sky Refund
This is probably not what you want to see as the top search suggestion a week after release…

Building a PC for Blender

I’ve been playing with blender for a while now and I’ve reached the point where my laptop is just not up to the job. I have increasingly found that I abandon projects as adjusting materials and lighting requires hour long renders to see the difference. Having considered all the options;

  • Buying a newer Mac
    This doesn’t really make sense as it may not actually be an improvement as Apple tend to use AMD graphics cards and Blender seems to work best with NVIDIA cards.
  • Buying a secondhand Mac Pro and upgrading the graphics card(s)
    Having spent some time researching this route there doesn’t seem to be much useful information available. It seems that the graphics cards might need flashing to make Mac OS recognise them and the risks involved were too large. Plus the cost of a recent, pre-dustbin, Mac Pro and a good graphics card was equivalent to building a new PC from scratch.
  • Building a Hackintosh
    There’s tons of information out there for people that want to go down this route. I had a very cheap netbook running Mac OS X a few years back and it mostly worked fine but there were enough issues that made me not want to rely on it.

ComponentsI decided that I would bite the bullet and build a Windows PC. Despite the fact that I haven’t used Windows regularly for nearly twenty years and I’ve never built a PC before. So after about six months of research I placed my order and the next day many, many boxes arrived.

The full list of components is on PC Part Picker but essentially the build consists of a water-cooled Intel i7 3.3Ghz 6-core processor, 32Gb of RAM, an NVIDIA GTX 980ti, two 240GB SSDs and two 3TB HDDs.

What do I do with all of these things?

With all of the parts in hand and an entire day to myself I set about trying to put the machine together. I’ve watched countless hours of LinusTechTipsJayzTwoCents and the Awesomesauce Network over the last few months, I thought I was ready.

It turns out that building a PC is a lot more fiddly than the professionals above make it look. I intentionally bought a case that has a reputation for being easy to build in and I’m glad that I did. The instruction book that comes with the case walks you through what to install, how and in what order. Nearly every component I ordered came with a fairly hefty manual or installation guide.

Despite all of the instructions I still hit a few snags. I didn’t connect a cable to the 8-pin power connector at the top of the motherboard before installing the H110i’s radiator. This meant some very careful manoeuvring to get it out without having to disconnect everything.

I also didn’t appear to have a 4-pin cable for my power supply. On my motherboard there’s a 4, 8 and 24-pin socket for power cables. The manual makes it very clear that you must connect all of them for it to operate correctly. I looked around online and it seems that I was not alone in my confusion, plenty of other people could also not find their 4-pin cable. Apparently the 4-pin socket is optional and is only necessary for people that want to increase the voltage to their CPU for hardcore overclocking. So I didn’t connect one and the PC seems to be working fine.

I found cable management more difficult than I expected too. I chose to go all out and had some white, individually sleeved CableMod PSU cables to compliment the build. They look nice enough but I found trying to get them to look neat pretty challenging. Ordering some cable combs and a bit of fiddling seem to have solved that issue now though. Cable management in the back of the case was also a little hairy. I had planned on making it a work of art back there but after fighting with spaghetti for half an hour I decided it was neat enough and the side panel fitted without too much resistance so I called it a day.

Building the PC took me all day in the end, including clearing up all the packaging, manuals, screws, and other ephemera. I’m sure if I were to build another machine it would take a lot less time and I’d be aware of the potential pitfalls along the way. Considering how it turned out I’d say it was a pretty good days work.

Even the fans are black and white
Yes it has a window, yes it has lights
Yes it has a window, yes it has lights, try not to judge me…

 Bringing it to life

I’m not going to lie, I was pretty sure that it wouldn’t boot first time but surprisingly it started up fine. I inserted my Windows 10 flash drive and happily clicked through the install. It went without a hitch and pretty soon I was greeted by a Windows desktop. As the machine has no optical drives I plugged in an Ethernet cable and was pleasantly surprised to see that it automatically connected with no issues.

I got to work installing drivers for the motherboard, the graphics card, the cooler, everything went fairly smoothly. Until I rebooted. On booting up the machine asked for the password I had set a few minutes ago. I entered it and it resolutely refused to accept it. I know the password that I entered was correct but Windows refused. I tried the reset password option and Windows helpfully asked me to insert the CD I didn’t have. So I booted back to the installer, formatted all the disks and went through the whole process again. Fun times.

I read/watched a bunch of tutorials on oveclocking and eventually managed to get the CPU stable running at 4.3Ghz and the graphics card also saw a modest increase that got an additional ten fps in the Heaven 4.0 benchmark. I definitely don’t know enough about it to explain it to anyone else though so lets move on to the big question…

Will it blend?

Mikes BMW benchmark

On my laptop the BMW benchmark scene above takes over half an hour to render. On the new PC with an overclocked CPU and GPU the same thing renders on the GPU in 30.29 seconds! Even on the CPU it only takes one minute and twenty seconds!

I am so happy with how it all turned out the machine runs brilliantly, blender works superbly and it’s still pretty quiet. Hopefully I’ll be sharing some new work soon.

Rendering Minecraft in Blender

I’ve been having an on and off love affair with Blender for three years now. While it’s true that the interface is bordering on user-hostile once you begin to understand the Blender way of doing things it is an incredibly capable piece of software.

Recently I stumbled upon Mineways, a free, open-source program which allows you to export sections of your Minecraft worlds for rendering or 3D printing. Being quite a fan of Minecraft (my wife and I had our Minecraft avatars on our wedding cake) I thought I’d have a play with it and see what I could make.

I did it Mineways

The Mineways program itself is incredibly easy to use. Open up a world file, chose the maximum height and depth you would like in the final scene, ctrl-click (right-click) and drag over the section you would like to export and then export an OBJ file for rendering.

Mineways

Once Mineways has finished exporting you’ll be left with several files:

  • An OBJ file which we’ll open in Blender
  • An MTL file which specifies the materials for the model
  • Three PNGs of Minecraft textures in RGB, RGBA and Alpha versions

It’s probably good housekeeping to put all of those files into a folder to keep everything organised and then we’re ready to get into Blender.

Will it blend?

So first up you’ll need to download and install Blender (the current version is 2.74 at the time of writing). Next if you are completely unfamiliar with the software I would recommend you go and make a mug to get up to speed with navigating the interface. You may also find that using a mouse makes it easier to navigate although it is possible with a multitouch trackpad (which is how I use it).

Now that you have Blender installed and you know your way around it a little lets get started. Create a new file in Blender, you should have a scene with a cube in the middle of it. Right click on the cube to select it, press “x” on the keyboard and click on the delete option that appears under your cursor. This should leave you with an empty scene ready to import your model. To import the OBJ file select File > Import > Wavefront (.obj) and then navigate to the OBJ file created by Mineways.

You should now see your model in all it’s greyish beauty. To see a textured preview change the viewport shading mode to texture by pressing “alt+z” (option+z), to switch back press “z” to go to Wireframe mode and “z” again to get back to Solid mode.

Blender Viewport Shading Modes

Now to see how it renders we need to set up at least one light and one camera. Fortunately the default Blender scene contains a camera and a sun lamp so you should be nearly ready to go. Adjust your view by rotating, panning and zooming until you have a good view of the model. Then from the View menu at the bottom left of the panel you’re working in select View > Align View > Align Active Camera to View.

Now we’re ready for our first render. Select the camera icon from the panel on the right to access the render settings. Set your resolution in the panel and then press the Render button. The output may look a little like this.

Blender internal renderer

My render came out particularly strangely as the world file I was working from came from a modded version of minecraft (ATlauncher). Mineways is only designed for “vanilla” (non-modified) minecraft worlds so it converts blocks it doesn’t recognise into bedrock. In this case it also got confused by the variety of trees available and made some trunks out of coal ore and some leaf blocks into wood blocks.

It’s fair to say that I was a little disappointed with this render but worry not things will get better. Blender has two built in renderers – the code that computes how the final image should look. Currently we are using Blender Render which is the original renderer for Blender and our other option is to use Cycles. The differences between them are many but essentially it boils down to Cycles being based on the physical world and therefore generally creating more realistic looking renders.

A new Cycle

There are definitely things we could do to improve the output in Blender Render but I’m going to suggest we jump ship to Cycles and get this render looking nice and smooth. Unfortunately however you can’t just switch to Cycles and carry on rendering. You have to recreate all the textures in your scene using nodes.

For most objects you just need to create a diffuse shader that uses an image texture as an input for the colour and then assign filename-RGBA.png as the texture. You can either do this in the materials tab on the right or in the node editor.

minecraft-diffuse-texture-nodes-cycles

For objects that have transparency (leaves, flowers, grass, etc.) you’ll need to add a mix shader between the diffuse shader and the material output. Then you’ll need to connect a transparent shader to the first shader input of the mix shader and control its factor with filename-alpha.png.

minecraft-texture-nodes-cycles

Having made those changes you should get something like this.

Full colour Minecraft render

It takes a while to get all the materials set up and the render can take a long time (this image took about seven hours with a thousand samples) but the results speak for themselves.

If you want to increase the “realism” you can experiment with lighting and add emission shaders to textures that should be light sources. In the image below the environment is set to black, the lava is a mix of diffuse and emission shaders and there is a dim moonlight from above.

Lava Emission Shader in Cycles

Switching to cycles won’t solve any issues with incorrect or missing textures though, so for now it’s probably best to stick to vanilla minecraft worlds. I’d really like to make some nice renders of the particle accelerators and nuclear power stations that my friends and I have built in the previous games so it may become the subject of a future post.

Beyond Minecraft

If you want to experiment further you can make your own textures and assign them to whichever objects you like. I tried another version using a mix shader that combined diffuse and glossy shaders to produce a material similar to a hard plastic.

Hard white plastic cycles nodes

I then added a plane beneath the minecraft model, scaled it so it expanded beyond the view of the camera and assigned the same texture to it. I also used a plane out of shot to the right with an emission shader to simulate the light of a soft box. The result is the bright and clean renders below.

minecraft-white-render

Close up of Mix shader in Cycles

A quick bonus

The day after I posted this I found a YouTube video that explains how to render minecraft items in Blender. It’s really quick and easy to follow, best of all you can use it with cycles by creating a diffuse shader with the colour input set to the image.

Minecraft Iron Sword

Peeking behind the curtain

Recently I’ve begun experimenting with things I would have thought impossible a few years ago. The python script I wrote last week and the data scraping project that I’ve yet to write about have both made me realise that none of this stuff is witchcraft. With my hosting renewal coming up I started wondering about moving from shared hosting to a VPS.

For the last decade my personal sites and email accounts have been hosted with the same shared hosting company. They have always provided me with excellent service for a reasonable price and I’ve always been happy to recommend them to my clients. Now that my requirements have reduced a little and I’ve been seeing VPS offered for a fraction of the cost I thought it worth investigating.

It’s probably worth noting that none of my sites are high traffic or high importance. They consist of this blog and its predecessor, a domain I bought for my wedding, a development server and my mostly dormant company site. I’m not sure that I’d be confident deploying a client’s site on a VPS yet but for my needs it works just fine.

New adventures in hosting

For my first foray into configuring my own hosting I chose to go with Digital Ocean’s $10 VPS. I had some teething troubles with their one-click WordPress installer so I decided to roll my own by following their excellent documentation.

All of that got this site up and running and allowed me to use WordPress’ auto update feature. The only thing left to do was to get a mail server set up. I decided to take the easy option and went with Zoho. All you have to do is create a CNAME record for the domain to prove to Zoho that you own it and then you need to set two MX records and it’s good to go.

The whole kit and caboodle

Having been encouraged by getting this blog working I span up another droplet and went through the first three tutorials again to get a LAMP stack up and running. This time I remembered to create a snapshot of it so in future I can just create a droplet with my preferences in one click.

Once it was up and running I looked at the content I needed to migrate:

  • Company site: A few php files
  • Old blog: A WordPress site
  • Development server: Several sites, mostly php but a few also require MySQL databases
  • Wedding site: A holding page

I guessed that it would be possible to host all of these on one droplet, as they’re all fairly low traffic sites. I looked into setting up virtual hosts in apache and was relieved to find that again Digital Ocean’s documentation didn’t let me down.

I had decided that there was no point continuing with the old blog as I hadn’t posted in it for over a year. However I wanted to be a good net citizen and not break any old inbound links. So I decided to import the content of the old blog here and set up a redirect for old links. To redirect all requests from one domain to another all you need is these two lines in the .htaccess file on the old domain.

RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

Having set up four virtual hosts, transferred all of the required files, set up my .htaccess file and pointed my name servers at Digital Ocean my hosting was done. Setting up Zoho for each domain was a little laborious but as they provide free mail servers I’m not about to complain.

Was it worth it?

Compared to standard shared hosting you’ll have a lot more passwords to keep track of, you’ll spend most of your time in terminal rather than a web based control panel and you are your own tech support. It’s definitely not for everyone and your mileage may vary but I learnt a lot from the process and have cut my hosting bill by about 66%.

Over-engineering #firstworldproblems

I have finally backed a kickstarter campaign for the first time. It’s a 3D printer called Tiko and I’m really excited about receiving it. So excited in fact that I would really like to get it earlier than the February ETA I originally pledged for.

Some of the early backers have been concerned about the lack of updates, photos and videos from the Tiko team and have been cancelling their pledges. This has opened spaces in the pledges with earlier estimated shipping dates. The other day I was fortunate that I refreshed the page at just the right moment and managed to change my pledge to one with a January shipment. That got me wondering if I could come up with something that would alert me when the slots opened up.

It turns out I was not alone in my thinking as there is a project on github that automates the whole process, including managing your pledge. The author notes that it is somewhat dubious and probably goes against kickstarter’s T’s & C’s. So I decided that I’d have a go at rolling my own version that would just alert me.

Everything I read said that for scraping Python was the way to go. Having never written a line of python I thought it would be an interesting project to play with a new language. I quickly found BeautifulSoup and after a few visits to a number of tutorials I had a script that would output the info I wanted to the command line.

Automating and alerting

This first script would have been fine if I was always sat at my laptop but ultimately isn’t anymore useful than hitting cmd-r on the kickstarter page itself. So I needed a way for the script to alert me. I remembered playing with PushOver a while back to get alerts from my minecraft server. I created an account with them and set up an application, looked at their python documentation, installed the iOS app on my phone and that was that.

All that was left was to automate running the script. I’ve heard of cron jobs but had never needed to create one until now. A quick google lead me to a simple tutorial and I was up and running.

Putting it all together

The cron job triggers the script, the script scrapes for all of the reward info from the kickstarter page. If there is a reward with a ship date in November and there are currently less than the maximum number of backers it triggers a PushOver notification. My phone then receives the notification and pushes it to my pebble.

Within five hours of launching the cron job my pebble buzzed to tell me the November slot was available and after some over-excited mashing of the keyboard I secured the slot.

Win!

The script itself

As I mentioned earlier I have never written a line of python before this project. The code below works but it definitely could be refactored and improved (try not to judge me).

import requests
from bs4 import BeautifulSoup
import httplib, urllib

url = "https://www.kickstarter.com/projects/tiko3d/tiko-the-unibody-3d-printer/description"
r = requests.get(url)

soup = BeautifulSoup(r.content)

rewards = soup.find_all("li", {"class": "NS-projects-reward"})

print "nn"

for reward in rewards:
    rewardCost = str(reward.find("h5").find("span").text)
    shipDate = str(reward.find("time").text)
    numBackers = str(reward.find("span", "num-backers").text)
    x = int(numBackers.replace(" backers", "").replace(",", ""))

    # backersClean = backers.rstrip()
    if shipDate == "Nov 2015" and rewardCost == "$179 USD":
      if x < 2500:
        conn = httplib.HTTPSConnection("api.pushover.net:443")
        conn.request("POST", "/1/messages.json",
          urllib.urlencode({
            "token": "[TOKEN]",
            "user": "[USER]",
            "message": "$179 reward now available",
            "device": "iphone",
          }), { "Content-type": "application/x-www-form-urlencoded" })
        conn.getresponse()
    if shipDate == "Nov 2015" and rewardCost == "$139 USD":
      if x < 400:
        conn = httplib.HTTPSConnection("api.pushover.net:443")
        conn.request("POST", "/1/messages.json",
          urllib.urlencode({
            "token": "[TOKEN]",
            "user": "[USER]",
            "message": "$139 reward now available",
            "device": "iphone",
          }), { "Content-type": "application/x-www-form-urlencoded" })
        conn.getresponse()
    if shipDate == "Nov 2015" and rewardCost == "$99 USD":
      if x < 100:
        conn = httplib.HTTPSConnection("api.pushover.net:443")
        conn.request("POST", "/1/messages.json",
          urllib.urlencode({
            "token": "[TOKEN]",
            "user": "[USER]",
            "message": "$99 reward now available",
            "device": "iphone",
          }), { "Content-type": "application/x-www-form-urlencoded" })
        conn.getresponse()

What’s my motivation?

Why am I writing?

I wanted a new project, I have an interest in the web and I wanted to improve my writing. I had been thinking about learning a new programming language for a while and it occured to me that perhaps I could do that and write about it as I went along.

I mentioned the idea to one of the Ruby developers at work. I was fairly sure that as I’m a newb I would have nothing useful or interesting to say. His response inspired me to write everything on this site. He said, “There is always someone that started learning a week after you”.

So I plan to spend 2015 learning Ruby and blogging about my experiences. I aim to write at least one post a fortnight but I hope to exceed that. I will post my code to a public github as I go along for others to play with, advise on, improve or maybe even use.

What have I done?

I have been making websites since I was about thirteen. I started playing around writing HTML in Notepad on the family computer back in the mid-ninties. I received an original iMac in exchange for my first “paid” website about three years later and started taking it a little more seriously from then on.

I have worked as a freelancer on web and graphic design projects on and off around day jobs since then. I have a design company called Image Circus and still take on occasional projects when time allows.

Primarily I have built sites on top of WordPress, Drupal and Concrete5. The projects mainly involved a lot of front-end design and leaving the CMS to do the heavy lifting.

Last year I decided to roll up my sleeves and learn PHP. After about eighteen months I got to a place where I felt quite comfortable with the basics and confident that I could find my way through the things I didn’t know as they arose. I built an eCommerce site, a gallery for my wedding photos and a tool to generate avatars from minecraft usernames.

I learned from Treehouse, a couple of books and a lot of googling. Handily my brother is a senior developer and despite living across the pond he gave me plenty of advice and suggestions to improve my code. I am also priviledged to work with an amazingly talented bunch of designers and developers. All of whom have helped me out with various questions along the way.

Who am I?

“He’s just zis guy, you know?” Gag Halfrunt

I’m a recent immigrant to the capital from the wilds of Kent. I work in a non-technical role for an awesome public sector web agency near the hallowed roundabout. I get to meet all sorts of interesting people that I had never expected to work with and I get to have meetings in some of the most awesome buildings in London. Most importantly I believe that the work we do makes a difference and it feels good to be involved in improving the public sector for everyone.

In my spare time I like to tinker with code and occasionally electronics. I’m interested in multirotors and the potential applications of aerial platforms. I also love video games but rarely find time to play them.

I’m married and live with my wife and our two cats in North London.

Cheap HTPC Remote

Note: This post was originally published on iamianwright.com it’s been moved here for archival purposes.

For a few years now I’ve run a Mac Mini as my main source of media. Originally I just used it as a server and had a jailbroken Apple TV running Plex for the front end. Recently I’ve found that I watch a lot more content online and it’s more convenient just to connect the Mac Mini directly to the TV although this raises the issue of controlling it.  Screen Sharing does a good job but for convenience I wanted a dedicated remote.  Apple’s wireless keyboards and trackpad are insanely expensive so I turned to the web for a cheap HTPC remote.  DX.com had me covered, always a bastion for cheap chinese electronics they have a veritable smorgasbord of bluetooth keyboards and trackpads available.

I opted for the succinctly named “Genuine Rii Mini I8 Wireless 92-Key QWERTY Keyboard Mouse Touchpad with USB Receiver – Black”, for under £20 it was worth a try.  It was delayed in delivery due to some other items in my basket being on backorder but after a few weeks it arrived.  It comes packaged in a fairly generic box with some poorly translated english instructions and a USB to Mini USB cable.

Cheap HTPC Remote Keyboard Views

Construction and Design

The build quality was considerably higher than I expected, no flimsy plastics, squeaks or creaks. The plastic has a smooth finish, feels slightly rubberised and fits well in your hands. It’s about the size of an Xbox 360 controller but much thinner. The back of the device has a panel that slides off to reveal a lithium ion battery and the USB dongle.  The top edge of the device has a simple on/off slide switch and a mini USB port for recharging.

The lower two thirds have a fairly standard keyboard layout and the upper third has a trackpad flanked by some function buttons and two circular pads with media and navigation controls.

Functionality

Retrieve the USB dongle from the back of the device, plug it into the Mac, switch on the device and it’s ready to use. The trackpad is responsive and easy to use. The layout of some of the buttons is a little questionable but you get used to it quickly. Typing on the keyboard is okay although I’ve noticed several missed key presses. It’s not a deal breaker as I only need to type in the odd searches now and then. The “Win” key maps to the Command key on the Mac and shortcuts work reliably. The navigation buttons on the top right work in Plex and Safari and the media buttons at the top left trigger iTunes.

Conclusion

Overall I’m very impressed with the device and I have found that I rarely use Screen Sharing any more. The Mac Mini is running a Minecraft Server, the Plex Media Server, my main iTunes library and a few other services.  All of these can easily be administrated with this wireless keyboard. For under £20 I think you’d be hard pressed to find a better remote. As I mentioned at the top of this post DX stock a huge array of these devices and I imagine that they probably all have the same electronics inside so you can pick based mainly on aesthetics and layout.

Tekkit Classic with Minecraft 1.6.2

Note: This post was originally published on iamianwright.com it’s been moved here for archival purposes.

Following on from my previous post I wanted to write a little more about the issues I found trying to get all of the Tekkit Classic mods working with Minecraft 1.6.2.

Having discussed everyone’s requirements, my friends and I agreed that we wanted all the features of Tekkit Classic with the additions of Stargate, Twilight Forest, Archimedes Ships, Useful Foods, Treecapitator and a few others. I read a lot of guides and figured out how to set up a custom Forge server for Minecraft 1.6.2.

Now we can install any mods we want but there are some caveats. Firstly not all mods work with Minecraft 1.6.2 and secondly not all mods work with each other. This is where we hit the first problem, Tekkit Classic is built on Minecraft 1.2.5 so all of the mods that come with it are designed for that. Some of them have been updated to 1.6.2 but unfortunately not all.

Mod Name 1.6.2 Download
Balkon’s Weapon Mod Yes Here
BuildCraft Yes Here
BuildCraft Additional Pipes No
ccSensors No  
ComputerCraft Yes Here
IC2 Charging Bench Yes Here
Dimensional Anchors Yes Here
Equivalent Exchange 2 No
Ender Storage Yes Here
Industrial Craft 2 Yes Here
IC2 Advanced Machines Yes Here
IC2 Compact Solars Yes Here
IC2 Nuclear Control Yes Here
Immibis Core Yes Here
Inventory Tweaks Yes Here
Iron Chests Yes Here
MAtmos Yes Here
Modular Force Field System Yes Here
Not Enough Items Yes Here
Nether Ores No  
Power Converters Yes Here
Railcraft Yes Here
Red Power No  
Rei’s Minimap Yes Here
Tube Stuff Yes Here
Wireless Redstone WR-CBE Yes Here

Of the modules missing the Additional Pipes for Buildcraft and the Sensors for ComputerCraft were no big deal as I don’t think any of us have ever used them.  Equivalent Exchange 2 not being available is a bigger problem as one of my friends is very keen on that mod.  EE3 is available for 1.6.2 but it is arguably not as good (or perhaps it’s just more balanced). Nether Ores are no big loss either as none of us really mine in the nether.

Red Power is an issue though as it includes so many features. There are some modders working on creating similar mods for 1.6.2, Immibis has RedLogic and I came across a few others.

Unfortunately I was unable to get RedLogic or Equivalent Exchange 3 to install with the other mods on my server.  I’m hoping there will be some updates that may resolve that in the near future as they make up a large chunk of the features of Tekkit Classic.

This is my final set of mods, including what I could from Tekkit Classic and the additional ones that we wanted.

  • Advanced Repulsion Systems 56.0.0
  • Advanced Machines 56.0.0
  • Arhimede’s Ships 1.6.2
  • BuildCraft 4.0.2
  • ChickenChunks 1.3.3.2
  • CodeChickenCore 0.9.0.5
  • ComputerCraft 1.5.6
  • Dimensional Anchor 56.0.1
  • Dyeable Beds 1.6.2
  • EnderStorage 1.4.2.2
  • Greg’s SG Craft Mod 1.6.2
  • Immibis Core 56.0.5
  • Immibis MicroBlocks 56.0.5
  • Industrial Craft 2
  • Infinitubes 56.0.1
  • Iron Chests 1.6.2
  • IC2 Charging Bench 1.90
  • Not Enough Items 1.6.1.3
  • Teleport Pipes Mod 1.6.2
  • Timber! 1.6.2
  • Twilight Forst 1.19.3
  • Useful Food 1.6.2
  • Weapon Mod

Building a Custom Forge Minecraft 1.6.2 Server

Note: This post was originally published on iamianwright.com it’s been moved here for archival purposes.

Having played through Tekkit Classic, Voltz, YogCraft and Tekkit my friends and I decided it was time for a custom mod pack. This of course meant that I had to figure out how to build it. After reading a bunch of tutorials of differing quality and reliability I was left under the impression that I would need to use a PC. Fortunately for us Mac users with Minecraft 1.6.2 and the new Forge installer this is not the case.

Installing Minecraft Server 1.6.2 and Forge

Head to the minecraft site and grab a copy of minecraft_server.1.6.2.jar. Make a folder to store your server and copy the jar into it. Double click to run the server and continue passed any warnings that may pop up. Once the server has finished loading type “Stop” in the console.

Now we need to install Forge so head over to their site and grab the latest installer. Download it to your desktop or anywhere else that isn’t your minecraft server folder. Double click to the launch the installer. Chose “Install Server” and then make sure it’s got the correct path to your server folder. Hit Ok. This seems to take ages, I have a 70mb connection and yet the bar still crawls along and stops repeatedly. After waiting a while you will probably receive an error like the one below:

Error downloading
These libraries failed to download. Try again.
org.scala-lang:scala-library:2.10.2,
org.scala-lang:scala-compiler:2.10.2

If this happens WontWorld on Youtube has got you covered. For me it only failed to download one of the libraries but his instructions fixed it.

Now you will need a launcher batch file so that you can configure how much RAM is assigned to the server at launch. Open up textedit (or similar), make sure you are in Plain Text (Format > Make Plain Text), then copy and paste the following code.

#!/bin/bash
cd "$(dirname "$0")"
exec java -Xmx4G -Xms4G -jar minecraftforge-universal-1.6.2-9.10.0.804.jar

This will assign 4Gb of RAM for your server but you can change it accordingly for your system. My server runs 24/7 on a Mac Mini with 8Gb of RAM that I use as HTPC as well so I leave half the RAM free for other applications.

Save the file as launch.command. Now you need to set permissions for the file so that it can be executed. Open terminal, navigate to your server folder by typing “cd” without the quotes, then a space, then drag and drop your server folder onto the terminal window. That should complete the command with the full path to your server folder. Hit return and then type the following code.

chmod a+x launcher.command

Excellent. Now quit terminal as it’s scary in there and we won’t need it anymore. Next double click on launcher.bat and your MinecraftForge server should start. This would be a good time to test that you can connect to your new server.

Installing Forge for your Minecraft Client

Before connecting to the server you’ll need to install forge but before you can so that you must run Minecraft once. You’ll need a copy of Minecraft 1.6.2 from the Downloads page. Install it as normal and then open it. Once you get to the screen with a button that says “Play” you can quit and then install Forge.

This is fairly simple, just run the Forge installer you downloaded earlier choose “Install Client” make sure that the installer has the right path to your minecraft install and hit OK. This is generally very quick and painless.

Now open Minecraft again, choose the new Forge profile at the bottom left and hit Play. In Minecraft click Multiplayer, then add your server and test that it works.

If you’ve got this far and everything is working then it’s time to move on to the fun bit.

Installing Mods into FML in Minecraft 1.6.2

So now that you have your list of mods, download them all into a working directory somewhere other than your server folder. When you download them be sure that your browser is not unzipping them, if it is you should be able to find the zips in the trash.  All of the mods will be either ZIP files or JAR files.

All that’s left to do now is install the mods by moving the mod file into the mods folder inside your server folder.  It would be nice if you could just drag them all in at once and it worked but that was not my experience.  I found that it was best to add one at a time and check I could still login. Remember that any mod installed on your server also needs to be installed on your client.

Some mods have different files for server and client but most are universal.  So add a mod to your server, start the server, add the mod to your client, start your client and join the server.  Sometimes after adding a mod to the server it will die horribly and throw a SEVERE error. If that happens read the log file, read the forums, check for dependencies and try again.

You may need to copy the contents of the server’s config folder to your client’s config folder if you encounter ID mismatches between client and server.

It would also be a good idea to make backups of your server every time you successfully install a mod. This may seem like overkill but I finished this project once and was happily playing online when I decided I should add one more mod.  It threw a severe error, removing the bad mod didn’t fix it neither did reinstalling the server and copying the last backup of mods. Moral of the story backup everything all the time.

In the end I managed to get the following mods installed and living happily side by side.

  • Advanced Repulsion Systems 56.0.0
  • Advanced Machines 56.0.0
  • Arhimede’s Ships 1.6.2
  • BuildCraft 4.0.2
  • ChickenChunks 1.3.3.2
  • CodeChickenCore 0.9.0.5
  • ComputerCraft 1.5.6
  • Dimensional Anchor 56.0.1
  • Dyeable Beds 1.6.2
  • EnderStorage 1.4.2.2
  • Greg’s SG Craft Mod 1.6.2
  • Immibis Core 56.0.5
  • Immibis MicroBlocks 56.0.5
  • Industrial Craft 2
  • Infinitubes 56.0.1
  • Iron Chests 1.6.2
  • IC2 Charging Bench 1.90
  • Not Enough Items 1.6.1.3
  • Teleport Pipes Mod 1.6.2
  • Timber! 1.6.2
  • Twilight Forst 1.19.3
  • Useful Food 1.6.2
  • Weapon Mod

Now it’s up to my friends to play test it and see if it breaks horribly.

Pebble Review

Note: This post was originally published on iamianwright.com it’s been moved here for archival purposes.

What is a Pebble?

The Pebble smartwatch connects to your Android or iPhone handset via bluetooth and displays text messages, emails and other configurable alerts on it’s e-ink display. It’s the result of the most successful kick-starter project since the site’s launch. Pebble were originally looking for $100,000 but wound up raising a staggering $10 million during their campaign.

I thought it looked like a great product when I first saw the demo videos during the funding stage but due to a lack of funds I didn’t back it. I signed up to pre-order one in February this year and was contacted at the beginning of August to say that my Pebble was ready for me. It arrived about three weeks later and after paying around £25 in import duty it was in my grubby mitts.

It arrived in a very minimal package, just the watch and the proprietary USB charger in a long thin mailing box. The setup instructions are available online and in the companion apps for iOS and Android. Setup was almost instantaneous, download the app, open it, it asks for permission to connect on both devices and then you start configuring any IMAP accounts you want it to alert you to.

(NOTE: As I have an iPhone 5 the rest of the pebble review will be around the experience of pairing a pebble with iOS 6.)

Notifications

Notifications were the main reason I wanted a pebble. Text messages (SMS) and iMessages are displayed on the Pebble in full and they work flawlessly. I have been surprised at how handy it is and I wouldn’t want to be without my Pebble for this feature alone!

Like most people I get a lot of email, some of it is even important but soon after getting my first iPhone I disabled the email notifications as it became frustrating to get my phone out when it buzzed only to delete yet more spam or social media notifications. Pebble allows you to set up a number of IMAP accounts that it watches and then notifies you when new email is received. It vibrates and displays the first few lines of the message. For email notifications to work the Pebble app has to be running in the background on the iPhone. So far I have found that it doesn’t consistently alert me to emails but it’s hardly life or death.

You can set up notifications from any app to display on the Pebble by setting them to show on the lock screen in the Notification Center preferences of the iPhone. However at the moment this is a bit hit and miss. Pushover seems to work fairly consistently but Prowl refuses to play nice with the Pebble at all. The general consensus seems to be that iOS notifications should be improved in iOS7 and until then it’s a case of turning the settings on and off until they stick.

Pebble Apps

Pebble comes with a built in Music app that allows you to play, pause, skip forward and skip back through what is playing on your iPhone. It also works flawlessly, if nothing is currently playing it will start playing wherever you left off, whether you were in an album or playlist. There are no controls to navigate through your library so you’ll have to get your iPhone out if you fancy switching album or playlist. In it’s current incarnation I think it’s perfect for skipping the dud tracks on albums while commuting or walking when you might rather leave your phone out of sight. It’s also good in shuffle mode to check the name or artist of a track you’ve forgotten.

There’s an inbuilt Alarm Clock app that allows for multiple alarms. The alarm itself is silent as it just vibrates the watch against your wrist. I don’t really have any need for it as I don’t wear it to bed and have no need of alarms during the day but it’s a sensible addition.

There is one other app included although it only gets activated when you launch a compatible companion app on the iPhone. The Sports app works with iOS apps like RunKeeper to display information on the Pebble about your workout; elapsed time, miles covered and current pace. It also allows you to pause the workout without having to get your phone out. I have been using it to track my rides to work for the last week. I found just the act of tracking them to be quite motivational and being able to put my phone in my bag and start/stop the workout from my wrist makes it much more convenient.

The Pebble SDK has been available for a few months and there are some third party apps available. Even though I didn’t buy the pebble for apps, it was a fun to play Space Invaders on my watch although the buttons make it too uncomfortable and impractical to be any more than a novelty. I did also download Cave Worm, which is a clone of a game I spent many hours playing on the school computers during form time. It runs smoothly and is easily playable, in part because it requires only one button but again it becomes uncomfortable quickly.

It will be interesting to see what third-party developers will come up with as the install base increases.

Watchfaces

There are quite literally thousands of watchfaces available for the Pebble. The vast majority of them are created using online generators and as such are all much the same. There are some diamonds in the rough though, in the picture above I’m using Squared, I also really like the idea behind LinesWatch although it’s not easily legible. The built in Fuzzy Time face was part of the original draw for me as I’m a bit of a typography geek.

I cobbled together my own watchface with the generator and it was very simple but limiting in what you can achieve. The SDK is available and there seems to be quite an active community but I don’t have time to investigate it in detail at the moment.

In Use

Having not worn a watch for a few years it felt strange for the first day but I soon got used to it again. It’s light and comfortable on my wrist although I wonder if people with slimmer wrist might find it a little too large. The build quality is pretty much exactly what I expected, it’s not Apple’s level of industrial design but it looks good and it’s the first product from a small crowd funded startup. It’s smooth and sleek, the screen is excellent and clearly legible in all lighting conditions. It comes with a user-replacable silicone strap which I will be changing as I’ve always found they irritate my skin in the past. It’s a fairly standard size so there are plenty of options to customise the strap.

The vibrations are strong enough to get your attention but discreet enough not to alert everyone around you.  The battery life is quoted at around seven days and so far that seems in keeping with my experience. I had been concerned that it might kill my iPhone’s (already poor) battery life but it doesn’t seem to make a huge amount of difference and I’m still charging the phone each night.

I have received a couple of positive comments on my Pebble mostly due to the slightly peculiar watchface I’m using. It seems that most people have never heard of it but at least one person that I talked to about it asked where to buy one. I think the Pebble is understated enough that the majority of people are unlikely to remark upon it unless they recognise it.

My only real worry is scratching the face of the watch as it’s plastic. There are a number of companies offering wraps for Pebble and they also include a clear screen protector so I may invest in one of those.

Verdict

After my first week with it I’m really impressed with the Pebble and I wouldn’t willingly give it up. I’ve been fascinated by wearable technology since I was a teenager and it seems like this may be the first consumer priced step on that journey. I’m hopeful that the imminent release of iOS 7 will address some of the inconsistencies with notifications and possibly allow more communication from phone to pebble.

If the much rumoured Apple smart watch ever materialises then no doubt it will have a higher build quality and be more feature rich than the Pebble but I doubt it will be priced around $150 nor will it last a week on one charge.

Pebble offers an attractive, well-priced and open platform to those interested in wearable tech. It’s probably not for everyone but it suits me and I’m looking forward to integrating Pushover in future projects purely for geek value.