Sunday, February 21, 2021

Coming Soon

The Donut Pong game has been released! Donut Pong is the first 3D web game made entirely in PlumeriaSC 4. Also We have updated our front page layout so now you can quickly find out what is happening with PluemriaSC 4. As always we will have the latest download news for any new games created. An interesting note is that PlumeriaSC 4 was created in a custom architecture we have named CURE. With CURE and JavaScript the objects scale better and use less code than the traditional MVC design.

Tuesday, December 22, 2020

Plethora of Bugs

Merry Christmas! I bet you are reading this post to read about my progress on PlumeriaSC 4. The truth is that this whole month has been a bug nightmare. My philosophy has always been that when I write code I fix any bugs I find right away. Even if I decide not to use the code later. The reason I do this is that it becomes harder to track down other bugs in the code that I might discover later. PlumeriaSC 3 has come a long way from when it was supposed to be released in December 2015 (nine months from the real release).There were some great ideas but creating objects and tasks was crazy. It used no tables so everything had to use popover buttons or number sliders. I realized that there were some great ideas but tables were going to be essential. In July 2016 I finally released PlumeriaSC 3 with my first game named Wacky Ball. The physics engine was falling apart so Wacky Ball was the perfect name for it. PlumeriaSC 3 was so crippled back then that there was no way to make even a pong game. The rest is history. PlumeriaSC 3 went on to not only have a working physics engine but some really nice games too (including an Apple Pong game).

Monday, November 9, 2020

1 Trillion Dollars

FYI Solar Fusion Software's website is sweet sixteen years old this year. Also, PlumeriaSC 4 is still in development and coming along well. While I was searching the internet for inspiration I rediscovered an interesting article that stated that in 2016 a study of the largest companies in the world spent over 1 Trillion Dollars fixing bugs in software code. Rest assured PlumeriaSC 4 is being designed to stop bugs just like PlumeriaSC 3 and more. To show how easy it is to write bugs in software this last year I have used well over 50 percent of my development time rewriting code to fix bugs. The upside to this is that it has made me think of more creative ways to build the interface and write the code behind it. Finally I have written about putting AI in PlumeriaSC before. This time Neural Networks look like something that would work out well for PlumeriaSC’s roadmap. I think it is safe to say the PlumeriaSC 3 interface is not going away anytime soon especially since it can encapsulate Machine Learning so well. Hopefully, you will see some of it in the months to come.

Monday, June 1, 2020

PlumeriaSC 4

I hope the title of this post got you excited! PlumeriaSC 4 just passed milestone 2. Work started about a year and a half ago and I have had two or three major rewrites. Yep, I have had to rewrite over 90% of the code two or three times for a pure JavaScript application. The last rewrite was probably the worst because I had one task to go and everything fell apart. Along the way I created my own architecture named CURE which greatly reduced bugs. I first tried the CURE paradigm with Galactic Space Junk Arena. Around that same time PlumeriaSC 4 started falling apart on me again so I tried it. It worked wonders on the stability of PlumeriaSC 4 and I have been using ever since. Probably the coolest thing I have learned recently is signed distance field font images (WebGL calls them textures). Pretty much you can use an image with a little pixel shader magic (again WebGL calls them fragment shaders) and it will be pixel perfect no matter how much you zoom into the image. You may remember I talked about Order Independent Transparency in an older post. I thought the computationally expensive OIT was the only way to get good looking characters with an image. Probably five years ago I had seen the original article on the SDF font technique but it never really explained the shader code. Here's the article that finally explained the shader code: Techniques for Rendering Text with WebGL

Below is an example of the shader code. The secret is using the "step" and "discard" functions in the fragment shader to get the pixel perfect look.

Vertex Shader Code:

attribute vec3 a_Vertices;
attribute vec2 a_TexCoords;
uniform mat4 u_ModelViewMatrix;
uniform mat4 u_ProjectionMatrix;
varying vec2 v_TexCoord;

void main()
{
v_TexCoord = a_TexCoords;
vec4 position = u_ModelViewMatrix * vec4(a_Vertices, 1.0);
gl_Position = u_ProjectionMatrix * position;
}

Fragment Shader Code:

uniform sampler2D u_Sampler;
varying vec2 v_TexCoord;

void main()
{
// This can be any channel color (RGB) since we are using a grayscale texture
float red = step(0.5, texture2D(u_Sampler, v_TexCoord).r);
if (red == 0.0)
{
discard;
}
gl_FragColor = vec4(0.5);
}

Monday, February 17, 2020

SFS Extreme Makeover

Yep, that's right Solar Fusion Software's website now has a modern look and feel. It's amazing to think that this is version 7.0 for our website. Also if you are a mobile user want no more because we are now using a responsive first layout with Bootstrap 4. Now everything should look stupendous even on a smart phone.

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.