Saturday, June 9, 2018

Why do I watch playthroughs of videogames?

"Why do you watch a playthrough of a game? Just play the game!" I have heard that plenty of times, here are some of the reasons why I do not play the game that I am watching:

1) Lack of time: This is an oxymoron, I know, but the case here is that I work, do other stuff, I sometimes do not have the time to directly dedicate to a game as much as I would like, the whole nine yards, while it sounds stupid to say that I could have dedicated the 20+ hours watching the game to actually playing the game this takes me to the next point;

2) It's just background noise: Yes, sometimes I am not even watching the thing, I just have it as background noise and from time to time turn to it, while this sounds weird to some people I rather have this as background noise than music (yeah, sue me on that). I only alt-tab or turn to another monitor when I hear some commentary on something that could be potentially important (or stupid, maybe something cringe worthy).

3) Do not have the resources to play it: While I have several computers in the house none of them, well maybe one of them, are built on the last decade (2000-2009) which leaves me out of playing most of the games I could potentially be interested in, I could surely invest on a new machine but I also have to pay rent, utilities, a car, food, etc. So a new computer is at the moment out of the question until I can either find a good enough discount or manage to scrape enough money to build something out of parts I get from flea markets (of which I already have half to build a decent computer).

4) Do not want to mess with emulators or old hardware: Now looking at the other way, I have enough old hardware to mess with and play some really old games straight from the CD or Floppy, even from 5 1/4, but going full retrogaming means I need a CRT (which I actually have stashed and needs to be checked by someone who knows how to fix a CRT because it shorted out) and an old keyboard and trackball mouse (of which I have all), did I mention you need an old PC for the whole experience to be as close as possible to how it was back in the day? Most will not try to figure this out, no matter how cheap the parts could be, and sometimes figuring out an emulator can be a pain to some (and Linux doesn't make this any easier apparently).

5) No demo available for the game, not willing to spend money on something I can't try out: This is probably the main reason I watch most new games on YouTube first before buying them, while I could make a risky decision of paying 50+ dollars for the latest whatever game or 20/30+ for the latest indie game I do not feel this is not a sane choice, this hits harder in a time in which demos are no longer available, developers barely give a hint of the game through their available material, piracy becoming a more viable option before making the final choice, there are so many more reasons that require demos to be back on the table, urgently, so that we as players can either dismiss the game or build a more appropriate hype around the thing that we are looking forward for (perfect example, Alien: Colonial Marines was an obscene kick in the ass to everyone who was looking towards the full experience of reliving those very tense moments only to find this carcass of a game).

6) Kickstarter/Indiegogo campaigns banish into thin air: Not so much as a playthrough but I mostly end up finding out about games that become vaporware from YouTube, testers and the like, sometimes I wonder what could have been of a game had the developers not dropped the issue for whatever reason they decided to do so or not scammed players (remember that game in which you would become an Ant, another perfect example of what happens when you have the wrong people in your team and then get robbed of everything).

Tuesday, June 5, 2018

Why I decided to relearn HTML after programming for so many years

Lately I joined the #100daysofCode to pump myself while reading stories from others who are learning new technologies, I jumped the gun and tried out static pages and PyGame but noticed a common mention of freeCodeCamp, being curious about it I jumped the gun and found it’s a website to learn how to code HTML but it does not stop there (more on that later once I go through the whole thing) so I decided to take it and see what it was all about.

To say that I have lived in the past these last years regarding how to code would not put the whole experience on the table, I am shocked to learn how many things HTML5 brought to Web Programming, so much that I noticed that some of the things I kept using from HTML4 are no longer in use while some others changed (for the better, because HTML4 could be weird at times).

This took me back when I started learning about how HTML worked (this was more than 10 years ago) when building a table and making it look right was so complicated in my mind it took me two days to actually figure out what every part of the table did, how to nest them properly and then I would still mess it up (I admit it, I was trying to make some funky stuff with the tables but it worked out in the end, trust me).

When I took some programming jobs early on during my learning days I was baffled by the amount of code that was used back in the day for the front-end, most of the websites I got to see had been built with some type of software which eased the soul of the designer but not the soul of the programmer, I am talking about software like Dreamweaver. Then there was Javascript (and in some weird instances I remember seeing .asp and .vbs somewhere in the code, yes, this was a time of trying to figure out how to make it work and leave it as it was).

At one point a company (not giving out the name) wanted me to make a website which automatically marked some of their items as sold when doing a live presentation for potential customers, this would in turn make people think about making a quick purchase and dumping tons (and I mean tons) of money into something that was worth 20% of the shown price, I am pretty sure some of this stuff continues to happen nowadays and this is why I keep a clean policy when building websites and working with computers belonging to my customers, their privacy is my number one concern but if I see that they are doing something that is completely immoral or against the law I will distance myself from them.

Back onto 2018, what has freeBootCamp taught me about HTML? A lot, it does bring me back to the days when I was learning for the first time but I also see that I now understand most of the logic behind of what I am doing (back then it was hard to grasp something so… esoteric), there is YouTube, GitHub and Stack Overflow in case I do not fully understand it (imagine, back then most of this did not exist, I think none of it did so it was either finding some reference lost in a forum or reading a book!).

To others trying to learn HTML, take this chance and go through the whole tutorial, HTML, CSS, JS, move further and continue pushing through, ask all the questions that come to mind, keep moving forward and when you look back do it with pride because the road ahead can be very long but also very satisfying.

Saturday, June 2, 2018

Why I took the path of Python 10 years ago and continue to walk it

10 years ago I found myself looking for a programming language to learn., I had tried HTML back then and had learned some CSS and JS which I had put to practice, then I tried C, C++, VB6, Java, but all these languages turned out to be too complicated for me to learn easily and without any formal education on the subject I had an issue figuring out most of the things and what to do with all of it, in the end this did not take me anywhere and I dropped the case for a while until I decided to put my heart into one particular language and it all started with a google search:
really simple programming language for beginners
The above returned some obscure languages and web programming but one of the first ten options was Python, I had never heard of it but going through the whole thing made me see they were not joking when referring to a simple programming language, it was easy to learn but could be very powerful when there was purpose and intention behind it, I tried some tutorials but found that while I had learned the basics I still had no real purpose on using it as I was not working in anything related to IT.
One idea that eventually came to mind was to make a text game in Python, my endeavor did not go far but I did learn a lot which in turn would help me a couple of months later when I started working Desktop Support, inside a very large environment I could test some of my theories on how far I could push Python and I did get a lot of stuff done back then by double clicking one of my Python scripts (most of which I still have with me to this day but have little use in the company I currently work with).
It didn't take me long either to figure out Python was a really big thing, so big it was part of Debian (figured this out when I was trying something out and noted I could run Python scripts from the get go) and most if not all Linux distros, the ease of use and power it holds really turn many wheels, what also surprised me and made me understand that I was looking at the right language to learn and practice was finding out that Civilization III and IV have Python in them which moves many of the things in the background.
Recently I decided to retake Python in full strength by figuring out how to use PyGame and make a platformer game, looking around in YouTube I found a very comprehensive tutorial by Tech with Tim which has really put the library into such an easy perspective that I have already figured out how to hack through some of the code he provides and add some stuff. I also noticed that it was important that I already knew Python otherwise I would be a bit lost in the whole deal as he goes by fast to `economize time to provide the most related material on this subject.
Why do this though? A while back, talking to a friend, we decided to work something out in RPG Maker, but the engine is limited, most of those engines are from what we have seen, and we really wanted to do something great but neither of us was intent on learning Unity for this matter (probably too much to learn for such a simple thing, uneducated opinion though). I also remember trying RenPy a while back and may retake the idea of either mixing ideas from visual novels and a platformer/RPG or something else, who knows, this time it is taking more of a solid form than the last times I have tried to do something like this.

Tuesday, May 29, 2018

Why I decided to replay the old Fallout series and loved it

Recently Bethesda teased the gamer community with the possibility of a new Fallout game, they simply showed a "Please stand by" image and apparently left it there, still unsure if a confirmation was given or not about what was it but I dismissed the game, I simply don't like the new series and I tried all of the recent ones, it just isn't Fallout and even if heretical to some I think the last true game on the series was Fallout: Tactics.

So for the purpose of proving myself either right or wrong about how good was the series back in the day I took the task of installing the original Fallout and here I found myself in an ordeal I had not dealt with in many years. I spinned a virtual machine for Windows XP SP3 (I got legitimate licenses, leave me alone) and was successful on installing the game there, to my surprise the mouse was going all over the place with the slightest move so this was not the way to go, no matter how much I fixed and tweaked I could not get the thing to do what I wanted.

Next step was to use Wine and here is where I re-learned what a pain it was to setup, Wine is a Windows emulator for Linux, you can install programs and interact with them as you would in Windows, but you’re on Linux, and the thing does not get any less complicated from there. Turns out that every time I want to give Wine a chance it’s always a hassle to setup, installing is simple as the repositories for Debian contain the packages, but doing the whole thing, getting the setup right, making sure everything worked, it was trial and error until I managed to get the thing right and for this I took around some three hours to figure out what I was doing wrong. (Turns out I just had to leave the latest version of Wine as the default for the program to run, silly me eh?)

Once Fallout was installed I found another peculiar issue, I could run it windowed but I could not switch to other windows or things on my desktop while this window was running and I did not want to go through another hassle to figure out why this was the case, the whole reason behind this was that I wanted to record a play-through of the original game and eventually Fallout 2 and Tactics, but I could not even do something as simple as ALT+TAB to press record, eventually I figured that if I ran the thing full screen and setup the right coordinates on the recording program I would get the whole thing and this is how it will work from now on.

After this I finally met this jewel again and I have so many fond memories, everything came back to me (even things that I know I have missed so far), exiting Vault 13, finding Shady Sands, doing the radscorpion quest, figuring out that Vault 15 is a pile of rubble and your quest is going to take you a very long while to figure out and you got less than 140~ days to get to it before everyone dies on the vault, the first armor and new weapon you get (that Mad Max leather suit, because that’s not a jacket that’s the whole thing, and the SMG that has the lamest sound ever, the handgun sounds far more brutal than the poor thing and they do the same damage as far as I recall, unless of course you do burst).

Tweaking my character was also a personal no-brainer, I found that in the world of Fallout, a world that was blown to pieces by a nuclear war many years before you were even born (if memory does not fail me), you can find a ton of ammunition, way too much, so I never really bothered with melee as I could always find the ammo I needed for my weapon, I can’t wait to get the power armor and harden it, the .223 handgun (which is a nod to Blade Runner), fighting some of the weirdest and toughest bosses of the series, getting the random encounters that are very random indeed, finding meatdog (eventually, hope Ian doesn’t kill him as usual or me for that matter).

This is why I know this game is a jewel, it’s been more than fifteen years since I first found the dual-case that contained Fallout 1 and 2 for the bargain price of two dollars at a Wal-Mart, I remember installing them humongous version and my dad being furious at me for filling up the hard drive on the computer (we had a 3GB hard drive back then, imagine that!) but managing to run the game so smooth and fast it didn’t matter, so much I played both games that they skip from time to time and I think they are at the end of their life, so sad as it will be hard to find such a bargain again (unless GOG or Humble Bundle gives them away for super cheap again but I highly doubt it).

With all that being said, give it a try, enjoy it, take the time to learn probably one of the best and easiest systems for a role-playing game (because AD&D sucked in Baldurs Gate although it was an awesome game nevertheless).

Learning Ansible and Vagrant or why I really need to put myself to date

For some time, I have heard Ansible this, Vagrant that, Docker and Kubernetes, Cassandra, and a bunch of other names of applications, services (or micro-services, whatever that is), APIs and whatnot, these are all foreign to me and come surprisingly fast to me in a time when I'm trying to pick up coding again because I want to try my hand again at doing something interesting.
I have learned first that I keep doing things the wrong way as I go through the Ansible from Beginner to Pro by Michael Heap (which by the way needs some revisioning as I find some of the wording confusing as hell) when doing development and provisioning of my environment.
So let me backtrack here and explain what I’m talking about, some years ago I used to work at a company that handled auto parts for the entire country and our plans of expansion were putting a real strain on our current inventory system (something built in Access 2010) so the company needed something different, enter me as a Junior Programmer to figure things out together with my boss, we handled it the best we could but in the end we did not manage to push the project through and parted ways with the company.
From my tenure there I learned a lot about PHP, jQuery and MySQL together with Linux, but I was still lacking in many ways the knowledge I needed to do what the company needed (I was Junior anyway, but you get my drift, you want to eat the entire world). As time has gone by I have kept up with programming through different methods, either building Bash or Python scripts, a small website to keep track of something very specific or some random requirement from a friend.
About a year ago I decided to get back into the whole thing now that I have figured out how to really handle my free time and through the magic of Humble Bundle I have acquired about forty to fifty or so books (of which I have used maybe one or two, I am behind on reading but I’m doing my best to keep up) which lately include Web Development (I mentioned previously this as I was interested in the whole Static Sites thing).
For this whole purpose I wanted a server, a real rack-mounted server, which now sits on my desk (and works as a nice extension of it) that I got for cheap (thanks eBay!). At this point in time the PowerEdge 1850 has been partially upgraded (still waiting for other parts), has the highest version of ESXi it can handle (which is 4.1 update 4) and has been tested out to see how it performs and for the price I spent I can’t complain, it does a very good job and frees my laptop from the hassle of having a test environment on the same machine I use for other stuff. My problem was that I needed to handle the deployment and installation of the machines and I did not want to go through the whole damn hassle of replicating everything item by item, so I went and looked through the books I see the Ansible thing and I think, well, better give it a shot (I know I could try Docker and containers but bear with me as I struggle to figure out most of the stuff I have to get up to date with!).
So far trying Ansible and Vagrant have been as usual a very mixed bag of results, Ansible was easy to install, Vagrant not so much and it was throwing a fit due to the version of VirtualBox I had installed so I had to download everything from the respective websites and install it on my laptop, after figuring that out I got to work on some playbooks and provisioning, when I saw how it worked and what it did I was shocked, I had thought about this same idea a couple of years ago and even thought about how to do it, I knew there had to be an easy way to deploy virtual machines and then push a script or something to install all the stuff it needed before it could get to work, little did I know that such a thing existed in the form of Ansible (not dissing or ignoring Chef or Puppet, Ansible is what I have at hand and that’s what I’ll work with).
My other problem with Ansible is the way playbooks are coded, at first it felt a bit esoteric but once I understood the logic I figured out that it was more of a be very careful of how you write stuff otherwise it won’t work approach than anything else, frustrating at first but once you get the hang of it the thing seems pretty obvious what you have to do and how to do it. Also, there seems to be a considerable number of playbooks available to go through, so I’ll have to give them a check once I am done with this book and get everything setup the way I want it.

Monday, May 28, 2018

The perceived purpose of an open world and gameplay

It sometimes impresses me how far we have come in video games in regards to world building, I always assumed it was a pain and a hassle to build everything from the ground up (I remember seeing some documentary about how Doom was made and was shocked at the amount of paper they had on their desks and how everything looked like back in the day, but I always wanted to know more about it).
As games continue to grow in quality and size so does the tools that help this purpose, some worlds are huge and beautiful, filled with so many things you must spend a considerable number of hours to explore all of it, but is this the right thing to do, do we really need a world so big it takes us forever to look and some random thing in the middle of nowhere?
To mind comes Elite Dangerous, a game where the space in which the player can move is absolutely huge, some new features were added with time but the game (cost rather) never hooked me enough and I tried it with the official stick and thruster which made for an even more realistic experience, I was not hooked because I felt there was nothing to do in the world aside from going around all over the place fulfilling some demand in order to get money and upgrade your ship, sure, the space battles were very good but that was it for me.
Same thing for other games that seem to be trying to share this idea of a procedural generated world that can give the player an immersive experience, No Mans' Sky was a huge example of this and so was Sea of Thieves, sure you have these massive worlds or lands to explore but for what purpose if what you find in them is one of the following scenarios:
  • Generic mob or scenario which becomes repetitive way too fast, there is a pattern to find here and it soon shows that there is little inspiration behind it
  • Empty scenario with some “great landscape”, sure it’s cool to see some cool eye candy from time to time but if you are paying 50/60+ USD for the game you better get more than some nice background, some commentary by the characters, a random event (I keep thinking about those very odd events you would get in Fallout and Fallout 2), something to fill up that void you suddenly feel when reaching that point
  • Unfinished idea/area which was to be worked before/during/after release and never got pushed past an idea, sure, sometimes you can make something out of whatever was lacking and build a nice placeholder (which may never go away) but at least it’s not so obvious to the eye
  • It so happens that time or resources run out to finish all these great ideas that could have been an awesome game, therefore keeping the scope of development into a realistic arena is the best way to finish the product and then keep building over it (just like Paradox Interactive does with Europa Universalis 4 or Crusaders Kings II, just look at all the DLCs available for each game!).
  • On the above, a DLC can be a great way to bring something that was too far on the original development cycle to the player at a “reasonable” cost, but a DLC is in no way compensating for whatever is lacking from what was originally planned, if the game was sold as having a specific feature and then it’s being sold to the player because of X/Y reason this is just bad, plain and simple, there are hundreds of examples available nowadays regarding this situation.
Also to add another very valid point here, you don’t need to have the best graphics or eye candy for your game to work, just look at Mount and Blade, it still supported DirectX 7 when it came out and was nothing too impressive graphically but the gameplay was incredible, same thing for Hotline Miami, it was not the greatest thing to look at but once you got hooked you were set and done, I have dropped countless hours on Hotline Miami 1 and 2 to get better times, Banished was a game that while not very fascinating graphics wise had a very challenging gameplay with some interesting procedural generation, not always the map was the fairest but if you knew how to squeeze every inch you could make it work (specially in the smallest mountain scenario that could earn you an achievement if you survived more than 20 years), Depraved, a city building game during the Old West, is a game I would have never expected to see and I really want to play the game even in its crude alpha state because it's something I never thought would look so interesting, Factorio is another game that is very weird, I discovered it by accident while watching Arumba in one of his playthroughs and became fascinated by the game, soon after I got friends hooked up and we were doing LAN parties (yes, we still do these in 2018) in which four or five of us will work our way through some very hard scenarios, but both of my personal favorites and challenges (which one of my friends was so shocked to see that he called me an absolute nerd when he is already one of the biggest nerds I know) Dwarf Fortress (no mods, no nothing, just the pure raw game as it is) and Cataclysm: Dark Days Ahead.
Figure this out, the last two games I mentioned have no real graphics but letters which symbolize something (that something you may need to “examine” to figure out what it is) while in other instances it is a bit obvious what it is, there’s a lot of reading, some very hard learning curves that will see you die almost immediately for the first twenty times and then, then you will figure something out, then you will get to understand the mad world surrounding you, when you can make those very first steps without reading a guide you know you’re done for, you have gone too far down the rabbit hole.

Sunday, May 27, 2018

Figuring out Node.JS with Debian, a never ending journey

Many years ago I decided to switch over to Linux as my personal OS, in particular because I did not feel like buying a computer every so often and also because I did not have the money to upgrade to a considerably new machine (nowadays I still don't have the spare money to do that but from time to time I find parts that I either use to upgrade what I have or store them to build something better).
I played around with many Linux Distros (ranging from Fedora and Ubuntu to Debian and Mandriva) but ended up landing on Debian 5, to my luck Debian 6 was released a few days after I switched over to Linux and I could finally get some of the issues out of the way for some basic stuff that I needed back then (namely Dropbox), from there on I have worked with Linux at home for what would now be 7 years but I had played with the idea of working around with Linux since 2004 during which I found it quite complicated (I believe it was Mandrake that I was trying back then and eventually Slackware but neither seemed compelling to me).
From time to time I keep finding the odd Linux error which has a solution somewhere on the internet, in other instances I am confused and must work on compiling something to make either an old package work or some obscure program run on my machine.
Another thing I have learned during my tenure with Linux has been web programming (PHP and MySQL) and some scripting with Python mostly but also some Bash, these have helped me a lot on previous jobs and I have come to notice that knowing these I could put them into more practical use than whatever my work is requiring of me, such as getting a small website up and running to have presence on the internet aside from the blogs and YouTube account I currently handle, by chance I found some Web Programming books on Humble Bundle and a book caught my attention immediately, Working with Static Sites by Raymond Camden and Brian Rinaldi. If memory does not fail me static sites are a thing of the past, but I was very intrigued on trying this out and I have not been disappointed so far as my curiosity with Node.JS, ReactJS and other modern languages continues to intrigue and elude me (as I do not currently hold a position which requires me coding all the time I am not up to date with much of the things web related).
I found a problem when starting some of the tests, I decided to install Node directly from a repository and when updating or installing new packages through npm it would not work, intrigued as to why I would need sudo all the time I started looking around and found that this was an issue in how npm was handling everything and that nvm was the solution for my problem.
After downloading the latest version of nvm and easily installing it I proceeded to update npm to the latest version (npm install -g npm <-- This intrigues me, the fact that there is no command to directly update npm amuses me), finally installed harp (which was throwing a fit about a bunch of stuff not working and node-sass not installing because using sudo would break it and not using sudo would tell me there was an error during the process).
After I had done this I noticed it would not work, intrigued I checked one of my virtual machines, repeated the latest steps and got it to work without an issue, went back to my machine and remembered that I had installed through a repository so I removed it manually from the sources.list file and removed the package, with this I could finally get harp to work and show me the initial website from the default template.

Installing OSSEC 3.7.0 on Debian 11 (Bullseye) How-To

Now that version 3.7.0 has been released I took another deep dive into how this is compiled from Source, as usual I brought this onto me bec...