The Avengers, or why the cinema sucks.

So, I went to see the Avengers film - Avengers Assemble (yes, really) here in the UK. Let me just begin by saying it’s a great film. I was hopeful, and fortunately they succeeded in making a film that lives up to the previous films in the continuity.

I was a big fan of the previous films (especially the Iron Man films) and Robert Downey Jr. continues to be the star of the show for me, keeping the comedy level up throughout.

It’s a long film, but it in a really good way. You did notice that it was a long film, but it never felt boring or dragged out - there was enough content and plot for the whole thing. The pace was good throughout the film, keeping you interested all the way through.

Now, while the film was good, I was once again reminded why Cinemas are dying. While some of these experiences will be individual to the exact Cinema I went to, most of them are universal.

So we begin with the classic - highly overpriced tickets, food and drink (I paid like £6 to get in for the film, with a student discount), and avoided buying anything from the refreshments stall due to the high prices.

Then I sit down in a horribly uncomfortable seat (seriously, this is really just my local cinema, but it’s a cardinal sin for a place that requires you to sit down for long periods to have uncomfortable seating), and watch the film. I was then reminded of why people come to the cinema - the ‘cinema experience’. Some child behind me constantly asking ‘who is that guy’ whenever a character (often main characters) walk on-screen, people walking to the toilets in front of me. Great.

The reality, as I reflect upon it is that there is absolutely no reason I’d visit the cinema now if not for the fact that they still have a monopoly over new films. If I could buy a DVD/Blu-ray/un-DRMed file of my film the day it came out in the cinema, I’d definitely do that instead. I’d also happily pay to for a digital rental, that’s fine too.

Large 1080p screens are commonplace these days, and  when you are sitting as close to them as you are in the average house, the difference between that and a cinema screen is negligible, and everything else is better.

I really want the cinema industry to die - I know it sounds terrible, and some people will lament the loss of the event that going to the cinema is, but is that worth it, really? The cinema just has no benefit for me any more. It’s just an annoyance and expense that I could avoid if I wasn’t forced into it to enjoy a film as it comes out, and that sucks.

0 notes

Generating words at random - what I learnt from Ludum Dare 22.

I posted this up on the Ludum Dare blog as well, but thought it’d go well here too.

So, I didn’t manage to finish Ludum Dare 22 as I had to travel home from Uni halfway through and ran out of time.

My aim was to create a procedurally generated universe and allow the player to travel around finding out if they are alone as sentient life in the given universe. Given the time issues I really didn’t get much done, but I did focus on a particular problem, I wanted to name planets so players could remember where they had been. How do you create words that are pronounceable without just having planets called ‘Fork’ and ‘Television’. Words like these:

  • fanglas
  • jubbensetrier
  • amenet
  • moquiets
  • mystilaxation
  • consutey
  • untive
  • curchers
  • anchottollon
  • symborse
  • prasting
  • weeloats
  • dupliquding
  • autobency
  • proscolicends

Well, the answer came in the form of Markov chains, a cool little trick that allows you to do this quite simply. Afterwards this still intrigued me, and I finally had some time to finish up my script,  wordgenerator.

It’s a Python library and command line application, so it’s usable by pretty much anyone. If you have trouble thinking up names for things in general, it can be a great help, and as a library it goes hand-in-hand with any procedurally generated content. It’s GPLv3ed, so feel free to use it in any way that fits the license. The above is actual output from my script. You can change the output via a variety of options (explained in the above link) and by changing the input dictionary of words to generate from, for example, using an Italian one:

  • impiate
  • aliersi
  • inaudartererai
  • ottardiscrerei
  • addoluccio
  • deredicassella
  • coibinarei
  • impresto
  • accreste
  • storano

While nothing revolutionary (Markov chains are pretty well known), the script performs pretty well and saves a bit of work. I think it’s pretty cool, and surprisingly funny to see the output you get, so if you find yourself needing names in your next Ludum Dare game, feel free to use it.

My donor card. Hopefully something that will go unused, but in the case something happens to me, I get to do something pretty awesome for someone else without any effort on my part. Cool stuff. For those wondering, the picture was taken on my Kindle case, hence the orange. If you aren’t on the register, but want to be, it’s literally a 2 minute form online.
Just as a note, this isn’t some kind of weird April Fools, just happens to be the first.

My donor card. Hopefully something that will go unused, but in the case something happens to me, I get to do something pretty awesome for someone else without any effort on my part. Cool stuff. For those wondering, the picture was taken on my Kindle case, hence the orange. If you aren’t on the register, but want to be, it’s literally a 2 minute form online.

Just as a note, this isn’t some kind of weird April Fools, just happens to be the first.

2 notes

Mass Effect 3

35 hours later, I’m done. I’ve completed my first play-through, and I can honestly say there is no reason not to go out and buy Mass Effect 3 right now. It’s an excellent, excellent game and is worth every penny. The only real reason not to is if you have not played 1 and 2, go do that first, then come back for 3. It’s all about the plot and you need the first two games to get the most out of it.

So, why do I love it. Well, for one, the combat has been perfected. A nice middle-ground between the originals RPG elements, which were to hard to sort through (remember converting a ton of weapons to omni-gel every time you filled up?) and having only a few weapons to choose from in the second game. 3 provides a good range of weapons and mods, but does it relatively unobtrusively. The combat feels good, powers have been tuned to feel like they flow in combat better, as does cover. In general, the game is excellent purely as a shooter.

So the important part - the plot. The game continues Mass Effect’s love for excellent storytelling. It’s gripping, dramatic and awesome, but also manages to keep you laughing out loud - often. The characters all come back in style, and it all plays out really well. The missions all feel important, as do the conversations, the scans, everything. The game puts weight on every choice and action, as the games have always done, but ME3 manages to add even more. It makes you truly care about the races and the characters, even more so than before.

It’s hard to explain without spoilers, but truly, there is little to nothing wrong with Mass Effect 3.

A sort-of-spoiler warning. I’m not going to reveal any plot elements, but rather, what I thought of the ending. Not anything about what the ending was or what it contained, but rather how it was done and what I thought about it.

——————————————————————————————————————————————————-

So don’t read past here if you want to avoid the sort-of-spoilers.

——————————————————————————————————————————————————-

It was disappointing. The ending was did not fulfil what it needed to do - not that I didn’t like the content of it, but rather, how it was played out. Mass effect is an epic that has spent three whole games building up to this ending, and when it got to it, it was over in minutes. We didn’t get to see how our choices affected the universe. Once the game was done, I just sat in shock expecting more. It was a great game, but all the choices I made, all the things I did, I didn’t really get to see how they mattered. I didn’t get to see how the characters that Bioware put so much soul into ended up.

I was also expecting more from the gameplay at the end. Given how ME2’s last mission was handled, I was expecting to choose how to use the various fleets and units I had collected, in a similar way to how the squad-mates were picked to perform actions in ME2. Instead, they just didn’t seem to matter.

Mass Effect was an epic trilogy of huge scale - entire races of people, entire solar systems, fleets and the galaxy were the plot. So the ending felt… small. It felt too much about Shepard and not enough about everything else, and that’s a real shame, because it is literally the only fault I can point to in the game.

I can’t deny the possibility Bioware is going to release some DLC that makes this right - which, if so, is a really horrible move. DLC shouldn’t be main-game content and a decent ending should be main-game content. Unless it is free, and hence more of a fix, then it will come across as Bioware holding players hostage to find out what happened - which really sucks. We’ll see, and I’m not going to lie - I’m going to buy any (plot or gameplay, not outfits and guns) DLC available, because it’s Mass Effect and I love the series.

4 notes

Teaching CompSci - Code Reuse

Something I have noticed as a big trend in Computer Science is the act of telling students to forgo the standard library when trying to solve tasks. I get this - when teaching someone the basics of CompSci, you have to start with basic problems, and, for obvious reasons, most of those have already been solved by the standard library.

This has lead to questions asking students to do things without using the standard library, and that’s fine. I get the purpose of that, it makes sense, and there is nothing inherently wrong with it. The issue is with the fact that it is not being made clear to students that this is an academic exercise. I constantly see people re-implementing trivial (or not-so-trivial) functions that are provided by the standard library, and constantly hear people referring to functions provided by a language as ‘cheating’ or ‘taking the easy way out’.

Not reinventing the wheel is something that makes a good programmer. Code reuse has so many benefits - increased stability and less time working on a problem can only be a good thing, and yet I constantly see students getting this misunderstanding that they should implement everything by hand.

Does this mean people teaching should have to think up simple, and yet currently unsolved problems? Of course not. The answer is to simply state clearly, in every case you give a problem like this, that the optimal solution is to simply use the standard library, but for the case of this exercise, that isn’t allowed. This needs to be stated clearly, otherwise, you punish students for following good practice and finding the best solution.

There are many horror stories about reimplementing functionality, and I strongly believe that this kind of teaching causes these horrors.

So I implore all teachers and lecturers, make it clear that what you are asking is only for the purpose of the exercise, and bad practice.

2 notes