Thoughts on Momocon 2018

MomoCon 2018 wrapped up yesterday, and this was my first time attending multiple days.  For previous years, I had just driven down to Atlanta and back in a day, which can be fairly exhausting.

MomoCon program guide coverI stayed at the Georgia Tech Hotel and Conference Center for the entire length of my stay.  When I was working on my undergraduate degree at Georgia Tech, the entire Tech Square area was just slums.  It’s amazing how much it’s changed over the years.  The hotel was also a little less in cost compared against the hotels at the Georgia World Congress Center (GWCC), where the MomoCon convention is held.  Unfortunately, there are not very many options to get over to GWCC from Tech Square.  On the first day, I tried walking to the North Avenue MARTA station and rode the train.  On my way back, I literally got death threats from the street ruffians while walking back to the hotel along North Avenue.  There were enough cars on the road and it was still daylight, so I was fairly confident that nothing bad would happen as long as I stayed quiet and kept walking, but it is an experience that I really don’t want to go through again.

On the first day of the convention which was Thursday, I attended the Professional Voice Acting panel, which featured the voice of Gohan on Dragon Ball Z, the voice of various Mortal Kombat characters, and the voice of Frylock on Aqua Teen Hunger Force.  Unfortunately, I don’t remember their names, but one of them said that he was on IMDB.  I also checked out the convention floor.  It seems like the convention is becoming more gaming focused, and less focused on anime and comics.  There is still a fair amount of cosplay.  I would say over a majority of the convention attendees were in costume.  The entire right side of the convention floor was completely gaming.  They moved the indie booths to the left side of the convention floor, with all of the other dealers.

On Friday, I found a great little pinball and arcade place called Portal Pinball Arcade in Kennesaw.  It was a pain getting there due to all of the Memorial Day traffic, but it was worth it.  The palce was sort of small, but it was packed with pinball machines both old and new.  They also had a few classic video game arcades like Street Fighter II.  You pay $8 for an hour, and the entire place is on free play.  There were about twenty pinball machines all together.  About four or five of those were the classic mechanical pinball games.  I tried to play each of them at least once.  My favorite was probably the cell phone pinball game, where it started taking your picture if you hit the correct targets, which was both creepy and cool at the same time.  I also played Medieval Madess and Total Nuclear Annihilation, which is also at Token Game Tavern in Knoxville, but it is always interesting to see how every machine is different with the video screen and physics.  Every machine seems to be balanced differently, so you’ve got to get a feel for each how machine plays.  I spent the rest of the day driving to the town where I grew up, and visited some relatives and drove around the old neighborhood.

Saturday was the day of the big Tekken 7 tournament.  There were over 90 entrants, which was almost double that of the Street Fighter tournament.  Usually, Street Fighter has been the more popular game.  I was lucky enough to be on the live stream for the very first match.  I did really well on my first match winning three straight rounds, but couldn’t get anything going again after that.  It was still fun participating, but everyone was in agreement that it could have been run better.  The guys running it did their best, but basically they just shouted gamertags over bullhorns to setup matches.  Not the best way to organize it with 90+ people.  Plus, each organizer seemed to be looking at a different bracket, which seemed to keep changing up until the tournament started.  I would have just put the brackets on a big screen, and then had the table toppers display the corresponding letter of each matchup, so the players could just go to their assigned table and play their games.

I also attended the ID@XBox session on Saturday night, which was given by Sarah Cat Conde who is an XBox project manager.  When the ID@Box program started, I submitted two of my games, and they were both rejected.  I never gave XBox any more consideration until they started the Creator’s Program.  I’ve had success with getting two of my Unity games, Kitty’s Adventure  and Turn Back the Clocks 4, on the XBox One through the Creator’s Program.  Kitty’s Adventure currently has over 37,000 acquisition on the XBox One, although it is a free game so I haven’t made any money from it.  Sarah did say that good download statistics from the Creator’s Program would be taken into consideration for inclusion on ID@XBox.  Making games on the nights and weekend is something I just do for fun, so I don’t know if I will try pursing ID@XBox again.  I would probably just rather spend my time just working on making new games instead.

I had planned on attending the Indie Game awards showcase, but it was wrapping up by the time that I got there, so it seemed to be a very short event.  Although it was getting late, I went back and watched the finals of the Tekken 7 tournament.  Another problem with the tournament was that it was way too long.  It started at 4pm and didn’t wrap up until about 11:30pm, which was over 7 hours.  Earlier in the day, I attended Jojo’s Bizarre Trivia, which was fun, but seemed to be unorganized.  Although, some people are seriously experts about knowing everything Jojo related.

On the final day, I attended Gundam for Everyone, which was a nice overview of how to get into building Gundam robot models.  They also gave away quite a few kits in a raffle.  Then I attended Animation for a Living, which was a large panel of about six people, who did animation for a living.  There was a lot of good information for things like freelancing and how to get paid, which could be applied to any artistic related field.

OpenWorld concert at MomoCon 2018The last event that I attended was the OpenWorld concert.  It was their first time doing this performance.  The orchestra was a lot smaller than the Zelda concert that I attended in Knoxville a few months ago, but it was still enjoyable.  Sometimes I like the smaller orchestras better, since you can hear each individual instrument, but it is really noticeable when someone misses a note or the beat starts dragging.  They performed music from a wide variety of games, such as Sonic, Mario, Teenage Mutant Ninja Turtles, Pokemon, Metal Gear, and Assassin’s Creed.  There was also a nice piano solo of a tune from Lost Odyssey, which was one of my favorite RPGs from the XBox 360.

Before I left, I checked out the convention floor one more time, and met Michael Hicks.  I remembered him from the XBLIG days and the XBox One developer forums.  It was nice to share stories about the old XNA days.  I also saw fellow Knoxville Game Design member Dylan Wolf at his booth playing one of his games!

NES dealerAs far as the convention floor goes, it seemed the same as usual.  It was strange that some of the indie game booths were there from previous years.  I liked the pachinko machines and I thought about playing, but I wasn’t going to stand in line.  There were a lot of arcade machines and about three pinball machines, but all of those had lines as well.  I checked out one of the dealer tables with classic NES games.  Some of the games that I own were selling there for over $1,000.  I’m not sure if that is the real collector’s rate for those games, but it does make me feel like collecting NES games was a good investment.

Overall, I thought MomoCon 2018 was a good convention.  It just seems like going to Atlanta is a huge hassle, especially on Memorial Day weekend.  I did talk to one of the organizers as I was walking back to the parking deck, and he said other people had raised issues about parking in downtown Atlanta.  It would be nice if they moved it somewhere like Gwinnett county, where it is less congested and safer.


Playmaker and Unity 2018.1

With a new version of Unity, means that more of my PlayMaker games are now broken.  I believe I can now reproduce the steps which will most likely put you in the position to save a PlayMaker game after the latest Unity update.

If your game was using a newer version of PlayMaker, you my just need to do the following steps.  This was tested with a Unity project using PlayMaker 1.8.2.

  • Delete Assets/PlayMaker/Actions/ProceduralMaterial
  • Restart Unity

For older versions of PlayMaker, it may be necessary to reinstall PlayMaker completely.  Below are the steps I used to recover an older project, by upgrading to PlayMaker 1.8.8 and Unity 2018.1.0f2 Personal 64bit.

  • Save PlayMaker/Resources/PlayMakerGlobals.asset outside of the Assets tree
  • Save any PlayMaker addons used, such as ArrayMaker, PlayMaker Utils, and any Custom Actions downloaded from the Ecosystem.  Make sure to save these files outside of the Assets tree, otherwise Unity will try to compile them into the project again, which seems to cause problems.
  • Delete all PlayMaker, Gizmos, iTween, and Plugins/PlayMaker folders out of project
  • Restart Unity if it is running
  • Install a fresh new PlayMaker from the Unity Asset Store
  • After PlayMaker has installed, delete the PlayMaker/Actions/ProceduralMaterial folder.  This should make some of the errors go away.
  • Restart Unity.  At this point the PlayMaker menu interface should now display
  • Move PlayMakerGlobals.asset back to original location
  • Move ArrayMaker, PlayMaker Utils, and any CustomActions to their original locations
  • You may still have to manually edit some of the source code files in PlayMaker or PlayMaker addons to remove references to ProceduralMaterial.  I had to comment out lines of code in one of  the PlayMaker Utils source files.

PlayMaker in Unity

If you are using a revision control system such as Mercurial, the PlayMakerGlobals.asset file can alternatively be restored by finding the file in the current branch and discard the changes.  It seems counter intuitive, but discarding a deleted file is the same as restoring the file.

There is a thread on the Hutong Games PlayMaker support forum, which reported the issue with the references to ProceduralMaterial, so maybe these problems will be fixed in a future release of PlayMaker.

LeaderboardExample Code Updated to MySQLi

I updated the LeaderboardExample PHP code to replace the MySQL methods with MySQLi methods. The MySQL methods are no longer supported in the latest versions of PHP, which caused warning and error messages to display in the generated JSON file containing the score data.  This caused the Leaderboard page to fail to display.  Many of the MySQLi methods are the same, except they take the connection object as a parameter. Other methods like error, results, and fetch array use the exact same parameters, so the change was just simply adding the letter ‘i’.

The .htaccess file has now been checked into the repository, which didn’t appear to be checked in before.  This file converts the TopScoresAllJSON.php file to the JSON extension, which is consumed by the DisplayScores.html file to display the scores for all of the games.

This code is currently being used in a few of my games such as Fifty Flags.  It gives an example Unity project, which shows how to use the leaderboard methods.  It also shows how to retrieve scores to be displayed in the game.  A MySQL script is provided, to setup the initial score tables.  PHP files are provided, which are called by the game code to add new scores and return the leaderboard values.  The game identifier must be a unique integer for each game.  The unique key must be generated and inserted into both the game code and on the PHP server code.

Download LeaderboardExample Code

See the LeaderboardExample project on my GitHub –