Timeline

I’ve been working on a new software project that I’m going to call “Timeline”. When I first learned C#, I wrote a simpler timeline program that I’ve used to keep track of “big” events like houses, vacations, jobs and projects. After getting the Jawbone fitness tracker, I wanted to add that data to my timeline program.

Instead of just adding that to my existing program, I decided to re-write the program to be more flexible. I wanted to be able to have events with child events and to “tag” people in events instead of having a copy of the event on each person.

The program is complete and I am currently submitting it to freeware sites. I didn’t release my first timeline program because it wasn’t able to handle incorrect inputs and it wasn’t very intuitive to use. I am going to release this version, so I’ve made the program more robust.

Continue reading “Timeline”

Microsoft Windows Text-to-Speech for Unity

*EDIT 7/15/2019* I’m updating this post with my latest code and to remove the dependency on UniExtensions

I’ve made a wrapper around the Windows-only Microsoft Speech API for use in Unity. The Microsoft Speech API is a Windows COM capability that first appeared in windows Vista. It is an easy way to get text to speech in a windows application.

This post will go through the steps of making the C++ DLL and the C# behavior for Unity. If you don’t care about the “how” and just want to use the plugin skip to the end for the download and usage instructions.

Continue reading “Microsoft Windows Text-to-Speech for Unity”

Violin Recital 4

I am preparing for my fourth violin recital. I am going to be playing the second and third movement of “Summer” from Vivaldi’s “Four Seasons”. The “Four Seasons” is a very popular song, but people are most familiar with the first part of Spring. The part that I am playing is less famous, but still fairly popular. The “Four Seasons” is intended to evoke the seasons of the year in the listener, and the music even has little descriptive notes describing what is happening. In the second movement of summer, is is a hot afternoon and a shepherd is trying to sleep through the approaching thunderstorm. In the third movement, the storm has arrived and there is thunder, wind, and hail.

Here is a recording of me practicing for the recital. I have another week to practice, but I’ve already been working on this movement for five weeks, so this is about as good as it is going to get. I am playing at 92 beats per minute while professionals would play at 120 beats per minute. Some parts of this piece sound significantly better at full speed, and while I can play at nearly full speed, I make more mistakes. At the recital, there will be piano accompaniment which should help.

Edit (post recital): The recital went fairly well. We didn’t do a warm-up period; so the recital was shorter, but it was a bit harder to play without the warm-up session. I was a bit less nervous than at the prior recitals and played a bit better. This was the first year where I made it through the piece without having to stop to recover from a mistake.
I brought my camera along and got some video of some of the students to provide a feeling for what the experience is like. The final performance is by the teacher.

Edit 2: I was wrong about not improving much more in the final week. With another week (probably 15 hours) of practice I did get a bit faster and more consistent. I think that some of the tricky parts are a bit cleaner too. I’ve replaced the original practice video with on that I recorded the day after the recital. Sorry about the bad focus on the new video.

Mongoose for Unity

Mongoose is a C library for embedding a simple web server in another application. We used Mongoose for all of our web-enabled Torque games and I wanted to be able to continue using it for new games in Unity.

There is an existing extension called UniWeb which provides a web server in unity, but their code doesn’t support web sockets. I’ve just built Mongoose in windows, but it is Linux and Mac compatible as well. However, it wont support any of the mobile platforms.

This post will describe the steps for building Mongoose 5.6 as a windows native DLL, then wrapping it for use in C#, and finally including it in a Unity project.

Continue reading “Mongoose for Unity”

Le Havre single player demo video

At the suggestion of a friend, I’ve created a video of a single player game of Le Havre where I am using the shipping strategy.

I made this video to demonstrate how to get a score near 400 without using special buildings. On boardgamegeek.com people discuss and debate the expected scores for a single player game. Players have posted demo games before, but only as saves from a computer implementation. Mine will be the first video.

After making Le Havre, one of the pleasant surprises was how much fun the single player game is. I’ve played a lot of games and improved my score quite a bit. Before computerizing the game, I played the single player version on the physical board once. But the setup/tear-down and piece twiddling was just too much for a solo game.

I also made this video to draw attention to the touch table implementation. I’d like for other players to ask the publisher for permission to release my version. I’d also like to make boardgamegeek players more aware of gaming on the touch table.

Setting up RSS feeds

I recently added RSS feeds to darkinfinitysoftware.com so that people could keep up to date with what our company is doing, and get notified when we have new or updated software.

There are lots of ways to setup an RSS feed. For example, this blog is in WordPress and WordPress sets up RSS feeds automatically. There are also computer programs and web apps that will manage your RSS feed.

I set it up manually for Dark Infinity, so I thought I would give the steps here.

Continue reading “Setting up RSS feeds”