Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Windows / Database for Military Simulations...

Author
Message
snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 18th Mar 2023 18:20
Hello All...

I am in the process of developing the last 2 modules for an entire database system that will support the creation of opponent hierarchies for military simulations or what are more commonly known as "war games"...

The interface provides for adding in data for all required entities in such applications as well as bringing all that data together in officer hierarchies and unit assignments.

The database engine is currently the Open Source Firebird Database Engine (version 2.59) and is accessed through approximately 100+ stored procedures and the standard ADO.NET provider as developed by the Firebird Development Team.

Once I release the project, which will be freely available as Open Source, I will be more than happy to assist anyone interested in using it as documentation will take a while to develop given the complexities involved.

Military Simulation development is the most difficult form of programming one can engage in outside of the AI and Robotics Communities. Providing database support for such development appears to be rather lacking in the industry in general, or at least promoted for those wanting to develop in such
a genre.

My development aims to provide the most flexible database support for any type of military simulation one can develop. The project will also provide additional modules such as distance calculations between two hexagons on a map-board as well as basic path-finding between a starting hexagon and an ending hexagon. I also hope to add basic influence mapping algorithms to allow for a foundation for AI player decision making capabilities.

Eventually, when enough data support has been implemented, I hope to also add a testing module for visualizing hexagonal maps, which I am hopeful will become the basis for my first military simulation, something I have always wanted develop.

All of the graphics that will be implemented will be using the AGKSharp Toolkit, this thhename for the project, the "AGK_Workbench".

Like many developers here, my language of preference has always been BASIC, though I have gained fluency in over 12 different languages over my many years in the profession. As a result, the entire project is written in VB.NET.

If you have any questions or comments, please let me know here. I will be more than happy to explain whatever particulars you would like to discuss or ask questions about.

Steve Naidamast
Sr. Software Engineer
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 19th Mar 2023 11:06
Hello, that sounds interesting.
Would it be possible to create something like the UMS back then on the Amiga with your - I'll just call it 'Universal Military Engine'?

Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)

Donations are always welcome.
snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 21st Mar 2023 14:46
Hi MadBit...

I apologize for the delay in my response. I have been very busy cleaning up my home-office, which has become a terrible mess with all my military history books lying about...

In regard to your question, I am not sure what you are asking.

However, currently the project is will support all of the back-end processes required by a military simulation. Nonetheless, I have plans to add additional components to round out what the project will hopefully become, a complete testing toolkit for those who want to get into such development, as well as a basis for my own game development.

That said, you should be able to build any military hierarchy with the project that you like providing you with a complete user-defined OOB (Order of Battle) for each individual opponent.

As it regards "opponents" the project denotes a difference between "opponents" and "opponent groups". This allows for easier management of all types of opponents. Thus, for a simulation that would have only two opponents in conflict, one would need only to define two opponent OOBs/hierarchies. However, if one were to design a simulation such as "Waterloo" whereby the Allied side would have several opponents fighting against the French, one would define an "Opponent Group", which would have all of the Allied opponents defined underneath it, each with their own defined OOBs/hierarchies.

I hope this answers your question. If not, please clarify what exactly you would like to know...

Steve Naidamast
Sr. Software Engineer
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 21st Mar 2023 20:33
Does your project relate only to the military hierarchy?
So that there are two or more groups.
These belong to different factions and thus form a certain attack strength and defense in certain characteristics.
Thus a suitable strategy for warfare can be defined.

Or the units within this hierarchy can also be defined.
Such as movement range, attack range, attack strength, defense against certain types of attack, air-ground-water unit, morale of the unit, etc.
So that the strategy/tactics take place directly on the battlefield for example tank division 'A' attacks dug-in infantry 'B'.
Your engine would then calculate the losses of both units, taking into account unit characteristics and topography and perhaps weather conditions.

I hope I haven't expressed myself in too complicated a way.
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)

Donations are always welcome.
snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 21st Mar 2023 23:48
Hi MadBit....

A military hierarchy or Order of Battle (OOB) is primarily based upon the officer rankings in any opponent's officer cadre.

Thus, my project sets up its hierarchies in the following manner so that both officers and combat units can be placed in a specific hierarchy.

Simulation
|_ Scenario (multiple scenarios can be defined)
|_ Opponent Group (multiple groups can be defined)
|_ Opponent (multiple opponents can be defined)
|_ Opponent (an opponent defined outside a group means that only one specific Opponent may fight an Opponent Group or another Opponent
|_ Service Type (allows member officers and units to be categorized by their service type (ie: Army, Navy)
|_ Equipment Type (allows units to be assigned specific types of equipment (ie: artillery)
|_ Unit Officer (allows for a hierarchy for up to 10 officer rankings - can be any type of officer from an NCO to a general / as many service type hierarchies as needed can be defined for any one Opponent within a Scenario / See image below)
|_ Unit (allows for as many units to be defined as required to any part of a officer hierarchy)



Once at least two Opponents have been defined with their officers and units within a scenario, developer would now have the ability to return that data at any point for the game engine either for the AI Opponent or the Human Player.

The data itself would not define tactics or strategies but allow those processes to incorporate such data.

From what I have seen from the military simulations I have played, mots of the data is stored in text files. This allows for corruption by a user and if playing against a Human opponent allows for cheating.

The defined units in a hierarchy usually sit at the bottom of any officer hierarchy but not necessarily and my software allows for placing units at any level if that is what is required.

Officer data provides for movement and cohesion (morale) modifiers while unit data provides for all data that a combat unit would normally have... Movement, strength, fatigue, and the like...

Both officer and unit data contain a field for the actual hexagonal map positions in "XXX-YYY" format, which allows for 999 X-coordinates and 999 Y-coordinates (total hexagons = 999 x 999).

If you would like, I could send you the entire project in its current form. However, I am in the middle of testing of the Officer Units hierarchies and all the code for this part is not completed. I haven't even gotten to the Unit Data yet.

Nonetheless, as you go through the application's interface, it will give you an idea as to how all this data is being built.

I hope I have answered your questions. If not, please ask me to clarify any part of my answer...

Steve Naidamast
Sr. Software Engineer
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 22nd Mar 2023 19:56
Ok, now I have a rough idea of what it will be.
I will definitely be curious.

I saw in your screenshot that you have an 'AI Process' tab.
Will that only be aimed at wayfinding on a hex grid?
Or are there other things planned as well?
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)

Donations are always welcome.
snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 23rd Mar 2023 16:02
Hi MadBit...

The AI tab in my application will have more than just a distance calculation and a path-finding algorithm. At least that is my hope.

The two mentioned algorithms have already been developed and tested successfully.

My next AI component will be that of "influence mapping", which is used as a basis for many such simulations as a basis for AI decision-making processes.

I also plan to use your AKGSharp software to provide the graphics part of the application so one can see the AI actually work.

As I build up these components, it will provide me with the basis for the development of my own simulation, which right now I am looking at the famed "Battle at Zama" as a starting point.

I have the current "officer" module to complete and test and then the "unit" module to develop. Once these two modules have been completed, I will release the project and its source code.

In the beginning however, the documentation will be somewhat sparse due to the complexities involved in writing it. But I will write it.

Steve Naidamast
Sr. Software Engineer
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 24th Mar 2023 07:40
I am still curious and looking forward to its publication.
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)

Donations are always welcome.
snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 24th Mar 2023 18:28
Hi MadBit...

I am working as fast as I can but some of the code is quite complex...

Steve Naidamast
Sr. Software Engineer

snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 6th Apr 2023 22:08 Edited at: 6th Apr 2023 22:34
Hi MadBit...

I have gotten a lot done in the past few weeks.

I am completing the second to last module for the first project release, which leaves me only one more. This last module should go rather quickly since most of the hierarchical processing is related to the "officer units" module, which is the one I am currently finishing up.

I will provide some notes on the project when I do finally release it, since the documentation will take a while to put together due to the complexities involved.

Once you get a chance to review the work maybe then you may find an interesting use for it with your own endeavors...

Steve Naidamast
Sr. Software Engineer
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 7th Apr 2023 10:54
Glad to hear you are making progress.

I'm looking forward to the results.

Don't let yourself get under pressure and take your time.
I think quality is more important than quantity
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)

Donations are always welcome.
snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 8th Apr 2023 16:21
I have begun some of the documentation for a first release.

As to the quality of my work, I don't let it out the door until I feel that the software is working to my standards.

Professionally, my work has always stood the tests of time and large usage...

Currently, most of the work is now simply copying and modifying code for the database processes and this code has already been well tested...



fubarpk
Retired Moderator
18
Years of Service
User Offline
Joined: 11th Jan 2005
Playing: AGK is my friend
Posted: 11th Apr 2023 00:45
Im also curious and looking forward to see what you come up with
fubarpk
https://fubarpk.itch.io/
snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 11th Apr 2023 16:21 Edited at: 11th Apr 2023 16:43
Work is progressing nicely for a first release.

The Unit Officer hierarchy module is basically completed with only the transactional delete of all subordinated officers and units to be completed (based upon an officer in the hierarchy selected fro deletion).

Once completed, that leaves only the Unit module for completion. This is where the bulk of the data will be stored in terms of actual data for game play.

Here is the current definition for the Unit table...

CREATE TABLE UNITS (
U_KEY INTEGER NOT NULL,
U_NAME VARCHAR(50) NOT NULL,
U_UNIT_TYPE_KEY INTEGER NOT NULL,
U_OPPONENT_KEY INTEGER,
U_OFFICER_REPORT_TO_KEY INTEGER,
U_UNIT_EQUIPMENT_KEY INTEGER NOT NULL,
U_UNIT_STATUS_KEY INTEGER,
U_UNIT_QUALITY_RATING INTEGER NOT NULL,
U_UNIT_TROOP_COUNT INTEGER NOT NULL,
U_UNIT_ARTILLERY_COUNT INTEGER,
U_UNIT_MAX_MOVEMENT INTEGER NOT NULL,
U_UNIT_OFF_FIRE_STRENGTH INTEGER NOT NULL,
U_UNIT_DEF_FIRE_STRENGTH INTEGER NOT NULL,
U_UNIT_SUPPLY_SUPPORT INTEGER NOT NULL,
U_UNIT_SUPPLY_MUNITIONS INTEGER NOT NULL,
U_UNIT_QUALITY INTEGER NOT NULL,
U_UNIT_COHESION INTEGER NOT NULL,
U_UNIT_FATIGUE INTEGER NOT NULL,
U_UNIT_XY_HEXAGON_POSITION VARCHAR(7));

It should be noted that all table definitions are subject to modification as other components are added and\or design requirements change as development advances.

Currently, I have completed close to 100 easy to understand stored-procedures, which keeps all of the data access code much cleaner than if it were all done inline.

Advanced operations such as the development of working Unit Officer and Unit tables has yet to be applied as this will be needed once a scenario is initiated for play.

Another advanced operation will be the implementation of database creation on a per simulation-basis. Thus, the primary database will be used for all simulation definitions but when being applied to a single simulation for testing or production deployment only a specific simulation's data
will be required thus needing the ability to export selected simulation data into a new and separate database.

For those who are interested in such development and want to learn the SQL Database Language, since the SQL being used is for the most part very straight forward, I recommend the following tutorial site for studying this language... https://www.w3schools.com/sql/default.asp

The entire project will be freely available as Open Source under the generous MIT license.

My hope is that this work will provide incentive for Game Creator Developers using the AGKSharp interface\API to consider entering the area of simulation development. And given that the AppGameKit development is done in Dark Basic, my project is completely written in the .NET VB.NET language will make any transitioning to .NET Framework easier.

For those who prefer to work in C#, using a good conversion tool (I recommend Tangible Software Solutions tools at... https://www.tangiblesoftwaresolutions.com/) will allow for efficient conversion of all the code since I maintain a KISS paradigm to my coding standards. This means that my code is still based upon the original constructs of the .NET languages and does not include any of the newer features that the C# language has introduced. This also allows for easier understanding of the code base.

If there are any questions on my design and implementation, or even the use of .NET and Visual Studio, please don't hesitate to ask.

Steve Naidamast
Sr. Software Engineer
snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 23rd Apr 2023 17:12
This is an update on the ongoing development of the AGKWorkbench, which is the name of the application that I am currently working on. As noted previously, the first phase of this work is to implement a localized database that is being designed to be as flexible as possible to support the requirements of a majority of military simulations that one may envision.

Currently, there are only two modules left to complete. This is one more than I have reported in the past updates top this thread. However, with the research required for the UNITS module, I found that a unit quality rating table would be more beneficial than simply incorporating such a rating within the unit record itself. This will allow developers to design their own rating systems thus, allowing for greater flexibility within this area of the data. This will have to be implemented into the UNIT-OFFICERS table as well.

An additional delay with the UNITS module has been the necessary research required to make the underlying table capable of supporting certain aspects of a game AI engine such "Influence Mapping", which is a new algorithm I have been working on in order to understand how one would not only work within such simulations but also how to incorporate the necessary information to support it within the existing data structures.

Work on the remaining modules should begin this week.

If you have any questions or comments, please leave them here and I will respond as soon as I am able.

Steve Naidamast
Sr. Software Engineer
snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 30th May 2023 15:25
It has been several weeks since I last posted comments regarding my ongoing development with the AGKWorkbench. Well, today is a good time for an update as I am closing in on completing the last major module in the first release of this new desktop application.

The first release should be out in the next 4 to 5 weeks (or sooner). However, it will be a very raw release, given that the documentation has yet to be completed.

Currently, the application consists of 9 projects, all written in VB.NET.

I know that many people prefer the use of C# as their base language, but my code should be easily convertible since I use very common syntax without all the new bells and whistles that can now be implemented even in the VB.NET language.

In the future, I may do the conversion myself with a purchase of one of the excellent conversion tools from Tangible Software Solutions. But we will see.

Keeping with my policies of using the more mature tools of the Microsoft Development Environments, all of the projects in the application are compiled to .NET Framework Version 4.6. 4.6 is a very stable version of the original framework and has produced no issues that I have come across.

The database used is the completely free and Open Source Firebird Database Engine, which is used with its embedded mode so that all the processes are localized to the application. The version of this database is 2.5.9 but should be easily upgraded to either the 3.x or 4.x Firebird Engines if that is what is desired.

Currently there are 100+ small stored procedures, all of which can be easily understood by anyone who has a working knowledge of the SQL language. And please be advised that working with a formal database engine, one must be knowledgeable of the SQL language as developers who would like to use this database engine for their OOBs will have to be able to write their own stored procedures to support their own data access requirements for their own games.

Nonetheless, the database design should be easily understood as it is rather straight forward in its implementation using primary tables with numerous support tables to provide enhanced flexibility for whatever data a developer would like to consider.

The database is designed to be able to store just about any OOB that a developer would like to create starting with ancients all the way up to modern implementations.

In many simulations there are only two opponents (the player as well as the AI or another Human opponent). However, for complex simulations that require multiple opponents, several of which could actually constitute a single side, the concept of the Opponent Group has been implemented so that all such opponents can be grouped within their own group. As a result, within a scenario, such opponents will have their Opponent Group representing them in addition to the singular opponents. This allows for easier database querying for multiple opponents within a given side.

The Simulation has also now been implemented as the highest level in the system so that developers can create OOBs for multiple simulations within a single database. However, it is planned to be able to export an entire simulation's data into its own database so that manual extraction will not be required.

Once this initial database work has been completed, I will be implementing two AI routines that have already been completed and tested. These will be hexagon to hexagon distance calculation and a path-finding algorithm. A third AI technique, that of Influence Mapping is planned for inclusion as well. However, research for this algorithm has not been completed.

Finally, the foundation of what makes the AGKWorkbench what it is intended to be, will be a game prototyping engine that will be completely developed in AgkSharp. I am hoping that this will allow a developer to test out the AI routines visually.

The entirety of this project will be Open Source and completely free to anyone who has an interest in using it.

For any questions or comments regarding the AGKWorkbench, please just leave them here...

Steve Naidamast
Sr. Software Engineer
snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 8th Jun 2023 18:31
I just want to let everyone know who are following this thread that the first phase of the AGKWorkbench has been completed.

I am currently writing documentation that would suffice for an initial release. However, this first release will be rather raw. There is a lot of code in this application, making it a somewhat complex one. However, the patterns of the implemented design (not formal design patterns but they way I implement source code) will become rather evident to any experienced developer.

In any event, I am also going to go through the entire source base to clean up any inconsistencies in terms of my own coding standards, which have been quite successful over many years of development.

I hope to have this first release out the door in the next 2 weeks. So, please check back for the upcoming release announcements...

Steve Naidamast
Sr. Software Engineer
snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 30th Jun 2023 22:57
As I had mentioned in my last update, the coding for the first phase of the AGKWorkbench has been completed.  In the interim, clean-up and corrections have been also completed. 


Again, it should be noted that this first release is a rather raw one.  As a result, I expect those developers who are interested in using the project for their own work will have many suggestions and criticisms.  A number of expected criticisms have already been addressed in the Release Notes for the project's documentation.


The first-phase documentation has also been completed with only a few touch-ups to the Firebird SQL Helper data access layer documentation remaining.


Work has now commenced for the creation of the distribution package, which should be ready for release some time in the coming week.


Please also note that developers who need assistance in understanding database, or in particular, the Firebird Database Engine, as well as coding SQL for their own needs may contact the Black Falcon Software website (http://www.blackfalconsoftware.com) through the site's Contact Page for support or simply leave your questions in this thread.

Thank you all of you who have been waiting for this release for your patience...

Steve Naidamast
Sr. Software Engineer
snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 4th Jul 2023 19:05
The AGKWorkbench has finally been released.

The project has been a tremendous effort over the last 5 or 6 months. And the more I designed and implemented the features, the more I found that needed to be considered and eventually implemented as well.

For those who have been waiting for this release, I thank you and appreciate your patience. I hope you find my work worth this wait.

You may download the package in zip-file format from the following link... https://blackfalconsoftware.com/agkworkbench/

Please review the included ReadMe File so that you know where to find both of the included HELP files, the project source, and the solution (.sln) file.

This package is completely free and Open Source.

If anyone requires any assistance with any part of the system or the database aspects of the current release, please don't hesitate to contact me through the Contact form of my website or directly at the following email address... blackfalconsoftware@outlook.com

Steve Naidamast
Sr. Software Engineer
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 9th Jul 2023 19:34
Wow, this is really a very complex project.
You really need some time to get to grips with it.
I think a little tutorial on how to start building the database and how to use it later would be helpful.
Or is that also described in the documentation?
I only had a quick look.
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)

Donations are always welcome.
snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 9th Jul 2023 22:15
Hi MadBit...

There are two HELP files included with this initial release.

You do not have to do anything directly with the database. All data additions, modifications, and deletions are done through the interface.

You create the data hierarchies by starting at the top of the "Data Administration" drop-down options and simply work yourself down to the last option, which should be the "Units" option.

The system will let you know if you need to add prior data before working with an option.

However, you are correct in that I should offer a more descriptive explanation in the HELP file for the AGKWorkbench as it regards actually building the hierarchies. I do intend to write an instructive article on using this first release with the database portion of this system.

This HELP file also lists issues that have yet to be rectified and\or included in the system, which I intend to get to but right now I need a break from this coding. In this interim I am going to be studying the implementation of "influence mapping" so I can add this type of algorithm into the AI section of this system, which will be the 3rd such algorithm to be added. The first is a distance calculation between hexagons on a map-board, which uses the Manhattan Distance formula as its basis. The second algorithm is a database-based path-finding algorithm, which uses a standard technique for determining paths between two hexagons on a map-board. This second algorithm does not have blocked-hexagons as part of its implementation. This latter will have to be added later as I develop more of the decision-making algorithms such as the "influence mapping".

The goal of this project is to develop as many support processes as is necessary to allow me to eventually build out a basic military simulation from it.

I am hoping others will try out the project as well for their own military simulation endeavors.

If you have specific questions about the project or need help with SQL coding for your own queries, please don't hesitate to ask....

Steve Naidamast
Sr. Software Engineer
snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 25th Jul 2023 20:14 Edited at: 25th Jul 2023 20:17
Just a small update here...

I have begun work on the necessary cascaded delete processes.

This will allow developers to delete all of the associated data for the delete level that is selected. For example, if a developer decides to delete a simulation record, all data associated with the selected simulation record will be deleted. This means that all scenarios, opponent groups, opponents, unit officers, and unit data.

Please leave any comments, suggestions, or questions on this thread...

Steve Naidamast
Sr. Software Engineer

snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 8th Aug 2023 16:30
Another update on developments for the AGKWorkbench...

I have nearly completed the work for the cascaded deletes of the hierarchies inherent in the AGKWorkbench.

This work required a number of updates to the database engine, which will now have to be implemented into the application with an easy-to-use interface for developers reviewing this software. This additional interface work will make it very easy for developers to simply update the database based upon an interface option.

However, in doing this work, I came across a major issue with the Equipment Editor, which if selected in the interface,will not insert or update properly. This is because of an additional field to the EQUIPMENT table that was not accounted for in the processing.

This work has just been completed and is in testing for the integrity of the processes.

I am hoping to get these updates out to the field in the next several weeks.

Until then, if anyone has any issues with running the processes in this application, please contact me at my email address... blackfalconsoftware@outlook.com

Thank you...

Steve Naidamast
Sr. Software Engineer
snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 11th Aug 2023 22:31
Work continues on refining the AGKWorkbench, which will hopefully see a new, updated release in several weeks.

Numerous interface modifications have been made to those aspects of the interface that were either found to be not functioning properly or providing idiosyncratic behavior. However, the largest amount of work has gone into implementing cascaded deletes, which allows for clearing out of all data associated within any specific level of the overall hierarchy of data. For example, if one deletes a simulation record, than all scenarios, opponent groups, opponents, unit officers, and unit data related to this simulation would all be deleted.

This implementation also includes quite a number of the modifications to the database so that numerous new stored procedures and table updates have been developed to support it.

The last piece of work that needs to be completed is an easy to use interface option that will allow a developer to easily update the database without having to do any work with all of the SQL code involved.

Please leave any comments, suggestions, or questions regarding the AGKWorkbench in this thread or use my site’s Contact Form at http://www.blackfalconsoftware.com

Steve Naidamast
Sr. Software Engineer
Resourceful
9
Years of Service
User Offline
Joined: 29th Jan 2014
Location: every ware
Posted: 25th Aug 2023 06:03
@snaidamast

sound interesting
But since I am just understand some parts of AGK2 Tire 1 level
I would need to that in that coding level .

c or c++ is not what I know how to do
and installing c or c++ take way to long
to download and and lots of space to get running

I look forward to seeing what you have
even if I can't use what your providing I can still
work out some thing for my own use in some kind of frame work.
snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 28th Aug 2023 17:11
Hi Resourceful...

Thank you for your comments.

You do not need to install C\C++ to work with The Game Creators graphics engine, unless that is what you want to do.

You may use C# or VB.NET with MadBit's, "AGKSharp" SDK. Here is the link for the freely available download... https://madbit.itch.io/agksharp

One of the beauties of using this interface is that you also have access to all of the Windows Forms controls that can interact with the graphics display. Using this does restrict you to the Windows environment, but if this is how you want to develop your projects then you will have a lot of flexibility without the need for using a third-party interface tool.

I am in the last phase of development for a new release of the project, which will correct a lot of the issues that I cam across while adding additional features to the work.

If you have any questions or need help with working with SQL, please let me know. I will be happy to help you with anything related to this project or the SQL database interface.

Steve Naidamast
Sr. Software Engineer
snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 12th Sep 2023 16:13
Just an update on the progress for my AGKWorkbench...

Practically all of the update work has been now completed, which should eliminate any of the issues people who have downloaded the first version may have encountered.

Developing the internal, database, update functionality in order to make it seamless through a single menu option took a bit of testing to get right. The Firebird Database Engine is a very strict SQL implementation. As a result, it is one of the more difficult engines to work with. However, it is also the only full-featured embedded SQL database engine on the market currently (SQLite does not support stored procedures or other such database objects) that is completely free to use.

If anyone has been having any difficulties with it and requires some assistance, please post your questions here or send me an email at blackfalconsoftware@outlook.com ...

I am currently completing the final touches on this upcoming release, leaving me with only the updates to the HELP File when they have been completed. As a result, the next release should be out in about 10 days or so.

A few additional notes I believe I should mention. Needing a break from the work on the AGKWorkbench, I have been also researching the additional features that I want to implement. As I have mentioned, a hexagonal distance calculation has been completed and successfully tested, which is based on a standard Manhattan Distance algorithm. Also, a generic Path-Finding algorithm has also been completed and successfully tested, which is based on database lookup allowing for the freeing up of a large amount of memory. Eventually, this algorithm will be offered in an additional form, which includes terrain handling as well as unit placements on a map board.

However, the next feature being researched for inclusion is an "Influence Map", which is a necessary part for eventual AI decision-making processes.

More recently, I have also been reviewing techniques for creating hexagonal map displays. The biggest issue here, in addition to an accurate rendering algorithm, is the requirement to have the necessary terrain data within any such rendering. The easiest way to obtain such data is to develop a basic display using the excellent Tiled Map Editor, which fully supports the development of Hexagonal Map Development while supporting the TMX graphics file format. This file, along with the corresponding TSX image file provides all of the necessary data to understand terrain types used in each hexagonal tile. Basic code has to be developed to access the terrain data but I have already completed some of the prototype code, which provides all of the hexagon ids that will be used to specify the exact terrain type for any one tile.

For those who are interested in reviewing the Tiled Map Editor, please see the following link... https://www.mapeditor.org/ This software is completely free of charge. However, if you plan to use it for your projects may I suggest that you provide the author with a donation so that he may continue developing this excellent tool.

Steve Naidamast
Sr. Software Engineer
snaidamast
4
Years of Service
User Offline
Joined: 16th Oct 2018
Location:
Posted: 19th Sep 2023 16:14
The latest edition of the AGKWorkbench has now been posted for downloading.

To download this new package, please go to the following link... https://blackfalconsoftware.com/agkworkbench/

For those that have reviewed the first release of this product, please know that all of the issues that may have been encountered should now have been rectified, making the entire product a more refined one.

If you have existing data that you have already added into the database file (AGK_WORKBENCH.FDB), and you would like to maintain this data, then save the existing database file to another directory before overwriting the project files in your working directory.

Once completed, you may then copy all of the downloaded project files in the ZIP package to your working directory. Once this task has been completed, copy your saved database back into the "Debug\bin" directory of the actual AGKWorkbench project.

Upon the first execution of the application, a set of database updates will be run without user intervention. Upon successful completion, you will be notified of this.

All subsequent executions of the application will no longer run the database updates.

If you have any questions, comments, or criticisms, don't be shy, and please post them here or use the Contact page at my website... https://blackfalconsoftware.com/

Steve Naidamast
Sr. Software Engineer

Login to post a reply

Server time is: 2023-09-25 21:53:58
Your offset time is: 2023-09-25 21:53:58