Post-Contest Hiatus, Planning and Card Art

The Break

I’ve been on a break from further development for the past month. Various reasons for the break including just being busy, freelance design work and playing too much Civ 5, DOTA2, Card Hunter and Android:Netrunner.

The World

One thing that added to the stall was trying to come up with the right way to proceed with the World Generation. The current way the world is generated in Nano is not very apparent to the player. But here is a summary of how it works:

  1. A player enters an x/y location, either through moving to that location or their initial spawning (which places them at 0x 0y.
  2. The game checks to see if a terrain piece has already been set to that location.
  3. If there IS a terrain piece saved to the player’s location, then that terrain piece is displayed to the player.
  4. If there is NOT a terrain piece saved, the game randomly rolls to see which terrain piece to use out of all terrain pieces in the database. Then that terrain is saved to that location and any player entering that location will find that terrain piece.

While this was very easy to implement, it also is very rudimentary and does not allow for the inclusion of Biomes. Ideally, if a player was in a Thick Forest terrain, then they moved 1 position they would still be in a Forest biome and hence get another forest type terrain piece generated for them. This would continue until the player came to a transition piece which the game would place semi-randomly (it would take into account the adjacent terrain which would affect the probability of the player’s location being generated as a transition piece). Once a transition piece has been placed, adjacent, undefined locations could be from any other biome.

Basically, this would make it so a player wouldn’t be in a forest one second, a mountain the next and then a desert after that. Hopefully, implementing biomes would make the world of Nano seem more realistic, with various Forest terrains adjacent to each other, as with all other biomes.

This however is much harder to implement and there are many ways to achieve the desired effect. I looked into a variety of procedural generation techniques which use height maps or Perlin Noise. But these methods seemed a bit too complex for my needs and it would also mean more terrain would be generated than I needed, if I was to generate terrain only on a character’s movement.

Another option was to simply create the game world manually. This has the benefits of being easy (no programming needed) but would limit the size of the world and would make the world less dynamic.

So, my current plan is to do something similar to transition piece idea, mentioned above. I’ve yet to begin implementing it but I think that will achieve my goal best without being overly complicated.

The Art

I’ve got new card art! Ashley Kuros has been a friend of mine for a long time and she is a talented artist. She has been nice enough to offer her help with the art needed for my game! So far she’s provided a bunch of pieces to be used with the various cards you can find in Nano. Below are a few of the pieces provided by Ashley already implemented in Nano and I hope she’ll continue providing more!

Punch Sand in your eyes!

Warm Up
Warm Up
Debilitating strike
Debilitating strike

Combat goes in the Combat Box

Long story short, I got the Combat screen to display within the World view via ajax. What does this mean? Means the game looks like this when in combat now…

Featuring background scene art by Koishii Kitty.
Featuring background scene art by Koishii Kitty.

This turned out to be easier than I expected when implementing, but took a while to plan out properly. The result is a smoother transition from Event to Combat. There are still a bunch of things I need to refactor now that this is how the combat screen will be displayed, but it’s a step in the right  direction.

I still need to change the card’s ‘Use’ button to use ajax and the players stats in the top left need to update after each combat round.

I also ajax’d the close button for the inventory screen, meaning now, going from the World screen to your Inventory, using an item and then closing the inventory screen to return to the world screen is all seamless. I’m going to start looking into fancy javascript animations for the opening and closing of screens. While the current transition requires no full page refresh, the switch is somewhat startling. I think all it needs is a slight fade as it transitions.

Art!

I got a few pieces of art to use in Nano! Here are a few of the pieces that Koishii Kitty (check out her DeviantArt portfolio).

path to solace Paradise lu the sky

She’s been a friend of mine for years and I’ve always wanted to collaborate with her on a project, so I’m pumped that she was kind enough to provide some scenery art for Nano.

I’ve already added these scenes by Koishii along with a new others she provided. Updated screen shots of the scenes within the game itself are on the way. I’ve just been trying to make the game’s combat, inventory and world screens work with Ajax instead of full page refreshes. Doing that and crushing the bugs that pop up along the way have been keeping me busy.

Weekend Update 05-12-13

Some updates from this weekend:

  • UI improvements for the World screen. It still have a ways to go, but it’s a start.
  • Random Monster Encounters! Characters are now hurled into combat randomly when they enter a new location.

Probably going to need to reconjigger Cards and combat again to make room for more complex card interactions. I’d like to avoid making a separate method for each card, but I think some cards will require it.

Thinking about making more complex card interactions means I might have to step my AI’s game up. Perhaps that is where I can begin implementing the learning AI I’ve been wanting to experiment with.

I need to add a lot more content, more Cards, Enemies, Terrains, Items, etc. I’ll make a form that I can use to easily add those things to the database.

I hope to have a veeeeery early build “playable” in a few weeks, if anyone is interested in trying out what I have so far.

Pre-Alpha: World Screen

Here is a preview image of the “World” screen. As a player navigates the world they will be shown artwork for the terrain type they have come upon, as well as a text description.

You can also see the current implementation of the navigation buttons. Which are simply text links for now. As I begin working on the actual user interface these text links will change into buttons with graphics, just like a big boy game!