Archive

The G Word

The G word

Hi! My name is Francisco and writing this post is probably a bad idea 🙂

In case you don’t know, I was born and raised in Spain. My country’s history is tightly entangled with the Catholic church. It’s a relationship that started many centuries ago but has been very important until recent times (and still is). When I was born my parents decided to not baptize me. At the time it was kind of a big deal in the family. I’ve been told that my grand parents on both sides weren’t happy about their decision. But my parents had a very clear idea. Let him grow up and decide by himself, don’t force anything on him.

I remember when I was like 10 or so, all my friends where going through the holy communion. I wasn’t and to be honest it made me feel weird. I still remember how I felt. I felt excluded. I wasn’t “part of the team”. I seriously thought of asking my parents of getting baptized and going through the process like everyone else. I don’t remember asking them so I’m just gonna say that somehow I was mature enough at that age to realize it was a silly reason to be baptized.

When I started high school at 12 my parents made me go to the optional (not for me) religion class. I went to that class for the following six years. We talked mainly about Christianity, Judaism, Islam. I think we scratched the surface on some others, but I don’t remember. The focus was on Catholicism,and we regularly read parts of the bible. But for me the stories of the bible were just that, stories. I think by the time I finished high school I was considering myself an atheist. The main reason is probably my aversion to organised religion.

Did I mention that even though my parents didn’t baptize me they took me to a million churches (approx.)? When I was a kid we traveled a lot and visiting churches was a big part of what we did. I came to hate it but now, with age – and wisdom, some at least – I truly appreciate it. Those churches and cathedrals are true art pieces. They are also a display of what the Catholic Church is and has been over the centuries. An organization that has done a lot of good – that is undeniable – but has done a lot of evil too. Wars and massacres in the name of good, the use of religion to attain power and riches, the hiding of horrible acts by members of the church – yes, I’m talking about pedophilia and others.

We find different cases outside of the Church. We have imams that have supported acts of terror, used their influence to radicalize young believer or even be active agents in terrorists organizations. In India there is a recent history of religious violences, mostly between Hindus and Muslims but it has also affected Christians and Sikh. There are many stories like these around the globe. None of them start with the faith of someone in God(s). They start with someone that is put in a position of power, a place where they can poison the minds of people that are looking for answers or the confort of faith.

Where was I? Oh, yes. So, after finishing high school I can’t say I thought much about God. But recently I’ve found myself thinking about It more. It’s gonna sound like a joke but I think what triggered it was flying. I’m clearly scared of flying and moving to a country that is 7,000 km away from my family has made me get on a few planes. I’ve seen myself asking God for a safe arrival a few times (damn turbulences). How do you ask for help to a being that technically you don’t believe in?

That made me think of the concept of God itself. I asked God because that’s the language tool that I have. But it’s not the religious god – the supernatural being that I was asking help. It’s more of an ethereal concept, a force that might or might not exist. There are things, there are questions I have that I can’t answer. And I don’t think anyone can. How did it all start? The universe is expanding? Cool, but expanding through where? There are many things that science can explain; but there are as many that can’t, at least for now.

I don’t like (and/or believe) in the idea of God that has been popularized by religion. The omnipotent “man-or-woman” that has created everything. It is too much of a human idea to be the truth. At the same time I can’t discard the idea that there is a force that gave origin to the universe we live in and that is a concept beyond our comprehension. It could be a force with a will or something closer to the idea of Mother Nature – something that balances itself but it doesn’t have a will. In the end I don’t have proof of anything, so I can’t discard anything. I guess that makes me an agnostic more than an atheist. To be honest I don’t care much for the title.

Photo by JAVI ARJI on Unsplash

Creative design and industry maturity

Some time back I wrote about what makes Doom II special and why it feels as good and fresh now as it did 25 years ago. In 2016 id Software, creators of the Doom franchise amongst others, launched what came to be a reboot of the series. DOOM or Doom 2016 is again an exceptional example of design. It probably has the best combat system ever designed for a video game, an epic soundtrack and it shines in many aspects. But while Doom II is brilliant in level design and the levels are a constant display of creativity, the reboot feels way more conventional and unsurprising.

I’ve been thinking about why this is the case and the answer seems now obvious to me. On the original game the creators went wild in the design of every stage. From one level to another there was little to no cohesion. Most of the levels are strange and don’t make much sense from an architectural point of view. Back then there were great technical limitations that pushed the designers creativity to new levels. At the same time the medium was still young and there wasn’t an expectation to be realistic or coherent within the game’s world.

Evolution of car designs

This applies to much more than video games. It’s something that extends throughout all the possible spectrum of design. If we look at the cars that were designed, 30, 40 or 50 years ago we will find crazy, extremely creative designs. Cars like the BMW Isseta are unthinkable today.

The car industry has reached a higher level of maturity and there are proven concepts that are common across brands. Shapes, lights, sizes… There is less space for creativity because the industry knows what works, knows what is practical and knows what is logic to do. That doesn’t mean there’s no space for innovation but there is less experimentation – at least when it comes to commercial cars – than a few decades ago.

Data-driven design for the web

The same applies to my field: the Internet. Looking back at when I was at University, the Internet was full of crazy, wild designs. Flash was the trend and people were constantly experimenting with layouts and navigation. You could see all types of things that could make – or not – sense. But the web industry has also reached a new stage of maturity. There is less space for creativity because we have data that tells us what works and what doesn’t. When users see a hamburger menu, they know what it is and how it works. Users will look for the search icon/bar on the right side of the header, because that has become a de facto standard. These and other conventions bring cohesion to the web as a whole and make for a better user experience.

Design systems like Material Design by Google help us have a cohesive experience, defining key aspects like navigation and component interaction

This can’t be criticized. If I have to design a website today I’m going to follow most – if not all – of the proven conventions. It just makes sense. Not only that, it also gives me the freedom to work on other design elements like animation that could bring a higher meaning to the user actions. Design systems and component oriented design have pushed the industry in that direction and I think everyone will agree that it’s been a very positive turn.

But I wonder if maybe we are losing on variety and innovation by limiting the creativity of our designers. Guidelines are great, but sometimes I feel that we take this guidelines as hard, unbreakable rules. And that will keep us from having a better, more creative and meaningful web experience.

Infamous for Playstation 3

Gaming Sessions: Infamous

Imagine a game in which you have super powers and you fight crime alla Spiderman, Flash, etc. while freely exploring a big open-world. That’s exactly what Infamous does. The game let’s you fight for the fate of Empire City, combining elements that we’ve seen in the superhero comics for decades. But Infamous doesn’t adapt any known superhero, instead  creates its own universe that, at the same time, works as an homage to the 9th art.

Feeling powerful

If there is  a single thing  I would highlight about Infamous is how it makes you feel. Cole MacGrath, our protagonist, wakes up  at the epicenter of an explosion in the middle of Empire City. He doesn’t remember much, but he can now manipulate electricity. This give Cole a series of powers that expand as you progress in the game. Since the first minutes of the game you will feel a sense of superiority over the rest of in-game characters.

Cole making use of the storm
Some attacks are really powerful and spectacular

When you fight your enemies you can unleashed lots of chaos and destruction. Combining different powers during your fights feels completely natural and organic and it is really fun. It’s important to clarify that the combat is shooting based, and most of the complementary powers are also long distance attacks. There is some physical combat involved but it doesn’t have much weight on the gameplay. I have no doubt that this is the biggest strength of the game. It translates perfectly the sensation of being a force of nature that is superior to his enemies.

Something that I would like to highlight is that your actions will give you points of light or darkness, like we’ve seen in many Star  Wars games. This adds weight to your actions and can affect the way you fight. Will you fight your enemies without caring for the civilians in the area or will you move the fight away? What will you do with fallen (but alive) enemies and civilians? Cure them? Extract any remaining energy from them (causing death)? Or simply capture them? This morality system affects the way civilians perceive and react to you, as well as the powers and secondary missions that you have available.

Infamous' Cole MacGrath shooting an enemy
When your ‘karma’ is on the evil side, your attacks area colored red

Infamous is fun but is not perfect

Though I like the game, it is  true that there are some flaws in Infamous design and presentation that area worth noting.

First of all, both story and narrative are far from great. The story is full of cliches and Cole is not the most charismatic guy around. The story is narrated mostly through conversations over the phone, with noise on the line  and the noise of the city around. On top of that, most of this conversations happen while you do something else, so t is fairly easy to miss some parts. They top this with some cutscenes made with really cool comic artwork. Is a nice touch, but it  felt somehow disconnected from the rest of the game. The story presents a final twist that creates an interesting starting point for the sequel.

Empire City
Empire City is a pretty big environment with not much to do besides fighting

In terms of gameplay, I have a  couple of issues with Infamous. The biggest problem is that there is no real reason for Infamous to be open-world beyond the fact that is really cool to move around. There is nothing interesting to do besides the missions, so it becomes a huge hub to select levels while you collect some random, irrelevant stuff. My second biggest problem is that this open-world is overpopulated by enemies, making moving around very frustrating at times. Sure, I like the combat, but  after 10 hours of game I don’t  want to stop and fight random guys while I try to reach the next mission (on the other side of the frickinig city).

A minor issue that I’ve found a bit annoying is the climbing system. Instead of working like an Assassin’s Creed game where you just press a button, Infamous forces you to jump and jump and jump and jump… Gets tiring after a while.

Looking good, sounding weird

Being from 2009 and having in mind the size of the city, Infamous looks pretty good. Textures and models are a bit  simple but they do the job. It’s worth noting that the overall design of the game and the palette used is a bit too dull. I think a more colorful approach would have worked much better. On the other hand,  FX – specially the electricity ones – and animations are very good and they give place to some spectacular images.

Cole using his powers
The lightning effects are really good, creating powerful images like the one above

When it comes to the sound Infamous is a weird game. Music is fine, though it doesn’t have much presence. Sounds effects are ok, but there area some weird ones, specially the one made by Cole while running. Is  some kind of nya nya that doesn’t make sense and can be pretty annoying.

Infamous

I think if you like superheros and open world games is almost impossible to get disappointed with Infamous. I think there are some design decisions that prevent the game from reaching its full potential but, at the same time, Infamous has some strengths that are difficult to ignore. Recommended if you like superheros and enjoy open-world games.

Jurassic World Fallen Kingdom

Fallen Kingdom and the future of Jurassic World

Have you watch Jurassic World Fallen Kingdom already? Well, I wish I had to tell you to run to your closest cinema but that’s not the case. It is, no doubt, an enjoyable film with some really good moments. I think J.A. Bayona has done a great job and his visual style and narrative works great with a production of this caliber. But in the end, we are watching a pseudo-remake of The Lost World, as it happened with Jurassic World and the first entry of the saga. There is absolutely nothing in the script that makes up for seeing a repetition of situations and overall plot. It’s on the script where we can find all the big issues of the movie, and this is becoming a (bad) habit for the series.

My problem with the  current state of the franchise

You see, I’m a huge Jurassic Park fan. The first and second movies are amongst my all time favorite. This new movies are very entertaining but they don’t bring anything new to the franchise. We are seeing a repetition of themes and situations.

It’s very clear to the public that playing “to be God” with genetics is very dangerous. And yes, we know that velociraptors are very smart and lethal. Now, by the fifth movie I would expect to have seen some consequences to playing this game, but the truth is we haven’t seen anything. The main problem is that the premise of the series can’t go much further. You can destroy a park by an accident or by the characters arrogance once (ok, twice…). And same applies about going back to the island to save dinosaurs from an external menace.

The future of Jurassic World

[Minor spoilers of Fallen Kingdom]

The original book sets a much more interesting option, as we discover that some small dinosaurs have been getting out of the island hidden in the boats that go to the mainland. In Fallen Kingdom we get to the same point by the end of the movie, but in a disappointing way. Yes, dinosaurs are now on the mainland but the most dangerous and interesting species (Raptor, T-rex) are alone with no possibility of reproduction. In my opinion that leaves a very limited setting to work with, and I’m not sure of what we will see in the next sequel. It looks like we will be following some of the characters trying to collect the lost dinosaurs and bringing them to a new sanctuary. So basically we would go back to the end of The Lost World.

To be honest, after this long and the clear exhaustion of the original premise, I would take everything one (or 10) steps further. I would make everything go out of control, with dinosaurs spreading over the mainland and humans fighting for survival in a changed, dangerous world. Of course a setting like this can easily give birth to an absolute pile of crap, but at least it would be different.

 

Dropdown and scrolls

Creating dropdown menus inside an scrollable element

I don’t usually write about work. I guess I try to get away of it every time I leave the office. But I would be lying if I said I didn’t like to code. I actually do, and I find problem solving the most appealing and enjoyable part of my job. So I decided that from time to time it wouldn’t be so bad to write about what I do for most of my weekdays. I feel it can help me review and reassure (or not) decisions I made when a problem presented itself.

The problem

I’m making responsive little portions of our in-house CRM. Making our CRM’s main features available on-the-go for our sales team would be a great improvement for the company. A CRM is not a normal website, is closer to a desktop application, and the type of data and content is not the same you usually display on a website.

One of the first issues I found was that our toolbar(s) were way to wide for a mobile device. We have a bunch of buttons, search boxes, dropdowns etc. The first impulse would be to move all the content inside a panel of sorts as we commonly do with menus. But due to the contents of the toolbar that would be difficult to implement and maintain some kind of ease of use (and it would look awful).

The solution

I opted to just add a scroll to our toolbars whenever was needed. This way we keep the same user experience that we have in desktop, we avoid pop ups and panels and we keep the whole system consistent. It is pretty intuitive to just scroll sideways on a toolbar, and I think it is the best solution.

But this solution forced me to do some workarounds. Adding a scroll was ease and useful (overflow-x:auto), but also created a new issue. It turns out that the values of overflow-x and overflow-y are dependent of each other. That means that when x or y is set to hidden, scroll or auto, the other one can’t be visible. It is automatically changed to hidden, no matter what you specify on your CSS.

The way CSS works is sometimes confusing, and this is one of this cases. Thankfully, there’s a little trick to make it work. It requires some javascript to define the position of the menus, but nothing to complex.

To start, we need to create a toolbar with an inner div and a dropdown menu inside of it.

<div class="toolbar">
    <div class="toolbar__inner">
      <div class="dropdown">
        Dropdown menu 1
        <div class="dropdown__menu">
          <ul>
            <li>Option 1</li>
            <li>Option 2</li>
            <li>Option 3</li>
            <li>Option 4</li>
          </ul>
        </div>
      </div>
    </div>
</div>

The toolbar div (position:relative) will be the one that we use to position our dropdowns (position:absolute). The toolbar__inner is the one that will serve as the scrollable menu (overflow-x:auto). Because the dropdown__menu has absolute position and the offset parent is toolbar that has overflow: visible, the scrolling of toolbar__inner can work and not interfere with the visibility of the menus.

You can see the full CSS here:

*{
  box-sizing:border-box;
}
.wrapper{
  width:800px;
}
.wrapper--small{
  width:300px;
}
.toolbar{
  position:relative;
  width:100%;
}
.toolbar__inner{
  background:#ddd;
  border:1px solid #aaa;
  width:100%;
  padding:10px;
  overflow-x:auto;
  white-space: nowrap;
}
.dropdown, button{
  display:inline-block;
  font-size:15px;
  line-height:15px;
  font-family:arial;
  padding:10px;
  border:1px solid #aaa;
  background:#eee;
  cursor:pointer;
}
.dropdown__menu{
  position:absolute;
  display:none;
  overflow:hidden;
}
.dropdown--active .dropdown__menu{
  display:block;  
}
.dropdown__menu ul{
  padding:0px;
  margin:0px;
  list-style:none;
  background:#fff;
  border:1px solid #aaa;
}
.dropdown__menu ul li{
  padding:10px;
  width:100%;
  box-sizing:border-box;
}
.dropdown__menu ul li:hover{
  background:#eee;
}

Because the offset parent is not the dropdown button but the toolbar, we need to use JS to position the dropdown menus in the right place. Also, we need to have in mind that being inside an scrollable div, the position of the dropdown menus can be different every time we open them and every time we scroll. The code to do all this is a bit longer that I expected in the beginning. Let’s see the code and then briefly comment on what every bit of code does:

(function(){
  let dropdown = document.querySelectorAll('.dropdown');
  
  dropdown.forEach(function(node, index){
    let _this = node;
    let menu = _this.querySelector('.dropdown__menu');
    let container = getScrollable(_this);
    /*
    * Dropdown on click
    */
    _this.addEventListener('click', function(e){
      let activeDropdown = document.querySelector('.dropdown.dropdown--active');
      //close other dropdowns if opened
      if(activeDropdown && activeDropdown != _this){
        activeDropdown.classList.remove('dropdown--active');
      }
      //toggle dropdown visibility
      _this.classList.toggle('dropdown--active');
      //Update the position of the dropdown menu
      setDropdownPosition(_this, container);
    });
    /*
    * Stop propagation of click inside the dropdown to avoid the dropdown closing when clicking on one of the options
    */
    menu.addEventListener('click', function(e){
      e.stopPropagation();                       
    });
    /*
    * If the dropdown is inside an scrollabe element
    * we want to change the position of the dropdown menus on scroll
    */
    if(container){
      container.addEventListener('scroll', function(){
        setDropdownPosition(_this, container);
      });
    }
  });
  /*
  * Close dropdown when clicking outside
  */
  document.addEventListener('click', function(e){
    let activeDropdown = document.querySelector('.dropdown.dropdown--active');
    
    if(activeDropdown){
      if(!(e.target.classList.contains('dropdown') || hasParentWithClass(e.target, 'dropdown'))){
        activeDropdown.classList.remove('dropdown--active');
      }
    }
  });
})();
/*
* Control dropdown menu positioning
*/
function setDropdownPosition(dropdown, container){
  let menu = dropdown.querySelector('.dropdown__menu');

  let topPosition = dropdown.offsetTop + dropdown.offsetHeight;
  let leftPosition = dropdown.offsetLeft;
  let rightPosition = dropdown.offsetLeft + dropdown.offsetWidth;
  let scrollPosition = container.scrollLeft;
  let position = 0;
  
  menu.style.top = topPosition + 'px';
  // Define position
  if(menu.classList.contains('right')){
    position = rightPosition - scrollPosition - menu.offsetWidth;
  }else{
    position = leftPosition - scrollPosition;
  }
  //Visibility depends on the scroll
  if(position < 0 || position > dropdown.offsetParent.offsetWidth){
    menu.style.height = '0px';
  }else{
    menu.style.height = 'auto';
  }
  
  menu.style.left = position + 'px';
}
/*
* Check if a node has a parent element with x classname
*/
function hasParentWithClass(node, className){
  let parent = node.parentNode;
  
  while(parent != document){
    if(parent.classList.contains(className)){
      return true;
    }
                                             
    parent = parent.parentNode;
  }
       
  return false;
}
/*
* Find a parent element (inside the offsetparent) that has a scroll
*/
function getScrollable(node){
  let container = node.offsetParent;
  let parent = node.parentNode;
  let overflowStates = ['auto', 'scroll'];
  
  while(parent != container){
    if(overflowStates.indexOf(parent.style.overflow)){
      return parent;
    }
                                             
    parent = parent.parentNode;
  }
       
  return false;
}

dropdown click event: closes other opened dropdowns and toggles the one that has been clicked. Calls the setDropdownPosition() function.

container scroll event: we add an scroll event to the scrollable parent of each dropdown. On scroll, we call the setDropdownPosition(). To get the right scrollable container we use the method getScrollable().

setDropdownPosition(node, container): it sets the position of the node (dropdown menu) inside it’s offset parent. We get the dropdown item offsetLeft and the we substract the scrollLeft position of the scrollable parent of the dropdown item. There’s a little variation in case we want the dropdown menu to be aligned to the right side of the dropdown item.

getScrollable(node): it returns the parent element of the node (dropdown item) that has overflow auto/scroll and is at the same time inside the node’s offset parent.

There are a couple of extra features in the code above (dropdown item click behaviour, out of dropdown click…), but is to improve the behaviour of the dropdown and not strictly necessary.

The final result

Change between “mobile” and “desktop” by clicking on the toggle button. This code can easily be translated into a JS class or jQuery plugin.

See the Pen Scrollable responsive toolbar with dropdown items by Francisco Canete (@Francisco_caal) on CodePen.

If you have any ideas to improve the code or solutions that you think are better for this same issue, please leave a comment below or contact me on SM 🙂

Photo by Kobu Agency on Unsplash

Internet privacy

Internet privacy matters but we don’t protect ourselves

I’ve never been an advocate for internet privacy. I’ve used all types of services without reading any of those privacy policies (who reads that shit? It’s unreadable), I’ve had location services active in my phone for long time, etc. I think at some point I let myself go, I trusted the don’t be evil motto. When they give you great products for free you  don’t question as much what Google (and others) are doing with your data.

But this attitude has negative effects. I (we) have given this companies a message: do whatever the fuck you want, I’m not going to do anything about it.

The Instagram listener and  behavioral retargeting

I think what made me think about it seriously about it, was this Medium article about Instagram making use of the phone’s microphone to listen and process the collected data to show relevant ads. If what is explained on that articles is 100 percent accurate is irrelevant. It’s consistent enough with my personal experience using Instagram/Facebook/Google/whatever.

Reading that article made me think about what I already knew. Google, Facebook, Microsoft, Apple… they all have an extense file on my with interests, internet habits, search, how I use their software, etc. This data has my name all over it. That way they can show me “relevant” ads everywhere, all the time.

I’m not going to go into why this is a bad thing. If you don’t thing it is, good for you. If on the other hand, you don’t like massive corporations having so much information about you, I’ll move to share some tips I believe can be helpful. But first let me be clear about something. This will not save you from this problem, it will only help you you in some fronts.

Start using Firefox Quantum

Mozilla Firefox has been with us since the late 90s. Their last version, Firefox Quantum, is a great browser, fast and efficient. More importantly, Firefox is developed by Mozilla, a non-profit organization that has demonstrated over 2 decades that the care about internet freedom and the users right to  surf the net safe and privately.

In addition to this, they give the user a lot of control and what do they share with mozilla and the default privacy options are already very reasonable. While  preparing to write this post I’ve read their privacy policy.  It is reasonable, clear, easy to read and understand. Because when a company is not trying to use you as their product, they don’t need to hide anything.

Search with DuckDuckGo

But Google is the best! What are you talking about? Yeah, well, I’ve been using DuckDuckGo for a few weeks and there’s  barely any different. Actually I’m gonna say something crazy: DuckDuckGo results are better thatn Google’s.

DuckDuckGo only personalizes your results based in location. That’s not the case with Google, they try to predict the most accurate results having in mind your previous searches (and I think other factors like pages you’ve visited). This could seem like a great idea, and  I think it’s done in good faith, but the result of this system is biased search results. This might seem irrelevant.  It probably is when you’re looking to  buy a new tv, but it is not when you are looking for things like politics, news, etc. What Google will show you will be biased and will reinforce your belives  without letting you see the other point of views. If you can’t see what is bad about that…

I highly recommend you to read this post by DuckDuckGo’s CEO in Quora.

Review your phone settings

I’ve spent some time lately going through app permissions on my phone. Things like location, mic, etc. are rarely going to be used by apps to offer you their service, but they still ask you for it. I was amazed by how many apps on my phone had location perms requirement, when at the end only 5 or 6 do we really needed them.

Taking five minutes to review these permissions can help you avoid sharing undesired data. Same applies to your desktop OS of choice. Spend some time  looking at what you are sharing with the OS provider.

Other steps you can take

  • Consider using Linux: Yes, I’m serious. Linux can be rough, but there are distributions that are very user friendly (Ubuntu, ElementaryOS, etc). Unless you need a specific software not available for Linux (photoshop, 3d studio…) there is no reason to stick to Windows/Mac OS.
  • Use Proton mail: Proton Mail is a secure and encrypted mail service. It’s free and has apps for the main OS  in the market. I’m seriously considering this move, but is no doubt one of the most painful you can do. I’m sure there are other options out there that offer a similar. approach
  • Be careful with what you share in  social media: if Facebook or other SM can identify your face in photos, bad.

There aremore things that can be done, but I’m not an expert on the mater and I don’t  want to talk without knowing.

Protoct yourself

We are not products, but massive companies with huge ecosystems and advertising interests are using us as such. We must be aware that even if their intentions are not bad, their actions are guided by the rules of capitalism. That is not bad per se, but it can become an issue with actors of this size.

Resistance Retribution Chimera

Gaming Sessions: Resistance Retribution

I’ve owned a PSP for probably more than a decade. I have around 80 titles for the platform (I know, madness) and I’m still playing games that I haven’t touched before. What I consider the 2 best action games in the platform have been in my collection for quite a while, but is now when I’ve played them back-to-back. I already talked about (and praised) The 3rd Birthday. Now, it’s the time for Resistance Retribution. Maybe is not as  good as the former on gameplay, but overall has nothing to envy of the Square-Enix title.

Resistance Retribution, the Chimera invasion in 3rd person

Resistance Retribution is a spin-off of the main series for PS3. While those games are first person shooters, the responsible studio decided to move on to a third person perspective. The game is still a pure shooter, but it puts some emphasis on the use of covers. Somewhat similar to what we’ve seen in Gears of War or Uncharted. The cover system is automatic, meaning that we don’t need to press any buttons, the character will automatically hide when we approach a cover.

The decision to move the game from a FPS to a TPS made sense due to BEND Studio’s experience in the platform. They developed both Syphon Filter games for PSP, 2 of the best TPS’s in the platform. In fact, this game feels like a natural evolution of what we saw in those games.

Europe is under siege

The game makes an effort to tell an interesting story. We will visit Rotterdam, Luxenburg and a couple of places in France, including a devastated Paris that has become the central base for the Chimera. The plot is interesting and the main story line is well narrated. It’s important to note that Retribution’s story is placed between Resistance Fall of Men (first game) and Resistance 2, and it works as a nexus between them.

Resistance Retribution
Raine Bouchard will be more important than we would think at first

My problem with the game is that characters and dialog are quite poor. The main character – Lt. James Grayson – is a maniac (and an ***hole). He is not likable at all and that affects the game negatively. The other characters are a bunch of walking cliches and they’re not likable either. Obviously, if the characters are like that, the dialogs can’t work.

Shooting our way to Paris

The game is quite good when it comes to gameplay. It’s obvious that BEND had a lot of experience creating third person shooters, as the control it’s really solid and takes PSP’s weaknesses into consideration.

The best example is with the aiming. The game makes use of a semi-automatic aiming. There is a big rectangle (about 3/5ths of the screen space) that works as aim. When an enemy gets inside that aiming area, the auto-aiming will take effect. We can change to manual aim by pressing the up arrow, but why would we do that? The PSP lacks a second analog joystic, making aiming difficult. Well, the game forces you to use it. There is an specific type of enemy that walks to you and explodes and it can be killed only by headshots. Is not easy to accomplish that with the autoaim, so we will change to manual. But wait, this enemies are usually not alone and you’ll have to change between aiming modes fast and be efficient in order to survive.

Voilà, the lack of second joystic is not a weakness anymore, it is part of a game mechanic.

Resistance Retribution Chimera
‘Gorillas’ will be our main enemy, but there is a big variety of foes

The game has a diverse cast of enemies, each of them with different mechanics that will make us use different strategies. This combines really well with the different weapons that Grayson can use. There are 8 weapons in total, one of them pretty original. The way we use and combine this weapons is key to be successful in combat. We can’t just enter a room shooting without thinking, we need to plan and react quickly to what happens on the screen or we’ll get stuck easily. In the bosses it’s specially easy to die, and using the right weapons is a must to kill them.

I have the feel that the game starts a bit slow but starts to really shine throughout the second chapter. Level design is great, and there is a fair variety of situations for a TPS game. With that said, the game is quite long (and difficult) and I think it can take between 10-12 hours to finish.

A portable blockbuster

Resistance Retribution not only plays great, it also looks fantastic. The game makes great use of PSP’s hardware, and it’s no doubt one of the best looking games in the platform. It could have shined even more with a different art direction and color palette, but I understand is part of the series’ identity.

Resistance Retribution graphics
Resistance Retribution is one of the best looking games in PSP

There is something strange about soundtrack. Melodies and orchestration are great, but the influences of cinema is so obvious that it creates a constant feel of deja vu. It specially takes a lot from John Williams’ music, and you can hear some of his trademark sounds all over the place. It’s not a bad thing, but it is there.

A PSP must have

Overall, I think Resistance Retribution is a must have for Playstation Portable but we can’t forget that nowadays there are better TPS in other platforms. This game can’t play the card of originality and personality that other games can (like the mentioned The 3rd Birthday). That makes it difficult to recommend but it is undoubtedly one of the best games in PSP’s catalog.

Long take, children of the men

The long take

Knowledge is key. Knowledge helps us have an understanding of the world and everything that surrounds us. That very same rule applies to art. If we have an understanding of how rhythm and melody works we will be able to appreciate music better. If we understand the fundamentals of light and color and composition, we will be able to go to a museum and enjoy it more.

I can’t presume of being versed in any art in particular, but I am a cinema lover. And over the years, my knowledge of the medium has growth allowing me to enjoy movies (and TV) on a whole different level. Something I would like to do this year is explore some filmmaking concepts and techniques that I find interesting, starting today with the long take.

The Long Take

First of all, let’s check the definition in wikipedia:

In filmmaking, a long take is a shot lasting much longer than the conventional editing pace either of the film itself or of films in general. Significant camera movement and elaborate blocking are often elements in long takes, but not necessarily so.

So, basically It’s a take longer than usual. In spanish we refer to it as ‘plano-sequencia’, what basically means that the whole scene is taken in only one shot, with no camera cuts. This takes are usually very expressive, and can be used for multiple purposes. Sometimes, the director wants to show us a particular moment in the life of a person. The long take can change our perspective as viewers and help us connect with the character, bringing us closer to him/her. Another common use is in action scenes, like in the famous Oldboy scene.

The first time I remember identifying it while watching a movie was on Inglorious Bastards. It’s a take that starts with Shosanna at the cinema hall. The camera ‘walks’ with her down the stairs and shows us how she engages on a conversation with Daniel Bruhl’s character. After that the camera follows a waiter. This walk is used to give us a a feel of the place, showing us the cinema hall and the people that is there. After that, another change, this time to follow Col. Landa (magnificently portrayed by Christoph Waltz).

It’s not the most complex long take, but is a good one and it’s greatly enjoyable to see. This scene in particular helps us understand the environment. It gets the viewer in the middle of the pre-movie cocktail giving a glimpse of what’s going and who is there. It also builds a narrative where for the first time all the main characters (alive at that point of the movie) are on the same room.

A couple of examples

Obviously spoilers ahead

This technique is more commonly used that you would think. There are a series of directors that have a taste for it and they use it often in their productions. I’m going to start with Cary Fukunaga, famous for his role as the sole director of season 1 of True Detective. It’s on this series where I first got to see displayed his ability for the long take:

I recently watch his movie Beasts of No Nation (Netflix), where Fukunaga also uses the technique with great (and devastating) results.

Alfonso Cuarón is another director that has been famous for using the long take in his films. The use of the long take in Children of the Men is exceptional, and it gets the viewer into the chaotic England seen in the movie.

The scene is sensational. It has a little bit of everything: conversations, tension, action… The camera is in continuous movement inside the car to show us what is relevant. The ending with the camera seeing the car go at the end is genius and reinforces the ending of the scene and the situation itself.

On the previous two scenes we’ve seen lots of action, but there are other uses for long takes. For example to make the viewer feel a place and a situation. Joe Wright and his team did an amazing job in the scene from the movie Atonement:

This is scene is not only beautiful, it’s also incredibly inmersive.

Planning

I can guess that planning is a very important, if not the most, when recording a long take, as It involves a great deal of coordination. Everyone needs to know their roles perfectly: actors, camera, special effects… Everything needs to be in place and move in time, otherwise the scene might not work. If you want to see what I’m talking about, have a look to this behind the scene footage of the movie Hugo. I personally find this fascinating:

The Unexpected Virtue of Trickery

Have you watched Birdman by Alejandro G. Iñárritu? The movie plays like a single shot. The whole fricking movie. But is it recorded in one single shot? No it’s not. The movie is a collection of long takes connected through different tricks to make it look like one shot. The movie looks amazing, and it’s difficult to identify where are the cuts. It’s, no doubt, a very interesting exercise and something quite unique. The movie won 4 Oscars including direction and cinematography.

Long take Birdman
Director Alejandro G. Iñarritu and cinematographer Emmanuel ‘Chivo’ Lubezki during the filming of Birdman

Believe it or not, there are films that have actually done what Birdman makes us thing it does. There are not many of these, but they exist and you can see a list here.

I hope you enjoyed reading this post as much as I enjoyed writing and researching for it. Cinema is a beautiful art and long takes is just one of the many topics I’d to explore in the future. If you know of any movies with epic long takes, let me know in the comments or through any social media channel 🙂

Beanstalk

I started using Beanstalk and it’s just what I was looking for

As I mentioned in the past, it’s not easy to work alone in development. I have so much work to do and so little time, that I often don’t give myself enough time to explore tools and methodologies that could improve my day to day. This year I’m trying to change that and one of the first things I’ve done is try to improve my deployment workflow.

Until now, I’ve been working locally on a Git repository and making deployments with and FTP software. You don’t need to tell me that is crazy to do that, I know very well. It’s really easy to make mistakes and as the project becomes more complex, deployment becomes a pain. I needed to fix this issue and I wanted something simple and straightforward. A problem that I found while researching for the right tool is that most solutions are overtly complicated and full of team-oriented options that are great, but are completely useless to me.

Git to FTP with Beanstalk

I finally started using Beanstalk, a very simple yet powerful tool that has improved greatly deployment at work. Beanstalk is really simple, it works as a remote repository (works with Git and Subvesion) and it allows you to connect through FTP to your server for deployment. You have full control of when and how you deploy. You can either do an automatic upload every time you do a push request (not recommended at all on production) or you can manually deploy. They even let you include an special command in your commits to trigger an auto deployment: [deploy:production]. You also have the option to configure different environments for the same repository, for example staging and production.

Deploying on beanstalk
You can add notes everytime you deploy code to one of your servers

Usually, before you deploy you want to review the changes to be sure that everything is ok. Beanstalk let’s you do that on site. It provides a section where you can check every commit, with a view of the changes file by file. There you can comments and notify your colleagues, edit the files or ask for a review by your co-workers. Once verified that all changes are correct, you can navigate to the Deployments section and just push the changes to the server.

Beanstalk review code page
Reviewing code is painless and built for collaboration

A good option thanks to its simplicity

As you can see, Beanstalk provides few but very useful tools to make deployments easy and painless while maintaining a high level of control. They claim that they ‘have a global redundant infrastructure and make use of the latest encryption techniques to keep your files secure and available world-wide’, that sounds really good but I don’t have a way to verify that it’s 100% true.

The only thing I can add is that it is working really well for me and so far I’m happy with the results. The learning curve is close to zero if you’ve been using Subversion or Git and you’ll see the benefits immediately. I think I’ve made the right decision here, but I’m always open to hear anyone’s opinion.

P.s. If you want to check it out they have some free options.

P.s.s: images are examples taken from Beanstalk’s website.

 

Jamie Lenman Devolver

The Turntable Series: Jamie Lenman – Devolver

Jamie Lenman has become over years one of my favorite artists. He started a band named Reuben in the early 2000s that was an underground hit. During the 7 years they spent together, Reuben released 3 fantastic albums, each of them evolving their sound. They always characterized for being able to go from a truly hardcore metal to the most sweet and pop-y sound, sometimes even in the same song. After the split, Lenman spent 5 years dedicated to illustration before coming back to music in 2013 with the double album Muscle Memory. One day I’ll talk about that weird but extraordinary album, but today is time for Devolver.

Carrying the flag for variety

At it’s core, I think Devolver is a rock album. It has a series of metal tunes but I think it would be misleading to put it on that genre. The album moves constantly between different genres, making it difficult to classify. In a way, it goes back to that Reuben sound but taking it to the extreme. That could make for an inconsistent experience, but Lenman is able to make it work.

Jamie Lenman Devolver
The guy’s look is just… I don’t know how to describe this xD

I think an excellent example of this is the song I Don’t Know Anything. The song starts with an 80s punk sound, it evolves to a melodic rock song and then it changes again and again. We have what it sounds like a string quartet, a very melodic part and finally something similar to a military march. It is crazy but it works and is pretty unique. We also have tunes like Waterloo Teeth and Mississippi that are fairly conventional metal songs, or songs like All of England is a City that could easily be part of a Foo Fighters album.

Jamie Lenman’s Devolver

Lenman voice’s range allows him to dive into different sounds and genres and perform well in all of them. It is not that usual to find artists with the ability to pull out an album like this, as is not only musical skills what are required, but also a taste for other genres and the willingness to push those boundaries. In a world where music fells constantly in common grounds, we need more people that tries to offer something different and refreshing.

Favorite track: difficult,  but I’ll go with the title track – Devolver (Mississipi, I Don’t Know Anything and Bones are also really good)

Listen to Jamie’s album here: