Slapped away at the keyboard today and got the inventory and deck editing features put in, it looks pretty nice actually. I hope I can get someone to do a code review of it sometime, as I’m sure there are some more efficient ways to achieve what I’ve made. No matter, it works and that’s good enough for me.
An inventory system isn’t terribly exciting but now that it’s out of the way the fun part can begin, combat! Well, before there can be combat, there has to be something to combat against, so the next things to implement are Enemies.
To start, only a few simple, punching bag type enemies will be added so that the work on the player’s side of combat can begin. The player will start combat by shuffling their deck, then drawing a hand of cards from it. After that combat is turn based and after the player chooses a card to play, the enemy will perform its attack, then back to the player. Attacking back and forth will continue until someone dies, then a reward will be given to the player… as long as the player isn’t the one who died.
That’s the super high level overview of how combat will work. For me, the implementation of the player’s side of combat will probably go something like this:
- Add Enemies
- Create combat UI
- Add ability to draw cards from player’s deck at random and add to player’s hand
- Display cards in hand to player in combat UI
- Add ability for player to select a card to play, removing the card from their hand and drawing a new card
You’ll notice that having the cards do anything is not on that TODO list. That’ll come after all those basic things are in place, this is still just UI and basic functionality we’re talking about here.
I’ve started to remake Nano using Unity. Nano will no longer be a browser game, instead I plan to release it for PC, tablet and phones. It’s a bit odd for me to say “release it” as if I’ll ever finish it. It would be really cool if I did and that is the plan but you surely know how these kinds of personal projects go.
So far I’ve got some of the basic UI in place, enough for some testing and experimenting. So far this UI is limited to displaying the player’s health points, a few buttons with placeholder actions and an early take on the inventory system.
Next up will be improving the inventory system and adding the Deck feature. Cards in the player’s inventory can be added to their deck, which is used in Nano’s combat system. Though, before combat can take place Enemies will be need to be added.
So that’s the game plan. I’m excited to be working on this project again, here’s to the hope that it’ll go further and be better than the browser version. It wouldn’t take much to be better than that ol’ thing.
I’ve added ‘Deck Validation’ and it was easier than expected. Pretty much any time I implement something and it works right off the bat I consider it “easier than expected”, perhaps I’m a bit of a pessimist when it comes to my programming skills.
Anyway, I’ve set it up so that a character’s deck must consist of at least 10 cards, any less and the player will be shown a warning message, telling them that they cannot leave the inventory screen without adding more cards…
Actually, now that I think about it, there are plenty of ways to get around this, most likely by accident… hmm, how to deal with this then…
Well, the basics are there, I suppose I’ll just have to check deck validation in more places to cover this.
DevelTeam.com is having a contest for indy games/developers. I’m going to try to enter Nano into the contest, but the deadline for submissions is mid/late august and I can only hope to have the game functional by then, it probably won’t be much fun. I’m more interested in getting some people to notice it and maybe get some other developers and artists to want in on the project. The contest is offering a handful of quality game (most of which I already own) but I’m not terribly interested in winning (I’m sure I won’t win with Nano in it’s current state).
If I do get the game into the contest, I hope people will be receptive to the game in its current super-early stages.
Ajax is a technology that does lots of stuff for websites/applications, but for Nano the primary benefit is avoiding full page refreshing. This is another step into making Nano feel less like a browser game and more like a standard video game. Avoiding the flicker of a full page refresh will hopefully make the player feel like they haven’t left the game world to enter an Inventory screen. Instead the Inventory screen opens right there, as an overlay to the standard World screen.
The screenshot above can’t show the Ajax functionality in action, that’ll have to wait for the video demo. But what you do see is how the current, basic Inventory screen looks. On the left is the character’s inventory with a list of Cards, and Items gathered from the world or winning events. You see a bunch of Kick cards because, while testing, I had my ol’ Test Dummy only dropping Kick.
On the right is the character’s Deck list. These are cards that the player can use while in combat. Currently, there are only about 15 cards in the deck, but later there will be a minimum deck size that will, most likely, be greater than 15.But, I’ll get more into Deck editing, and Items in another post.
For now, just know that there will be a lot of this kind of effort put into making this browser game not feel like a traditional frame-based browser game.