Part II – Using the Mouse to Scroll A Hexagonal Tile Map

Author’s Note:

This piece is directed at the XNA\Monogame engine. However, it will relate to any game engine that incorporates similar concepts and API’s.

When researching how to scroll a tiled map, I have come across many postings on the Internet by other developers with the same questions. For the most part (and I was also) most are interested in how to use standardized scroll-bars for such a process. This seems like a logical interest since most developers embarking on game development have already developed applications where scroll-bars are just part of the implementation of the controls they are using for their applications. However, developers new to game development, are often finding that such luxuries that are common in general and business applications are not so in game development environments. This is because game development is at a somewhat lower level than most other applications leaving game developers without many easy options to implement scroll-bars.

For game development, research has shown that one must create the scroll-bars on their own or get a user-interface toolkit that supports them. So far, for the Monogame engine, I haven’t found many such toolkits that would support implementing scroll-bars with the possible exception of EmptyKeys.

EmptyKeys is probably the most advanced toolkit of its type available for game developers as it provides a near complete UI implementation for game interfaces that rivals similar implementations in the major software vendor IDEs such as Visual Studio and NetBeans. However, due to the nature of its lower level implementation it can be rather complex to learn and work with.

For my own purposes, I have currently settled on the use of the Myra UI, which is appears to be rapidly gaining a following in the Monogame Community due to its easier implementation and highly responsive author. Unfortunately, at this time, the Myra UI does not provide a scroll-bar implementation. However, I imagine if enough developers request it, the developer may decide to add it to the library.

Read more of this post

Common Sense Software Engineering: Letter to a Young Woman (Part III)

Author Notes:

This is the third and final part of a three-part series.   It is a huge piece of writing.  It resulted from a conversation I had with a young woman who showed interest in learning how to program and possibly enter the IT profession.  It is also an attempt to bring the realities of the Information Technology profession as it is today into perspective so that a young woman interested in this field can make informed choices as to how she may be able to enter the field either professionally or for self-interest.

Those who read this piece and would like to pursue further study are more than welcome to contact me with their questions and requests for assistance at support@blackfalconsoftware.com.

I will do everything I can to help you on this long but potentially exciting journey while also offering advice on how to avoid the most serious pitfalls you may encounter.

In addition, since this is such a long piece, it is also available in downloadable PDF form at the following address… https://1drv.ms/b/s!AnW5gyh0E3V-g2bQ4UCq4Df-V2tf

Addendum:

Since this paper was written, Microsoft has released its latest version of Visual Studio, Visual Studio 2017.  This replaces Visual Studio 2015, which has been noted throughout this paper.  Please note that both Visual Studio 2015 and 2017 are completely compatible with each other regarding development processes.  As a result, notes pertaining to Visual Studio 2015 will be just as applicable to Visual Studio 2017 and visa versa.

If you want to download the installation for Visual Studio 2017, please use the following link…

https://www.visualstudio.com/downloads/

Select the Community Edition (Free Download)

 

Requirements for Installing Visual Studio 2015 & the .NET Framework

The minimum requirements for installing Visual Studio 2015 and the .NET Framework is a machine running Windows 7/Service Pack 1. If you have a brand new machine you will most likely have Windows 10 on it, which is fine.

Installing Visual Studio & the .NET Framework

With a single installation package you can install both the Visual Studio 2015 Community Edition and the .NET Framework Version 4.6. Depending on the deployment of the Visual Studio Community Edition that you download you may get version 4.6, 4.6.1, or 4.6.2 of the .NET Framework. All of these latest frameworks are capable of supporting any application type you wish to create.

To get the download package, go to the following site address…

https://www.microsoft.com/en-us/download/details.aspx?id=48146

On this web page you will see a button entitled, “Download”. This will bring you to a secondary page where you will be provided with the option to download the file labeled, “vs_community.exe” or the one labeled, “VS2015.com_enu.iso”.

The “vs_community.exe” file will allow you to install the package over the web after you have saved the file to a selected directory on your computer.

The “VS2015.com_enu.iso” file is the complete package in downloadable form. Like an “exe” file, the “iso” file can also be launched by double-clicking on it. However, this file will immediately request that you burn it to a DVD since “iso” files cannot be directly executed.

The download page(s) will also provide you with detailed descriptions for either type of installation package.

Either installation method will provide you with all the tools you may require to study and learn C# and application development.

Read more of this post

Common Sense Software Engineering: Letter to a Young Woman (Part II)

youngtechnologywomen

Author Notes:

This is the second part of a three-part series.   It is a huge piece of writing.  It resulted from a conversation I had with a young woman who showed interest in learning how to program and possibly enter the IT profession.  It is also an attempt to bring the realities of Information Technology profession as it is today into perspective so that a young woman interested in this field can make informed choices as to how she may be able to enter the field either professionally or for self-interest.

Those who read this piece and would like to pursue further study are more than welcome to contact me with their questions and requests for assistance at support@blackfalconsoftware.com.

I will do everything I can to help you on this long but potentially exciting journey while also offering advice on how to avoid the most serious pitfalls you may encounter.

In addition, since this is such a long piece, it is also available in downloadable PDF form at the following address… https://1drv.ms/b/s!AnW5gyh0E3V-g2bQ4UCq4Df-V2tf

 

The 21st Century

By 2000, Microsoft had introduced its next generation operating system, Windows 2000, which could take advantage of the newer 486 chip sets and then the Pentium chip sets, which though still 32bit machines could process computer instructions even faster due to advances in the internal chip architectures.

And then the Dot.com economic bubble reared its head as a frenzy in the field began to unfold as the Internet became the platform of choice for development.

New startup companies began popping up in the technical industry like an uncontrolled growth in lawn weeds.  A new generation of young professionals was entering the industry in droves and was suddenly being offered highly inflated salaries for their technical, educational backgrounds, though few had any real-world experience.  Venture capitalists were pouring in monies like water into new companies that barely had legitimate business plans for development.

The result, in a word was… chaos.   The only real change to come out of this economic fantasy was a severe increase in working hours for developers and the beginnings of a decrease in job security.

After the Dot.com bubble burst, thousands of technical personnel lost their positions while numerous companies collapsed under the weight of their own mismanagement.  One thing remained; business perceptions that development could be sped up increasingly by cutting corners in the design of applications.

Another outcome, though not a direct result, was that to increase the speed of development while at the same time cutting its costs, US businesses turned to outsourcing technical work at ever increasing levels.  And insourcing increased similarly as well with a new generation of foreign workers entering the US technical workforce who were not trained nearly as well as their earlier counterparts and nor did they have the engaging personalities of their earlier contemporaries.  Foreign outsourcing companies began feeding into the technical pipeline personnel that were simply not qualified to work in the technical profession from a technical standpoint nor from a personal one.

Many of the new foreign personnel were trained only in the details of technology and had little understanding of how systems and applications were actually built for longevity purposes.  They thought they did and many lauded it over their American counterparts along with the foreign management that was increasingly brought in at lower costs as well solely for the purpose of brow-beating developer staffs into fulfilling increasingly deadlier deadlines..  Until the US Millennials would begin entering the profession, the atmosphere in the Information Technology field became one of terrible pressures and arrogance, which caused a complete undercurrent of sociological disruption in the US technical workforce.  US citizens were being viewed as second class members of the profession since so many could not compete with the exploitative circumstances of both the foreign insourced personnel and the outsourced ones.

It was at this point that professional women in the field began leaving the industry in droves as undercurrents of the oppressive working conditions in the work place started to get out of control as developers were seemingly expected to be either working or on call 24/7.  To encourage this perspective, television advertisements began “glorifying” the non-stop work habits of young workers that provided no time for personal lives.

In short, female technical personnel reacted with a sense of sanity towards a profession that was barreling towards an all-consuming, technically-oriented lifestyle as the release of mobile computing technologies emerged along with a maturation of development techniques and tools that in reality had little alternative for innovation in the business environments.  To this end, developers who adapted to the increasing promotions of freely available, open-source software products (software\source code provided freely) started using them to design their own tools with the idea that redundancy was some form of innovation.

“Open Source” software was a new wrinkle in the profession that up through the early 2000s had a substantially successful “cottage industry” where software developers could sell their own crafted software for moderate prices under the aegis of what was called “shareware”, which was simply software that either had a trial period or limited feature sets both enforced by licensing.

The “Open Source” movement grew out of the sociology of the growing Java Community in which many of its promoters were quite young and were still living with their parents or academics who saw writing software on their own time as a way to promote their own ideas.  However, to be fair, this movement was also given impetus by Richard Stall’s “Free Software Foundation”, which promoted that all software should be free.

Read more of this post

Common Sense Software Engineering: Letter to a Young Woman (Part I)

youngtechnologywomen

Author Notes:

 The following is a huge piece of writing.  It resulted from a conversation I had with a young woman who showed interest in learning how to program and possibly enter the IT profession.  It is also an attempt to bring the realities of Information Technology profession as it is today into perspective so that a young woman interested in this field can make informed choices as to how she may be able to enter the field either professionally or for self-interest.

 Those who read this piece and would like to pursue further study are more than welcome to contact me with their questions and requests for assistance at support@blackfalconsoftware.com.

I will do everything I can to help you on this long but potentially exciting journey while also offering advice on how to avoid the most serious pitfalls you may encounter.

In addition, since this is such a long piece, it is also available in downloadable PDF form at the following address… https://1drv.ms/b/s!AnW5gyh0E3V-g2bQ4UCq4Df-V2tf

Opening Notes… And there are many…

In the past several years there has been a noticeable effort to recruit young, capable women into the Information Technology profession.  From the articles I have come across on this subject it appears that there is little understanding as to why so many left the field during the 1990s and early 2000s.  The result is that many such efforts are aimed at technical training with the underlying idea that women are as good as men in this field of endeavor.  However, historically that has never been the point.

The profession used to be populated by a female work force of around 35% to 40%.  This number has now dwindled down to approximately 17%.  This reduction in female technical professionals did not come about due to a lack of self-esteem but more from a better understanding of the field has evolved in the more recent years.

The real question is why would any sane Human being want to engage in a profession that has few if any real professional standards, ever changing technologies that disallow anyone to become finely honed in their preferred skill sets, increasingly thins knowledge bases for what technologies and processes actually work to get the job done, onerous working hours, and most often bad working conditions resulting from the band aids that are being touted as the new software engineering standards?  Only really crazy people would enter such an activity.  And only really crazy people would rationalize that somehow this all so much fun.

To be fair there is a lot of fun to be had in this profession but that enjoyment of creating a personal piece of quality for another has been terribly overshadowed by the sociological changes in US society that has found their way into other societies as well, though maybe not as disastrously.

Women in Human societies have often had and continue to experience a form of second-class citizenship due to their lack of masculine attributes.  Even if they have adopted masculine psychological attributes, acceptance is still in many respects viewed with suspect simply because they have the underlying desire to create, nurture, and build; something which most males of the species don’t seem to comprehend let alone have.

With the exception of such aberrations as the Hillary Clintons, Madeline Albrights, and the Margaret Thatchers of the world, along with their “protégés”, when was the last time anyone can remember an intelligent woman demanding that a country go to war?

Surprisingly as this may sound it is this sociology and its offshoots that has reduced the number of women in a profession that currently appears to only cater to those who don’t mind floundering around in the growing technological quagmire that is the US Information Technology profession.

I doubt any amount of technical education or esteem building seminars directed at young ladies will increase the dismal percentage of female workers in this activity.  So far there have been no noticeable results to crow about.

A young woman I met while she was working at a discount pharmacy my wife and patronize told me she was interested in learning about our profession looking at it from the point of view that she has seemingly acquired that it shouldn’t be a “boys only” field.  She was of course right and it is my guess that the substantial loss of our female counterparts has contributed significantly to the erratic nature of the realities of working in this field.  Women often bring a soothing influence to the environments they inhabit and there is really nothing soothing about having your life upended by the constant cycles of deployment that Agile promoters have brought to the daily lives of professional developers.  Noticeably, there have been quite few pieces written about the constant stresses of such development styles that often lead to burnout.

Read more of this post

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

Common Sense Software Engineering: Windows Developers Should Follow the Stable Infrastructure and Development Environments of the Java Community and Forget the Hype

n-tieredarchitecture

Overview

In the 1990s when Java began to appear on the developer scene it met its competition from Microsoft head-on in that it struggled to gain an acceptable place within the international development community.  However, over the years Java appears to have arrived at more stable set of infrastructure and development standards than Microsoft appears to offer now.  This is the result of both communities taking maturation trajectories that were in a very real sense diametrically opposites of each other.  Microsoft, at the time, was offering maturing technologies while Java was the “new kid on the block”.  Both communities also offered completely different viewpoints towards their product developments.  Microsoft offered products with “ease of use” as the underlying factor allowing developers to quickly create both desktop and web applications far more quickly than competing solutions.  This was especially true when compared against the new Java tools.  However, Java had its founding basis in the academic and scientific arenas.

One could see this easily with the many Java articles that took apart various interface controls that we in the Microsoft Community took for granted with the exception of third-party control developers.

The Java Community did have a difficult time to get its place as an accepted form of development until it presented an alternative to Microsoft products in the large enterprise development area, which was Microsoft’s weak spot since Microsoft products at the time were targeting division and department level applications.  Once Java tools became more usable for developers, the large enterprise arena saw the advantages of Java development with its better suited enterprise offerings (ie: J2EE, and later, the Spring Framework).

Today, we find a Java Community that appears to be far more stable than that of the Microsoft Community though one would not know it with the subdued reporting around it.  Years ago such reporting was quite different as the two communities fought each other for developer supremacy  Reading online magazines such as jaxEnter.com today, most of the articles appear to concentrate on existing technologies along with their refinements.  The opposite appears to be true for Microsoft, which seemingly approaches product refinement the way the US Pentagon approaches new weapons procurement; both throw out perfectly fine technologies and start over with brand new and completely untested concepts.

In this author’s opinion, and as one who has worked with Microsoft technologies his entire career since leaving the mainframe world around 1989, Microsoft has made some serious mistakes with not only the products they are offering but how their style of developing applications has changed over the years.  This appears to have happened most egregiously with the latest CEO of Microsoft, Satya Narayana Nadella, while under Steve Ballmer; Microsoft appeared to be more stable in this regard despite his terrible reputation.

Read more of this post

A Simple Way to Make a Custom WPF Message Box

custommessageboxheaderimage

Overview

In my last piece (“A Simple Way to Make a WPF Chromeless Window”) I demonstrated how one could easily create a chromeless window using Microsoft’s “Windows Foundation Framework”, more commonly known as WPF.  This time around I will show you how to make a customized WPF message box.

The reason for this is that the WPF default message box uses the same chrome that the default WPF window does.  As a result, if you are going to develop a custom window you will also have to do the same with your message boxes or the contrasts between the two will not look symmetrical.

And being deficient in the graphic arts like many software engineers I found this out the hard way when my own commercial product was well reviewed except for the interface.  Hence, my recent work to refine the interface to something much more aesthetically pleasing.

Limitations With Your Own Message Box We Can Work With

The first thing to realize is that developing your own message box will constrain you to a certain extent as to what you can provide with it as the default WPF message box comes with a number of configurable options that you can select to produce certain results.  The only problem is that you cannot change how the default message box is displayed since it is reliant on the Win API.

Essentially, a message box will request a user to do one of two things, read the provided information and move on, or ask a questions, which is in practically all cases a “yes” or “no” question.

Luckily, with the WPF modal dialogue, which is the type of window we will use for our message box, we can easily return a “true” or “false” value allowing us to handle the second scenario noted previously.

Read more of this post

%d bloggers like this: