Wednesday, September 23, 2020

The Year In Review, Just The Leisure Time

Last January I did a review of how I spent my leisure time the previous year, and I set down a few expectations for the coming year, now past. It's time to look back and see how my actual activities stacked up to my expectations, and maybe learn something for the fresh year to come in 2020. I had big ambitions between reading, blogging, and playing, and not all of them were achieved. But, that's okay because it makes it easier to figure out what I want to do this year—some of what I didn't finish last year, and some new ideas and desires. How I spend my leisure time is very important to me. It should be at the same time relaxing and reinvigorating, enjoyable and enriching, soothing and stimulating. If one thing is obvious, it's that I still love to read because it hits all of those notes, and that is likely to continue in the year(s) to come.



Blog Posts

I'll start out again with what I've done on my blog, and I very nearly did everything I set out to do. I wrote 17 posts (not counting this one) instead of the predicted 18 because of how the 3-week intervals fell. They were almost all Tech Book Face Offs, except for the last two that were a general review of books I will read again and programming practice sites that I've enjoyed, and a random Physics Book Face Off that I threw in there in April to mix things up.

The most popular post by far was the review of books that I'll read again, which racked up over twice as many hits as the next most popular post, and it was pretty fun to write as well. This was not your normal list of best books because I'm tired of reading best-programming-book lists that put up the same old safe books like CLRS or Knuth's The Art of Computer Programming. This post had a little of that just because some of those books are great to reread, but these were all genuinely books that I want to read again, not just because they're instructive, but because they're enjoyable reads. They make my brain tingle. They get me excited about programming and learning (or relearning) new things.

Of the Tech Book Face Off posts, the top three most visited ones were Python For Data Analysis Vs. Python Data Science Handbook, How To Design Programs Vs. Structure and Interpretation of Computer Programs, and Seven Concurrency Models in Seven Weeks Vs. CUDA by Example. These were all good, but the one that was most fun for me was easily Game Engine Black Book [Wolfenstien 3D Vs. Doom]. Reading these books was a blast, and writing down my thoughts about them was just as fun and satisfying. I'm surprised it didn't gain more traction, but I'm pretty much done trying to figure out which posts are going to take off and which ones will fly under the radar of the Internet.

For the coming year, I'm planning on keeping up the same cadence, which means 18 more posts. That's really 18 posts, too. I checked. I didn't get to that exciting blog series I alluded to last year because the schedule was filled up with reviews, but I'm intending to start in on it right away this year. The book review posts will be much reduced as well. I've only got about a dozen programming books on my list that I'd still like to read, and I'll probably hold off on them while I work on this other project.

Technical Books

I really dug into the technical books this past year, even more than the previous year, and I just met my goal of 22 books (plus 2 pop physics books) while working through most of my tech book backlog. As I had hoped, most of these books were quite good. A fair number of them even made it onto my read-again list. There were only a few duds and one stinker. Here's a run-down of them, roughly ranked in order of preference and linked to the longer Tech Book Face Off reviews.

The Good
  • Game Engine Black Book: Wolfenstein 3D - Between the high level of nostalgia and the fascinating topic, there was no way this book wasn't going to top this list. It's an incredibly well-done guide to how Wolfenstein 3D was made.
  • Game Engine Black Book: Doom - Arguably, this book is even better than the Wolf3D one, but you should really read that one first so this one comes second. I highly recommend them both for anyone curious about how these legendary games were done on such feeble hardware.
  • Rails AntiPatterns - I loved the tactic this book took of showing bad Rails code, explaining why it's bad, and then showing how to fix it. Some books do this sporadically without telling you in advance, but this worked so much better, knowing that each example was intentionally bad from the start so there was no confusion about what was the right way to do things.
  • Data Smart - This was the most fun I've had reading a book on Excel spreadsheets. Not that I read many books on spreadsheets, but if I did this would definitely be the best. It's about implementing data science algorithms in Excel with humor, and it's so much better than it sounds.
  • Don't Make Me Think Revisited - I enjoyed the first book, and the revised edition is just as good. Learn all about how to design user interfaces that make sense, and have a great time doing it.
  • Structure and Interpretation of Computer Programs - A classic that still holds up today for teaching the fundamentals of programming and much more, this book has a steep learning curve, but the rewards match the effort it takes to get through it.
  • The Hidden Reality - This was a super fun and mind-expanding read, taking us through the numerous types of multiverse concepts that have been thought up by cosmologists. Brian Greene continues his excellent, approachable writing style with this enjoyable book.
  • Parallel Worlds - Michio Kaku does his own tour of the different types of multiverses we can conceive of, with a few more fantastical stories thrown in for good measure. This is another great book to read to get the high-level overview of this topic.
  • Facts and Fallacies of Software Engineering - You don't have to agree with everything in a book for it to be excellent, and that's the case here with Robert L. Glass' thought-provoking arguments about the software engineering industry. Still relevant after 17 years.
  • Professional CUDA C Programming - If you're interested in GPU programming and want to play around with your nVidia graphics card, this book has all the information you need to get started in a nicely written, diagrammed, and organized guide.
  • Python Machine Learning - It's a solid introductory text on the fundamental machine learning algorithms, both in how they work mathematically, how they're implemented in Python, and how to use them in scikit-learn and TensorFlow.
  • Data Science From Scratch - Fundamentals are so important to learning a topic well, and this book does a great job of teaching the fundamentals of data science by implementing the algorithms from scratch in Python.
  • Seven Concurrency Models in Seven Weeks - I've loved every 7-in-7 Weeks book that I've read, and this one is no exception. It's an entertaining read through seven different ways to do concurrent programming with today's technology.
  • The Non-Designer's Design Book - Learn how to design boldly in text and graphics with a few simple rules and clear, straightforward guidelines. Anyone and everyone who works around websites should give this quick read a look.
  • Getting Clojure - If you're looking for a fun read and a tour of the Clojure programming language, this is the book to pick up.
  • Effective Python - Every programming language has its beyond-the-beginner-level book on how to write programs in that language well, and this is the one to read for Python.
  • Programming Elixir ≥ 1.6 - An excellent book for learning the ins and outs of this highly concurrent, fault-tolerant language, and it's well worth a read if you're operating in that domain.
  • Metaprogramming Elixir - This book fills in the few gaps in Programming Elixir ≥ 1.6, and it's a great companion to that book.
  • Programming Pearls 2 - This is a fairly decent algorithms book that's worth a read as a casual second or third book on programming algorithms.
The Not-So-Good
  • CUDA by Example - This book is clearly written, but not especially well-written. Still, it's a good introduction to CUDA programming that covers the basics. Just don't feel compelled to read it all the way through, as the later chapters are fairly useless.
  • Learn Functional Programming With Elixir - Neither thorough on Elixir nor especially focused on teaching the unique aspects of functional programming, this book left a lot to be desired. It's fine, but not great in any respect.
  • Programming Massively Parallel Processors - For a subject that is inherently interesting to me, this book managed to be tedious, verbose, and opaque in its explanations, and way, way, way too long. The necessary information is in there, but it's not worth the effort when there are better options available.
  • The Rails 5 Way - This book was so much longer than it had to be. It was light on discussion and super heavy on documentation, as if it was simply a transcription of the online documentation into a book.
The Suck
  • How to Design Programs - Nearly 750 pages of the most tedious, drawn-out, agonizing explanations about learning to program, I disagree with the title given to this book. Nowhere in it does the reader learn how to design programs, maybe design of functions at best.
This showing is much better than last year, with a half-dozen more good books, and less bad books. It was actually quite hard to rank the good section beyond the first few because they were all well-written and engaging. I don't know if I was better at selecting good books to read, or if I just got lucky, but I was pleased with the high level of quality in this year's book list.

Novels

As planned, I read even more technical books this year than last, but I still managed to read some great novels in the past year. Partly, this is because of listening to audiobooks in the car, and I have a 30 minute commute to fill. The number of books I got through was still less, but some of them were much longer than what I read the previous year. Again, they're roughly ranked.
  • The Way of Kings, Words of Radiance, Oathbringer - Wow. Just WOW. I could not believe how wonderful these books are. The characters are all flawed and broken and so human, the story drags you along as you watch in amazement at how everything develops, and the world that Brandon Sanderson built in this Stormlight Archive series is simply incredible. It has weight. It has life. It has history. I can't wait for the next book to come out.
  • The Fifth Season, The Obelisk Gate, The Stone Sky - This trilogy is just as awesome as the Stormlight Archive series, and I was constantly amazed at how clearly written the world of the Stillness is. The fantastical powers that the orogenes and Guardians have could be confusing, but N. K. Jemisin writes so simply and beautifully that everything was crystal clear in my mind as I read it. The story is at the same time one of the most engrossing tales I've ever read and a powerful allegory about the struggles of racism in society. It's enlightening and revealing without being accusatory. Beautifully done.
  • The Golden Compass, The Subtle Knife, The Amber Spyglass - Throughout this trilogy I was continually surprised by the incredible imagination of Philip Pullman. Each book brings entirely unique new elements into an already rich and diverse world, or rather many-worlds. Even with all of these new elements being introduced, the world always felt cohesive and real. Everything made sense within the context of the story. This is a hard thing to do right, and Pullman did it masterfully.
  • The Eye of the World - I'm just getting started in this long Wheel of Time series, and I'm already hooked. The first book is essentially one long, thrilling chase through a world of mystery and magic. The reality of the world is revealed slowly, and the suspense of wondering when you'll find out that next tidbit of knowledge about the world was gripping. By the end I have more questions than answers, and I'm ready to learn more about the Wheel of Time.
  • Snow Crash - This book was ridiculously fun, plain and simple. The setup makes no sense at all and the story doesn't care one whit about anything, but it doesn't matter. You're a pizza delivery boy in the future who also happens to be the world's best samurai swordsman and an elite haxxor. You get mixed up in some crazy shit and lots of weird stuff happens. It's a wild ride, and you're just going to have to read the book to see how it all works out.
  • Jurassic Park - It's a book about man recreating dinosaurs in the modern age. What could go wrong? And what's not to like? This book is basically a classic at this point, and great fun to read.
  • Ringworld - While the premise of this book was interesting—humans and aliens go visit an enormous world built in a ring around the aliens' host star—I just couldn't get into this book by Larry Niven. The story was only tangentially about the ringworld, and the main focus was actually about whether people could be bred for luck. It seemed like Niven wanted to write about building a ringworld, but couldn't figure out how to write a compelling story around that so he had to also write about this other thing to justify it. Also, his writing was too disjointed for my tastes. Scenes changed so abruptly and dialog and narration was so terse that I had trouble understanding what was going on most of the time. That was a huge disappointment, especially considering the other books on this list.
  • The Color of Magic - This book was another disappointment, but for a different reason than Ringworld. The writing was fine, even funny sometimes, but the discworld made no sense at all. Completely random and nonsensical things would happen to the main characters at every turn, and I never could figure out what the plot was about. It didn't take long to lose interest in the characters altogether, since whatever happened to them wouldn't make any sense whatsoever and they were probably going to end up fine anyway. There were a lot of similarities in style to The Hitchhiker's Guide to the Galaxy, and while similar elements somehow worked there, they fell totally flat in The Color of Magic. That leaves me with no reason to read the other 40 books in the series, lucky me.
One of my goals here was to branch out and read new authors, and I mostly held to that goal. There's no Stephen King, Neil Gaiman, or Dragonlance books on the list, but I did read another book by Neal Stephenson after Seveneves and was not disappointed. The first eleven books were extremely hard to rank. They're all basically equivalent levels of awesome in my mind, and you absolutely should go read them if you haven't already. The stories are incredible, and the worlds these authors imagined and built are even more incredible. 

I also reread Jurassic Park, from my youth, by way of introducing it to my daughter, who absolutely loves dinosaurs. It was well received. For this year, I already know I'll be rereading The Lost World with her. I'll also be continuing The Wheel of Time saga, and starting another new author for me, Ursula K. Le Guin, with A Wizard of Earthsea. Other than that, I'm thinking of finishing up the Foundation series by Isaac Asimov and reading a few more new authors. All I know is there are a lot more worlds to explore.

Video Games & Movies

I actually have not watched many movies this year. It didn't seem like there were too many worth watching. I did see Avengers: Endgame, of course, and it was probably one of the best movies I've ever seen, considering the vast context and buildup of the rest of the MCU. I also finally saw Captain Marvel (I wait until I can get movies from the library), and that was pretty good, too. 

One of the more unique movies that I did end up watching was Annihilation. I happened to get it when I was by myself in the house one night, and I popped it in the PS4, turned off the lights, and turned the sound way up. That was an intense, wonderfully creepy experience. Do you know how great the sound effects are in that movie? And that freaking bear, holy crap. I'm surprised I got any sleep that night. 

I also rewatched The Lord of the Rings with my wife. Those movies hold up really well. If the movie drought continues, I've got a growing list of other (not-so) old movies to watch again, like Jurassic Park.

As for video games, I'm still enjoying the LEGO videogames with the kids. We finished up Jurassic Park (are you seeing a theme here?), The Hobbit (much better than the movies), and most of Marvel Super Heroes. We're still working on The LEGO Movie, Batman 3: Beyond Gotham, and LEGO City: Undercover (this game is ginormous). Then we've started Marvel Super Heroes 2, Marvel's Avengers, and we just got another batch of LEGO games for Christmas. I don't know why, but I don't ever seem to get tired of these games. It's gotta be the character development. (I'm kidding; it's the graphics.)

For myself, I ended up playing Lightning Returns: Final Fantasy XIII and God of War III. These are two very different games, and yes, they're both older than dirt. I said last year my backlog was deep. I know Final Fantasy XIII got a lot of criticism, but I still enjoyed the whole trilogy. I especially liked Lightning Returns for the new battle system. Gone are the menus and inventory lists, and instead you link four different actions to each of three different outfits to set up your available commands for a battle. You have a few other special actions that you can do, and then you're choosing actions in real time during battles. It's a much more dynamic, exciting battle mechanic than selecting actions from menus, and like most Final Fantasy mechanics, surprisingly deep. It really made the game for me. Lord knows the plot didn't.

God of War III was another installment of hack-n-slash, vengeance-upon-the-gods action game that was pure entertainment. I was reminded of how perfectly responsive the controls are in these games, and I think the most fun to be had was beating the crap out of Hercules.

The Year Ahead

I have more than enough games to play this year as I play through my backlog. I actually got more new games than I finished, so that backlog is just getting deeper. If only there was more time. I won't be reading as many technical books, so there's that, but I'll probably fill a lot of that time with more novels and the next blog project. Still, maybe I can squeeze in a couple more games, and I haven't picked up the guitar again, yet.

Tuesday, September 22, 2020

Tobu Tobu Girl, The First 100% Libre Game Boy Game, Is Getting A New Deluxe Edition


I've been holding on for too long to report this one, but now it seems to be the right time. Tobu Tobu Girl is a wonderful thing. Developed by the nice folks at Tangram Games (who previously brought us the equally libre titles Mr. Rescue and Duck Marines), this arcade platformer is very likely the first Game Boy title to be developed in a 100% libre environment, and that goes for both code and assets.

Originally released in 2017, the game was published as a Game Boy rom made available gratis, and it also got a limited physical cartridge release after a successful Kickstarter campaign.

Now, following yet another Kickstarter, the developers are back with a deluxe version, boasting Gameboy Color and Super Gameboy support, and a previously unincluded survival mode. A new batch of physical copies for the deluxe version are also already available for preorder, and the new rom will be once again distributed gratis to the public sometime in July.

The game's pixel art is simple, yet charming.

As for the game itself, do not be eluded by its cute appearance: Tobu Tobu Girl is not for the faint of heart! The game requires quick thinking and lightning fast reflexes. Players missing a single landing spot will meet immediate failure and taken back to the beginning of the level.

Quality-wise the game's controls are sharp, responsive and intuitive. The graphics are simple, but crafted with love, and the chiptune soundtrack, created by Potato-tan, is delightfully fitting.

So for now, while waiting for the deluxe release, you can still download and enjoy the regular Game Boy version here. As expected, you need a Game Boy emulator to play it. Don't forget to leave a word of appreciation to the creators for loving and supporting Free Software!

Code license: MIT
Assets License: CC-BY 4.0

Sunday, September 13, 2020

Reminder: North West Online Provincial Championships - 29 AUGUST 2020

 

Some of the competitors at the 2019 North West LAN Championships hosted by Curro Klerksdorp.
With sporting events still under lockdown Mind Sports South Africa (MSSA) decided to run an online North West Provincial Championships.

MSSA will thus be holding its North West Online Provincial Championships on 29 August 2020.

MSSA's North West LAN Provincial Championships has thus not been replaced by this event.

MSSA's 1st North West Online Provincial Championships, which will offer local players the opportunity to qualify for selection to the national squad and for the Protea Team.


In order to participate, the majority of each team must consist of players who reside in 
North West. However, in the case of players who play 1v1 games, only North West residents are eligible to enter.


Obviously Registered Players may participate from the comfort of their own home while being safe from the ravages of COVID-19.


The championship shall be held on 29 August 2020.


Game titles to be played are:


TITLES10H0011H0012H0013H0014H0015H00
Paladins PC/PS4Round 1 StartsRound 2 StartsRound 3 Starts
LUNCH
Round 4 StartsRound 5 Starts
FIFA'20Round 1 StartsRound 2 StartsRound 3 StartsRound 4 StartsRound 5 Starts
Pro Evolution Soccer (PES) 2020Round 1 StartsRound 2 StartsRound 3 StartsRound 4 StartsRound 5 Starts
HearthStoneRound 1 StartsRound 2 StartsRound 3 StartsRound 4 StartsRound 5 Starts
Street Fighter VRound 1 StartsRound 2 StartsRound 3 StartsRound 4 StartsRound 5 Starts
Clash RoyalRound 1 StartsRound 2 StartsRound 3 StartsRound 4 StartsRound 5 Starts
Counter-Strike: GORound 1 StartsRound 2 StartsRound 3 StartsRound 4 StartsRound 5 Starts
League of Legends (LoL)Round 1 StartsRound 2 StartsRound 3 StartsRound 4 StartsRound 5 Starts
DotA 2Round 1 StartsRound 2 StartsRound 3 StartsRound 4 StartsRound 5 Starts
TEKKEN 7Round 1 StartsRound 2 StartsRound 3 StartsRound 4 StartsRound 5 Starts

Tournament Structure:


As per the MSSA's rules, being:

  • If less than six teams, the championship shall be a Round Robin Championship

  • If 6 to 10 teams enter the championship there shall be four rounds as played to the Swiss System

  • If 11 or more teams enter the championship there shall be five rounds as played to the Swiss System

Eligibility:

  • Any team consisting of players who are Registered Players affiliated to a MSSA member club may enter.
  • The majority of each team must consist of players who reside in KwaZulu Natal. 
  • In the case of players who play 1v1 games, only KwaZulu Natal residents are eligible to enter.

    Entries:

    Medals:


    Medals shall be handed over to winners at the next MSSA LAN that they attend. 


          MALE:

    • PREMIER: Medals shall be awarded to the first three teams.

    • UNDER 24: Medals shall be awarded to the first three teams that have not won a Premier medal and which are comprised entirely of students currently registered at any officially recognised University.

    • SCHOLARS: Medals shall be awarded to the first three teams of learners currently registered at any officially recognised school, provided they have not received any Premier medals. 

            FEMALE:
    • PREMIER: Medals shall be awarded to the first three teams.

    • UNDER 24Medals shall be awarded to the first three teams that have not won a Premier medal and which are comprised entirely of students currently registered at any officially recognised University.

    • SCHOLARS: Medals shall be awarded to the first three teams of learners currently registered at any officially recognised school, provided they have not received any Premier medals.

    Colours:

    • Protea Colours: Only Players that are selected to represent South Africa in International Championships may earn National Colours if the Protea Colours Board's criteria are met.

    • National Colours: All Players that win all of their Matches at a National Championship will earn National Colours.

    • Provincial Colours: All Players that win all of their Matches at a Provincial Championship will earn Provincial Colours. All Players who score within the top 50% in a specific Period at a Provincial Championship, and who also score within the top 50% at a National Championship in the same period and in the same year, will earn Provincial Colours.

    General:

    • The championship shall be played on: 29 August 2020

    • The first round will start at 10H00. Players shall be given 60 minutes to complete each round.

    • The championship is accredited as being of the same status as a provincial championship. 

    • The championship shall be used for the awarding of provincial colours;

    • The championship shall be used for the awarding of medals for 1st, 2nd and 3rd places in Premier, Under 24, and School categories;

    • The championship shall be used for the ability to qualify for National Team Squad.

    • All medals shall be awarded to the recipients at a MSSA LAN championships.

    Umpires:

    • Umpires may only be contacted over Skype on the day of competition. Any communication not on the Skype channel shall not be entered into.

    Ladder:

    • For games to count for the National Ladder, teams must advise the Umpires before the start of each match.

    Shout casting:

    • MSSA shall decide who may shout-cast the games.

    • Anybody wishing to be appointed as a Shout-Caster must apply in writing tomindsportssa@iafrica.com

    Also read:

    Pillows I - 20 Textures

    Continue Reading »

    Friday, September 4, 2020

    Project Warlock Review (NSW)

    Written by Patrick Orquia


    Title: Project Warlock
    Developer: Buckshot Software
    Publisher: Crunching Koalas
    Genre: FPS, RPG, Arcade
    Number of Players: 1
    Platform: Nintendo Switch
    Release Date: June 05, 2020
    Price: $14.99
    Also Available On: PS4, Steam, XB1



    Project Warlock is a first person shooter with retro-inspired pixel art style. I'm not a big FPS fan, but this game really caught my eye. The game is heavily-inspired old school shooters like Doom and Wolfenstein (the ones from the 90s), and this game pretty much play like those games, albeit with more modern flare as you can adjust how retro it can look by activating filters, adjusting color settings, activating motion blur, etc.




    In this game, you play as a gun-wielding warlock out to get rid the world of evil. Clichéd story, yes, but games of this genre are not really known for their story. Anyway, you will get to travel through 5 worlds, consisting of different biomes each with unique sets of enemies and style. There are 5 levels per world, with varying number of stages, with the fifth being a boss fight. Each of these stages will have you navigate your way within a maze-like corridors, rooms, and open spaces while battling hordes upon hordes of enemies. These enemies vary greatly in design and attack styles, so you will surely be on your toes at any given time. Your goal for each level (except for the boss fights) is to reach the exit. The levels have multiple sections that get gradually opened up by getting unlocked with keys that you have to find. These keys are of different colors and will unlock doors of the same color. The rooms that they open usually have monsters waiting to ambush you.

    Speaking of monsters, the most fun part of the game is the gameplay, and the bulk of the gameplay for this game is to kill all the monsters that get in your way without you getting killed first. And to do so, you have to get the most out of your weapons. Each weapon that you discover within levels, given that you end up not dying after doing so, gets permanently included to your arsenal. You can swap weapons on the fly by pressing either the L or R shoulder buttons. Unfortunately, instead of instantly switching to the next weapon, you are first presented with a weapons wheel where you have to then choose the weapon that you want to use. This weapon wheel is a bit awkward and a hassle to use since it just slows you down and when you try to switch to another weapon, the game doesn't pause. It slows down a bit, but some enemies are fast enough to either shoot at you from a distance or clobber you up close while you are busy swapping weapons. You have to know when and where to do it, or else you die. Most definitely you will have a favorite, but there will be a time when you will run out of ammo for that particular weapon and you will have to choose another, so you have to at least know how to use all of your available weapons and know which one is the most effective to the enemies that are trying to kill you to maximize your ammo. 




    Defeated enemies would usually drop items, like money, ammo, or mana/health (healing) items. These items are also scattered throughout the levels, but you have to be careful because enemies usually lurk around and will readily attack you at first sight, especially within newly-opened rooms. Aside from the loot drops, you also get to collect Upgrade Points, which is signified with a star token either just placed on the floor or found within secret rooms. Yes, there are secret rooms within levels, and they are easy to spot if you know where and what to look at. If you see a portion of the wall that looks a bit off or colored differently or cracked, press A while facing it and voila, you discover a secret room. The number of such rooms are indicated per level, and it's up to you to find them all, or just ignore them. If you want to find all items or you need more ammo or healing items, the secret rooms are there to the rescue.

    After beating a level (meaning beating all the stages within the level), you end up in the Workshop, where you get to spend your acquired Upgrade, Stat, and Perk Points. Upgrade Points are used to upgrade weapons and buy new spells. Stat Points are used to upgrade your strength (melee attack), health, spirit (mana), or capacity (ammo). Every time you level up in the game, you get one Stat Point, and every 5 levels you reach, you get one Perk Point, which you can use to unlock additional perks, or skill modifiers, like being able to sprint faster, get more out of healing items, etc. Once you're all done upgrading, you get to play the next level, so on and so forth. 




    Since I don't have much experience with FPS games, I didn't feel much nostalgia while playing the game. I didn't get to play Doom and games similar to that much. In fact, I kind of struggled while playing my first 2 hours of the game. Not the first two hours of the game, but I got stuck at the beginning, for more than 2 hours. I just couldn't quite understand what I needed to do to finish the level, and I thought that the enemy placements were unfair. But I eventually get past the first stage, was able to level up, and I was able to manage beating the succeeding levels. The levels got really challenging, especially the last few ones. And also the boss fights, those are extra tough, because not only the bosses themselves are tough to beat, an almost endless barrage of enemies join the fray and I had to constantly move and fight them off. I really enjoyed blasting through the many enemies, and the more I play, the more I get used to using the various weapons and watch those enemies get ripped to shreds with bullets and flame. I didn't use spells much, but they were there when I needed them. There is also melee attack in this game, but for me, after the first few levels, I rarely used it anymore.




    Overall, Project Warlock is one good game. The developers really made good use of the game elements from the old school FPS games that inspire them. The game really does look and feel like an old school game, and if you didn't know that it was first released in 2019, you wouldn't know it. It plays well on Switch, both docked and undocked. It runs at 60fps most of the time, though it would frequently slow down when there are lots of action happening on screen, but it is really not game-breaking. Also, the soundtrack is top-notch, with varying style that match the different worlds in the game. So, if you are a fan of the genre, make sure to play this game, and enjoy shooting your way past enemies with your favorite weapons. Blast them all to hell!



    REPLAY VALUE: High



    PROS
    • Excellent retro-inspired pixel art style
    • Excellent soundtrack consisting of different styles that match the different worlds of the game
    • High degree of customization options for the visuals, like filters, motion blur, color saturation, etc.
    • Challenging even on casual mode, but not unfair
    • Wide range of weapons to use
    • Wide variety of enemy types
    • Very good use of HD Rumble
    • Ideal for handheld gaming
    • Good price point

    CONS
    • Bland story
    • No multiplayer mode
    • No big map available
    • No gyro aiming (good thing the Y-axis for aiming can be locked, making aiming simpler)
    • The weapon wheel is awkward to use
    • Melee is almost useless after the first few levels
    • Levels cannot be replayed
    • Frame rate drops when there are lots of action and enemies on screen 

    RATING: 4/5 Guns and monsters