programming

Tactics!

Three months later, and I’m back.

Tactics is relevant again, I’ve been resorting code, making things less ugly, and adding functionality to the engine for almost a week now, which means I’m back!

First of all, what have I done up until a week ago?

I was working on graphics, getting polygons to rotate properly, and did it.
I released a working version of this, with a square, movement and rotation. (I was pretty proud of myself: I don’t care what anyone else thinks)Colors, scaling (i.e. zoom) and non-oblong shapes are all completely within the scope of the code I have made, but the point of the release was to test the one feature I had doubts about, not to show off the features I’m comfortable with.

Then I moved house and forgot about it until now. With school exams finished for the semester, I started programming last week, and I feel comfortable saying that I am back!

Since graphics are working, I’m changing the layout of the source, and creating a “game instance” class that will help separate the graphics, engine, and game from eachother, and then it will be work on actual game mechanics like entities and movement!

Exciting times.

Advertisements

Code Finished

Overworld

I have now finished the creation of actual features in the game, and I hope that I’m done with tuning/removing debug items, because I don’t think I am going to check any more.

I have implemented all of the features specified in a previous post.

The final release on GitHub is here.

Testing my Game

Not because I was worried about it not working, but because I have to.

Testing Procedures

Some browser-side zooming is recommended on that image.

The first test poses a number of battles of Frog versus Toad, to see who wins.

I am testing the defending advantage, then a neck-and-neck battle with a slight bias, and then a battle in which both sides can insta-kill. (falling back then, to the defender’s advantage)

The first test made me realize that I’d programmed a defender’s advantage when I was expecting an initiator’s advantage, but that is fine.

Once I knew how the advantage behaved the rest was fine.

Next I tested potions, which have been designed to provide three stat boosts, and all of the tests went as expected.

The algorithms are all being calculated as expected, and caps on health are functional as well.

“Lots of Potential”

I’m approaching completion of the program in terms of meeting criteria, with at least three quarters of the necessary algorithm made, it’s just a matter of:

  1. Creating enemies
  2. Creating item functionality
  3. Linking all gameplay elements to create a game out of the existing toys
  4. Content such as variety of items/effects, different enemies*
  5. A levelling thing?

*Beyond this it isn’t actually necessary so I doubt it will get done.

Things I have made recently:

  • World map
  • Functionality to look around local area
  • Ability to view inventory
  • Ability to collect nearby objects (in inventory)
  • Ability to move to objects in area.

Code Released here.

Actual Work

I’m actually making relevant code again;

I just made a simple battle system (that doesn’t bother to print its details…) that will quickly resolve who wins out of a pair with a seconds per attack and a damage per attack stat each.

I also made a pair of for loops to generate sets of strings that will give a scale map of the entire game world rather than just the current area.

This is important progress, as I am very consistently losing interest with this project….

Aaanyways.

Progress

My work so far:

01_map

This screenshot shows some teaser code, and a demonstration of my ASCII map, with a rogue-like at-sign-character carelessly splashed across the map.

There are four commands so far:

  • move: randomly moves the player to a different coordinate on the region
  • travel [north | south | east | west]: changes the coordinates of the current region according to the direction specified
  • spawn: randomly places an asterisk on the map
  • exit: terminates the program

Initial Design Ideas: “Extradite”

Looking at my goals for this project, I have worked out multiple ideas for a general game structure, and this one is the one I like:

Extradite.

You are set in a residence a short distance away from an unknown city, having been extradited from your old home (from which you are now much farther), and must survive either in the wilderness, in the urban community, or in the depths of your adventures. (Hell.)

This settingĀ opens up three primary linked stories, and to an extent you will need to participate in all three, but which ones you thrive in are up to you, and your character preferences.

The game has three layers:

  1. Text interface
  2. Area map
  3. World map

The text interface is the input and output for the game, whereas the area map is just an auxiliary to this.

The world map simply names the different regions as they appear geographically, and although the game could be enjoyable with personal memorization of maps, (Minecraft!) I have a marked criterion to meet, so that is what I shall be exploring: map integration in a geographically driven survival/exploration/adventure game.

I also have some more story in mind but that shall be discussed in the future, and finally:

I’m not going to use the geometry system for actual controls; there shall be no “move (1,1)”, no “move left” and definitely not any “goto (547.8, 38664.2)”.