Sunday, December 29, 2019

The Worst Bug

PlumeriaSC 3 has been updated to 3.3.2 so if you have been having trouble hopefully the bugs are ironed out. I recently worked on a JavaScript App that had one of the worst (and simplest) bugs I have ever encountered. The bug appeared after updating my system to Mojave over the holiday. All of the main browsers except Safari worked fine, but in Safari the "div" containers would not display their graphics. If I changed the graphics inside to the "relative" style it looked like the buttons were working (I knew they were not). Several days later I figured out that the "div" container's were set to "fixed" instead of the correct "absolute". After the fix, Safari and the other browsers worked without a problem.

Monday, October 7, 2019

Happy Anniversary

PlumeriaSC turned 10 years old on May 2019. Here are some interesting facts below:
1) Minecraft was started around May 2009 too.
2) The first application ever made in PlumeriaSC 1 was a game named Stunt Kite. It was released in 2010 which most likely makes it the first 3D Stunt Kite game ever created for Mac.
3) Plumeria Smart Charts 1 was actually going to be named Plumeria Application Creator.
4) It took over three months to create a pong game in PlumeriaSC 1. In PlumeiraSC 3 it takes a little over a week (that includes fixing PlumeriaSC bugs along the way).
5) PlumeriaSC 1 was designed for development of iOS and Mac applications in the same project. Right before PlumeriaSC 1 was released Apple updated their developer tools with this same feature.
6) PlumeriaSC 2 was one of the first developer tools directly on the iPad. The irony is that Apple's iPad developer tool named Playgrounds was released the same month PlumeriaSC 3 finished development.
7) The name for the third generation of PlumeriaSC was named Plumeria Smart Creator. The name "Creator" is inspired by the Lego series with the same name.

So what about now? Well, Plumeria Smart Creator 4 is currently under development. If you have played GSJArena in our games section then you have already seen a sneak peak of what it can do. The coolest feature is that it will output JavaScript applications (hint: not just games) for offline and online use.

Tuesday, July 23, 2019

GSJ Arena Master

Galactic Space Junk Arena is finally finished! You can now use rapid fire water bursts thanks to my shader optimization and get points for destroying rocks. The large rocks are 5 points, the medium are 3 and the small are 1. The postmortem is below

So what went right?
Using the CURE programming architecture worked beautifully. It made it easier to find bugs and if I got stuck creating more objects around it seemed to work really well.

So what went wrong?
When I first started rewriting GSJ Arena I made one function and put all of the code in it. It was pretty much a disaster until I started creating objects with CURE which made things a lot easier. Next I had a weird bug where the rocks would disappear before I could even blast them with the water cannon. The problem was that the collision engine was testing collisions between the same rock. The rest of the bugs were either misspellings or a line of code in the wrong place.

Wednesday, July 3, 2019

Artificial Inteligence

Time to post something on my blog again. I figured I would update you on what I have been working on. Lately I have been dabbling with programming artificial intelligence algorithms. I started by looking back at my browser's AI bookmarks folder. Unfortunately most of the bookmarks do not work anymore but I found a website that has not been updated in decades. It is still a gem for ai beginners though. The website is AI Horizon. It starts you out with decision trees and then takes you to the bare bones of neural networks. If you want to start learning artificial intelligence check it out: http://www.aihorizon.com/essays/generalai/index.htm

Also AI Depot has mostly broken links on its front page but if you google it you can find some of the back pages that still work.

Thursday, April 25, 2019

WebKit warning and crash

I found an interesting bug in my WebView code today. If you are a Mac developer that always writes programs on the latest OS with WKWebview you will probably never run into this problem. But if you want to keep your code running on older Mac systems read on.

So every time I compiled my App I was getting a strange error below:

*** WARNING: Method convertPointToBase: in class NSView is deprecated on 10.7 and later. It should not be used in new applications.

None of the posts on the internet seemed to have an answer to the warning above. The most common posts about it are below:

https://stackoverflow.com/questions/28124804/warning-convertpointtobase-is-deprecated

https://forums.developer.apple.com/thread/46889

https://forum.xojo.com/41162-method-convertpointtobase-is-deprecated/0

Please note that I use a MainMenu.xib file so if you using some other method it may not work. So how do you fix the error? I will walk you through the steps below:
1) Find the window in the XIB file.
2) Click the arrow next to the window object and select your view like below:


3) In the rightmost panel for the view select the rightmost button at the top.
4) At the top of the panel there should be a checkbox that has the name of your View with the title Core Animation Layer above it.
5) Uncheck the View’s checkbox like in the image below:


The next time you compile your App the warning should disappear. So what is happening? From what I understand the Core Animation Layer is using old “deprecated” code. The CALayer has a history of not being up to date. From what I remember OS 10.7 Lion’s CALayer was still a 32 bit framework even though Apple had updated all of their frameworks to 64 bit. It could also be because WKWebView is the preferred way and WebView is deprecated. I hope this helps if you come across this problem like me.

Saturday, March 23, 2019

Cure for common code

Over the last month you might have noticed the webpages on Solar Fusion Software run faster. This is because I am now using Javascript which loads certain parts of the site on your computer. Before I used PHP which requires the server to load the site then send the HTML to you.

You may have noticed the new PlumeriaSC slogan, "The cure for the common code" which is actually a play on words for the architecture that was used during the end of development for PlumeriaSC 3. Now that PlumeriaSC 4 is in development I use the paradigm exclusively since it streamlines the structure and uses less code for the same features.

Tuesday, January 15, 2019

GSJ Arena is Here (Update)

Can't get enough Galactic Space Junk rock blasting mayhem? You can now blast rocks with your water cannon in an arena on any major platform with all the 3D OpenGL goodness. So you are probably asking, "I have a Windows or Linux machine isn't this a Mac site?". Solar Fusion Software is going cross platform with Galactic Space Junk Arena. As long as you have a modern web browser and a recent desktop computer you should be able to play. Check it out in the Games section. Enjoy!

(Update)
Version 1.1 was just updated in the Games section. It fixes a potential crash and adds numerous performance enhancements.