Tag: nodejs

  • Global Game Jam 2021

    Global Game Jam 2021

    As I mentioned in my last post, I was able to hook up with a local team from The Greater Gaming Society of San Antonio and participate in this year’s Global Game Jam. Global Game Jam® (GGJ) is the world’s largest game creation event taking place around the globe. This year’s theme was “lost and found” and the team decided that a private investigation / noir type game would be fun. So my teammate Ansley spun up some art and Wes composed some music and we got to work. We ended up naming the game “Chase Ventura: Kid Detective” – a mystery game where you have to find clues as the neighborhood kid sleuth to “solve cases”.

    Animated title screen for "Chase Ventura: Kid Detective" - our team's submission for the Global Game Jam of 2021
    The game’s title screen

    Overall it was a super cool experience. I was lucky to have a great team; they produced super quality assets to work with and were great at communicating and providing feedback. I wish there had been more time to implement all of the ideas, there was just too much to do in such a short amount of time. I guess that’s the nature of game jams though. I also wrote the game’s systems from scratch and that detracted a lot of time as well. Unfortunately with four hours to go and tons to do, I had to strip virtually every idea out of the game to get something shipped, so you basically get a cut-scene, and then walk around the neighborhood and talk to the various characters Ansley created. Fortunately I feel like our team was on the same page and the game, the art, and the music fit well together. Here are some stills from the game:

    I put up a little time-lapse of the last four hours of the Jam condensed to 10 minutes (the deadline was at 5pm CST and I think I submitted at 4:56pm):

    I’m super thankful to my wife for being supportive as I basically spent 48 hours binging over code. Also a big thanks to John and his team over at the Greater Gaming Society of San Antonio for putting on the event and helping me get on a team to participate.

    If you haven’t ever done a game jam I think it’s a great exercise from a development perspective for a few reasons:

    • Even though I broke every programming best practice, from DRY to bad spaghetti code, the time constraints force you to move forward with the mistakes and take the least path of resistance at every turn, forcing you to write a lot more code and figure out problems quickly on the fly.
    • Letting your team dictate the idea and direction of the game takes you out of your comfort zone for games or projects you would normally make.
    • Reviewing your own code after the fact gives you an opportunity to review what you could have done to make the code better / more extensible if you had ideal conditions.

    While it was stressful, It’s also great fun in general. We also ended up taking second place out of our portion of the GGJ, and I am pretty happy about that 😀.

    Here’s the link to the Jam Page:

    https://globalgamejam.org/2021/games/chase-ventura-kid-detective-8

    And here’s a link to play the game online (recommended browser: Chrome)

    https://ggj2021.rudyfaile.com/

  • 2021: Complete projects, current projects, and beyond!

    2021: Complete projects, current projects, and beyond!

    It looks like it has been about 2 months since my last post 😬! November and December were crazy months for me in both my work and personal life. 2020 kept coming until the bitter end…

    When I wasn’t up to my eyebrows in work, I carved out some time to finally work on and complete the multiplayer board game I had been working on since September:

    Image of the Cavatars Thumbnail from GitHub

    Cavatars (Codenames with Avatars – clever I know) is a fully functioning multiplayer game playable in a web browser. I developed it in JavaScript using NodeJS, Socket.io, and Phaser3. The full source code is on GitHub:

    https://github.com/rfaile313/cavatars-game

    It’s not the greatest thing I’ve ever written but it plays like it was intended. What I was most surprised about when testing it with friends was how well the latency responded across multiple states. We had players in California, Texas, and Nevada with the server being located in San Francisco, and there was no visible lag:

    Cavatars’ maiden voyage 🚢

    Far more importantly though, the project allowed me to meet all of the goals I set when I started this project. All of the decisions I made when developing the game were for specific purposes:

    • Far greater proficiency in JavaScript, which I considered my weakest language at the time.
    • Better understanding of multiplayer gaming, client/server network architecture.
    • Learn Phaser3, a framework I have never used before.

    As one of my friends pointed out, there is no real purpose to the movement of the characters other than the fact it was to hone in on the movement for later projects down the road – which brings me into some of the stuff I have on the table for 2021.

    Building on the art kit I purchased and set of skills I developed to finish Cavatars, I have decided to start working on some other, longer term projects:

    1. Working on a Final Fantasy Tactics type game with my friend Travis. The game is yet to be named and we are in the very early stages. Travis brings a wealth of game knowledge and experience to the table and will handle most of the mechanics, balance, and lore. I will be handling all systems, programming, and development.
    2. Working on a longer term MMO passion project. These sprites and this art kit are perfect to put something like that together, so why not. There aren’t many 2D mmos that have come out in recent memory, so the idea of chipping away at one over the next few years seems exciting!
    3. Working on a smaller game to ship earlier, I’m thinking about a 1v1 multiplayer PVP arena type game.

    Aside from that, I reached out to The Greater Gaming Society of San Antonio which is a game development community in San Antonio that apparently has some folks participating in the upcoming Global Game Jam taking place this week, January 27-31. With any luck I’ll be able to connect with a team and follow up with a post about my experience 🙂

    Until next time…