Our team had previously built a game, Tank Anarchy (tankanarchy.herokuapp.com), using the same engine of node.js and socket.io in a top-down arena game. While brainstorming, we realized the potential awesomeness in combining tower defense with top-down shooter, and thus Obsidio was born.
What it does
Obsidio is a top-down shooter in its core, with a WASD-controlled player who faces in the direction of the mouse cursor and fires a bullet when the left mouse button is clicked. Players, in the interest of killing other players, collect resources known as Praesidia and use these resources for constructs such as turrets and walls. These constructs can be placed anywhere within the world, and it's up to the player to discover the most effective combination of constructs to create an impenetrable base or to wreak havoc on other bases!
How we built it
We built this game using the fundamental pieces of our previous game, Tank Anarchy. The game utilizes node.js and socket.io for the physics engine and the multiplayer framework, HTML5 Canvases and CSS for the graphics, and NPM, Gulp, and Bower for project management.
Challenges we ran into
We generally did not encounter large hurdles aside from the initial debate about whether the players should be people or floating vehicles (???). However, as in any coding project, we encountered bugs by the truckload, requiring an inordinate amount of console.logs and error messages. We also encountered sleepiness and failing cognition as it got later (or earlier), taking a large chunk out of potential coding time.
Accomplishments that we're proud of
We are proud of everything we've accomplished! The project looks good, the game works well, and we aren't in too bad of a shape. Our code is also clean and modular enough to support the addition of new features easily, and isn't (too) full of hacks and workarounds (even though it's a hackathon!).
What we learned
We learned to work together, to streamline the development process, and of course to always break a switch case!
What's next for Obsidio
We will continue development for sure - there are many ideas just waiting to be implemented, and maybe we can even pull in a graphic designer to design some better-looking sprites. Keep an eye out for our progress!