15 Miles and Counting…

August 14th, 2017

I made it 15 miles in the kayak on Saturday. It was really neat to go around Deadman Point and see Cave Rock and South Lake Tahoe.

image

The Route I took went around and into Glenbrook Bay and included a small detour at the end to give me a little extra distance. You can see this trip and others on my kayaking/biking trip log page.

image

Once around the point, I could see Cave Rock. It is the tiny outcropping to the right of center at lake level in the above picture. It looked huge and distinct in real life but looks tiny in the photo. I contemplated paddling to it but instead paddled into the bay that lies just around that point on the left.

Here is a close-up of Cave Rock taken from the above photo:

image

I may go for a full 20 miles next week or the week after. The last five miles will be tough but so far, I have been able to keep up a consistent 4 MPH pace for any distance I paddle – the boat just seems to like that speed.

Games, Games, Games

August 10th, 2017

I bought a few new games. I wanted to try a few different styles of board games and I certainly found some that are totally different from my other games. In this post, I am going to list all of my board games with a short comment about each one.

image7 Wonders – This is a card set collection game that requires at least three players. It’s fun but requires trying to remember what was in a hand of cards as hands are traded from one player to the next. I enjoy this game although the strategy of sometimes taking a useless card to keep someone else from getting it, is tricky due to the passing around of the hands.

image7 Wonders Dual – This is a set collection card game similar to 7 Wonders but cards are picked/drafted from a common set on the table that is available to both players. Only supports two players. I like this a little better than the original 7 Wonders since there is no requirement to remember what was in a hand that got passed to another player. Strategies are about the same otherwise, except for some differences that only work for two players, like the military strength mechanisms.

imageAgricola – This is a resource collection game where players choices affect the available choices of the other players. Players try to collect resources that are used to build/buy/use other resources. This is a fun strategic game with lots of strategy choices. The theme works really well with the gameplay.

imageBlack Fleet – Just got this and have not played it yet :(

imageCarcassonne – This is a tile placement game where players place tiles and meeples on those tiles to benefit themselves or to hurt other players. Played once and it’s a quick easy and fun game.

imageCastle Panic – This is a cooperative game that we played at home for a while then lost interest in it. Fun but cooperative games always lead to all players losing. The add-on pack didn’t’ change the game much and I would play it again without the add-on if I play it again sometime.

imageCatan – This is a resource collection and trading game with resources used to buy more territory to get access to even more resources. I haven’t played it yet but it’s a classic so I had to buy it.

imageDominion – This is a deck building game that seems a bit like a solitaire game. This is purely deck building where collected cards become accessible later in the game and players try to collect cards that will let them get more useful or higher scoring cards later in the game. It’s interesting and sometimes complicated due to drawing cards while playing cards.

imageThe Dresden Files Cooperative Card Game – this is a cooperative strategy game where cards are used for various actions and the choice of action on each turn is critical to winning. Simple after the first game and interesting so far. I played it solo (three player hands get played by one person) and it was certainly interesting. It’s hard to win, like all cooperative games.

imageExploding Kittens – This is an entertaining survival card game. Try to collect cards that help you avoid losing due to getting an exploding kitten card from the draw deck. Fun party-style game.

imageExplorers of the North Sea – This is a tile placement game combined with a resource collection game. The “board” is built as the game progresses and players sail the seas trying to collect things (or claim territory) that count as points in the end. And if your Vikings die in battle, you get points for that too!

imageFirefly the Game – This is a do-a-job board game where you use the proceeds from a job (moving resources around the board) to get more resources in order to complete more complicated/difficult/dangerous jobs. It’s a long game with a lot of decks of cards but it a fun family game if not taken too seriously. There’s a bit of randomness that can sometimes be frustrating. It needs a lot of table space.

imageForbidden Desert – Haven’t player this recently enough to remember it.

imageFury of Dracula Third Edition – This is a one vs. many game where players cooperate to find the location of the Dracula player. Cooperation is very important and there is a bit of deduction needed whenever there’s a clue as to Dracula’s whereabouts. Played once and it was fun; I was not Dracula.

imageGet Lucky – This is a card game loosely based on the Kill Doctor Lucky board game. The game involves collecting small sets of cards to use for attack while also using the same set for defense (of Doctor Lucky). Easy, fun, and easy to forget to keep cards for defense!

imageGloom – This is a weird card game where transparent cards are used to stack “abilities” onto a family of cards on the table. Whoever kills off their family first wins! Fun but a little hard to manage the cards and to also play quickly. Some of the story-like stuff on the cards is funny.

Image result for hive board gameHive – A tile placement and movement game with bugs on the tiles! Fun but my daughter doesn’t like bugs so we don’t play much :) Maybe a bit of a checkers-chess combination. The lack of a board makes it easy to carry around the game in a bag.

imageKill Doctor Lucky – This is a strategy board game where players positions on the board (in a house) affect the possible actions of other players. Try to kill Doctor Lucky first to win. Fun easy game. This is the first game and one of the only games that I’ve played where an NPC (Non-Player Character) moves automatically.

imageLanterns The Harvest Festival – This is a tile placement game. Fun, easy, and one players tile placement can also affect the scores of other players. It’s a tiny bit like dominos.

imageLove Letter – this is a quick easy card game with very few cards. Hands never have more than two cards in them so decision making is quick and easy. This is a fun game and our go-to game when nothing else seems interesting. A round of play takes only a few minutes so players usually play to get the best 7 out of 13 wins (if I remember correctly).

imageMetro Paris 1898 – This is a tile placement game that involves trying to make long paths through as many tiles as possible. It’s easy and fun but takes a bit of forethought to score high.

imageMunchkin – I haven’t played it yet. Looks fun but the instructions were not at all clear about how to play. I had to watch three videos before it was clear.

imageOne Night Ultimate Werewolf – This is a party game where players discuss which player is a werewolf to kill (because werewolfs need to be killed for the non-werewolfs to win). There is some lying and some not-lying-and-trying-to-convince-everyone-that-you-are-truthful in the game because the werewolf players want to stay alive to win.

imagePandemic – Cooperative board game. Like all cooperative games, it’s hard to win. It’s fun but frustrating to always lose. The premise is cool and the gameplay works well with players moving around the world trying to cure and eradicate diseases.

Image result for sherlock holmes consulting detectiveSherlock Holmes Consulting Detective (The Thames Murders…) – This turned out to be less of a strategy game and more more a story telling game. We don’t play this because there is no obvious way to do better at the game. Scoring high requires luck or genius. So much circumstantial evidence is needed to solve a case that we could never get enough of it for a solution without losing tons of points getting it.

imageSpy Alley – Item collection and bluffing game. Always fun and doesn’t take too long to play. Players try to gather resources that let them win while also gathering resources that keep other players from guessing their identity.

imageStar Realms – This is a deck building game (like Dominion) and also a hand-playing game with a lot of player interaction. I like it.

imageSushi Go – Card collection game involving trading hands around the table and trying to collect cards based on what will be available in other hands. Fun family game. This is sort like like a super-simple version of 7 Wonders because after the players all take a card from their hand and play it, the hands are passed around the table.

imageT.I.M.E. Stories – This is a cooperative story game that involves making decisions that seem to alter the order of the story elements but doesn’t seem to help get through the game more quickly (with a better score). Like Sherlock Holmes Consulting Detective, this game seems to not have a way to play strategically to score higher; players can only accidentally stumble onto more effective paths to the end of the game. It was interesting the first time but just frustrating the second time (we never finished The Marcy Case). Interactive stories are just not that much fun, except maybe on a computer where the story is more rich and vivid and there’s no pieces to move around constantly.

imageTakenoko – This is tile placement combined with taking actions to achieve semi-random goals. You can pick the type of goal you want but you can’t know what the exact goal will be until you pick the card. This is fun and fairly easy but still takes some strategy and work to win.

imageTicket to Ride – This is a strategy game where taking more risk can lead to a bigger win or a bigger loss. Lots of card drafting is done to get sets of colors in order to claim routes on the map. This is a fun easy game. It takes a bit of luck and a lot of strategy to win. We have played this game a lot, especially back when we only had a few board games at home.

imageTiffin – It’s been a while but what I remember is that this game is a card collection game where sets of cards are collected and then used to claim resources (lunches). It had a Ticket-to-Ride vibe to it. The two-player variant that required a fake third player, sort of sucked, But all games that can’t be played normally with two players suck a little when you have just two players. I am a friend of a friend of one of the guys who designed the game, so I had to get it! And it was good enough that I would play it again.

imageTokaido – This is a set collection game with only a little ability to pick a winning path through the game. This game is fun because strategy is subtle and it’s hard to win big. Making a  very beneficial move often leads to losing a turn or even two. This is also a very pretty game and the deluxe edition is just really nice to look at!

imageUnfair – This is a  recent Kickstarter game that is mostly card collection and some amount of card playing game. I really like this game with two players and even playing in a way that minimizes player interactions, the game is still very fun. The amusement park theme, the quality of the game and instructions, and the interesting mix of possible actions, makes this game one of my favorites.

That Book Idea

August 7th, 2017

I tried to write the first few pages of the first chapter. Holy cow, what a pain in the ass. Trying to cover multiple programming languages in a single book will be a seriously difficult task!

Kayaking Across The Bay

August 3rd, 2017

IMG_0067

Starting at Sand Harbor in the evening. The point, just above the boat being launched, is the destination four miles away. I hope to get there in an hour.

The pictures were taken through a phone dry-bag so the quality is not quite great.

IMG_0072

The destination has been reached. It got a little breezy out about half way across but nothing worth worrying about. In fact, it was a blessing since it was dang hot at Sand Harbor.

IMG_0078

About to paddle back. Sand Harbor is on the far shore just to the left of the tip of the kayak. The three scars on the mountain point to the right side of the Sand Harbor park area and make for a good target.

IMG_0085

A few days later, I played in the surf! It got super windy and the beaches cleared out and there were no boats on the lake. I didn’t try to paddle more than a few hundred feet in any direction and instead just tried catching waves for a while. The place was a ghost town when I left – only the park ranger was left.

Linkage Software Review

July 31st, 2017

I just got this great review of the Linkage software:

“Too cool man, whoo, beautiful….” – Anonymous User

Programming in Breadth – Introduction

July 17th, 2017

All common mainstream programming languages work essentially the same way. You the programmer write instructions that eventually get executed or processed by the computer. The majority of instructions are declarations, computations, tests, and loops.

For now, think of declarations as instructions that define specific individual things. For instance, a piece of software might declare that Tom is a male human being. Once that declaration is done, Tom is known to the software in some meaningful way. And as is the case for all things in this book, each programming languages facilitates declaring things in its own way.

Computations are math or math-like operations and are fairly similar in most computer programming languages. All data in a computer, even letters of the alphabet, or represented by numbers. It therefore follows that all manipulations of the data is done on those numbers. To change a letter of the alphabet from the letter A to the letter B, simple add 1.

Tests are a common thing in all programming languages. Simply put, the software will constantly be comparing things to performing different computations based on the results of those comparisons. A test might be as simple as “if Tom is older than Jane then fire Tom.”

And finally, there are loops. A loop is a set of actions that are done repeatedly until stopped. In almost all cases, there is some bit of information that changes while the rest of the steps are repeated. When a human reads a book, they are doing the same things over and over in a loop: “Read Page” is followed by “Turn Page” and then repeated over and over while “Read Page” actually entails repeating “Read Sentence” and that itself is a loop of multiple “Read Word” actions. Looping is just repeating.

This book will attempt to describe basic computer programming ideas while showing these ideas in various programming languages. And whenever it seems important, a deeper comparison of the various languages will be included. Since this is a computer programming language book, the information here will be presented as in other programming language books with the simplest and most necessary features of the languages described first and more complex or less common features described later.

Computer Programming in Breadth

July 17th, 2017

I have an idea for writing a programming book. The book would cover basic programming concepts and instead of focusing on a single language, the book would include information on at least seven different programming languages. They might be:

C
C++
C#
Java
JavaScript
Swift
PHP

I’m not sure about C since C++ is a superset of C. Then again, the string handling of C is significantly different from the other languages. I am purposely excluding Objective-C and there are no other languages that I am familiar with enough to write about in a book.

I’m also unsure about including more languages. Python is popular right now and Objective-C, something I want to avoid, might be important for historical reasons. Perhaps I can include quite a few more languages and just learn those other languages as I go. I’ll give it more thought.

I’m going to try writing some blog posts with information that I would include in such a book. It’s a work-in-progress and since I have no idea how to write a book, it is likely to suck. All of the book posts will be in the “Programming in Breadth” post category.

7 Wonders Duel – Review

July 3rd, 2017

My daughter and I have played 7 Wonders Duel twice. That’s enough to give a basic review of the game. It is certainly not enough to describe a good strategy.

image

7 Wonders Duel is a two player version of the 7 Wonders game. This game seems to have been invented for one reason: 7 Wonders is not really a good game for two people.

image

Setup and Layout

In 7 Wonders Duel, two players take turns taking cards from a central stash and using those cards for a small variety of actions. The most common action seems to be “paying” resources to “build” the card in the “city”. “Paying” is in quotes because a player need not give away resources to “pay.” The player just need to have access to the required resources to build. And “build” is in quote because the player just places the card face up in front of them wherever they way to “build” the card. And finally, the “city” is just the collection of cards in front of the player.

image

Resources and Other Cards

Another action the player can take is to take a card and then place it in a discard pile. This is done to get money, 2 coins per card plus some extra based on other factors, and also to keep the other player from getting that card.

image

One of the Eight Wonders

And finally, each player has 4 Wonders and a Wonder can be built if the player has the required resources, by taking a card and placing it face down under their Wonder as a marker that the Wonder has been built. Wonders, and many of the cards, have effects that happen immediately, and/or at the end of the game, plus provide resources for “buying” cards during the game. Of course, once someone builds the seventh wonder of the game, no more can be built!

I’ll skip the gameplay and get right to my thoughts on the game. To see how the game is played in detail, find a good YouTube video.

We enjoyed the game. It is easy to learn for anyone who plays board games now and then. For someone who only plays Sorry, Parcheesi, or games with almost no rules, it might take one or two games to really get it. We play Agricola so all other game rules are easy to us (Agricola having some of the worst written rules I’ve ever seen).

image

The box is small and the setup is simple. I recommend this game, at least as a game to try if you only have two players.

Interesting Beam Engine

June 29th, 2017

Interesting Beam Engine

I threw together this beam engine with the Linkage program. It is interesting because the beam moves horizontally instead of having extra links for the steam cylinder connection.

Lander with HUD and Stuff

June 13th, 2017

There have been a few improvements made to the Lunar Lander 3D Unity game since my last post. The previous to-do list looked like this:

Add a particle system to draw rocket flames.
Add a landing pad and detect a successful landing.
Add an explode-able version of the lander and blow it up if the lander lands off the pad or lands too hard or too leaned.
Sounds.
Terrain.
A game management system to load multiple levels and to provide a start screen and stuff of that sort.

The latest version of the code has four of those items mostly working.

Latest Lander Test

The particle system for the flames comes from the Unity Asset Store. It is a low-poly particle system resource I bought for a few dollars. I think that I really only need to write the code for a particle system once I need something custom. I suspect that the code is minimal anyhow since the Unity particle system handles most of the work.

The landing pad is a low-poly (low-polygon-count) cylinder with my own graphic added. The lights are the ends of small cylinders that have their light set to “unlit” or some similar setting that keeps the tiny bit of their sides or the edge between top and sides from being a different color from the top. The flashing is just a few lines of C# code to change the color every so often.

The rocket sound is another purchase, this time from a sound effects site called soundsnap. Although I bought a particle emitter that I could have written myself, I have no idea how to get or make sounds for the game. Purchasing is the only way to get what I need for the sound effects. The script for the lander adjusts the volume based on the thrust level, making it good for throttle feedback. And since the emitter changes the rocket flame emission from the thrust level, flying is pretty easy with a joystick.

image

Game Controller

Something that wasn’t on the original list was joystick support. It was easy to hook an Xbox One S Bluetooth game controller to the PC and use that. I use the right trigger for the throttle and the left stick for the lander tilt.

On a side note, I had a discussion with my dad about using the left stick for the pitch and roll control and the right trigger for the throttle. When I use a full size joystick and throttle control that I have for the desktop computer to fly with MS Flight Simulator X and other games, I hold the stick in my right hand and throttle with the left. And if I’m flying a helicopter in a game with that stick and throttle, I reverse the throttle so I’m pulling back/up on it to increase the throttle, just like the cyclic control in a real helicopter. And finally, in a real airplane like a small Cessna, which I have flow and have have a proper license to fly, I would always hold the yoke in my left hand with my right hand near or on the throttle. So there is no “right” way to pick which hand or finger uses which control stick, knob, or button. They all seem to feel right and completely natural to me.

Also on the original list was detecting a successful landing. This was hard. Really hard. To detect a landing, the code needed to get called when a collision is detected between one of the lander feet and the landing pad. I unfortunately call the lander feet “pads” making it a bit hard to tell what’s going on at times. I’ll need to fix that. Anyhow, instead of trying to deal with calls to OnCollisionEnter(), which seems obvious, I opted to write code for OnCollisionStay() which is called every frame and describes all of the colliding objects. The reason why OnCollisionEnter() doesn’t work is because there is no way to use OnCollisionExit() with it to keep track of collisions. What I ended up doing is naming my feet with a number and then when there is a collision in one of the child objects, like the collider objects inside of the feet, I move up the object tree and get the number for the foot. I then set a flag in an array for that foot so I can later figure out how many feet are touching. The tricky thing is that when OnCollisionExit() is called, it doesn’t seem to tell me which collision object is no longer colliding. I just clear the array and set a flag to an “I don’t know what’s touching” state to avoid incorrectly making sounds when a foot is already touching. It’s probably all wrong but it was the best I could do given no knowledge of what the collision detection functions are supposed to tell me. At least it is possible to tell with the array if all four feet are down!

I was also playing with some terrain related Unity features. I created a height map using some other programs and make sure that the terrain is flat along it’s entire edge (all four edges of a square). The terrain sits on a box of the same color making this look like the tile-in-space that I wanted. It’s nothing to brag – the terrain is boring at this point. But at least it works.

image    image

Indicators

Oh yes, and I added a HUD or GUI, whatever you want to call it, to show fuel, various speeds, angles, and other info. After the video was made is when I added a lean angle indicator. The 2D elements are super easy to work with in Unity, especially since I could create a game object to hold the entire right-side indicators and then place each individual part inside of that with relative positioning.