ME Michael W. Hartman
Reno, NV, United States
mike@extrastrength.com
www.extrastrength.com

Back to Resume
  • Bingonomics

    Daub One Bingo Management System

    This system was designed and implemented entirely by myself from the ground up. It uses a MS SQL Server back end, a Windows Service hosting WebServices and socket communications, with both Windows and Android clients.

    Windows clients are written in C# and WPF (Visual Studio 2012) utilizing the MVVM design pattern. Connection to the backend is done through a defined interface which has a couple different implementations. Windows Clients can choose between the web services implementation, or the LINQtoSQL implementation. Android clients communicate entirely through web services. The web services connection connects to a self hosted WebService running as a windows service. The Windows service utilizes the LINQtoSQL implementation to provide the web service clients with requested information.

    The system supports play-for-money games, including Bingo, PullTabs and other charity friendly games, and provides operators with player tracking, sales information, current and historical reporting, employee tracking, and bingo session management functions.

    At the forefront of this system is the Dobbitm portable game device. I designed this device around standard 7" Android based tablets. The software is written in C# (using Xamarin-Mono) and Java (Eclipse). I had a custom case designed that allows the vast majority of existing and future devices to fit inside. I then had a custom charging PCB designed and added a secondary battery to extend the run time for up to 16+ hours of continuous (no sleep) play. I also had a charging rack designed that can accomodate 12 units, and has easy access slots for each device.

  • ExtrastrengthJBAExtrastrength

    Jukebox Arcade started years ago while I was tinkering with an M.A.M.E based arcade machine I was building.

    Originally the concept was for a music application to turn my game machine into a jukebox when I wasn't playing it. I wrote the first version in C++ using GDI+ and created a skinnable user interface using XML description files. It leveraged the Windows Media Player 9 COM interface for playback and reading of music Tags.

    I later enhanced the application, and added support for video files, targeted at music videos. This version has seen quite a diverse install base, and got some really good reviews and writeups on a number of different forums.

    I recently revisited this project, when Windows 8 came out and I was disappointed with the built in music player App. It was great for streaming, but for people that have large local collections, it was lacking some features I thought it needed. So I created a new version of Jukebox Arcade, this time from scratch as a C#/XAML Windows store App.

    Since I could no longer leverage MediaPlayer, I wrote an open source music file Tag library for reading ID3, ASF and MP4 file tags (including embedded images), and leveraged my skills in WPF to create a ModernUI App.

    I also integrated support to the LastFM AJAX/JSON apis, and some nifty google search integration to pull meta data for the songs and artists in the music collection.

  • JBA

    Champions Edge Gaming Platform

    This was a very fun project. I developed a gaming platform for implementing casino slot, poker and keno games. This system was written in C++ (Visual Studio 2010) and ran on Embedded XP. The system implemented secure protection schemes using RSA encryption and custom BIOS secure handoff and multistage boot processes to prevent tampering.

    The game engine used Direct3D rendering, custom animation playback and compression techniques, and physics routines to provide blazing fast and incredibly interactive and fun games.

    I completely designed and implemented the core game engine and wrote the first 2 games (Cascade Poker and The Dragons Gate).

    Over the next couple years my team of engineers and I grew and enhanced this platform and implemented over 40 different games using this game engine.

    This system is placed in the Montana and Lousiana video lottery markets.

  • The GameTech EDGE system was written in a variety of languages depending on platform. Anything from C# on windows to C++ to C on embedded devices. This was a massive project that was designed to replace the existing system that GameTech was selling (Diamond). The system was architected by my senior engineers and I, and used a SQL Server backend, with a Windows service hosting a socket communications based server application.

    All communications in the system went through the server application. This allowed us to maintain integrity and prevent rogue applications from tampering with the data. The Windows clients were written in C# and C++ using Direct3D for the game devices and WinForms and/or WPF for the manager and application modules.

    The system leveraged existing portable and embedded devices, while rewriting all DOS based systems in Windows

    My primary duties during this project were as a Director and later VP of Engineering. In this role I participated in architecture and design, and worked with the team to arrive at the best overall system design. I used my vast knowledge of the industy to help shape and mold the product and used my technical expertise to make sure that the product being built was both solid and maintainable.

    My team included engineers, artists, technical writers, project managers, electrical and mechanical engineers and software quality engineers and testers.

    This project was a massive undertaking, attempting to rollup years of features and functions from the previous systems, while adding new and market current features.

  • Paradox Jigsaw Puzzler

    I wrote this program as an exercise to help me learn more about Direct3D. I wrote the program for Windows using Direct3D 9 and C++. I was well versed in 3D concepts, having done quite a bit in the past, and had used DirectDraw for quite some time before this, but I really was interested in going to the next level. I had previously written a 2D Jigsaw puzzle game for the GameTech Diamond system, and I decided that this was an appropriate application.

    Unlike my previous puzzle game, this game used a random spline generation routine to 'slice' the virtual puzzle into pieces. So every piece was unique and new. The pieces where then extruded and 3D puzzle pieces were created. I then utilized the Open Dynamics Engine (ODE) to apply physics to the pieces in the virtual world, and dropped them randomly onto the 'table'. This was quite cool as you can watch each piece bounce and collide with each other. Then you get to put it all back together.

    Along the way I learned quite a bit, and dabbled with quite a number of different concepts that really were fun enhancements to the game, (particle physics, and pixel/vertex shaders) and this application allowed me a perfect platform for experimentation and learning.

  • JBA

    This system was put together in the early days of GameTech (1996/97) with a small team including myself, an artist, and one other engineer. We wrote all the code in C++ for Extended MS-DOS (DOS/4GW) and used a CodeBase database engine. Devices were networked to the server and used light pens for player input. We later added our first portable device, touch screens, Picture-In-Picture TV, additional new devices, many games and continued to enhanced it for many-many years.

    This product was the staple of the company, generating most of its revenue ($40 million peak year) for the 14 years I was there.

    Even though this product runs on MS-DOS, and uses older technology, it is still installed in a number of locations around the country. Basically the product is solid, generates great revenue for the operators, and is hard to replace.

    I was the primary developer for the point of sale, and the portable devices, and later became the Director of Engineering, building a large team of engineers, and great guys, who helped to grow the product, and develop the next generation platforms.

  • System-12 was developed primarily in C and Assembly for a Motorola 68000 processor based custom computer system with an OS/9 based VME server connect via multidrop rs-485. The server side, management, reporting and sales stations were all text terminal based. My job was to develop bingo and casino style games for the system. Development was done on PC's in DOS and using In-Circuit emulators to download to the target devices. When software was ready for prime time, eproms were burned and could be installed in the unit.

    Typical for its time, the system had a limited color palette and relatively low resolution, but it did have a Texas Instruments 34010 graphics coprocessor, so we were able to do quite a bit considering. We implemented a cashless gaming system whereby players would create an account, place money in the account and could use this money to purchase games at the terminals. I worked with a great group of engineers developing games, and performing onsite installations.

    I traveled all over the country and to Canada to do installations and sometime to debug issues in the field. I spent quite a bit of time at out largest customer, in Manitoba Canada at a couple casinos and gaming facilities run by the government group, the Manitoba Lotteries Commission.

  • Dobbi
    Android, C#, Java, VS2012, Eclipse
  • Dobbi
    Android, C#, Java, VS2012, Eclipse
  • PC Client
    Windows, C#, WPF, MVVM, VS2012
  • PC Client
    Windows, C#, WPF, MVVM, VS2012
  • PC Client
    Windows, C#, WPF, MVVM, VS2012
  • PC Client
    Windows, C#, WPF, MVVM, VS2012
  • PC Client
    Windows, C#, WPF, MVVM, VS2012
  • PC Client
    Windows, C#, WPF, MVVM, VS2012
  • Point of Sales
    Windows, C#, WPF, MVVM, VS2012
  • Point of Sale
    Windows, C#, WPF, MVVM, VS2012
  • Point of Sale
    Windows, C#, WPF, MVVM, VS2012
Bingonomics, Corp - 2011 - 2013
Dobbi, Bingo, PullTabs
  • Bingonomics Dobbi
    Android, C#, Java, VS2012, Eclipse
  • Champions Edge
    Embedded XP, C++, Direct3D, Visual Studio 2008
  • Champions Edge
    Embedded XP, C++, Direct3D, Visual Studio 2008
  • GameTech Diamond
  • GameTech MINI
    Windows CE, Embedded Visual C++
  • Diamond Elite
    MS-DOS, Watcom C++, DOS/4GW
  • Traveler
    Windows CE, Embedded Visual C++
  • Tracker
    SoftTools C, Rabbit/Z80, Embedded, InCircuit Emulator
  • T.E.D.
    SoftTools C, Z80, Embedded, InCircuit Emulator
  • TED2C
    Embedded DOS, Watcom C++, DOS/4GW
  • GTI Handheld
    Embedded DOS, Watcom C++, DOS/4GW
  • Diamond B.E.T.S.
    MS-DOS, Watcom C++, DOS/4GW
Bingonomics & GameTech
Game Devices
  • Jukebox Arcade
    C#, WinRT, XAML, MVVM, Visual Studio 2012
  • Jukebox Arcade
    C#, WinRT, XAML, MVVM, Visual Studio 2012
  • Jukebox Arcade
    C#, WinRT, XAML, MVVM, Visual Studio 2012
  • Paradox Jiqsaw Puzzler
    C++, Direct3D, Visual Studio 2008
  • Paradox Jigsaw Puzzler
    C++, Direct3D, Visual Studio 2008
  • Paradox Jigsaw Puzzler
    C++, Direct3D, Visual Studio 2008
  • Image-O-Matic
    C#, WinRT, XAML, MVVM, Visual Studio 2012
  • Image-O-Matic
    C#, WinRT, CAML, MVVM, Visual Studio 2012
  • Jukebox Arcade 1.3
    C++, WinGDI, GDI+, Media Player, Visual Studio
  • Jukebox Arcade 1.3
    C++, WinGDI, GDI+, Media Player, Visual Studio
Miscellaneous
Software
  • Payload Keno
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Freedom Fest
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Freedom Fest Bonus Round
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Cow Abduction Keno
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Miners Treasure
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Cash Count Down
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Gold Works
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Lil's Bonus
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Montana Progressive
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Ole's Treasure
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Peter Jacobsen Keno
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Pick Your Pleasure
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Stacking Cash
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Pow'r Play
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Spill Over Keno
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Top Dog Keno
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Vault of Gold
    XP Embedded, C++, Direct3D, Visual Studio 2008
GameTech International, Inc - 2009 to 2011
Keno Games
  • Deuces Wild Poker
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Crazy Pays Poker
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Jacks or Better
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Payline Poker
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Jokers Jackpot Poker
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Jokers Wild Poker
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Double Double Bonius Poker
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Cascade 2 Hand Poker
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Cascade Poker
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Blackjack Blast
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Super Bonus 7's Blackjack
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Blackjack Spinner
    XP Embedded, C++, Direct3D, Visual Studio 2008
GameTech International, Inc - 2009 to 2011
Poker Games & Blackjack
  • Dragons Gate
    XP Embedded, C++, DirectDraw, DirectShow, Visual Studio 2008
  • Shish-K-Bonus
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Reel Boss
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Chicago 8-Line
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Wild Paylines
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Planet 7's
    XP Embedded, C++, Direct3D, Visual Studio 2008
  • Captain Jackpot
    XP Embedded, C++, Direct3D, Visual Studio 2008
GameTech International, Inc - 2009 to 2011
Slots
  • Bingo Beach Theme
    MS-DOS, DOS/4GW, Watcom C++
  • Rainbow Bingo Progressive
    MS-DOS, DOS/4GW, Watcom C++
  • Club 76 B.E.T.S.
    MS-DOS, DOS/4GW, Watcom C++
  • Sunken Treasure B.E.T.S.
    MS-DOS, DOS/4GW, Watcom C++
  • Bowling For Cash
    Windows CE, C++, Embedded Visual C++
  • Bingo Western Theme
    MS-DOS, DOS/4GW, Watcom C++
  • RaceTabs
    MS-DOS, DOS/4GW, Watcom C++
  • Jacks or Better Poker
    MS-DOS, DOS/4GW, Watcom C++
  • Deuces Wild Poker
    MS-DOS, DOS/4GW, Watcom C++
  • Club 76 B.E.T.S.
    MS-DOS, DOS/4GW, Watcom C++
  • Bowling fo Cash B.E.T.S.
    MS-DOS, DOS/4GW, Watcom C++
GameTech International, Inc - 1996-2008
Miscellaneous