User Tools

Site Tools


Sidebar

Information

Game Systems

Resources



Site is under construction and is subject to change sporadically.

Lou 03/25/2013 14:02

Some graphical resources seen are copyrighted by their respective owners, SquareEnix and others, and are temporary placeholders. They will not appear in any released version of the game.

Resources that will be used in the game are either created by myself or credited to their respective Artist.

Dusk Tactics, source code, and the ideas and information on this website are all copyright ©2014 Louis Agoglia

start

Dusk Tactics

Dusk Tactics1) 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 more than a year, but counting time spent working on it, it's about 6-7 months time. It's hard to gauge how far along the game is, but it's definitely less than 35% 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.

Basically I am looking for a pixel artist. If you want to work with me, let me know, and we can arrange something. Contact Me

August 16th 2014

I am considering the official name of the game. So far the project will still be referred to as Dust Tactics, but the actual name will likely change. Currently some ideas I have had are Hundred Tactics and Ars Tactics. I'm obviously going to stick with the __ Tactics format.

In development news, the scripting system is pretty much complete and functional. It allows for story scenes and dialog using any and all units, this includes animations, particle effects, and more. This is how the story of the game will be told, through this “stage” using “actors”, which is actually what libGdx calls the Java classes used in scene2D user interface. The only thing left is to create a story and write a script…

The next step in terms of the engine is to create the AI. This will be the most important part of the game, and will most likely take the longest time to perfect.

August 11th 2014

With the game now being tested on Android, and being playable, I have moved forward and set up some short term goals. I would like to have a playable demo, which would include a sample campaign map. This consists of a playable map with a story behind it, and dialog from characters explaining what you're doing in the map. It's not yet known if this will be a tutorial style map, or just a playable bare bones map. I'm leaning towards the latter as the goal is not to teach people how to play just yet, but more to see how everything runs. You need to have a game first before you create a tutorial for it.

For those of you who are not familiar with this genre gameplay usually goes like this:

Story/Dialog → Army Management Screen → Playable Map

The story part will explain what's going on, and give the introduction to the playable map as well as explain it; i.e. why the units are there and what the purpose is for the map, like victory conditions. The Army Management part will come before you start any map. This will allow you to adjust your units, change gear, use services such as buy/sell and hire units. This three part system will be the baseline for the game, but there might be times where you play multiple maps in a row, or you see more than one story screen. No matter what happens though, this above routine will be followed.

These various terms, map, story, dialog, will all be separate screens that form the game itself. To start this, I have created a dialog system. This system will be used to tell the story in between battles. It is an important facet in gaming, the story, and how it is told is also important.

Dialog Screenshot

In this screenshot, which was taken from the laptop (so ignore the badly rendered font, and blotchy pixels, these don't appear on the phone), we can see a map, with units on it. These units are actors on the stage and they will tell a story. They can move, and animate, and more. Whatever is needed to tell the story.

This screenshot shows how the text shows up letter by letter.

Dialog System

Note that you are unable to see the animations in this image, I'll try to upload a gif at some point, but basically the text will appear on the screen one line at a time ala classic rpg style. I also plan to add a sound, similar to that in Final Fantasy Tactics, when dialog appears. When a unit is talking, they will be animated, so you know you it is. This is a very early stage of what it will look like. I plan to make the unit portrait and name more “together” with more information such as character level and possible HP/MP bars. Also the text will be at the top of the dialog box and be left justified. The difficulties with this lie in making sure everything remains in a relative position regardless of the size, the scene2d.ui library in libGdx is great for this, however it's been a steep learning curve.

Resources

The resources seen being used for the dialog, the background, and the hand icon in the lower right corner are by the artist Kenney. I want to thank him for the wonderful resources. I plan to use more of them in the game, and honestly it wouldn't be possible for me to have gotten this far without him and people like him who support independent game development.

June 2nd 2014

This marks the first time I have been able to run the game on a smart phone. It took some tweaking and code adjustments, namely using Gradle which helps ease the deployment to other devices. In the end it now runs and looks great on the android devices.

This is just the early stages, but it's a good step and from now on everything I code, I can instantly test on my actual phone. I want to thank LibGDX which has made this VERY possible for someone like me, who has never worked with android devices before. I did do some work with JavaME, but that as well all know, is pretty much obsolete. I also want to thank Eclipse as it's one of the best IDE's in my opinion, especially with the Android Development plugin, which allows the use of android emulators as well as a way to actively test on a live phone. Lastly I want to thank Android for allowing developers to freely and easily develop and deploy applications for their OS.

Now the biggest issue with programming for a phone is that the resolution changes with each phone. Also, since this is being worked on using a laptop, even though the screen is bigger dimensionally, the resolution is actually smaller than that of today's modern smart phones. That is, smaller screen but more pixels per inch. The official test phone for this project will be the Samsung Galaxy S4. I figured I could use this update to go over the technical specs of this specific phone, to get a better understanding of the platform.

Samsung Galaxy S4

  • Device Height 136.6 mm (5.38 in)
  • Device Width 69.8 mm (2.75 in)
  • Screen Size 5 in (130 mm)
  • Display 1920x1080px (441 ppi) Full HD Super AMOLED
  • CPU 1.9 GHz quad-core Krait 300 (LTE versions)
  • GPU IT tri-core PowerVR SGX 544 GPU
  • Memory 2 GB LPDDR3 RAM
  • OS Android 4.4.2 “KitKat”

This is by no means a “minimum requirements” thing. The game will still run fine on similar, and even somewhat older phones. I plan to test as best I can the various popular phones, but my focus for the time being is to get it working on this device above to the best of my ability.

January 20th 2014

Work on the game has slowed however we are still moving forward. The focus for now has been perfecting the game engine. Making sure units move properly on the map. A big issue was making sure that the unit's Jump and Move stat are taken into account when choosing the possible destination tiles. After choosing the destination, creating a path, the shortest and smartest path, and having the unit execute it.

Many of the updates focused on minor bugs and do not result in much visually.

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 location2) , 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 terrain3) .

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*4) 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) , 4) Name subject to change
2) Note: This is just for debug purposes and will not be there during normal gameplay
3) Note: This is still in the early stages and might be dropped
start.txt · Last modified: 08/16/2014 20:47 by lou