User Tools

Site Tools


Dusk Tactics*

Dusk Tactics is a project to develop a turn based strategy game much like Tactics Ogre, Final Fantasy Tactics, and Disgaea for both Android devices as well as PC/Mac/Linux. It currently uses the libgdx library.

This site is basically a development notebook as I continue working this project as outlined above. Currently I am working on this alone and it's been almost a year, with a few months break in between. It's hard to gauge how far along the game is, but it's definitely less than 30% complete.

The focus currently is still on the underlying engine, as I am creating it from scratch with the help of libgdx to allow the use of OpenGL and Android deployment. As I create the engine I am building the game itself in the form of ideas, notes, and some aesthetics such as the placeholder graphics and interface.

Latest News

I am looking for an artist for this project. The workload would involve creating numerous unit sprite sheets, in the format seen to the left. This 128×128 image is all that is needed for an entire class sprite.

The class types are already set and the designs are up to you, however all of this is up for discussion as I want something that looks great and gives the game it's own style.

If you can also create map tiles, objects, and portraits that would be great, but at this point the focus is on the units.

Contact Me

November 17th 2013

After a short hiatus production on Dusk Tactics continues. After cleaning up some recently added code one of the bigger problems, handling units walking on tiles with allied units already on them, has been completely fixed. Some games handle this by showing both units on the tile at the same time, having the non-moving unit “step to the side” to let the unit pass. Currently the unit will just walk “over” any unit on the current tile, which while not as pretty, it gets the point across.

The biggest addition so far in version 0.1.3 is the Weapon system. Weapons can be equipped by a unit and will increase stats, usually the attack stat. When a unit attacks, their weapon will show up during the attack animation. Three different attack types are currently implemented:

  • Melee
  • Long Melee
  • Ranged

Melee attacks make up the majority of weapon attack types and allow the unit to attack units they are directly next to. Melee is the default for units meaning even without a weapon all units can perform an unarmed melee attack.

Long Melee attacks are from weapons like Whips and Polearms which can attack with a range of up to 2. They are similar to melee with the added bonus of being able to target a unit up to 2 spaces away. Certain Long Melee weapons will be able to hit every unit(max 2) in one direction(should there be two units lined up). These will require piercing weapons such as most Polearms. In this scenario, for example, a Whip would only hit the first target and not the second.

Ranged is for weapons like Bows, Crossbows, Wands, and will also be used in most spells. Ranged is the only attack type that allows for diagonal attacks as it allows for full 360 degree targeting. For now there is no minimum range, i.e. Ranged weapons can attack at melee range up to whatever their maximum range is. This might change in the future.

A Long Melee attack by the Dark Knight using a Spear. (I cropped together three screen grabs to show the process, read from left to right, he ended up missing :-|)

A fourth type of attack is currently in development. It expands upon the Long Melee to give certain special weapons a range of 3 with all the same benefits of Long Melee.

In other news you may notice that a large majority of the graphics that appear in the screenshots, namely the units, are from intellectual properties not owned by myself and are simply placeholders. The way I have designed the engine allows for the easy replacement of these resources with new ones using a specific sprite sheet layout. This allows for an artist to come on and know exactly what format and size the sprite sheets are, how many frames are needed and the overall style. Check on the top of this page if you're interested.

July 22nd 2013

Recent work has involved converting the user interface to the android library, basically for handheld use. Libgdx has a great library for UI which is similar to html tables. So far everything I originally had for the computer version now works with the Android version. Also, I was able to add the resistance system and the equipment system to the status screen.

Resistance will deal with individual resistance to each of the six basic elements as well as the Light and Dark element. It's still being worked out, but currently this will be a number value that corresponds to a simplified enumeration of resistance levels.

Equipment is what it sounds like, the items that a unit will have equipped. UI-wise these will show up as an icon of the item and it's name in the appropriate slot. You will see these items on the status screen, when browsing your inventory, or when at a shop.

June 21st 2013

The project has been converted to libgdx and now uses OpenGL to render all graphics. The project is now compatible with android and using libgdx's amazing library we can deploy to Android devices with ease. The screenshots seen earlier than today featured a border around the game screen which was for displaying temporary user interface items and will not appear anymore.

Here's what you would see if your device had a resolution of 480×272

As far as I know when developing for mobile platforms it's usually best to develop for the smallest resolution. When I programmed with JavaME the rule was more “develop for a single platform”, so this is definitely a step up. The new library in place for android development, libgdx, has made it incredibly easy to port code from native Java to not just Android devices but even HTML5 and others. This being said, I am currently working with an albeit arbitrary resolution of 480×272, which happens to be the Sony PSP resolution. This value can easily be changed to optimize the display for all android devices. As I mentioned earlier, developing for the smallest available resolution(within reason) for android devices you can make sure that the game screen never has to decrease in size, which in my opinion can look pretty bad. Any device with a larger resolution than the base would simply get just that, a larger resolution game screen.

Here's what you would see if your device had a smaller resolution

We can see that above(smaller) looks a bit worse than below(larger). Also notice that the user interface, in this case the height panel which gives us information about the currently selected tile's height in the form of ”#h”, stays the same size regardless of the resolution BUT it maintains relative positioning which is just what we want.

Here's the resolution using my laptop's fullscreen (cropped for size limitations)

In closing, it's still very early in the project's development. The majority of the resources used are placeholders, i.e. the castle tiles are from Tactics Ogre as are some of the bushes/torches, but the underlying code is what matters. Also, you can see from the large screenshot above what is in store for the computer version of the game which will be able to display as big as fullscreen, which has a nice retro style.

June 12th 2013

The early part of combat is underway. Selecting to attack a unit display a preview of both the damage that could be done and the % chance of it actually hitting the target. Upon attacking, if unarmed (which all units are right now even though weapons are about 90% done) the aggressor unit will perform a “punching” animation while the defending unit performs an “i just got hit” animation. The resulting damage is then displayed as floating numbers that rise for a few seconds and disappear.

This method will be the skeleton that all forms of attacks, skills, and abilities will take. The differences will be the number of defenders, if it targets the attacker (i.e. self healing), and the like.

The screenshot also shows the results of the new naming generator, which currently uses a mix of 800+ names for both genders and another 400 for monster types.

In this rendition, Geist attacks Beatrice for 10 damage.

One of the main concerns I have so far is with the GUI. It's becoming much too cluttered and in a way overshadows the information it's meant to display. I want to rework it for a more minimalist design but for now I'd rather get things working.

June 5th 2013

Work is now beginning on the biggest part of the game, the combat system. Basic attacks will be added first followed by special abilities and the rest of the nuances involved with tactics battles. Newly added is support for Tiled maps using the .tmx map format. This allows for the construction of much bigger maps with an easier way to edit them. The first map made depicts a grassy field next to a large cliff with a waterfall and river flowing through it. There are two bridges to help cross the river. This map is extremely varied in height as it goes as low as 4 tiles and as high as 16 tiles.

You can also see the new Tile Info panel. It shows the tile image, the type of terrain, the movement cost, the x and y location1) , the attack modifier for the terrain, and the accuracy modifier for the terrain.

New Tile Info

Movement Cost is a way of defining how far you can travel by using your Move stat. The majority of tiles have 1 movement cost, but there are some terrains that cause some difficulty to move through such as swamps, deep water, and tar.

Attack Modifier shows a value that represents a percent increase or decrease in attack damage. Currently this is planned to only effect a unit's basic default attack and not abilities and spells. Green numbers mean an increase in damage while red means a decrease.

Accuracy Modifier is like the Attack Modifier but it affects accuracy. Currently this means the accuracy of nearly all attacks with some exclusions possible. Uses the same color model as above to show negative or positive changes.

Not yet implemented are two more important values. First is the movement type i.e. if it requires you to swim, float, fly, etc. Second is the elemental affinity of the terrain2) .

May 28th 2013

What is this project?

This is the culmination of various ideas I have had for a turn based tactics role playing game. As broad an explanation as that is, it's representative of the project's current status and on-going development. One thing I have always enjoyed about games in this genre, or even Role Playing Games in general is being able to manage and customize your party/army the way you see fit and watch as those choices play out in any given battle or if playing a story mode, seeing how your actions affect the game world.
There have been a small cache of games that not only offer this experience, but expand upon it in innovative ways. The well known games Tactics Ogre and Final Fantasy Tactics are some of the best known games that do this. My initial goal was to learn how these games worked in order to develop something that I could use to at least simulate what I wished to create.
I bring this up because the end goal of this project isn't necessarily the creation of a game, but to gain enough understanding about what games like this are composed of to be able to create something that is new. This project is not about creating a Final Fantasy Tactics/Tactics Ogre clone.

May 5th 2013

Finding Some Direction

As of right now the direction I want to pursue is putting more of a focus on the micro-management and customization of your “team”. In this game you control an army in turn based tactical combat. With many games in this genre you are given control of a protagonist along with a few different “load outs”.

On one side of the spectrum you may be given control of a team that consists of the protagonist and his/her allies who all have pre-set classes and preferred equipment. You still have control over these units during a battle, and there is usually some level of customization available, but in this setup you don't have the ability to do things like recruit generic units into your “party/army” or really experiment with different types of deployments. For example, you may be able to change the main character's class, but the rest of the party is either locked into whatever they started as, or a class system doesn't exist and the character's fill the classic rolls via their skills and abilities. Either way, this type of tactics game plays more like a traditional role playing game, with the same characters being used each fight and having them grow usually with some form of experience or stat gain.

On the opposite side of this spectrum you have a more “open world” experience. You may still have allies who you can deploy in battle, but the emphasis is on recruiting or building a large group of units to be successful in combat. This “army” often has an upper limit that is higher than the maximum number of units allowed in any given battle. For example, you may be allowed to have 45 units in your army at any given time but when participating in a battle only 10 of them may join in. Realistically in this genre the active party size is around 5 to 10, with most falling closer to 5 units at a time. Tactics Ogre's remake for the PSP pushed the limit to 12 ally units versus a maximum of 20 enemy units for certain maps (32 units fighting total!) as well as pushed the cap of total army members up to 50 units. The Disgaea series keeps to 10 units allowed per battle, but also allows you to keep an extremely high army size.

To be continued…

April 27th 2013

The soldier and the fighter face off in the debug room.

A ton of progress has been made on Dusk Tactics. The current alpha version is up to 0.0.9 with a series of new additions that really have the game coming together. As of this version the mechanics for basic map navigation, turn based system based on the speed stat, and a multitude of functions that are part of the turn based tactics system are really making the game look like a game.

As for the creative side the unit attributes have been set as have the elements and their rock-paper-scissor based mechanic. The world map has been created for the game world which is called Gaia. The world was split into regions representing countries with Acedia being the main character's homeland and where a lot of the story takes place.

Since features have been added, new UI graphics were created to show them. One of these is the new Unit Status screen which is your basic information window that can be displayed at almost any time by clicking on a unit and pressing the status button. This screen shows all the unit's statistics including experience points and bars for the HP, MP, AP, and XP, the current job, elemental alignments, portrait and even an icon sprite of the selected unit.

My next post will get into more about the intended timeline for the game's completion, it's planned release formats (definitely PC/Mac/Linux probably Android devices possibly Ouya), and a whole lot more concerning features and gameplay. Until then you can check out the various pages on this site which are literally added as I add new features to the game or come up with new ideas. I'll also try to add new screenshots and work on this main page to have some dynamic “what's new” type section. This seems to have turned into more of a to-do list than an update.

March 1st 2013

Currently we have a nice isometric map being displayed as well as a unit standing on one of the tiles. The game will be displayed in standard 2:1 isometric form much like in the Disgaea Series, the Tactics Ogre series, and of course the Final Fantasy Tactics series. This rendition of the game will feature both a 2D map with 2D entities that move around it. That being said, the code isn't important in terms of what libraries I use or even optimization. The goal right now is to get a working version up as well as creating a skeletal base for the various functions used for the non-graphical parts of the game.

I don't see myself changing the perspective or the graphical style of the characters and units. Basically it's going to stay a 2D isometric game as I am really fond of that style and I think if done right it can be just as appealing graphically as any other modern game. The map, however, might one day utilize something like OpenGL to give a 3D map in order to add various features to the game such as being able to rotate the map 360°, display a much more detailed environment with lighting and texture mapping, and other functions that are beyond the scope of 2D. Also, a switch to a 3D map doesn't have to change how the map actually looks in-game. Tactics Ogre: Let Us Cling Together did an excellent job with it's remake for the Playstation Portable.

February 9th 2013

Work on Dusk Tactics continues at a slow clip with the building blocks of the game being coded and tested. I like to also focus on graphics as I develop something like this so that I am able to further my experience with image editing programs as well as get a break from the coding process to work on design.

User Interfaces are extremely important in all types of games and I personally enjoy working on them. I like interfaces to be clean, minimal, and intuitive, all while making user interaction as simple as possible. A mistake I used to make, and still do, when working with the graphical side of UI is to over emphasis the aesthetics and end up with something that is too ornate and over-flowing with unneeded information. This is about as far into graphic design as I would like to go. As much as it would be fun to design everything from characters to sprites to animations, there are limits to both time and talent.

Hopefully there will be more information about the actual gameplay in the next news update. Even if I don't get to coding anything beyond the basics of the game, I'd still like to iron out a basic plan for how this game will play and the various systems it will include.

December 22nd 2012

Project begins basic design phase including a mock-up of Java code to theorycraft some ideas. Named after a much older project I worked on and played called Dusk. Dusk was a graphical MUD coded in Java and played via applet.

Plans for this game are to simply work on a turn based tactics game, that's all. Since the majority of all small projects like this almost never reach completion my goal is to focus on the journey rather than the end product. Obviously seeing this game to even a playable state, let alone completion, would be great, but more important to me is furthering my knowledge of Java, the inner workings of turn based strategy games, and testing my constitution so to speak to see how far this project goes.

About Dusk Tactics

Dusk Tactics*3) is a strategy role playing game being developed in Java. It is being developed for mobile devices with Android being the goal. It will also be released for PC/Mac/Linux. As to when it will be released, I am trying for a fully playable beta ready by the end of 2013 with possible alpha testing beginning before that.

As it's very early on there is little to say about the gameplay other than it will play similar to games such as Final Fantasy Tactics and Tactics Ogre with some major differences in how you build your army and manage your units. There will be more of a focus on the class system and character customization. Battles will be very dynamic as you experiment with fielding certain character classes together in an effort to destroy your opponent.

Click to see full screenshot with GUI

1) Note: This is just for debug purposes and will not be there during normal gameplay
2) Note: This is still in the early stages and might be dropped
3) Name subject to change
start.txt · Last modified: 11/17/2013 17:52 by lou