Black Falcon Software Releases SQL Server Source Control 2.1.1

newlook_211

Black Falcon Software is proud to announce its release of SQL Server Source Control for Developers 2.1.1…

This release is a major upgrade to its current product, which was at version 1.0.3.  The reason for the large skip in version numbers is that an interim 1.1.1 release had been planned but it was thought better to combine all of the modifications and new features into a single release.

This latest version has a brand new interface style, which will bring it more in line with current expectations by users.

A new usage statistics form has been added that allows users to view the used space in their defined repositories.

An new email form has also been added that will allow users to contact Black Falcon Software directly from within the application.

A new utility has also been added that allows users to clear dangling data when a database connection has been deleted.  This dangling data was a result of the application not clearing all of the repositories with data associated with the deleted connection.  Since this “bug” was internalized by the fact that without the deleted database connection information, the associated data could never be viewed, it resulted merely in the data using up space than being any type of issue.  Running this utility once will rectify this issue without disrupting any data associated with existing, active data.

Many modifications have also been made to this product and are currently listed on the home-page of Black Falcon Software’s web-site.

If you are an employee, consultant, or freelancer who requires source control for your SQL Server database object scripts because your place of work does not have such a capacity or you just would like to have your own individualized form of such source control, which is similar in nature to the Mercurial private source control system, go to Black Falcon Software’s web-site at http://www.blackfalconsoftware.com and download a freely available 30-day trail version.  Licensing is very affordable and allows for installation on 5 different machines.

A tremendous amount of effort has gone into this latest release so it is hoped that everyone who tries it will enjoy working with it.

Database access has been tested up through SQL Server 2014 and should be compatible with all previous versions with this popular database engine.

In addition, this release has also been successfully tested against Windows 10.

The next expected release (2.1.2) will have the capability to access the newly released SQL Server 2016 database engine.

Steve Naidamast
Sr. Software Engineer
support@blackfalconsoftware.com
BFS_splash-screen-purple-sun_140x105

Part I – Creating a Digital Hexagonal Tile Map

HexagonalTileMap

Author’s Notes: 
This article is written for experienced developers using the C# language and the Monogame Framework. Monogame is in active development with a new release just published recently. This piece is highly technical and requires that developers be proficient in their chosen language of choice. Therefore there is no information that will enable new programmers to work with the sample code easily.
The title prefix, “Part I”, indicates an expectation that as this project progresses into a war game I hope to develop over time that simulates a major conflict of the 18th century, it is hoped that as new code is developed additional articles will be published with the intent of guiding developers in such a difficult form of game development.
Because this piece is published on both Microsoft and Java Community sites, there is information in this piece that should make it easier for Java developers to develop similar code for their own projects.  However, the Java information is limited since such a piece cannot provide code and explanations for both languages as the libraries used are completely different from each other
It should also be noted that there is code in the provided project that is no longer currently used but was left as reminders for further development as the project progresses.  Such code is noted in this piece.
Due to the length of this piece, a downloadable Word document is available at the following link…
https://1drv.ms/w/s!AnW5gyh0E3V-g12SlguqkHrRVyq8
 The complete project for this paper can be downloaded from the following link…
                      https://1drv.ms/u/s!AnW5gyh0E3V-g1uRrePYv0XEquRq
 To submit questions to the author regarding the provided information, please email the author at…
support@blackfalconsoftware.com

 

Overview

One of the most difficult aspects of developing a game is one in which the genre you would like to develop for is such a niche area of development that standardized tools have yet to be created for it.  With the popularity of 3D graphic art and gaming the 2D aspect of this creative endeavor hasn’t kept pace with current technologies to the same degree.  For 3D game development there are several popular genres that have a wide degree of support; first-person-shooters, simulations (ie: racing, flying), adventure games, and strategic simulations, which are in many cases simply war games on steroids without the thought provoking challenges that a turn-based game of the same genre can provide.  For such development there are excellent tools freely available, the most popular being “Unity”, which also has a wide array of 3rd party support in the form of add-ons that provide tools for all the mentioned game types.

With 2D development, scrolling games have been developed to the point that there are many excellent articles describing how to implement one with quite a bit of sample code along with a few very good toolsets to help a developer in his or efforts.

The one genre in 2D development that has gotten very little or rather uneven exposure in the development area is that of the original turn-based, hexagonal map, war game.  And beside the original style of adventure gaming whereby the “maze like” foundations were quite thought provoking, war gaming itself has been considered the top of all such mental challenges and at one time was even promoted for the “over educated”.

However, with a lack of some level of standardized tools for such development, this realm of gaming has probably become one of the most difficult areas in creative activity within the game development field.  There are several reasons for this that has been described in a number of texts on the subject.

For starters, the computer AI in such games is at a terrible disadvantage compared to the Human opponent since the Human opponent can take as long as he or she likes to develop tactics and strategies that if done carefully over time will not only defeat the computer AI but yield weak spots in it that can aid the player in increasing their battlefield wins somewhat consistently.

In an article describing such a situation within the “Civilization” series of games it was found in one case that players were able to defeat the AI in one significant area of lumber yields by repeating the creation of forests in a single hex, deforesting the hex through lumber production, and then seeding a new forest to start the cycle over again.  The AI in the game could not do this giving the Human player a significant advantage in such production, which in turn allowed the Human player to build wooden-based entities more quickly than the AI could.

Though Firaxis Games has openly admitted that their “Civilization” AI cheats (and pretty unfairly as well), when they realized this weakness (called “lumberjacking”) in their AI, they issued a patch placing the AI and the Human opponent on equal footing in this part of the game, making “lumberjacking” no longer possible by the Human player.

The result of this drawback in turn-based war games is that the AI implemented in such games has to be quite good in order to make the game not only enjoyable but repeatable as well.  Thus, turn-based war games require above average AI implementations that are more than just what any pre-made tools can offer.

In addition, the AI implementation has to be suited for the level of war game being developed.  In such games there are three primary types of AI that can be used, strategic (large unit formations such as divisions), tactical (medium sized unit formations such as regiments), and squad based where each unit represents a single piece of equipment or a soldier.  And in each case the AI implementation, as mentioned, has to be done quite well.

This is not the same as with RTS games (real time strategy) where the Human player is at a disadvantage being that he or she must stay on their toes to do battle with an aggressive AI whereby studying the battlefield for any length of time is not an option.  The result is that most such games are not very realistic in terms of technique since in reality, as fast as it may occur, war would never be as fast as a computer emulation would propose unless it was designed to be such as with in-depth military training emulations.  The lightning fast movements for example in the “Battlefield” franchise could never occur since Humans cannot react at such speeds normally.

The next area of difficulty in the development of turn-based war games are the graphics employed.  With the exception of some tile mapping tools that provide the ability to create maps using hexagonal tiles, the developer still has to use original programming to control the map and the units portrayed on it once it is loaded.  And since such maps can have a variety of sizes, no one code base offered will necessarily be able to provide the mathematical calculations for the chosen sizes for any individual developer.  That being said, one of the most popular mapping tools is “Tiled” (http://www.mapeditor.org/), which will allow a developer to create large hexagonal maps through a visual interface.

“Tiled” creates maps using the “TMX” format, which is actually code that describes a map to a graphics system.  Both “Monogame (with the Monogame.Extended plugin)” (http://www.monogame.net/) for C# and VB.NET developers and “libGDX” (http://libgdx.badlogicgames.com) for Java developers support this file type allowing a developer to display his or her maps somewhat easier than if one were to do it on using just the graphics engine and their tiled images.

This article then will describe one way that a hexagonal map can be created and displayed at the lowest level; using the “Monogame” graphics engine only with individual tiled images.

Read more of this post

The Dark Arts: Game Development & the State of the Gaming Industry

Doom

The State of the Industry

 One of the most alluring aspects of software development is the creation of one’s own game or a utility to support a game genre.  Many software developers whether they are hobbyists or professionals have investigated at some point during their tenure as developers the possibility of writing a game that they may either sell or simply enjoy on their own.  I have been one of those professionals who was bitten by this “bug” many years ago and since then have investigated just about every aspect of game programming I could come across.  However, in the end of each research foray I always returned to the development of turn-based strategic games as a result of my deep interest in military history and the fact that I was a fan of such games years ago when they were still played on printed map boards with cardboard counters.

Through all of these years, game development has steadfastly remained a “Dark Art” in the software development industry whether it was done on an individual basis or by a commercial company.

Whatever the interest, game programming, even today, still remains one of the most difficult types of programming one can attempt.  For starters, a majority of the terminology you are used to dealing with in terms of business development, if that is how you have been trained, will be completely foreign to you and those aspects that will be familiar will play “second fiddle” to your core development endeavors.  For example, the database aspects of game development take a relatively minor back-seat to the majority of the work required while such work is a major component in today’s business applications.  Most database support required will be done with desktop databases such as SQLite unless you are part of a group that is developing a multiplayer game with an expected large degree of concurrency.  In this case, you can expect to be using a more suitable database for such purposes.

Nonetheless, actual game development itself will require a good knowledge of graphics programming whether you use one of the foundational libraries such as DirectX or OpenGL or a higher level library that makes the use of the underlying libraries slightly easier to work with.  The only difference here is that the properties and methods of the various classes have a slightly less arcane set of names but the overall difficulty is still there.

Other than a good foundation in graphics, game development will also require an understanding of a different type of event driven programming in that much of what you will design for a user interface for a game will require your own efforts to make the necessary events work properly.  Modern event programming in business applications is a cakewalk in comparison.

Read more of this post

The “War Game” and Understanding Complex Application Development

GettysburgWargameMasterScreen

Author’s Note…

Please note that the use of the words game, war game, and simulation are all used interchangeably through this paper.

Merriam-Webster Definition: “War Game”…

a military training activity that is done to prepare for fighting in a war

a simulated battle or campaign to test military concepts

           

Preface

This piece is a somewhat more radical departure from those that I have written before as it is both a sociological and technical one at the same time.  This writing attempts to demonstrate the use of a completely unrelated subject to assist in the development of one’s mind to allow it to understand and encompass large-scale complexities that are most often the underlying foundations in similarly large application development.  This piece uses the somewhat forgotten genre of the historical simulation or war game to promote this concept.

To be sure there are a variety of other pastimes and hobbies that can provide the same orientation.  Writing for example, is one of them.  However, for the technically oriented mind and also from my own experiences, I have found the war game to be an excellent departure from studying technology to learning something completely new and possibly alien that will help younger development professionals grasp the complexities of their careers from a different point of view.

There are many types of war games that are available to the public as well as several commercial versions of military-grade training simulations that can show how actual military officers are trained in the matters of violent conflict.

From still popular board-games that require face-to-face interaction with players to computer-based simulations with increasingly powerful artificial intelligences that also offer Internet and Play-By-Email (PBEM) options, there is literally something for any period in history one may be interested in studying, recreating, or altering…

Read more of this post

Black Falcon Software Releases MySQL Helper 4.5

MySQL_Logo

The MySQL database is probably the leading open-source database engine in the United States while highly popular in Europe where it receives most of it’s direct competition with PostgreSQL.

Despite this popularity level and the enthusiastic support it receives from the development community, it does have its drawbacks, mostly with it’s confusing, syntactical idiosyncrasies for those coming from a SQL Server environment. Minor syntax issues with stored procedure parameters, variable declarations, and the like tend to cause the uninitiated all sorts of headaches that could cause one to abandon this database’s use. Though the documentation offered is quite extensive it could do better in providing in-depth examples of how to do certain things that would allow new users to avoid the pitfalls of finding rather minor differences in what they may be used to do doing.

Nonetheless, some of the database’s faults lie with the ongoing improvements that have been made to it in the preceding years. Now in version 5.7, MySQL promotes one of the crown jewels of the open-source community with it’s extensive feature set and performance capabilities.

As a result, Black Falcon Software is proud to release back to the open-source community it’s latest version of it’s MySQL Helper component, MySQL Helper 4.5.

Like it’s SQL Server counterpart, this updated version has been rewritten with cleaner code, fixed a number of issues with original test-client processes, provided a new test-client interface, and a smoother ADO.NET transaction process allowing for a single-point of processing and failure. This new release also comes with an updated Help file.  Please also note that like all the other 4.5 data-access-layer versions from Black Falcon Software, source-code is only provided in VB.NET.  However, notes are provided that will explain the best way to convert the code to C#.

Included as well are the MySQL 5.7 reference manual as well as the MySQL .NET Connector 6.9.4 as well as it’s corresponding reference manual.

Though developers may be aware of a later version of the connector, installation has been shown to have issues causing the install to fail. A number of developers attempting to install the later version have commented in the MySQL forums, noting the install issue, which was found also in earlier versions of this software. Black Falcon Software found the 6.9.4 version of the software to be quite stable and has decided to remain with it. However, given the similarities in the software’s API, installing the latest version should provide no issues.

Black Falcon Software hopes everyone who downloads this software will enjoy it and find it a valuable addition to their tool-kits.

If any issues are found while processing calls to your MySQL databases please contact Black Falcon Software using the “Contact” form on the web-site (http://www.blackfalconsoftware.com).

 

 

 

Release 1.0.3 of “SQL Server Source Control for Developers” Now Available

BFS_splash-screen-purple-sun_200x150

Black Falcon Software has just released version 1.0.3 of its flagship product, “SQL Server Source Control for Developers”. 

This version has a new syntax editor for viewing your SQL scripts with properly formatted and highlighted code.  Several display corrections have been made to the software along with a few non-bug internal modifications.

This software has the same storage capability as its more higher priced competitors and requires no remote source control server as all data is stored in local workstation repositories.

This software is for individual, professional developers who either require or would like to be able to version their SQL Server object scripts during their development of databases where such source control is not available.

Download a 30-day trial version at Black Falcon Software’s website

If you like the product, have comments, suggestions, or criticisms, please let Black Falcon Software know by using the site’s “Contact” form…

 

 

Best Database Managers for Developers

DatabaseManagers

The technical management of relational databases is a highly mature technology in the software development profession. Many of the high-end tools such as those offered from Toad and Embarcadero are superlative with their capabilities but completely beyond the affordability for most individual developers, unless of course they need such powerful tools for their businesses and clients (Toad does offer freeware versions but they are somewhat limited).

For most of us, we tend to work with databases through client tools provided on their workstations or we use the individual offerings from such vendors as Microsoft, MySQL, and PostgreSQL to name a few. However, as good as these tools are, to use them requires understanding the idiosyncrasies that comes with each as all of them are proprietary to the database. This is not a major undertaking since all such database managers operate in relatively the same fashion.

Nonetheless, if you work with a variety of databases constantly and you do not require the extensive capabilities that come with the high-end offerings, working with a single database manager for all your efforts more often than not makes such work a much smoother process.

There are two such database managers that fit this bill and are in fact quite popular with many professional developers; Database.NET and the products from EMS Database Management Solutions.

Read more of this post

%d bloggers like this: