Final Fantasy Hacktics

General => The Lounge => Topic started by: HowDoGameDev on August 06, 2015, 08:45:17 pm

Title: TacticalRPG Engine
Post by: HowDoGameDev on August 06, 2015, 08:45:17 pm
Hello all, just wanted to show off something I've been working on for the last six months or so.


The game is built on top of my own OpenGL graphics engine. The engine is written in C# and utilizes OpenTK. Although I've not started any kind of extensive testing, I have found that it will work on Ubuntu with the Mono libraries installed.

The battle engine has a majority of the required features implemented, including movement, status effects, skills and AI. A very primitive job system has also been implemented. The architecture is server/client, with server commands and client request/confirmations controlling the flow of the game.

The end goal is to have a multi-chapter single player campaign with gameplay further supplemented by cooperative and PVP game modes. The game currently loads all of its data using XML files, which should be very mod friendly. Currently only 3D characters are supported, but with enough interest, I can see what 2D sprites would require. Let me know what you all think!

Demo Now Available
Itch.IO page is here (http://howdogamedev.itch.io/tacticalrpg?secret=LiQ7YET0r8V7eKDMWTM9sEgVys)
Please report any issues on the discussion board or message them to me.

Thanks,
HDGD

Demo Available Here (https://howdogamedev.itch.io/tacticalrpg)
Title: Re: TacticalRPG Engine
Post by: Kaijyuu on August 06, 2015, 08:53:33 pm
Looks like you've got a good amount of work in. Certainly not the most polished thing ever but a good proof of concept.

Keep it up.
Title: Re: TacticalRPG Engine
Post by: Angel on August 06, 2015, 10:05:50 pm
Oh god, the fisheye perspective X____X
Do flatten the focal length out. It's such a staple of SRPGs that it's heresy to do anything else.

That aside, it looks like it's working as intended. The world could use more SRPG engines available to hobbyists, and I know I like playing around in all of them. Do keep it up! <(^.^)b
Title: Re: TacticalRPG Engine
Post by: 3lric on August 07, 2015, 12:10:20 am
I saw this on YouTube a week or so ago. It looks like you've put a decent amount of work into it and it would be nice to see that continue. My only personal issue is how the camera moves during battle, it seems to kinda jump around without a smooth transition. Other than that and what Toshi said, I have no complaints. Well done.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on August 07, 2015, 01:12:42 am
I would definitely agree, the camera as it stands is garbage. Most of it was hacked together quickly so I could get something on screen. Camera movement in battle is certainly jerky and something I'll work on. The methods needed to smoothly scroll are there, but I haven't gone back and changed the "snap to" methods out for the "scroll to" ones. I'll add the camera to my primary focuses.

When you refer to the focal length, you mean the distance from the camera to the objects, right? Would something like the below be easier on the eyes for the time being?
http://imgur.com/98WVgCn,3GKE2en#0 (http://imgur.com/98WVgCn,3GKE2en#0)

My to do list currently consists of:


I'll probably keep the visual effects simple for now and take a page from FFT's book where it appears to just be a 2D animation billboarded over the world.

For those curious, most of the data is stored in xmls. A skill looks like this:
<skill id="1000" name="testAttack" aoeCalc="single" targetting="normal" speed="0" hRange="1" vRange="1" rangeUser="false"
frate="f(N:100|-|S:pev|*|N:2))" srate="f(N:100|-|S:pev)" brate="100">
<effect id="2" custom="true" exffvalue="0" effvalue="f(U:str|*|N:-3.6|*|S:pdef)" />
<xeffect id="8" />
</skill>


Some of the attributes are a bit cryptic, with things like "frate" being the calculation for hit chance from the front. The effect elements point to effects by id in the "Effects.xml", and include things like "AddStatus", "ChangeHealth", etc. I've got a decent formula parser as well that I've written: f(U:str|*|N:-3.6|*|S:pdef) evaluates as "current user strength" times base number times "current target phys defense". Not really familiar with the tuning or methods for RPG formulas, so it's all subject to change.

Thanks for the interest and feedback guys.
Title: Re: TacticalRPG Engine
Post by: Angel on August 07, 2015, 07:46:08 am
No, focal length is what causes THIS crap:

(http://media.digitalcameraworld.com/wp-content/uploads/sites/123/2012/09/What_is_focal_length_definition_DCM129.shoot_basics.getty_138585363.jpg)

A flat focal length (referring to a flat lens that distorts an image to the opposite direction) is what makes every FFT tile look distortion-free no matter where it's positioned:

(http://img4.wikia.nocookie.net/__cb20100907095932/finalfantasy/images/c/cb/Fftactics.gif)

As you can see, the game would look no different (aside from rotations) were it drawn entirely with sprites rather than polygons. This is a staple of SRPGs.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on August 07, 2015, 03:49:30 pm
Oh! I know what you mean now. You want an orthographic projection: http://wiki.blender.org/index.php/Doc:2.4/Manual/3D_interaction/Navigating/3D_View

I'll see what that'd take later tonight.
Title: Re: TacticalRPG Engine
Post by: Angel on August 07, 2015, 09:09:52 pm
Exactly. I was just using physical camera terms. 8D
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on August 07, 2015, 09:49:06 pm
How's this?
http://imgur.com/7egt9Ki,BVJyIRY#1
Title: Re: TacticalRPG Engine
Post by: Angel on August 07, 2015, 10:03:03 pm
Brilliant! Exactly what I wanted to see.
Title: Re: TacticalRPG Engine
Post by: Kaijyuu on August 08, 2015, 08:14:29 am
Gotta agree that that looks much better.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on August 09, 2015, 07:22:20 pm
Thanks for the feedback. I've switched to the smoother camera movement and it's looking much better. I have to fix a few minor bugs and write up code for skill visualization then I'll try to release a "playable" build.
Title: Re: TacticalRPG Engine
Post by: Darkholme on August 11, 2015, 03:24:56 pm
This looks really cool. Color me intrigued.

What direction do you intend to take this project in?
Title: Re: TacticalRPG Engine
Post by: Mudvayne on August 11, 2015, 04:26:02 pm
This is really, really cool. I have no idea what you intend to do with it, but it's still really cool simply because you made it from the ground up.

I'd love to see where this goes in the future.

Pretty cool how you have the skills worked out, it seems pretty user friendly to create your own abilities. 
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on August 11, 2015, 08:46:37 pm
New video:
Tactical RPG Camera Demo (https://www.youtube.com/watch?v=UdK5NmvfNpA)
Nothing major in this video. Just demonstrates some of the new smoothed out camera movement and the orthographic projection, along with another musical track courtesy Youtube. Thanks again for the compliments.

As for direction, I have a story I'd like to share and I think this genre is the perfect medium to tell it with. I've played FFT avidly since I got my hands on a PS1, probably replaying it once a year or so. During that time, I've worked on acquiring the knowledge to do the programming, modelling, texturing, etc required to make my own game. I've been aware of this site for a while as well, along with some of the impressive things that have been accomplished by the people here. I've also noticed that the feedback provided is often direct and correct. Based on that, it makes sense to show what I've got and see what users here think.

A "brief", very malleable feature list:
Single Player


Multiplayer
This is generally a big no-no for a lone dev, but I've got some experience in this and have written the engine from the beginning to support this. It'll probably use TCP since the packets don't need to reach the destination in real time, which should simplify things.


Battle System
I plan on going a similar route as Final Fantasy Tactics with units having a sub job, passives and counter actions. I'd like to add some new elements such as skills related to setting up traps, persistent spell areas, and unit displacement spells. Anything related to actual map deformation is definitely in the pipe dream category, but it could be something I'd revisit. For items/equipment, I would like to add some stat requirements to gear. I probably wouldn't outright deny use of something, but it'd come with severe drawbacks. As in a feeble mage in heavy armor would probably have a movement penalty.

Mod Support
Outside of the 3D models, everything is basically just stored in various XMLs that essentially form a database. The 3D models are all just OBJ files and the images are in PNG format. My own content formats might change, but I plan on supporting these much simpler formats throughout development of the engine. Since I currently use the same methods that a modder would have access to, they could do most anything I could.
Title: Re: TacticalRPG Engine
Post by: Darkholme on August 13, 2015, 06:39:47 pm
Very cool.

Out of curiosity, why did you choose to go XML instead of a real database?

I bet if you opened this up the way of RPGMaker and sold your engine+editor on steam you could probably make some decent sales.I'd be quite interested in it, particularly if the gameplay mechanics were in editable scripts (even just interpreted Java/C#/whatever) rather than hardcoded and precompiled. It's got a fairly polished look to it with how you're rendering things, you would just need a good collection of sample art assets, which could be the ones you use in the game you're working on anyways. Ideally you'd want the option to compile the finished game to several platforms, like the newer RPGmakers can. (Otherwise people still might feel a need to go with something like Unity).

I'd like to make my own 3d SRPG at some point, and you can bet that something which saved me months of work I would otherwise have to do would be something I would be willing to pay for, and I doubt I'm the only one who feels that way. People do, after all, buy RPG Maker.

Though, I'd prefer a proper overworld, rather than the map-menu from FFT.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on August 15, 2015, 01:29:18 pm
Xmls are very easy to read, write and change. A database can be a lot less friendly in all of those categories. I can make changes in Notepad to an XML, not so much with a database.

As for selling the engine, I would like to think I could license out the engine one day, but it's a bit too early to be thinking of that. Adding things in like a script interpreter would be nice, but with me being a lone developer, it's a bit outside the scope of the engine as it stands. A proper overworld would also be nice and possible, but one of the biggest enemies of any project is scope creep.

With the camera now in a much better state, my focus has moved to the visuals for skills and allowing for truly animated models. The skill visuals can luckily use the same framework I already have in place for the cinematic stuff featured in the first video. I hope to have something to show soonish.
Title: Re: TacticalRPG Engine
Post by: Darkholme on August 16, 2015, 03:51:22 am
All fair points.

I look forward to seeing your next version. :)
Title: Re: TacticalRPG Engine
Post by: Bladegrasp1997 on August 18, 2015, 11:03:35 pm
WOW! This is awesome. I don't know if you have seen this topic
http://ffhacktics.com/smf/index.php?topic=10806.0
but I've been trying to do something like this. I'd like to help if I can.
I've made a few character models already and I'm working on level designs using the original levels.
I can do rigging and animations as well.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on August 19, 2015, 10:52:10 pm
Thanks for the compliment and thanks for your offer, but I think I'm going to continue working on this solo for now.

Not a giant update, but I did manage to accomplish some primitive skill visualization:


The "code" for this is again XML. Multi-target spells are not supported yet. Instead of a timeline, actions are grouped in layers. I'll eventually add support for a real timeline, but this was a bit easier to implement and I think will cover a vast majority of scenarios. The "prop" element should eventually support more types, such as a particle emitter, animated sprite, or a 3D object. All the camera actions shown in previous videos are also supported and I'll be adding more as needed.


<event id="2" type="normal">
<prop id="pellet" type="billboard" width="1" height="1" imagePath="Texture|effects|tex_Energizer.png" alpha="false"/>

<!-- Initial Settings -->
<action id="1" type="SetActorPosition" actorId="pellet" layer="0" position="user" toCam="true" offset="0,0,0"/>

<!-- Look at user/caster -->
<action id="2" type="LookActor" actorId="user" direction="targetNode" layer="0"/>

<!-- Prepare initial animation  -->
<action id="3" type="AnimateCharacter" actorId="user" state="cast" layer="+1" />
<action id="4" type="MoveActor" actorId="pellet" layer="0" position="user" offset="0,1,0" toCam="true" speed="5"/>

<!-- Throw projectile -->
<action id="5" type="AnimateCharacter" actorId="user" state="attack" layer="+1" />
<action id="6" type="MoveActor" actorId="pellet" layer="0" position="targetNode" toCam="true" offset="0,.5,0" speed="6"/>

<!-- Hit target, display damage -->
<action id="7" type="AnimateCharacter" actorId="user" state="idle" layer="+1" />
<action id="8" type="AnimateCharacter" actorId="target" state="result" layer="0" time=".5"/>
<action id="10" type="RemoveActor" actorId="pellet" layer="0"/>
<action id="9" type="DisplayEffects" actorId="target" layer="0" time="1" />

<action id="11" type="AnimateCharacter" actorId="target" state="idle" layer="+1" />
</event>
Title: Re: TacticalRPG Engine
Post by: Bladegrasp1997 on August 20, 2015, 12:15:16 am
No prob, I can't wait to see more of the battle system.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on August 25, 2015, 11:10:45 pm
2D Sprites
Doing some restructuring on the code related to character rendering and figured I'd see how difficult adding a class for 2D characters would be. Is there a guide on how sprites are put together? I think I can decipher it on my own if need be, just didn't want to do redundant work.
2D Sprite Test (https://www.youtube.com/watch?v=4_ubzFN4Jfk)

Skills
As far as visualizing skills are concerned, I have a fairly simple system in place that can replicate some of the more basic skills such as "Fire". There's certainly a lot of room for improvement though.

Changing Priorities
I'll probably be refocusing and start looking at content as opposed to the engine. That ship from a previous video desperately needs texturing and I'd like to rig the human character that's in the above video. I think once I have a basic human rig, I can start playing dress up with the base human model and start creating characters for my game.

Thanks,
HDGD
Title: Re: TacticalRPG Engine
Post by: Angel on August 25, 2015, 11:36:52 pm
You can get a good idea by loading up a disc image of FFT or WotL in Shishi. Type1 and Type2 sprites are spliced together as required by ability and set by SEQ. Arms and legs have independent positions, layered onto the body for ability animations and statuses and so forth. CYOKO (chocobo) is similar. For the human sprites, at least, all animations are represented in Shishi frame by frame with red boxes indicating which tiles are in use to draw each frame. Lirmont has tools for other sprite type animations, if needed.

Other monster and zodiac demon sprites mostly have no splices; they are what they are. Worker 8 is an exception, with hard coding. ARUTE and KANZEN have some portions tiled, as well.

Your sprite test isn't bad at all, just not quite centered, as you mentioned. Transitions happen when they should (in battle, at least; event camera spins are smoother since units aren't in walking loop yet, but I'm sure that's not exactly the focus at the moment). You're very much on the right track.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on September 10, 2015, 10:44:42 am
Thanks Toshiko. That tool helped me partition the spritesheet correctly.

Updates
Still working on 2D support. Can currently create new animations in XML pretty quickly, but need to add layering support.

Working on some heavy refactoring of the battle module. I didn't like how fractured and specialized the stage class and its children were getting. Adding actors/props was also getting bothersome since you have to pay attention to the rendering order in OpenGL.

Also started working on the "overworld" module. World navigation will be the same as Tactics. It seems like the best method in this situation because it's simple, works well and doesn't require loads of content to be created for it.
Title: Re: TacticalRPG Engine
Post by: Cheetah on September 20, 2015, 09:46:05 pm
Just wanted to say that I continue to be really impressed by this project and I hope to see future updates.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on September 24, 2015, 05:57:28 pm
Thanks Cheetah. I'm trying present some sort of update every one or two weeks. I'm afraid this update will only consist of words. Major goal is to make the game more tester friendly. Even started working on some primitive documentation with TiddlyWiki.

Updates
Graphics related work has been temporarily put on hold as I work through various battle engine bugs that I've encountered. When I get back to work on this, my focus will be on 2D character support.

I refactored the code related to charged skills and how they work and what happens if they fail. Code has been put in place to eventually allow a failed skill to result in a different skill being cast on a different target. Such as a mage blowing themselves up for not meeting skill requirements.

Refactoring for stages is mostly complete. There are now just two stage classes: "Stage" and its child "GraphicalStage". How important do you all feel about support for dynamic stages? I'm by no means planning on implementing it as it is currently out of scope, but was curious. An example would be a bridge collapsing. Probably nothing as dynamic as skills deforming a stage.

Currently planning out basic controller support as well. Game currently just supports keyboard. I will just do something basic for now and have the game look in the user directory to load custom controls that map joystick input to the keyboard. OpenTK has some degree of support for joysticks, but I'm not familiar with it. Should hopefully be simple.

As always, let me know if you have any questions.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on October 03, 2015, 12:42:37 pm
Stage Select

I've implemented a stage select screen that scans all available stages and scenes, then lets you select a scene by cycling through the stages. Will probably have it display additional information such as a stage description in one window and scene information in another. A few annoying bugs identified by testers have also been fixed. I'm not currently aware of anything outstanding, but I'm sure there are more issues to shake out.

The video also contains the first recording of a complete battle between two teams controlled by AIs: Berserk and Tactician. Berserk is mindlessly aggressive, but Tactician is aware of its other skills and of more complicated decision making, such as picking one target over another if it can eliminate the 2nd target. Personality for Tactician is not yet implemented.

Current Focuses
Title: Re: TacticalRPG Engine
Post by: Andrew on October 03, 2015, 01:22:43 pm
I don't have anything meaningful to contribute to your project, but I can compliment you, at the very least.  I can't imagine how much time and effort you must have put into this thus far.  I'm very impressed!  It's becoming more and more like FFT with each update.  I look forward to future posts.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on October 11, 2015, 09:37:33 pm
Thanks Andrew. Compliments are certainly helpful. Also, feel free to provide any feedback on stuff or ask any questions. I know graphically I'm not presenting much yet to look at, but I'm working on it.

2D Sprite Support
Animated Sprite Test (https://www.youtube.com/watch?v=GQjrewmbQic)
A character can be linked to an image file and a "flat" file. The flat file contains the animations, frames and rectangles that define everything in regards to representing a character as a sprite.

The following code segments contain snippets from one of the "flat" files. This block defines a required "idle" animation and contains a sub anim for when this animation is viewed from a 45 degree angle.
<animation id="idle" >
<anim angle="45" flipFrame="true" >
<frame id="3150100" time=".125" /> <!-- Neutral -->
<frame id="3150101" time=".125" /> <!-- Front 1 -->
<frame id="3150102" time=".2" /> <!-- Front 2 -->
<frame id="3150101" time=".125" /> <!-- Front 1 -->
<frame id="3150100" time=".125" /> <!-- Neutral -->
<frame id="3150103" time=".125" /> <!-- Back 1 -->
<frame id="3150104" time=".2" /> <!-- Back 2 -->
<frame id="3150103" time=".125" /> <!-- Back 1 -->
</anim>


Frame Definition
<frame id="3150100">
<rect id="14"/>
<rect id="33" x="0" y="11"/>
</frame>

Rect Definition
<rect id="14" x="160" y="40" width="32" height="40" />


I did most of this by hand to get something working. Anyone familiar enough with ShiShi's source to point me to where it's reading the rects and offsets from the iso? Figure I might be able to modify ShiShi to do this work automatically. I'm dropping this a bit further down on the priority list for now.

Gamepad Support
Currently only an XBox 360 controller is tested. I suspect it probably won't work with much else for now. But I think I add future support later.

Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on November 07, 2015, 12:50:32 am
Overworld Module
Project isn't dead! I've been busy with some work and life stuff. Certainly nothing negative, but too busy to provide much of a look on what I've been up to. Overworld module is coming along nicely. Currently supports:



Art is a bit rough and a work in progress. But I figured I'd throw something together and record it. Switching to the overworld module has been a nice change of pace since this stuff is a lot easier than the battle module. There is still a lot of work to do such as events, random encounters and shops.

Updates
My character modelling skills require a lot of work still. I think I have a base human model down as far as proportions, but I need more experience in the fields of rigging and designing a riggable mesh. I plan on taking a break from the human model and designing another enemy monster to use for battle. Here's a slightly out of date example of the humanoid template (https://sketchfab.com/models/a06a853937cd4d8797e0c6cff02d0e20). I have a much easier time with stage creation than character modelling, but I'm sure I'll get faster and better at both the more I do it.

For 2D support, I've done zilch. If I have time this weekend I'll revisit it and see what I can figure out.

As always, feel free to let me know what you think, good or bad.

Thanks,
HDGD
Title: Re: TacticalRPG Engine
Post by: Cheetah on November 07, 2015, 01:16:59 pm
Looking great. I'm particularly impressed that you already have support for curves on the map. Are you going to add a mode to use direction buttons to move directly between map points and not just scrolling? How is the auto scaling working and will it include zooming?

The model looks fine, but that must be a huge amount of polys on that little guy to be so smooth. There lots of decent free 3D assets out there that you could use while testing and not take away from programming dev time. Keep up the great work.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on November 07, 2015, 03:39:32 pm
I'm not quite done with the curves yet. The curves are broken up into segments/rectangles, which result in the straight lines that you can see in the curved path. There are gaps that appear when using more extreme curves without enough segments. I have read about on how to fix that, but I haven't tried to look into it quite yet. Luckily there is quite a bit of material to read about bezier curves, so it wasn't too bad to figure out.

I have thought about adding button controls to navigation in addition to the fake mouse cursor, but it gets a bit tricky if you have a location with more than 4 connectors coming out of it, also the relative angle between your start and end add more complications. As an example, the bottom right city of that triangle of locations, which path do I assign to "Left"? What if there's a third connector from that segment that runs up? I'd worry that I'd have a difficult time making it not only intuitive, but also accurate.

The map scaling needs to have a bit more intelligence added to it since it makes some assumptions like your map image being larger than your resolution. I'll eventually fix that, but it works for now. The code identifies which dimension of the image is smallest and then scales it to 1.5 times of the matching resolution dimension. I think there are some cases where this won't work correctly, but I'll fix those as I encounter them.

Zooming is in its early stages and has a few bugs, but is overall pretty simple. Despite being a 2D map, it's still essentially in a 3D world. I just have the camera zoom out and all the locations and connectors stay in place.

For the character model, it's hard to say on how much is too much at the moment. The model I uploaded has a subdivision modifier applied, bringing it to 4128 triangles. Without, we're at 1032. The slime man is at about 3092 with the subdivision modifier. I've not noticed any performance issues yet with 10 of them on the field. It is certainly something I'm keeping my eye on though.

Thanks for the feedback.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on November 18, 2015, 01:06:14 am
Overworld Module
Not much has been done. I'd like to add random encounters to the wilderness areas. They would link to whatever scenes and stages I have on hand as opposed to anything that makes sense, but it's progress. It might give me a reason to look at implementing a very simple party system and deployment. Shops/towns/castles are at the bottom of my priority list. I need to actually implement items before I bother with that.

Battle Module

Finally implemented 3D animation to some degree. Video is pretty brief, but wanted to have something to show. The major thing that's missing in the code is support for transitions between states, such as falling down after dying and stuff like that. I use keyframe animation as opposed to skeletal for simplicity, but adding support for skeletal might be something I do in the future.

Current Focuses


Stage Design
What qualities of a stage do you guys think are most important? I think the scenario and enemies play a major role, but ignoring that, I'd have to pick a stage like Barius Valley as my favorite. It has an interesting layout with a deep river splitting it in half. This allows for tactics more complicated than just running at the enemy to be used, such as establishing fronts and choke points. The changes in elevation mixed with the aforementioned choke points give ranged units a bigger role. You can actually defend an archer with a single knight and not worry as much about a chocobo just circling around and murdering the archer. Anyways, just wanted to see what other people thought.

As always, if you have any questions, feel free to ask.

Thanks,
HDGD
Title: Re: TacticalRPG Engine
Post by: Cheetah on November 29, 2015, 05:02:10 pm
I'm liking the nice smooth progress. Related to stage design, one of the most unique aspects of FFT's battle system is the verticality of the levels. I think it really sets it apart from other strategy RPGs and is an aspect missing from many of the more modern games in the genre. FFT did weird stuff with character to building proportions to pull it off, making the buildings relatively small compared to the characters. The related elements of vertical movements and obstructing the trajectory of projectiles is also important.
Title: Re: TacticalRPG Engine
Post by: Kaijyuu on November 29, 2015, 07:27:51 pm
I always felt FFT could do with more chokepoints. The game's maps have a rather open feeling, which is only exacerbated later by people having access to move +2 and +3. Spells not requiring LOS also add to this.
Title: Re: TacticalRPG Engine
Post by: Cheetah on November 30, 2015, 07:29:36 pm
Quote from: Kaijyuu on November 29, 2015, 07:27:51 pm
I always felt FFT could do with more chokepoints. The game's maps have a rather open feeling, which is only exacerbated later by people having access to move +2 and +3. Spells not requiring LOS also add to this.


I first read "checkpoints" and I disagreed, but yes "CHOKEpoints" do add to the mix. I do disagree somewhat in that I think when you are first learning the mechanics that there is already a fair amount of chokepoints in FFT already. In a variety of ways too, such extreme height changes, doorways, and dangerous terrain (poison bogs and lava). It's just that as advanced players we know all the tricks and how to get to the good skill quickly to avoid these hazards (move +3, fly, etc.).
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on November 30, 2015, 11:54:44 pm
Overworld Module
Nada.

Battle Module
More of an overall engine improvement, but I've started moving a majority of rendering to shaders, with an example being 3D animation. Originally I'd taken the lazy route and let the CPU handle the tweening between keyframes and streaming to the video card. This worked okay with a handful of units, but began to experience intermittent performance hits with anything above 7 units. I decided to let the GPU do its job after discovering that...
(http://i.imgur.com/pPDqaJI.png)
Now I can apparently handle this many. I don't know what the upper limit is, I got bored and stopped adding units before reaching it. The outline shader is temporarily broken, but that's a pretty easy fix that I didn't have time to get to tonight.

Current Focuses


Stage Design
I agree with both of you on most everything.

The more vertical stages were very fun to play, such as the church level with Delita where that religious jerk is up on top of the building. It did seem to be utilized a lot though with your party needing to fight uphill. I'd like to see about doing the opposite and giving the player the higher ground while giving the AI near overwhelming material to work with. Such a dynamic is kind of broken by what Kaijyuu mentioned with the lacking LOS spells. I think that's also part of why archers sucked in comparison to mages in FFT. When I get to the point where stage geometry is more defined to where I can check for LOS, it's something I'd like to look at.

The character to building proportions are off, but I understand why they did it and it's probably something I'll also use since it minimizes the scale that a stage has to be if it features part of a city.

I think having maps with multiple floors could also be interesting. I don't recall FFT having many levels that took advantage of this. I don't currently support multiple stories on a map, but I've written all the pathfinding code to be agnostic about, so it should hopefully require minor modifications to add support. Fighting through and clearing a tower floor by floor would be interesting and would naturally offer choke points at stairwells. It'll be interesting to see what does and doesn't work.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on December 02, 2015, 11:22:57 pm
I don't have a demo ready, but I have an older game I made using the same build of the engine. Would anyone be willing to test it?

It's just a simple pacman clone as seen here (https://www.youtube.com/watch?v=IdNef-y39xY).

https://mega.nz/#!gFB0EaZT!tVD1R0r80TWxexUl93EwH61t1UUvMc4JoeslnZbHeAA
Does it run?
Does sound work?
What does the FPS counter say?
What does the MSPF counter say?

If any errors are encountered, take a screenshot if possible and PM me a brief description of the error.

Requires .Net Framework 4.5 or Mono for Linux/Mac. I've only tested a little bit on linux. My linux laptop died recently so I'm not expecting it to work well.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on December 16, 2015, 12:16:18 am
Minor update today. Fixed the outline shader and restructured some minor things for it. I'd wanted to just change the shader program and reuse the same code for rendering an object, but that wouldn't have been as pretty as I wanted. So stage objects such as characters, props, etc now have a "Render" and "RenderOutline" method.

(http://i.imgur.com/2JpyBtY.png)

Worked on the mantis animations briefly and added a rather lazy idle animation. As you can see it has some clipping issues. I'll throw together the rest of the critical animations when I have time.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on December 24, 2015, 06:16:44 pm
Demo
First, apologies for quadruple post. Second, a demo is now available on Itch.io
here (http://howdogamedev.itch.io/tacticalrpg?secret=LiQ7YET0r8V7eKDMWTM9sEgVys)
I expect a lot of issues to be uncovered, so please be sure to report them. There's a discussion board on the page or you can PM me whatever problems you encounter. I expect quite a few people to be entirely unable to run it, but with enough information, I'm sure I can fix it.

Thanks to all of you for your interest thus far and have a merry Christmas.

Thanks,
HDGD
Title: Re: TacticalRPG Engine
Post by: 3lric on December 25, 2015, 06:31:17 am
No need to apologize, as long as the posts are at least 24 hours apart.

I'll definately give this a try later tonight.
Title: Re: TacticalRPG Engine
Post by: Choto on December 25, 2015, 09:10:30 am
I just popped it in real quick, it runs really smooth! I'm interested in this with it being written in C#...

my FPS ran around 60 or so. I did the AI test, and I think when it cycled back to my original character, it hung up and I got a "that laggy? 1" message a couple times in the console.

was this written using XNA? I think it was Eldiran that was saying C# was kind of inefficient and that XNA was getting phased out or something. C# is my best bet for writing my own game or something of the sort though, i love the language. What do you think?
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on December 26, 2015, 02:49:46 pm
I'm currently unable to reproduce the slowdown, but I'll see what I can figure out. It's on the throne room map with the AI test, correct? 5 blue slimes vs 5 orange?

The game actually uses my own engine, which in turn uses OpenTK to interface with OpenGL. XNA was pretty awesome, but it is indeed dead. It has been replaced with Monogame and some other frameworks with cloned APIs.

I think C# is a fine language to use for just about anything. The major flaw that I can't really argue against is that the garbage collection can cause inconsistencies in performance. C# can stockpile objects that need to be disposed of and then decide to do it all at once, creating temporary lag. There are ways around it such as reusing objects and things like that.

I personally haven't ran into any real performance issues with C#. It's been fast enough for the pathfinding, AI, interfacing with OpenGL and just about everything else I've thrown at it.
Title: Re: TacticalRPG Engine
Post by: Cheetah on January 05, 2016, 07:24:19 am
Any chance of an OS X build for me to test?
Title: Re: TacticalRPG Engine
Post by: Angel on January 05, 2016, 09:03:07 am
It's written in C#. To port to OSX, he'd need a Mac himself.
Title: Re: TacticalRPG Engine
Post by: pbrand on January 05, 2016, 01:04:28 pm
Quote from: Choto on December 25, 2015, 09:10:30 am
I think it was Eldiran that was saying C# was kind of inefficient and that XNA was getting phased out or something. C# is my best bet for writing my own game or something of the sort though, i love the language. What do you think?


C# is basically the equivalent of Java, but due to being created by Microsoft it can gain some benefit from .NET. Both Java and C# are garbage-collection languages, which means that you can't use pointers (well, outside of "unsafe mode") and the "garbage" (unnecessary memory references) cleanses periodically outside of your control.

XNA's been unsupported for a number of years now. I started off my 2D tactical RPG using it in about 2011/2012 (only prior knowledge was 3 university C++ courses, didn't have a problem adjusting) but eventually abandoned it. Due to being a very light but powerful framework, a lot of people have tried to keep XNA alive ever since Microsoft gave up on it. In particular, Monogame was the torchbearer, but even now that's fizzled. The newest project to keep XNA supported (and open-source this time) is FNA, which you can read about here: https://plus.google.com/+flibitijibibo/posts/CB9tuYV1TnF

I've long since moved on to Unity3D (which also uses C#) so I haven't checked out Mono or FNA firsthand. There are a WHOLE lot of benefits to doing this genre in 3D that I could get into, but I'll just say that I probably wouldn't revert back to my old 2D XNA version ever. Anyway, the comment about C# being "inefficient" is slightly inaccurate. It's just as powerful as C++ typically (especially for a game, and even more especially for a trivial turn-based one) but the lack of control over pointers can be annoying sometimes. One example off the top of my head would be a pointer to the current unit in the turn queue, which could be handled fairly easily in C++, but you'd have to create a Queue<Unit> or whatever syntax in Java or C#. Honestly, if you're making a turn-based game, you really shouldn't be worried about the difference between C++ and C#.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on January 06, 2016, 07:20:05 pm
Quote from: Cheetah on January 05, 2016, 07:24:19 am
Any chance of an OS X build for me to test?


Might give the below a shot. A rebuild for OSX may not be necessary.
http://www.mono-project.com/docs/about-mono/supported-platforms/osx/
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on January 19, 2016, 09:26:59 pm
The "I'm not dead yet" Update
Been very busy as of late and haven't had a shred of time to work on the engine. I have had time to do some brain storming and come up with ideas for the skills/cinematic system, but those ideas won't be implemented anytime soon. This update isn't completely void of value though. I've spent my night modifying the source code for ShiShi (thanks melonhead and Glain) to dump frame data.

2D Sprite Support
I think I've dumped what data I needed from ShiShi. I'll need to organize things and group the frames up for the various animations. This shouldn't be too time consuming as only core animations (dead, walk, attack, cast) will be supported for now.

Current Focuses


Some sprite progress (http://www.youtube.com/watch?v=c1pY1HDribk)
Title: Re: TacticalRPG Engine
Post by: 3lric on January 20, 2016, 01:47:11 am
Glad to see you're still going strong, keep up the good work man.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on February 01, 2016, 03:35:44 pm
Thanks. I hope to keep on trucking.

Update
I've recently been more consistent on coding for this. Most of the work is related to fixing some bugs with animation code. For now, animation will remain simple, with things like "Do y on frame x of animation" not being supported until later. Only major issues left for animation are when two animations are assigned to a unit at the same time and applying actions to all members affected by an attack instead of the first target in the list.

Current Focuses
Title: Re: TacticalRPG Engine
Post by: Cheetah on February 04, 2016, 09:37:35 pm
Keep at it! Getting momentum with a project can be tough.
Title: Re: TacticalRPG Engine
Post by: Atma on February 05, 2016, 09:53:53 pm
Wanted to pop in and say Great Work!
I've been thinking of building my own engine and have been going through tutorials learning how.  You're off to a great start.  How customizable is it going to be for others to use?  Will be able to make larger Sprites?  I guess keeping the square tile size is the standard, and if you want to make them seem smaller you could just make a larger map and zoom the camera out, but as for the sprites, will they be textures displaying on a plane (therefore customizable to whatever size texture is allowed) or is it a fixed image?
I hope my meaning isn't too confusing.  Just want to know how "pretty" a finished project can be.  I love FFT (even after 18+ years), but we need engines that can handle hi-res images and preferably 3D models.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on February 06, 2016, 01:22:49 pm
Thanks for the kind words guys.

Content in the game, such as characters, stage layout, animations, events and skills are defined by various XML files with a special schema defined for each XML file type.

Sprite support for characters is still very fluid and is a work in progress. As it stands, you need a PNG sprite sheet and some familiarity with XML files. 2D characters are drawn using a method called billboarding, which I believe is what you described. There's a lot of tweaking left to do with this system before I can say what will and won't be possible.

For the engine as a whole, square movement tiles are all that I plan on supporting. Overworld support will also be limited to a map with predefined paths and locations as opposed to free range movement like earlier Final Fantasy games.

3D animated character models are currently supported. If you're looking for some AAA quality end result, I don't think I'm skilled enough to reach that.

As for my normal updating, I hope to have another up to date demo out before the weekend is through. Mostly just bug fixes.
Title: Re: TacticalRPG Engine
Post by: Darkholme on February 08, 2016, 11:35:49 pm
Woo! Looks great. I like the addition of animated sprites, and I look forward to your future releases.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on February 16, 2016, 08:46:17 pm
(http://i.imgur.com/ttMJO1D.png)

Update
Modeling completed for a new unit. I've got my tanky powerhouse unit for the forest figured out. You can guess the game that inspired the unit and just like its inspiration it'll be a low mobility powerhouse. Rigging and animation still need to be completed for the mushroom man and the mantis. I plan on having the mushroom man be very tanky, with very low mobility, but with an obscene strength stat. Perhaps it'd be capable of OHKOing units outside of something like a knight. I'll experiment more later.

Demo
I'm working on this right now. The plan is to just have two battles available. Both battles will be identical with a squad of orange slimes against blue slimes. The difference will be in one, orange is controlled by the "Berserk" AI. In the other, orange is controlled by the player. I will have this up before EOD and will update this post with a link to the Itch.Io download.

Demo is live (https://howdogamedev.itch.io/tacticalrpg?secret=LiQ7YET0r8V7eKDMWTM9sEgVys)

The demo is missing quite a few features. There is no victory condition, there is no way to back out of a battle. Only one of the skills has any kind of visual effect, and even then it's primitive. Currently have not added skill descriptions.

Job: Slimin
Title: Re: TacticalRPG Engine
Post by: Jumza on February 16, 2016, 09:23:42 pm
Woah! Great work on those models dude! It's so awesome that you're keeping at this :)
Title: Re: TacticalRPG Engine
Post by: Guru on February 17, 2016, 02:13:11 am
I've been meaning to post on this for a while and it's very impressive that your designing your own engine and it looks like it's coming along nicely. I'll check out your demo soon when I get back on my own computer, but proly not much feedback I can give ya besides basic stuff.

Your models look great by the way! Especially that mushroom lol

Definitely looking forward to seeing your project progress though!
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on February 17, 2016, 11:11:28 pm
Any feedback is welcome, even/especially if it's just "it doesn't run" or "it runs badly".

The demo is now out. (https://howdogamedev.itch.io/tacticalrpg?secret=LiQ7YET0r8V7eKDMWTM9sEgVys) Outside of any reported bugfixes, I probably won't release anything too substantial until I finish the rigging, animations and texturing for the mushroom and mantis.

Again, be forewarned that the demo is extremely barebones. The core game is there, but skill effects, any kind of polish and various features simply aren't implemented. There's no victory condition yet, there's no backing out of a battle and no missing skills. The demo is meant more to just make sure it works for people and there isn't something glaring that I've missed. As always, if you have any questions, comments, suggestions, etc, feel free to post them.

Thanks again for all your support.
Title: Re: TacticalRPG Engine
Post by: Jumza on February 17, 2016, 11:21:05 pm
Speaking of it not running... :P

When I try to run the executable, I get this:

OpenGL V.4.3
Data\HowDoGameDev\Textures\tex_pointer.png
Data\HowDoGameDev\Textures\tex_pointer.png
Data\HowDoGameDev\Textures\tex_pointer.png
Data\HowDoGameDev\Textures\tex_pointer.png
Data\HowDoGameDev\Textures\tex_pointer.png
Data\HowDoGameDev\Textures\tex_pointer.png
Loading Program: stagePreview
Loading Shader: stagePreview.f
Info: WARNING: 0:1: '' :  #version directive missing



Loading Shader: stagePreview.v
Info: WARNING: 0:1: '' :  #version directive missing
ERROR: 0:5: 'assign' :  cannot convert from 'attribute 4-component vector of float' to 'varying 2-component vector of float'



Fatal exception on startup: Shader failed: 0| WARNING: 0:1: '' :  #version directive missing
ERROR: 0:5: 'assign' :  cannot convert from 'attribute 4-component vector of float' to 'varying 2-component vector of float'


Stack:    at HowDoGameDevEngine.TwoD.ShaderManager.LoadShader(ShaderType shaderType, String id, String code) in c:\Users\phillip\Dropbox\HowDoGameDev\HowDoGameDevEngine\HowDoGameDevEngine\HowDoGameDevEngine\TwoD\ShaderManager.cs:line 42
   at HowDoGameDevEngine.TwoD.ShaderManager.LoadProgram(String id, String vertexId, String fragmentId, Boolean isVertAndFragFilePath) in c:\Users\phillip\Dropbox\HowDoGameDev\HowDoGameDevEngine\HowDoGameDevEngine\HowDoGameDevEngine\TwoD\ShaderManager.cs:line 59
   at TacticalRpg.MenuStates.StageSelectState.Activate() in c:\Users\phillip\Dropbox\HowDoGameDev\HowDoGameDevProjects\TacticalRpg\TacticalRpg\MenuStates\StageSelectState.cs:line 102
   at TacticalRpg.MainState.Activate() in c:\Users\phillip\Dropbox\HowDoGameDev\HowDoGameDevProjects\TacticalRpg\TacticalRpg\MainState.cs:line 54
   at HowDoGameDevEngine.Core.GameCore.OnLoad(EventArgs e) in c:\Users\phillip\Dropbox\HowDoGameDev\HowDoGameDevEngine\HowDoGameDevEngine\HowDoGameDevEngine\Core\GameCore.cs:line 94
   at OpenTK.GameWindow.Run(Double updates_per_second, Double frames_per_second)
   at OpenTK.GameWindow.Run()
   at TacticalRpg.Program.Main(String[] args) in c:\Users\phillip\Dropbox\HowDoGameDev\HowDoGameDevProjects\TacticalRpg\TacticalRpg\Program.cs:line 26
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on February 17, 2016, 11:55:36 pm
And the fun begins! I should have known some graphics cards wouldn't like that I'm sloppy.

Open this file in notepad:
[gameDirectory]\Data\Shaders\stagePreview.v

Change line 5 from:
vTexCoord = gl_MultiTexCoord0
to
vTexCoord = gl_MultiTexCoord0.xy

Also, figured I'd edit this to add my latest video.
Title: Re: TacticalRPG Engine
Post by: Starmage21 on February 22, 2016, 08:50:55 pm
This is AWESOME!
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on February 24, 2016, 12:29:21 am

Recorded another Berserk vs Tactician fight with the new Mushroom unit. Nothing too spectacular, but all of the skills for the slime now have skill event settings for them. There's another video of me playing poorly against Tactician on my channel, but it's a bit long winded and I win by being cheap.

Updates


Current Focus
The Mantis texturing and animations are next up on the todo list. Once I'm finished with that, on to the humans. Alongside that I hope to work more on the Overworld. With the changes I've made to the scene class, I should be able to randomly generate fights. Just need to get a basic party structure and it'll be good to go.

As always, let me know if you have any questions.
Title: Re: TacticalRPG Engine
Post by: Guru on February 25, 2016, 04:32:59 pm
It's looking really good man! So I'm assuming tactician is basically the AI in your engine?

I really want to see that mantis in action lol. Can't remember the last cool mantis I saw in a game. Only one that comes to mind is phantasy star back in the day. Which is still one of my favorite games (PSIV rocks!!).

If you need to bounce some ideas around for skills(or anything really) I'm sure many people here would be happy to give some thoughts, myself included! You could probably even post in the recruitment section. There has been a couple similar threads created in there, bouncing skill ideas around, and had pretty good results. I don't think it's limited to just FFT projects, so I don't think Elric and co. would mind  :mrgreen:

One skill comes to mind with the mushroom would be a spore attack. Now if you make different species of mushrooms it would work out cool too because you could have each one's spore attack inflict a different status. For example one that causes hallucinations which would inflict confusion, another that would cause sleep, one that inflicts poison and etc.

*edit* just had a neat idea for the spore attack too! You could even have one of the spore attacks turn the character into a mushroom, like as a tribute to Super Mario rpg  ;)
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on February 27, 2016, 02:05:12 am
Thanks, and yes, Tactician is the name of the AI. It generates a list of all possible actions in a turn, removes all the absolutely negative ones (Kill ally, etc), puts the positive actions into a weighted list and then randomly picks one. The eventual plan is to implement personality for a unit, so a more violent character might be more likely to pick an action that kills an enemy, even if it means hurting an ally.

(http://i.imgur.com/CjBrbUo.png)
I've got the texturing for the mantis about as far as I want to take it for now. Also changed some of the coloring a bit on the default textures for the other units. Rigging the bones for animation is also complete and I've started working on the idle animation.

The Scatter Spore skill is actually one of the few I've come up with so far. I don't have the graphics figured out for it yet though. I'll probably work on it more after the mantis. Turning an enemy character into a mushroom could be fun, but it reminds me of "Malboro Spores", which is one of the most infuriating skills I've come across.

Brief Update: Victory conditions now exist! As long as a battle scene defines victory, the game will exit and return to stage select. Nothing fancy, but it's something. Animations are also complete for the Mantis. I'm burnt out on rigging/modeling, so I'm refocusing on the overworld module.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on March 02, 2016, 06:41:09 pm
Update
Another demo is ready to go! Find it here (https://howdogamedev.itch.io/tacticalrpg).

Updates Include:


As always, let me know if you encounter any bugs, have any questions or any comments.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on March 15, 2016, 07:40:27 pm
(http://i.imgur.com/dzgFx9F.png)

Update

Current Focuses:

Current Stage Progress:
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on March 26, 2016, 03:06:38 pm

Update
I tell myself to work on certain parts of the game, but inevitably get sidetracked by something else. Managed to work out the necessary shaders to emulate Wind Waker style water effects. My texturing needs to be more consistent, but I'm still experimenting with it.

I've solved the shoulder topology problem for my base humanoid model. After I fix the elbow and hip topology, I can start on the necessary animations and then on to customizing clothes, armor, etc for actual characters.

There are a few bugs that I need to track down and fix before I move along any further. After that, I'll resume work on the human model.
Title: Re: TacticalRPG Engine
Post by: Guru on April 11, 2016, 06:24:06 pm
QuoteI  tell myself to work on certain parts of the game, but inevitably get sidetracked by something else. Managed to work out the necessary shaders to emulate Wind Waker style water effects. My texturing needs to be more consistent, but I'm still experimenting with it.


Progress is progress though! I feel bad I haven't had a chance to try out your demos yet, but my computer is still down and I'm still working on getting enough money to fix it. Besides the human, which needs quite a bit of work IMO, I think the sprites all look really good and the texture on the mantis came out awesome! Textures on the maps are looking good, the bridge needs some work, but I definitely like everything else.

Could always make a rock bridge btw, just have a few stepping stones instead of the bridge. Would look more natural and I think would look better than a actually bridge. IMO of course  :P

Keep it up man and keep us posted!
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on April 24, 2016, 02:20:22 pm
Thanks for the feedback on the stage, Guru. I'd agree the bridge is looking pretty rough. I zoned out and didn't make the details as bold as the cliff face, water and the stone island. I think you're right that it looks a bit out of place. I'll see about changing some things up when I work on stages some more.

Project is still very much alive. Most of the progress is on the "Adventure" module. The adventure module could be considered the backbone as far as single player goes. It will coordinate the exchange of data between the overworld, story/event, party and battle modules. Various supporting systems like the party and story modules need further work as well. Once I feel that those are far enough along, I'll try to make some brief campaign to play through with the content I've got for testing.

I'm still hammering away on the human model. Collected some feedback from friends and I'm still messing with the anatomical proportions. I've solved a few topology issues as well to increase the flexibility of the model. I probably need to go through a few more character modeling tutorials and get more comfortable.


Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on May 08, 2016, 01:33:10 pm
Hello all,

I've created another demo. It can be found here:
https://howdogamedev.itch.io/tacticalrpg

There is a mild issue with this one, but I don't think it'll become a problem unless you play it for an extended period of time. Some of the buffers for objects are not being disposed of completely. Currently hunting down the cause.

The major addition to this demo is the ability to play on the waterfall map and unit deployment being implemented. The overworld module can now spawn random encounters when walking across wilderness locations, but that's not available in the demo.

Thanks,
HDGD
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on May 17, 2016, 01:09:28 pm
(http://i.imgur.com/TPCj0dx.png)
Update


Pretty happy with the human model's shape. The rig is pretty easy to use as well. If anyone has any suggestions on eye styling, I'm all ears. I've not been thrilled with anything I've come up with yet. Also not sure how I'm going to do weapons. At first, I'll probably just have a base model for each type.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on June 02, 2016, 07:14:08 pm


Updates
Particles - I've fixed my particle emitter and made it customizable. There's certainly still more work to do on it, but once I can assign textures, it should allow for much better skill effects.

Sound - Menus now have sound effects for scrolling and clicking buttons and cancelling actions. Battles also have background music, albeit it's static for the time being. Fixing this is one or two lines of code, I just don't have much music to work with, so I haven't bothered. Skills can also generate sounds now, but it's based on the "action" layer of the skill's event, instead of being tied to the animation's frame. This will eventually be fixed, but this is low on the priority list.

Models
I've created some simple armor and a few other accessories for the male human model. This hasn't proved difficult. A link to the armor can be found here:
http://i.imgur.com/1lhtRg7.png
It's a work in progress, but seems to work pretty well.


Current Focus
Figure out what's necessary to emulate the "Cure" and "Ice" spells from Tactics. These two spells should help provide some direction for me.

Title: Re: TacticalRPG Engine
Post by: 3lric on June 02, 2016, 07:37:50 pm
Very nice, I like it.

Though I was really hoping you'd punch that giant mantis in the back of the head.

Also, the guys avatar must be as old as my license :P that picture doesn't look like me anymore either :D
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on June 14, 2016, 11:31:44 pm
I'm afraid that punching and updated driver's license photos are outside of my skill level. I did get particles to be much more flexible though. Still can't map textures yet.



With some tweaks, I should be able to do some more complicated stuff.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on June 28, 2016, 12:29:53 pm


New swamp stage is under construction. Need to finish up texturing.

Lighting system still needs work.
Particles can be used with skills and as stage props.
Usable items are implemented

Next up:
Equipment
Overworld store
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on July 10, 2016, 04:54:04 pm
Update
Playable Demo Released:
https://howdogamedev.itch.io/tacticalrpg

Two Stages
Alta Swamp - Poisonous swamp. Enemies include shrooms, mosquito mantids and slimes
Alta River - A narrow river crossing. Enemies include shrooms, mantids and slimes

Overworld
4 locations, albeit you can't do anything at the Hut or Port.
Deployment area dictated by which direction a location is approached from.

Party
Two shroom men, two mantids, two slimes, one mosquito, one doctor, one "Guy". Guy is pretty worthless though, so I wouldn't use him.

To Do
Add skill description display
Assign proper particle effects to skills
Improve UI
Add mouse support
Start modeling generic female base
Title: Re: TacticalRPG Engine
Post by: Darkholme on July 15, 2016, 07:00:52 pm
Wow. The new progress is very cool.

I like the modular human model you've got. Very cool.

Keep up the good work!

I look forward to what you do next.

Once you have your engine up and running, what comes after?
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on July 18, 2016, 02:48:38 pm
Thanks for the kind words.

As for when the engine is "complete", I have two things I'd like to accomplish.

Barring the graphical elements such as the unit models and stages, the engine uses XML files to define just about everything: skills, stages, overworld, encounters, items, events, how skills are displayed, stores, cities, etc. I think this will prove to be quite friendly and attractive to someone that wants to make their own game/scenarios/skills/whatever. To support that I plan on writing up some documentation in a wiki. I already have this started, but it is by no means complete.

The second thing is I have my own story planned. I hope to have the engine far enough along to release a rough draft of the first chapter in a few months. The major component missing from the engine to facilitate this is the story module. I think that'll be simple compared to the other modules though. Asset creation is the biggest obstacle for me at the moment.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on August 01, 2016, 10:15:54 pm
(http://i.imgur.com/9estDOY.png)
Update
Most of my progress has been related to content. I've started working on the first/tutorial mission for the game. A rough draft of the stage is modeled, textured and playable. I've also got some of the dialogue and actions for the scene scripted, but there's still quite a bit left to do. It also looks strange with all of the models being placeholders. As a result, I've started working on characters. I have to keep things simple as I'm not that skilled, nor do I want to spend truck loads of time on something that might be a placeholder. Base female model is completed and I've created a rough character based off of it. This one will be used in the tutorial mission.

The doctor and the bat guy are characters I made to goof off and probably will not be used. That means I've got 7-9 characters left to design, model and texture. Hopefully I start getting faster at this. Any suggestions for a forest or swamp monster?
Title: Re: TacticalRPG Engine
Post by: 3lric on August 01, 2016, 11:52:34 pm
Nice job man. Glad to see you still pushing along on this. Very promising stuff here!
Title: Re: TacticalRPG Engine
Post by: Guru on August 02, 2016, 01:45:02 pm
Everything is looking good man. Nice to see your making good progress! Female sprite came out nicely, and the flying bug monster looks just as awesome as the mantis. Keep it up man, look forward to seeing more.

QuoteAny suggestions for a forest or swamp monster?


Hmm how about frogs/toads? Phantasy star has 2 different sprites that I always liked for these
http://shrines.rpgclassics.com/genesis/ps4/monsters.shtml (abe frog and sand newt)

lizards, alligators, crabs for swamp

forest I'm kinda striking out on right now. Spiders would be cool. AH some wolves, werewolves or bears too.

Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on August 08, 2016, 07:22:54 pm
(http://i.imgur.com/xLVjwNW.png)
Update
The textures for the path and the building are pretty bad, but I threw them together as fast as possible. Working on characters is my main priority because I don't think people want to play/look at a game about characters that are all clones of the same parking valet. Or maybe they do.

Forest/Swamp Units
I would like to do a frog, but one of the issues I'm afraid of is how a frog moves. It hops, stops, then hops again. It'd require slightly different movement code. I don't think it'd be that difficult to implement, but I'm trying to avoid adding complication at this stage.
As for the spider, I think that's doable. I have a swamp/water monster that's currently in a very early state. Will hopefully cover the gap in the monsters not having something that fits the status effect niche and give me a reason to implement more status effects.

As always, thanks again for the kind words. It does help keep me going.
Title: Re: TacticalRPG Engine
Post by: 3lric on August 09, 2016, 12:01:38 am
I get all giddy when I see the word Event.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on August 09, 2016, 03:53:01 pm
I think i've matched my definition of an event to FFT. It's basically a set of visual actions during a skill/battle/cutscene. Skills and cutscenes both utilize the same classes, so whatever can be done in one can be done in another with some exceptions.

Actions supported:
Focus/zoom/tilt/raise/revolve camera
CharDialogue
DisplayEffects - shows status symbol or stat change numbers
SetActorPosition - Teleport to position
ShowActor - works for "Hide" as well
LookActor - makes actor look at tile, position or another actor
MoveActorTo
RemoveActor
RevolveActor
WalkCharacter - Like MoveActor, but plays walk animation
AnimateCharacter - Set animation state
StartEmitter - turns on/off particle emitter
DisplayMenu
DisplaySkillName
Title: Re: TacticalRPG Engine
Post by: Andrew on August 09, 2016, 06:07:43 pm
It's nice to see that you've been sticking to it!  This makes me grin like a little kid.  :P
Title: Re: TacticalRPG Engine
Post by: 3lric on August 09, 2016, 10:09:12 pm
Very nice. I would be interested in mucking around with events in this at some point.

currently I've made more events than Square did for the original FFT, so I like to think I have a pretty good understanding of how it all works in FFT lol
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on August 13, 2016, 09:22:31 pm
(http://i.imgur.com/4GeCvn0.png)
Got another unit ready to go as far as texturing, modeling and animating. It'll be the first ranged unit. It will shoot seeds, which finally gives me a reason to implement projectile based skills. The unit will also have a unique mechanic regarding its death.

I'll see what I can do as far as a friendly build for creating events. The Overworld cannot currently drop the player into a story battle, only random encounters. I can probably figure something out for just starting the game up in a designated scene. I think I have some of the stuff documented, if not, I'll throw something together.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on August 21, 2016, 06:28:59 pm
(http://i.imgur.com/x6z952k.png)
Have a lot of the code necessary to do a projectile attack completed. I think there are quite a few cases that the current logic might get wrong, but I'll work through those.

Still messing with the color scheme, but I've got another unit modeled. Model is rigged and it looks like the weight painting came out pretty well, so I don't expect many adjustments will be needed for her. That's one less parking valet. Only 7 or 8 left to go.
Title: Re: TacticalRPG Engine
Post by: dotchan on August 21, 2016, 11:31:58 pm
Suggested feature, if you haven't added it already: add an outline to at least your currently active unit so that said outline is visible even behind obstruction.  (I personally would do it for all characters, period, but I don't know what effect that would have on lag or gameplay issues.) That would also allow slightly more varied map designs.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on September 06, 2016, 12:04:34 pm
Outlines
Making the outline visible through obstructions may involve some additional trickery, but I can certainly look into it. I would like to see if I can figure out a method to make the graphics code intelligent enough to identify when a column, tree, wall, etc is obstructing view and make it draw translucently instead.

Scenes/Events
As for an event friendly build, I'll try to resume working on that as soon as I can. I've not had time to work on the game very much since the last update. For the last day or two I've been brain storming how to best organize the single player campaign structure and store its progress. Party, inventory and stuff like that I think will be easy. This is more for things like:
Win Battle A -> Add location B to map, draw path to location B, add scene to location B

I think what I can do is have the scene file (declares stage, actors, events, victory conditions, etc) store information about what to do when completed. Special completion items could also be stored with certain requirements as well, such as "if Unit A survives, increase reward" and stuff like that. As a side effect, branching story lines would be possible, albeit I probably wouldn't use them. So the scene file would store:
Completion Requirement - Action
Achieved Victory - Add location B to map... etc


From there, I can create a simple progress file that stores scene completion information that I can walk through to get everything set up as needed:
SceneA - Result IDs
SceneB - Result IDs


Roster Update
(http://i.imgur.com/TeoDBRB.png)
I still need to figure out how to handle weapon display. I suspect I'll just implement very simple skeletal animation for weapons.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on September 22, 2016, 04:44:12 pm
Quick Update
It is a bit hokey, but I think I've got the campaign progression working. Tracking the progress isn't done, but it should be simple to implement.

Whatever event causes a scene to end will have an attribute called a completion code. This code is stored alongside the scene the event belonged to. This code is read by the campaign management module. It looks at this code and identifies any scenes unlocked by it. The new scenes either auto play or are added to whatever location assigned to them and will be triggered when the location is visited.

I am using tiddlywiki for the documentation and will include it in the next demo. I'll try to get something out either tonight or in the next few days.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on September 29, 2016, 12:16:08 am
New Demo
I've released an event/campaign friendly demo. It can be found on itch.io:
https://howdogamedev.itch.io/tacticalrpg

TacticalRPG-2016092802.7z - The game
TacticalRPG Wiki - The documentation

Documentation is a bit weak at the moment, but it should give someone a grasp on how the events work. Not much experience writing documentation, so if you want me to elaborate on something, let me know.

I've encountered some shader errors thrown by my new laptop. It has a Geforce 960M. Currently identifying the cause. Nothing fatal to the program, it just fills the console with warnings and displays a few things oddly.
Title: Re: TacticalRPG Engine
Post by: 3lric on September 29, 2016, 01:56:17 am
Great work man, glad to see you still cracking away at this, that kind of dedication is rare these days, keep up the good work!
Title: Re: TacticalRPG Engine
Post by: Kaijyuu on September 29, 2016, 02:21:04 am
"These days"? It's always been rare :)

As always, good job for keeping at it. I have trouble sticking to my projects as long as you have yours.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on October 17, 2016, 10:08:00 pm
(http://i.imgur.com/csKAVq2.png)
Thanks as always for the kind words. I've got a knight modeled and I'm working on finishing touches for the squid man. The knight is one of the main party members. Counting this guy, I have 4 out of the 10ish models I need for the first battle.

His hips are a bit too square for my liking. He'll cast annoying status effects like the mindflayer and gives me another unit to throw on stages with water. Also gives me a reason to add things like confusion, berserk and blind.

This puts my monster count at 6. I don't plan on adding anymore for now unless something cool comes to mind.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on October 29, 2016, 02:26:17 pm
(http://i.imgur.com/uZimSUp.png)

Made some posture and structural adjustments to the squid. I've also finished his skeleton. Haven't decided on how he'll walk yet.

I've finished the icons for berserk and confusion. Now I just need to implement them in code. Berserk should be pretty simple as I already have a berserk AI that I can have a unit switch to. Confusion should also be fairly simple. I don't have the code to tint units certain colors based on current status effect, but I think I can add that to the shader.

Implemented Status Effects:
Dead, Casting, Poison, Float

In progress:
Confusion, Berserk

Planned:
Blind, Silence, Slow, Haste, Regen
Title: Re: TacticalRPG Engine
Post by: 3lric on October 29, 2016, 02:43:09 pm
Great job as always man, keep it up!
Title: Re: TacticalRPG Engine
Post by: Koruten on October 29, 2016, 05:00:46 pm
Man this is fantastic work. I can't wait to see this completed.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on November 06, 2016, 10:28:31 pm
(http://i.imgur.com/eJRtIx9.png)
Making some minor quality of life improvements to the UI as it was pretty awful. Not dead set on the colors, but it hurts the eyes less.
Title: Re: TacticalRPG Engine
Post by: 3lric on November 06, 2016, 11:07:57 pm
Lookin good!
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on November 12, 2016, 05:07:11 pm
(http://i.imgur.com/P1TZlzB.png)

Battle Engine
*Counter Skills - I've started brainstorming how to implement counter actions, which will be pretty simple methinks. There are some caveats, but it'll basically be the same as FFT: Server tells clients to cast initial skill, then the server walks through the affected units, checks if unit has a counter skill, calculate if the counter will occur, check if it is smart for the counter to occur and finally if the enemy is even in the counter skill's range. If these all come back positive, the server will send out a counter skill. This skill command will probably have a special flag to prevent a never ending chain of counters.
*Skill Visuals - Working on implementing the shading effect where units and the stage are dimmed out during certain skills. It helps give the skill a more cinematic feel. I have to implement a "tint" attribute to the characters to change their colors in the shader, but I needed to do that anyways for status effects like poison.
*Skill Sounds - Implemented, albeit not very flexible yet. The skill system executes things like "play sound", "animate character", "activate particle" in layers. This means the engine doesn't allow you to play a sound on x frame of an animation. Allowing that will not require a lot of restructuring, but I need to make sure I plan it out well.

Art
I don't think it's a secret that I'm bad at art. The characters, environments, textures and even the UI have been a big weak point of the game engine. The engine is far enough along that this is becoming an issue to me with the stages being especially bad. Don't hesitate to constructively point out that something looks like garbage.
Quote from: Angel on August 06, 2015, 10:05:50 pm
Oh god, the fisheye perspective X____X

The above is probably the most useful bit of feedback I've received and resulted in the most dramatic and appealing change. Don't worry about being blunt and don't hesitate to ask questions.

Demo Plans
Next demo will be fairly limited in that it'll just be a single battle between two identical monster teams. A bit of a step back, but I figure it's easier to limit the scope to get useful feedback. The squid will be usable, but his animations will be limited.

As always, thanks for the kind words.
Title: Re: TacticalRPG Engine
Post by: Guru on November 14, 2016, 11:51:35 am
I actually think you have done pretty good on the art, especially considering you suck at art lol. I know the feeling, artistic is just something I am not.
I think this map looks pretty damn good, besides the lack of texture at the moment, but I'm assuming you just haven't gotten there yet.

The only thing I can suggest from looking at all of your work so far...the trees need a bit of touchig up. Wish I could give you specifics. Maybe this will help? (http://img06.deviantart.net/9b53/i/2010/041/e/1/6_tree_texture_brushes_by_dcmbrnite.jpg)

Really, I think you are doing fantastic work man and not only that but you are improving too. I see lots of potential here. I'll pop back in soon and give more feedback on everything else new you've added ( when I'm not supposed to be writing a 8 page essay on VPNs  :roll: )
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on November 14, 2016, 07:21:40 pm
I use a VPN for work, understand the concept, but would be utterly lost on setting it up. Good luck with that.

As for the trees, I agree, they're almost as bad as the hard angles. I will probably scrap the entire model and come up with something else. Stylistically, I'm trying to emulate Wind Waker. The textures do a phenomenal job at disguising that everything's low poly, looks good and matches my modeling skill.

This stage in particular has a lot of bland grass space. I've done a little bit of experimenting with particle systems and I wonder if I can use that to add a bit of shrubbery to liven it up.

First priority though will be softening up those edges. Something like below is what I plan on emulating.
(http://i.imgur.com/a7lJQZV.jpg)

Some topology changes
(http://i.imgur.com/odi8e32.png)

Coloring
(http://i.imgur.com/9sts8uY.png)

Minor texturing, found some tricks with blender to assist in tiling. Probably need a wider cliff texture to add more variety.
(http://i.imgur.com/cWYw7l6.png)
Title: TacticalRPG Engine - AI?
Post by: HowDoGameDev on November 30, 2016, 03:40:20 pm
Most of the updates thus far are nothing to boast about, just small things like adding skills and effects. So instead of boring everyone with that, I'd like to gather input in regards to an SRPG AI.

"Tactician" is the name of my most intelligent AI. It makes decisions based on how dangerous moving to a location is and measuring the potential effects of an skills. Tactician assigns values to the effects of skills and picks the highest value actions. Tactician also takes map influence into consideration. Influence consists of assigning a value to a tile based on what units could theoretically move to it. So if a tile has a danger value of 5, it means that 5 enemies could move to that tile, meaning they could probably cause whatever is in that tile harm.

Assume that damaging an enemy for 1% of their health is worth 10 points. What values would you assign to these effects?
Move to tile with danger value of 1 (-5)
Move to tile with safety value of 1 (5)
+1% HP Enemy (-10)
-1% MP Enemy (5)
-1 Speed Enemy (50)
Inflict Poison Enemy (45)
Resurrect Enemy (-500)
Kill Enemy (500)
-1% Health Ally (-10)
+1% Health Ally (10)
Resurrect Ally (200)

These would be baseline values. Eventually I would add another layer that includes a "personality" aspect. Personality would contain values for things like "aggression". Units with high aggression would increase the value of certain effects that inflict harm upon the enemy. Units with high empathy would increase the value of certain effects that assist an enemy, such as increasing HP, MP or casting positive status effects. Additionally, I hope to allow the AI to keep track of the effect units are having on the battle. This could be used to modify the tile influence a unit has or if an enemy unit should be prioritized for having a positive effect on their team.
Title: Re: TacticalRPG Engine
Post by: Kaijyuu on December 02, 2016, 01:54:22 pm
Ah, so you're making a heat map? Awesome.

I dunno about specific values, but I would put reviving ally above killing enemy. Maybe those can be weighted differently based on the current ratio of enemies:allies, too (more enemies meaning reviving more valuable and killing less).
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on December 28, 2016, 05:15:48 pm
Yep, it's basically just a heat map. As for weighing actions based on the current status of the battle, that's not a bad idea. I'd probably add some other attribute for the personality, maybe something like perception that would increase the unit's awareness and given weight for factors like enemies left.

(http://i.imgur.com/qgnMF0o.png)

Additionally, still not dead. Haven't had a lot of time to work on things with the holidays. Most of the progress isn't very visual. Standardized a few things related to actions/events and learned a few more things with blender.

Added static 3D models as an option for props. I apparently never implemented. The bushes in the screenshot are examples of a static prop. A skill or event can manipulate a stage prop or spawn their own props. Other examples of props are the particle emitters and the waterfall and water from the river map.

I have scripted out the first battle. It's all basically just dialogue between characters and then a battle. Nothing overtly complicated. I have rough drafts for most of the scenes necessary for chapter one. I'm dodging any graphical asset work as I'd like to just have something to play and share that's a bit more appealing than a random battle. Going to create another forest vegetation prop though as I enjoyed making the bush.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on January 11, 2017, 11:58:43 pm

Quick AI battle at the forest hut. Textures are still incomplete, but I got bored of working on them. Fixed a shader issue that was causing weird striping on some units and overall ruining the textures. Not featured in the video though.

Had to fix a few issues with the GUI code as well. I allow things to be positioned relative to designated sides of the screen. This was causing things to be positioned weirdly if the GUI control was something like an empty label. Completed further GUI updates as well.

I've also realized I never animated a basic punching attack for the human models. Going to have to put that together so battles don't look too goofy. Some of the bare minimum squid animations are also in. Received some feedback and suggestions for his gait. Going to see if I can get that working. That'd put me at 5.5 monsters. Mosquito's kind of crappy, so I barely count it. I've some basic sketches for a terror bird that I might pursue to bring it up to six. I know it's basically just a chocobo, but whatever. Animations should be simple and I think terror birds are cool.

====

Project is not dead. Taking a break while I discover the wonders of owning a house.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on March 23, 2017, 08:00:35 pm
From beyond the grave! I've nothing to really show, but wanted to provide an update on the status of the project.

Work on graphical assets such as stages and characters has been stopped for now. I was straying too far away from creating a "minimum viable product" and getting frustrated as I clearly lack skill and the quality doesn't improve much despite the time spent. Instead, I've refocused and am working on completing missing features or working on my own campaign by adding the necessary scenes and building very primitive stages.

Battle Module
Minimum required features implemented. Movement, skills, terrain, attacks and statuses are all working. AI is also competent enough to not be a complete pushover. Battles will end based on criteria that is defined. Battle events also work with support for quite a few different actions.

Story Module
A campaign can be loaded from a file and the scenes and story battles will play through. Scenes can be triggered automatically or based on entering a location. Scenes also product "scene" results based on how the scene comes to an end. This means someone could create branching story lines if they were inclined. I don't plan on using this myself. Progress through the campaign can also now be saved to a file and loaded on start up. No support for character/party progression though.

Overworld Module
The Overworld is functional. Locations can be revealed based on triggers and travel between locations is possible along defined paths. Random battles can be triggered based on location type. Random encounter enemies are defined for locations and allow only certain monsters to show up in certain areas.

Character Progression
Nothing really exists yet. Characters have stats and that's about the extent of it. I plan on implementing a sphere grid system similar to FFX where you move about a grid. A job consists of an area of a grid with stats and skills relevant to that job. This means a unit can use any and all skills that they learn in battle. I can recycle the overworld module as it is similar with movement being between nodes.

Equipment
Consumables are implemented. No work on armor or weapons completed yet. This should be fairly easy to add and allow things like items having innate statuses and stuff like that.

2D Sprite Support
Partially implemented. Monster sprites and character sprites in the FFT format can be loaded. Several animations haven't been defined yet, but it works. More work can be done on this if there's any interest.
Title: Re: TacticalRPG Engine
Post by: Kaijyuu on April 04, 2017, 08:19:08 pm
Just posting to show support. It's a nice hobby project and you should be proud of it.
Title: Re: TacticalRPG Engine
Post by: snovlo on April 05, 2017, 12:28:42 am
hey i'm new to FFH and after i reading your project and progress
i'm excited and this is just a great project
well if the goal can provide PVP system like you said it would be awesome
but you maybe need help about job statistic and etc from the others here.
keep up dude, respect!
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on April 05, 2017, 03:38:10 pm
Thanks both of you.

The PVP is certainly something I'd like to have, but it's down far, far, far down the road. The engine was designed from the ground up with multiplayer in mind, but there are a few additional features for battle that I'd like to make sure are implemented properly before I start working on the design for the necessary network packets.

Video below contains the necessary menus I've implemented for the overworld: Data, Items and Party


I was too lazy to remake the video with the updated party menu. This will be expanded later to allow equipment to be changed and to upgrade the character.
(http://i.imgur.com/U540S8M.png)

The necessary framework for equipment is mostly completed. Allowing weapons and armor to be equipped is currently missing. I need to figure out how I want them to affect damage and accuracy calculations.

Weapons
There will be a few different classes of weapons, albeit there will be little functional difference between them as far as code goes. The equipped weapon will dictate the "attack" skill used. Weapons will scale based off different stats. I'm thinking about also implementing different kinds of physical damage: piercing, slashing and blunt. Armor could then have different resistances to them and other standard magical elements. Since they can be treated the same as your normal elements (fire, electric, ice), implementing them is simple. The below weapon classes can all be implemented using the exact same system with no real changes. There will be sub classes for the below as well for things like magic rods along with ranged weapons like bows, crossbows, wands, etc.

*Swords - baseline for damage. Scales off strength with dexterity as secondary. Normal "cross" targeting with a range of 1.

*Knives - Less damage than swords, but higher crit chance based on angle of attack. Scales off dexterity and will use speed in some wayl. Normal "cross" targeting with a range of 1.

*Spears - Less damage than swords, but higher accuracy. Scales off dexterity and strength. Normal "cross" targeting with a range of 2.

*Axes - More damage than swords, but less accuracy. Scales on strength. Normal "cross" targeting with a range of 1.

*Halberds - Similar damage to swords. Scales off strength and dexterity. Requires two hands. Targetting will be "L" shaped, hitting the primary hand side, corner and front.

Additionally, I find that I can make a lot of progress when I'm not letting myself get bogged down with art. As far as I can tell, below are the last few things that I consider to be required for the minimum feature set. I'm certain a few other things will come up though.
*Shops
*Character Progression
*Make equipment usable


Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on May 02, 2017, 02:37:03 pm
Shops
Shops are implemented and defined by an XML file. A location can then have either a custom shop attributed to it or use a "common" shop. Additionally, the shop has "levels" for inventory items. This allows better equipment to be unlocked as the player progresses through the campaign. Item management is also possible and uses the same menu. I'd like to make some presentation changes such as allowing for item icons and stuff like that, but it's not essential and thus cut. What is essential is displaying the party's current funds, but I derped that up and forgot to display the party's money somewhere, but that's a quick fix.
(http://i.imgur.com/htllUvJ.png)

Character Progression
I've got a plan that I think will work. Instead of a job simply being a list of skills and passives, each character will have a single "skill" list that has all the skills they've learned available to them. Character progression and customization will instead be mapped to a tree composed of job branches. Job branches are composed of skill, passive and equipment access nodes that can be unlocked with experience points. Navigating this tree will also cost experience points and each job branch starts with a "gate node", which is essentially a node that costs more XP than normal to get through. Additional stat nodes relevant to a job will also be available in a job's branch, but will use their own currency.

A job branch will also grant a character passives, equipment access and a limited set of skills for being in its area. As an example, moving a mage character to the "Knight" branch would grant it access to heavy armor and the "defend" skill despite not having unlocked the equipment nodes. The trade off is that the unit would then have to sacrifice additional experience points to navigate back to the mage branch to unlock more skills.

Make Equipment Usable
Consumable items have been available for a while now. Actual equipment not so much. A unit can now equip armor and weapons, but they don't do anything as I don't have much equipment to work with. Generating new items is easy (more xml files with attributes). Weapons will dictate the "Attack" command skill and can grant passives, statuses, skills and modify a character's stats. Armor works much the same, minus the "attack" stuff. Torso armor, helmets and accessories are all the same thing with how they work, just with restrictions on where they can be equipped.

Current Focus
I'm working on the character progression right now. I can recycle the Overworld node system for this.

Update - 2017-05-13
* I've finished a skill builder to assist with generating skills. The application can't build the visuals, but it can let me generate a skill. This should make skill generation a bit faster and easier for anyone that wants to experiment with the engine.
* Weapons now dictate the "Attack" skill that's used. Can be set to any skill in the skill library. No support for dual wielding. Right hand takes priority.

Update - 2017-06-22

Got jealous of Koruten. Go check out what he's done. (http://ffhacktics.com/smf/index.php?topic=10573.40)

Update - 2017-06-27
Wrote a quick and dirty importer for FFT maps. The wiki was a major help. Can currently import the basic geometry for the map with UVs and normals intact. I can also convert the texture to a usable format, but I'll have to experiment with the palette stuff to get colors to work. Character shading is also working again. Had to remember how to math.
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on July 08, 2017, 03:01:13 pm
I've completed enough minor things to throw a post together.

Character Progression
I've started working on refactoring the "Overworld" classes to be based on generic "Dot" and "Connection" classes. This will make it easier to implement the node system for skills and avoid having duplicate code. I've made sure to maintain support for a job system similar to FFT. HP and MP are now calculated stats based on "Constitution" and "Spirit" stats. They can still be explicitly set if desired.

Menus
I've implemented support for "Panels". These are basically standard groups of controls that can be reused by menus. This probably should have been a feature from the beginning. This allows things like character stat information to be displayed and customized in the same way regardless of the game's current state.

Equipment
Equipment can now be equipped and does what you'd expect it to do. They can have passives and can modify a character's base stats. I'll also probably add support for them to grant unique skills to a character, but it's not done yet.

Graphics
I fixed an old shading issue that was causing light to basically rotate with the camera. This was originally caused by me being a derp and not understanding math and logic. Getting shading to work on a stage is a bit trickier. I'm trying to decide if I need to implement normal maps or want to deal with manually adjusting the weird normals that Blender spits out.

Network Multiplayer
No further work has been done. All of the important battle commands work fine. It's the client requests that aren't working yet. A request is something like "I want to move character A to X, Y". The server would analyze the request and send out a matching command if valid. Some of the requests don't have code in place to be converted into a network packet and converted back. So a person can only watch two AIs play. Finishing this would be pretty simple, so I'll probably complete it soon.

Current Focus
Resuming work on character progression and creating more skills and items to work with.

(http://i.imgur.com/GMtZqwt.png)
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on September 17, 2017, 12:17:38 pm
Update: Graveyard Edition
Still working on this, just been very busy.

I had to revamp the item system to make it more flexible. The old method was untenable and not flexible. Items utilize the same "effect" system that regular skills do and the same skill display system. Instead of being complete skills on their own, they now piggy back off of three special item handling skills: "Throw", "Use" and "Apply". More options can be easily added using this method. Items can also limit which item handling skills they can be used with.

Next up is working out the display of weapons during an attack.

(https://i.imgur.com/AR5ixmo.jpg)
Please ignore awful texturing
Title: Re: TacticalRPG Engine
Post by: 3lric on September 18, 2017, 07:17:09 pm
Lookin good at always man, keep it up!
Title: Re: TacticalRPG Engine
Post by: HowDoGameDev on November 20, 2017, 08:16:34 pm
Thanks.



Work continues. Found time and fixed the particle sorting, added the ability to use sprites and implemented a few more methods to modify the particle emitter's behavior. I'm keeping weapon display simple and will continue to use key frames for the actors and will use a single bone for the weapons.

(https://i.imgur.com/vSErHrn.png)
With some tweaks, the particle system also works to create grass.