Category Archives: Programming

More on “Pack A Truck” game

I’ve been busy this week putting my new game “Pack A Truck” on more stores for more devices.  You can now find “Pack A Truck” on the following stores or on the web.  Soon it will be on Amazon as well for both the Android version and a PC Standalone version (for Windows XP and more recent Windows operating systems).

Itch.io (web version of Pack A Truck) – requires a browser like Chrome, Firefox, or Microsoft Edge that supports WebGL

Google Play Store (Android version for phones and tablets)

Microsoft Windows Store (runs on Windows 10, and 8.1 I think)

 

 

My latest video game, “Pack A Truck”

Those of you who are familiar with my classic game “Truckin'”, know that I have an interest in logistics — management and coordination of a complex operation, such as the transport of goods.  My new video game “Pack a Truck” takes a closer look at the specific activity of preparing to move.

It’s more of an arcade game than a simulation, but it does give players food for thought in geometric terms.  Think of each game as a puzzle of sorts, with many combinations of the packing items possible.

So far, I’ve published “Pack a Truck” as an app on the Google Play Store.  If you have an Android phone or tablet, you should be able to install it from there.  I will be working on Windows and WebGL releases soon and possibly other device support.

Math and games

Origami, folding paper into fascinating shapes and recognizable objects, is a form of gaming.  Now, computation geometry is being used to help folders perfect their origami creations.

Mathematics has long been the secret ingredient to games.  Many players don’t even know they are dealing with math, but it is often there nevertheless.  Did you know “Candy Crush” is a hard mathematics problem?

Really, mathematics is necessary in all kinds of video games ranging from complex simulations involving logistics to casino games, often requiring difficult statistical verification before release — to insure that the game does not bankrupt the house.

Even my games “Microsurgeon” and “Truckin'” relied on a number of decisions and logistics — highly related to mathematics — in order to save a patient or make cargo deliveries on time.  Speaking of logistics, “Tetris” is probably the most famous video game related to selecting shapes into rows in order to score points.

But did you know that packing your bags or Amazon packing your order is a logistics problem too?  If you find this kind of thing fascinating, as I do, you might like my upcoming video game.  More on that soon.

In the meantime, if you haven’t tried it already, you might like my game “Family Tree Solitaire“.  Since one hand’s score in the tree is connected to another hand’s score in the tree, there is mathematics behind the scene.  But all you really need to do is just enjoy playing.  It’s free.

Artificial Intelligence is tops at Go

MIT Technology Review reports on how AlphaGo defeated the top human Go player in the world.  Now A.I. researchers are looking at even more complex games, like StarCraft.  It is interesting to note that StarCraft AI currently has over 60 bots listed.

It will be interesting to see if new bots take advantage of input speed — faster than humanly possible — or match human speed and test their creative and planning skills instead.  If we’re talking about a military bot in a simulated environment, perhaps the bot won’t limit input speed or any other factor.  After all, in the real world a bot will take advantage of whatever it can — like in Terminator.  But if we’re talking about strictly a test of intelligence, it would seem to me that is more important to limit input speed to human capable speed, thus testing pure intellect — creativity, craftiness, planning, team building, etc.
Game Of Go clip art

Keyboard lock up after sleep on Windows 10?

I’m not sure if this is due to the latest version of Windows 10 or not, but it started happening after the last update I got.  When my computer goes to sleep, sometimes when I wake it up I can’t enter anything from the keyboard.

I discovered that if I close my laptop and then re-open it, the keyboard starts working again.  Maybe this is just a coincidence, and it started happening because my laptop keyboard driver doesn’t recognize that my laptop has come out of sleep.  Or maybe it is something in the way the new Windows 10 version works.

If you lose the ability to enter from the keyboard, you can also temporarily gain control back by using the touch screen or by bringing up the virtual keyboard (the little keyboard symbol on the bottom right of the screen) with your mouse or pointing device.  In any case, rebooting (click on the start icon — bottom left of screen — and then the power icon just above it) should always restore the keyboard to normal operation.  If not, you may have additional issues to deal with.
Keyboard clip art

AI and bluffing

I’ve recently been following the progress of computer AI in playing poker.  One area of interest is that the AI responds to bluffing.  Bluffing is a major aspect of poker that makes it interesting from an AI and gaming perspective.

Around 1977-1978, I programmed a chess playing opponent in 4k of memory on my first computer, a Processor Technology Sol-20 based on an Intel 8080 cpu.

I think the 8080 ran at 1 MHz to 2 MHz, so about 1 million to 2 million instructions per second.  Today’s Intel Core i5 processors run closer to 3 GHz — about 3 billion instructions per second — and that doesn’t even take into account multiple cores for parallel processing.  That’s 1.5 thousand to 3 thousand times faster than my 8080-based computer.  So you can see that at the speed of the 8080 an AI couldn’t depend entirely on cpu-devouring depth searches and tree pruning algorithms to determine its next move.   That’s why I added a bluffing component.

I don’t remember if my computer had 8k or 16k or memory, but just for reference today’s phones with 16GB of memory have 16 million times more memory — since 16GB = 16,000,000k.  Okay, so with just 4k of memory allocated to my chess game to handle the display, game logic, input, output, and AI, I was very limited to what I could do with bluffing.  Actually, the bluffing component was coded so simply that it was almost a random move injector.  But I believe it was that aspect of Fischer — the temporary name I gave to my chess program — that allowed it to sometimes compete with other chess programs at the time.  From time to time it would make a bold move — a leap beyond it’s ability to just search for the best next move —  effectively bluffing that it had a plan that the other program could not discover in a depth search of the possibilities.

So bluffing can be useful even in non-poker games, although that only works until the game has been “solved” by computers.  There are games like Checkers that have been solved by computers, meaning that the entire game is known from the start.  Even some games of Poker, e.g. Head’s Up Limit Hold’em, are largely solved.

In poker, bluffing is not a solution for an AI, but rather a necessary tool.  It’s built into the game of poker.  So far, looking at comments on Reddit, it appears that the best poker AI can play with the best poker players.  Good luck bluffing your way through the tournament.  Also, this might be the beginning of the end for internet poker.

If you have further interest in this subject, you might also like this recent research paper.

AI rights for robots?

At what point do political scientists and others need to consider the future of robot or AI voting rights?  In the New Scientist, Zoltan Istvan takes a look at the matter.

I personally have no guess as to when AI and robots will be conscious or intelligent enough to be considered citizens having the right to vote.  Perhaps it will happen, but intelligence by 2030 that is as smart as humans does not imply they are equals of humans.

Perhaps 2030 will be the right time to start to consider what voting rights should apply to robots and AI.  If so, it should then also be the time to consider what requirements a non-human lifeform must meet in order to have the right to vote.

After all, a calculator can already do math faster and better than most people.  But we don’t let calculators vote.

If you like to ponder about AI and robots, you might also like my stories on the subject in my anthologies.

Playing surgeon

Microsurgeon” (Imagic 1982 and 1983) is the first, or one of the first, video games related to healthcare.  I was never a doctor, but I had a lot of fun making this game and playing surgeon.

My latest interview, with Graeme Mason of Wizwords, is now published (“Making of Microsurgeon”) in the Jan. 2017 issue #163 of Retro Gamer Magazine.  This link is for ImagineShop.co.uk, but I assume issue 163 will be on Amazon and other online stores in 2017.

 

 

Do coding skills = foreign language skills?

On December 5, 2016, FloridaPolitics.com cited that “Florida lawmakers could once again consider whether computer coding classes should be counted as a foreign language credit.  Senate Bill 104 also requires the state college and university system to recognize the credits as foreign language credits.”

While I’m all for students learning about computer systems, architectures, networks, and coding techniques, I do not think that “coding skills” = “foreign language skill”.  As a creative person, I have found that learning a variety of skills has been very helpful in my career.  While I can learn and use new computer languages quickly, learning a new foreign language has never come easy to me.

I wonder if the senator from Florida has read the Slate Magazine article earlier this year entitled “Students Should Learn Programming. But It Shouldn’t Count as a Foreign Language.

Writing 10,000 lines of computer code is not the same as writing a short story.  While both skills are an art, the abilities behind the art are quite different.

Coding requires more than just a familiarity with logic, commands, and semantics.  One has to have an understanding of the system architecture, the project requirements, and often the network and team structure.  At some point, it is quite likely a coder will also need to have an understanding of other technologies and mathematics.  Perhaps that’s why some (or many?) students of coding schools are failing.

Reading or writing in English, let alone writing or speaking in a foreign language, is much more than just understanding the dictionary definition of words and language grammar.    One needs to understand the culture and history behind the language to “get it”.  Just look at how long it has taken for archaeologists to read some of the glyphs on Mayan temples in Mexico.  If it were just a matter of translation using a dictionary and grammar, computers would have performed perfect translation years ago, and AI would have understood the meaning of what anyone says or writes.

I’m all for students learning to code.  I’m also all for students learning a foreign language.  I believe students should learn both skills.  But Florida legislators, please don’t kid yourselves that coding skill = foreign language skill.

The social impacts of robots

When I attended UC Irvine and studied computer science, one of the most influential courses I took was “Social Impacts of Computers”.

To this day, I always think about how new technology will impact society.  Not just the good — such as the ability to make phone calls to family from anywhere, but also the bad — such as the ability to create anonymous criminal or terrorist networks with throw-a-way phones.

So I’m happy to see that the IEEE is now encouraging engineers to think ethically when building new intelligent (AI) hardware and software.   Below is a video of a conference panel this year that discussed the ethics of robot car artificial intelligence.

Network devices not showing in File Explorer

Normally, when you have Network Discovery turned on and then click on the Network folder in File Explorer in Windows 10, you will see devices and computers on your network.  If at some point you no longer see devices and computers on your network in this folder, here’s something you can try.

Example: You are no longer seeing your external networked hard drive in your Network folder.  It will probably show up if you reboot your PC, but here’s something quicker you can try.  Pull up Task Manager — ask Cortana for Task Manager or right click on a non-icon part of the taskbar and select Task Manager.

Select the Processes tab and scroll down to find Windows Explorer under Apps or Windows Processes.  Right click on it and select Restart.  The screen may go black for a moment while the Explorer is restarted and your task icons are restored at the bottom of the screen.  Once done, check to see that you can now see networked computers and devices in the Network folder in File Explorer.

If you’d prefer a video, the one below explains how to restart Explorer.exe, which is Windows Explorer — and File Explorer is affected as well.

Video gamer creates VR surgical simulator

Nice to see ComputerWorld giving recognition to a video gamer (Sam Glassenberg, founder and CEO of Level EX) who designed a VR surgical simulator.

Funny how paths cross.  According to the article, Glassenberg was a lead developer on Microsoft’s DirectX.  When I worked on porting Digital Picture’s “Double Switch” game to Windows 95, I programmed with DirectX 1.0.

We’ve come a long ways since my classic video game “Microsurgeon” (Imagic 1982), but I was happy to be one of the first to tie video game technology to the healthcare industry.

Level EX :60 Trailer from Level EX Team on Vimeo.

Microsoft Edge tab previews

I’ve been using Microsoft Edge quite a bit since extensions were added this year.  Mostly I find it fast and simple, a nice browser.  But I still miss IE’s ability to easily reorganize (and save) my Favorites.  I’m the kind of user that tends to ignore minor inconveniences, but recently I realized just how much tab previews (dropdowns) were getting in my way.

So I looked up how to remove tab previews from Microsoft Edge.  While there is no simple user interface check box for doing this, it turns out there is a Registry key that can be created for turning off tab previews.

Please exercise great caution whenever editing the Registry in any version of Windows.  Instructions for turning off tab previews in Microsoft Edge can be found on a number of websites.  Just look up “disable Microsoft Edge tab previews”.   Here is just one.  You will also find a few YouTube videos on the subject.

I added the suggested registry key with value 0, and now I no longer get tab previews.  I wasn’t using them anyway, and now they no longer drop down and get in my way.

Tab Duplicate clip art

Microsurgeon interview in Retrogamer issue 163 — January 2017

Microsurgeon” (Imagic 1982 and 1983) is the first, or one of the first, video games related to healthcare.  It’s been mentioned in numerous magazines, featured on album and magazine covers, written about in books, nominated for awards, recognized at the Consumer Electronics Show, and gotten several good reviews over the decades.

I loved designing and programming “Microsurgeon”, and I always enjoy answering questions about it.  Look for my latest interview — with Graeme Mason of Wizwords — in the Jan. 2017 issue #163 of Retrogamer.

microsurgeon

Robots like to play games too

For years, we’ve read about chess, checkers, and more recently GO and Jeopardy, played by computers with artificial intelligence.  The new trend seems to be robots that play games, whether it is a way for robots to learn or just computer scientists amusing themselves.

There are robots controlled by humans, of course, and drones are a good example of that.  Now there’s drone golf, where a golfer uses a drone to play golf.

Also, artificial intelligence researchers are using games like Minecraft as a testing ground, as well as StarCraft and other games.

Finally, as more evidence, I give you the robot that set the new Rubik’s Cube record.

Accidentally dismissed Microsoft Edge tab

Sometimes I’m in a hurry, and if I click once too many times on the browser tab to close it, I’ll close the one next to it as well by accident.  Although there may be various ways of recovering the lost tab in your browser, most browsers support Control (Ctrl) + Shift + T — or on a Mac, Command + Shift + T.

So when I recently accidentally closed my Microsoft Edge tab, I just pressed Ctrl + Shift + T and it reopened immediately!

ctrlshiftt

Family Tree Solitaire for cribbage?

My version 1.0 of Family Tree Solitaire uses poker rules for scoring family hands.  But there is no reason why I couldn’t use other card game rules, such as those for the popular game of Cribbage.

There are things in Cribbage that might not work in Family Tree Solitaire, such as pegging or putting cards in the crib — although I can think of various ways to incorporate this game play into Family Tree Solitaire – Cribbage — but ultimately a Cribbage hand ends up consisting of 4 cards.  There is also a fifth card that is used in a Cribbage hand, the card that sits on top of the deck.  Using that card as well, the computer could figure out what the best possible Cribbage hand is for a particular set of cards in a family.

I just wanted to put that out there in case there is interest in “Family Tree Solitaire – Cribbage”.  Feel free to share your own thoughts on this idea by replying below.

ATemplateLogo

Family Tree Solitaire on the web now

Now (May 19, 2016) I’ve also posted quick/short rules for the game on my website in text format for printing.  There is also a pdf version of the intro video that you can print.

My latest video game, “Family Tree Solitaire”, is now also on the web for free on itch.io.  You can also find links to the FREE Windows Store, Google Play,  and Amazon Store app versions too.

Get it on Google PlayGet it on Windows 10AvailableAtAmazon

The web version plays in most modern desktop or laptop browsers that support WebGL: Google Chrome, Microsoft Edge (WIndows 10), Mozilla Firefox, and Apple Safari — in my experience, it doesn’t seem to run on mobile browsers (phones or tablets) yet. It also will not run in Internet Explorer.