Optimization and Re-factoring

Raid Encounters is my first JavaScript project, and I’ve learned a lot of things along the way in regards to actual coding with the language and now that I can kind of oversee the body of work, there are a lot of changes I feel can be made to further optimize the codebase and get it ready for some required tweaking in terms of performance, design, and everything else that comes with creating a universal experience.

While the “campaign” is pretty much finished with Raid Encounters, I am still going to be making tweaks to loot, monsters, balance, skills, and all types of other items as I shift into putting the final touches in.  There are two major features that I feel Raid Encounters needs in order to truly set it apart from other games, and the work that’s going to go into that will be beginning shortly.  When I programmed some of the last couple of bosses in Raid Encounters, I truly felt I could now program anything I wanted without having that feeling of “Oh, that’s not possible.”  Maybe I finally got a good grasp of my scope and the abilities of Phaser, but I feel that multiplayer and user-created dungeons are possible to a degree.

Continue reading

Scaling Gameplay With The Leveling System

At its heart, Raid Encounters is a mobile game that is meant to be brought with you for quick gameplay while in transit or any other time you need to kill a couple of minutes.  While there will tentatively be a ‘Grind Mode’, it’s important that the scope of the project stays simple and doesn’t require players to get to high levels and properly spend skill points to experience all of the different dungeons, bosses, and other mobs.  The simplest way to do this, while still rewarding XP and levels is with a scaling system.

As of right now, and mainly because the game is still just being tested and designed not properly played yet, dungeon difficulty is static.  The Magma Spawns in Dungeon One are levels 1-3 and have about 1,200 HP.  Once your Hero reaches, say, level 50, pretty much every mob in this dungeon will be one-hittable.  The raid boss encounter would be trivial because not only would you one hit him, but the hostile environment won’t be hostile at all.  As a level 1, you can absorb about 2-3 environmental fireballs in a row before you’re dead.  As a level 50, you really don’t have to do anything, and this could potentially open up ways to automatically level by just having the dungeon open.

Continue reading

Simultaneously Building Against Desktop & Mobile

Originally, Raid Encounters was going to exclusively be a mobile game, but after getting accustomed to Phaser and JavaScript, it feels like its gameplay would translate well to both a mouse pointer and a touch-based input system.  By going the route of building and testing on both platforms it has brought up some interesting questions I’ll be having to consider.

Continue reading

Animation Logic System Re-write

Admittedly, I’m still learning JavaScript and feel a lot more comfortable working within the wonderful Phaser framework.  As I learn and add new functionality and features, I am finding myself backtracking a little bit in order to fix and rewrite code that could definitely be considered “spaghetti.”

I’ve read and also feel that JavaScript is a very “dynamic” language, even when compared to lower level languages like C.  Because of this, there are several ways to write the same exact line of code.  You can outright call functions or you can assign functions to variables which immediately call the function and kind of attach its properties to that variable — and with Phaser you can play animations in a few different ways.

Continue reading

UI Tweaks, Boss AI Design, and More

There comes a point in the development of a game, where you start on the design of your AI.  Typically, at least with me, games begin with a sandbox design that’s just used to set up certain movement mechanics, UI layout, and “feel” of a game.  Then there comes a pivotal point when it’s decided that it’s time to start incorporating the scenarios thought of during brainstorm sessions when thinking of the possibilities of the game.

Continue reading

Player Health: Balancing Fun & Challenge

A core staple of any action game is health, or HP.  This is the essence of the player and how far he or she has gone into a level or challenge.  Health is a measure of how far you can take your character while maintaining a progression within the game so as a developer it’s extremely important to note that how you decide to let the player gain health, and how fast you want them to lose it is going to have a massive impact on how your game is perceived.

In the NES days, and even today with games like Demon’s Souls and Dark Souls among others, you can have an extremely vicious system of death and health loss and still have a great game.  What’s important is how solid your game is first, in terms of how well it handles and if it would still be perceived as fair even after failing to complete a level several times.  And on the event of a complete loss of player health — or what I like to refer to as dying — where should the player start at?  A checkpoint?  The beginning?  Is it healthy to not only lose progress through the dungeon or world, but what about XP loss?

Continue reading


Hey everyone, my name is Mike from a new game and app development studio called phobium, and I’m the developer of an upcoming game that I call Raid Encounters.  Raid Encounters is sort of an on-rails shooter with RPG elements like loot, XP, skill customization, and of course, raid bosses.

I’ve been hard at work on the game for a little over two weeks now and have nearly completed the foundation of the game mechanics and gameplay.  I’m using JavaScript and Phaser to create the game with my own pixel artwork and designs.  It’s been a learning process for sure, in both the coding and the design.  I’ve also been recording custom background music and sound effects as well and I shouldn’t have to outsource much of anything if things keep progressing as they are.

Continue reading