Lime Blast The virtual home of Web developer Daniel Hollands, the place to be if you're looking for articles and tutorials (and rants) on all aspects of the World Wide Web. Wed, 14 Oct 2015 13:13:21 +0000 en-US hourly 1 Reset The Net /2014/06/reset-the-net/ /2014/06/reset-the-net/#comments Thu, 05 Jun 2014 10:33:36 +0000 /?p=1176 ]]>

/2014/06/reset-the-net/feed/ 0
My Thoughts on Shadowrun Returns /2014/02/my-thoughts-on-shadowrun-returns/ /2014/02/my-thoughts-on-shadowrun-returns/#comments Mon, 17 Feb 2014 18:15:16 +0000 /?p=1161

Related posts:

  1. WordPress Theme – ResponsiveAs some of you may know, I’m a keen gamer. I have been for most of my life – certainly for as long as I’ve had access to a PC at any rate – and I was pretty much hooked for......
This weekend, in a fit of popcorn-induced insanity, I decided to purchase a copy of the Kickstarter-funded Shadowrun Returns on Steam. Why did it take a fit of insanity for this to happen? Because Shadowrun Returns is a cRPG, and I have a long history of abandoning them after a couple of hours.

Based on the 1989 tabletop game Shadowrun, Shadowrun Returns is a re-imagining of an old SNES/Genesis game built for the modern audience. Set in our future, a future in which magic has returned and meta-humans (elves, trolls, dwarves and the like) are a part of everyday life, the game tells the story of your investigations into the death of a fellow Shadowrunner.

The setting of the game – cyberpunk-meets-high-fantasy – is a large part of what attracted me to it in the first place. It isn’t my ultimate sub-genre niche setting – that would be steampunk-meets-high-fantasy – but it’s close enough.

Before I go any further, I have to admit that other than what I mentioned above, I know nothing about the Shadowrun universe. I’m picking up bits and pieces from the game itself, but not as much as I would like. This isn’t necessarily a weakness in the game, as the story you are presented with is rich and well written (if you like the true crime and detective genres), but from my point of view, I’m far more interested in a story’s universe as a whole, including it’s origins and overall timeline, etc.

I think His Dark Materials by Philip Pullman is a good example of this done well (to my tastes at least). I wasn’t particularity interested in Lyra’s story at the beginning of the book, but kept with it because the author drip-fed information about the universe in which the story was set, which kept my interest long enough for Lyra’s story to develop. (If you haven’t already, I highly recommend reading His Dark Materials.)

Other than the game’s setting, the main thing which attracted me to the game was its turn-based combat system. I had an assumption that this mechanic might be similar to that of XCOM: Enemy Unknown – I was wrong.

You see, I’ve recently started playing games on my new laptop. I avoided this initially as I preferred to kid-myself that the laptop was for productive use only. This is only about 60% correct however, with 30% being allocated to general entertainment (gaming, browsing websites, etc) and 10% to coolness factor (I’ve got one bitching laptop).

But gaming on my laptop is different to gaming on my desktop. My desktop, which I custom built three years ago to be a gaming power-house, is well suited to games like the Modern Warfare series, Crysis 2, Burnout Paradise, Guild Wars 2, et al. It is starting to become a little dated, but is hanging in there like a champ.

The laptop, however, is better suited to more – dare I say it – ‘casual’ games, which I can play on my sofa, rather than having to sit at a desk. I’m not sure that casual is the right word however, as you won’t find me playing any Facebook or PopCap games with it. Rather, a word like ‘slower’ might be better suited? What do I mean by slower games? Well, point and click adventures are an example, as are turn-based strategy games, and of course, cRPGs. Shadowrun Returns easily fits into each of the two latter game types, and could be argued to fit the first as well, although this might be a bit of a stretch.

The second game I installed on my laptop was XCOM (the first was Space Hulk), and despite not being very good at it (or Space Hulk), I’m enjoying them both all the same. This recent excursion into turn-based gaming is letting me take my time and plan out my attacks, rather than relying upon twitch skill (which, alas, seems to be fading in my old age). To this end, Shadowrun Returns features cover-based game play with a turn-based interface, like that of XCOM, unfortunately, that is where the similarity ends.

I don’t think that the combat mechanic offered by the game is bad, I just think that it’s a bit lacking. When I play XCOM, each move I make is full of dread, and any mistakes I make will have consequences. When I do the same in Shadowrun Returns, it’s business as usual, no big deal. There isn’t the same need for tactics as required in XCOM, you just get within range of who you’re trying to kill, and kill them, before moving onto the next guy.

There are a couple of things which I do prefer about the combat in Shadowrun Returns verses that of XCOM, such as the ability to see a character’s hit-chance on enemies from each location on the board before moving there (on a few occasions I’ve moved somewhere in XCOM, only to find that I’m worse off for it), but these are interface improvements, not game play ones.

Maybe I’m being unfair? Maybe to compare combat in XCOM (which is at least 75% of the game) with combat in Shadowrun Returns (which is closer to 35-40%) isn’t balanced, and I should forgive it if the rest of the game is good? This could well be the case, but I’ve heard that the cover-based system is unique to Shadowrun Returns in all the Shadowrun games, and so I could easily imagine that they’ve adopted it simply to tap into XCOM’s popularity.

So what is the rest of the game like? Dialogue heavy and linear. Lets start with the first one.

If you’re going for a game that is heavy in dialogue, then that dialogue had better be good. Thankfully it is. There are no voice-overs, so you’ll be doing a whole ton of reading. Some people like this, especially the cRPG crowd, and some people don’t (such someone who might have purchased the game mistaking it for something similar to XCOM). Alas, I fall into that second camp, but am sticking with it regardless. I have to be perfectly honest, I don’t think I’m as invested in the story  as I could be (for reasons discussed above), but I would like to see it to the end, even if only to say that I did.

Unfortunately, this leads me to the second point made above, that of it’s linear nature. There is one route though the game, and one route only. You enter an area, talk with a few people, maybe have a fight – or maybe avoid said fight by having enough Charisma – then complete your objective and the move to the next area, where the cycle begins again. This is very-much reinforced by the inability to save mid-area (although, apparently, this is being fixed in an upcoming patch).

There is variation within each individual area, and you’ll often find multiple ways of solving whatever problem you face, something which has impressed me, but there is no variation in the overarching story. No side-quests of consequence. No back-tracking. No alternatives to the direction the game wants to take you in. And no reason to play again. Maybe games like Mass Effect have spoilt us, but if that is what action RPGs are able to give us, you’d expect a cRPG to do the same.

At this point I’d liken the game to an interactive story. I don’t mean that as an insult or a put down, I’m just trying to best frame the experience I’m having with it. Each area is a new chapter, full of interesting characters to meet and interact with. I think this is highlighted well on occasions when you find things like clues. At one point in the game you find a photograph, where as other games would just show you a picture that you’ve found, this game instead not only fully describes it to you, but also describes how the character feels about it – like any good book would.

I could talk about the character creation, levelling up, item variety, etc.. but none of that has really had any impact on me. I’d love to tell you that I’ve upgraded my gear and weapons, and that the new stuff is awesome  - but I haven’t. I don’t know if this is because I’m not high enough level yet, and that all the cool stuff is just around the corner, but after being 6 hours into what is reported to be a 12 hour game, I would have expected a little more progression by now.

I am somewhat impressed by the way you level up, however. As combat appears to be a very minor part of the game, and something which can be easily avoided on a lot of occasions, rather than award XP for killing people, you get Karma points for each action you complete successfully, which you’re then able to spend on ability upgrades. The aforementioned action could be killing all your enemies, or getting past them without having to engage in battle – whichever suits your motivation best. This freedom really lets you play the game how you want – within the confines of the area you’re in, of course.

Bottom line, I’ve got a feeling that I would prefer to play the DLC for the game which is released at the end of the month. A lot of the complaints I’ve made about the game are reportedly fixed in it, and as such, I feel I’ll be able to get my teeth into it a little better. The only problem with this, of course, is that it’ll cost me an additional £12 to buy – which I feel is a little expensive, seeing as the main game only cost £15 (and is available for under a Fiver on Android).

Anyway, now this game has whetted my appetite for cRPG games, I plan on completing it within the next week, before moving onto Planescape Torment (and have ambition on Divinity: Original Sin, once it seems a full release).

/2014/02/my-thoughts-on-shadowrun-returns/feed/ 2
Laravel Application Development Cookbook /2014/01/laravel-application-development-cookbook/ /2014/01/laravel-application-development-cookbook/#comments Mon, 13 Jan 2014 20:00:21 +0000 /?p=1152

Related posts:

  1. Useful Composer packages for use with Laravel 4By this time next week, I would have (hopefully) survived my first day at my new job, and gone back for more. My new job requires that I learn Yii, which I have been doing, and for the most part......
  2. Web Developer Economics: One Off Software CostsTaking inspiration from a post by Chris Coyer on Web Developer Economics, specifically that of One Off Software Costs I’ve decided to put together my own list of figures. Unlike Chris however, who had a start up cost of $1,779.98, I......


At the tail end of October last year I saw a post on LinkedIn by Packt asking if anyone would like a free copy of their recently published Laravel Application Development Cookbook by Terry Matula. Being the greedy so-and-so that I am, I jumped at the chance to get something for free – the fact it was a book about Laravel, a framework which is currently in the centre of my latest project, made it all the sweeter. Of course, there is no such thing as a free lunch, and in exchange for the aforementioned free copy of the book, I had to write a review of it, which is what you’re reading right now.

I should mention at this point that I’ve only read the first three chapters, so there might be a second or even third part to this review published at some point in the future, but I feel that I’ve read enough (and seen enough warning signs in the way that the book is written) to give my opinion on what I have read thus far.


Laravel, for anyone that doesn’t know, is a PHP framework developed by Taylor Otwell and popularized by Jeffrey Way (at least, it’s because of Jeffrey Way that I know about it). Taking advantage of the latest features available in PHP’s arsenal, not least of which being Composer, a dependency manager which takes the hard work out of using third-party classes, Laravel is at the cutting edge of what PHP can do.

One of the things that I like about Laravel is that anyone with experience writing PHP can pick it up and use it with ease. That’s not to say there isn’t anything to learn about the framework (there is a hell of a lot), rather, whereas Frameworks like CakePHP and Yii have their own, propriety and overly complicated ways of going about thing such as using modules/addons/packages/classes, the PSR standards which Laravel adopts (thanks, in part, to Composer) are super simple. Combine that with a whole host of cool ideas and features, and you’ve got yourself a fantastic little framework.

The Book

Unfortunately, while I would love to sing this book’s praises, I found too many examples of sloppy code and poor explanation within the first three chapters to do this.

An example of this, early in the first chapter, is the task titled “Installing Laravel as a git submodule”. While I can’t fault the method presented within the book for achieving this, I’m a little confused as to why this task even exists, as frankly, it’s just a bad idea. The Laravel framework itself is a Composer package, and is both installed and autoloaded via it, so to ignore this system in favour of a git-based one, which would make updating it much more of a chore, just doesn’t make sense. If this book was for a framework like Yii, then it would be a perfect fit, and I’d be applauding it for including it, but here, it just leaves me with the impression that the author doesn’t understand Laravel.

The next task, designed to help you set-up a working server environment, is no better. Here the author knows that PHP has a built-in server, but rather than teach you how to use it, instead focuses on setting up a full stack environment. OK, so I don’t really have a problem with this in itself, but I do have a problem with the approach he takes, specifically that of recommending wampserver. For what it’s worth, as a Windows user, I like wampserver, and have been known to use it from time to time. The problem with wampserver is that it only works on Windows, and the author fails to provide Mac or Linux users with any useful information on how to do the same on their respective platforms.

The other problem I have with this approach is that a better alternative exists, that of Vagrant, a cross-platform solution that makes it easy to create virtual machines running whatever server software you need. You don’t even need to worry about learning how to configure Vagrant or the virtual machines it hosts, as tools such as puphpet, or pre-configured systems like Laravel4-Vagrant make it easy.

The next few tasks and following chapter were better, with some useful information, although none of it was ground-breaking, and most of it I already knew from other sources. I was disappointed that none of the examples I’ve read so far included anything about Blade (Laravel’s template system), although this could have been to try and keep examples simple (not that Blade is complicated).


Now maybe I’m being unfair in this, seeing as I have only read about a quarter of the book, but based on what I have read, I’m not filled with confidence in the quality of what lies ahead, (this is partly why I have only read three chapters). It is for this reason which I’m finding it difficult to recommend this book. I do plan on finishing it, as it will no doubt have some useful information, and parts two and three of this review (if they ever get written) might contradict this opinion, but until that happens, I’d say borrow the book from a friend rather than pay for it yourself.

In the meantime, if you’re looking for a good way of learning Laravel, you can’t go wrong with Laracasts.

/2014/01/laravel-application-development-cookbook/feed/ 0
It’s simple, we kill the Batman! /2013/12/its-simple-we-kill-the-batman/ /2013/12/its-simple-we-kill-the-batman/#comments Tue, 24 Dec 2013 21:22:14 +0000 /?p=1143 ]]>

Credits to Nebezial.

/2013/12/its-simple-we-kill-the-batman/feed/ 0
Useful Composer packages for use with Laravel 4 /2013/07/useful-composer-packages-for-use-with-laravel-4/ /2013/07/useful-composer-packages-for-use-with-laravel-4/#comments Tue, 16 Jul 2013 12:33:25 +0000 /?p=1119

Related posts:

  1. I love you Jose Diaz-GonzalezThis is a very quick post to thank Jose Diaz-Gonzalez for the Upload behaviour he wrote for CakePHP. I needed a way of uploading multiple images in the admin area of the Chameleon Photography site. During my Cake 1.3 days,......
  2. How to use Couch CMS with GitAfter around a year of using WordPress for the majority of the websites I built for Ghost, I was looking for something different. That isn’t to say that WordPress is bad – it isn’t – it’s just that for some......
  3. CSS CrushAlthough there is a lot of love for CSS preprocessors such as LESS and SASS, both of which seem to work very well, I wanted to take a moment to talk about a slightly different alternative, the PHP-based CSS Crush. Much......
By this time next week, I would have (hopefully) survived my first day at my new job, and gone back for more. My new job requires that I learn Yii, which I have been doing, and for the most part have found to be a perfectly suitable framework for dependable web apps…

..but I would be lying if I didn’t admit to flirting with the sexy new framework going by the name of Laravel 4.


I first learnt of Laravel by reading articles published by Jeffrey Way in Web Designer magazine. It is a framework which takes advantage of the latest developments in PHP (such as Composer), and makes building sites more.. well.. fun!

This isn’t a post about explaining how great Laravel is however (I’ll let Jeffrey do that). Rather, this is a post, primarily aimed at myself, to list all the useful composer packages which I’ve found during my time learning the framework, and as I’m still learning the framework, as I find new and existing packages, I’ll try to keep this post updated accordingly.

Packages I’ve used


This is the first of three packages created by Jeffrey Way which I’m going to recommend. It builds upon Artisan by adding a number code generation tasks to it. One of the things I liked about CakePHP (back in 2006) was it’s Bake feature – and this is the closest thing I’ve found to it in any framework (although, I have seen that Yii also offers something similar).


I’ve been a fan of Guard since I discovered it’s ability to automate a large amount of your workflow simply by watching for file changes and acting accordingly, i.e. you can set it to automatically compile Sass files before livereload‘ing your screen. This package makes the process of configuring Guard for use with Laravel really simple.


I don’t know much about Test Driven Development, but I’m currently learning how to do it (thanks, once again, to Jeffrey Way), and I know enough to make me want to use the technique for everything I build. This package helps simplify the process by offering a number of shortcut methods for the tasks you’re most  likely to do.


Although I’ve been trying to get into the flow of using Sublime Text 2 for coding, I keep reverting back to PHPStorm for a number of it’s features, one of which being code autocompletion. The problem I’ve found, however, Laravel’s facades paradigm prevents this from working out of the box. This package seeks to rectify this problem by creating  a docblock helper file which the IDE can take cues from.

Packages I’ve not used… yet

…and more can be found at the Laravel Packages Registry (thanks Luke).

(Featured image by rafdesign)

/2013/07/useful-composer-packages-for-use-with-laravel-4/feed/ 2