Introducing PhSim

10/14/2024 Edit: PhSim is no longer updated.

PhSim is a JavaScript library that I am creating. I wanted to remake some of the games I created on Sploder.com using Matter.js. However, I created some code that I decided to use to create a new JavaScript library that runs on top of Matter.js because there are features that were not included in Matter.js that I wanted. The library was inspired partially by things such as Scratch and Sploder’s Physics creator. As mentioned before, it is built on top of the JavaScipt library Matter.js and it allows one to create a 2-dimensional simulation with ease. The simulation could be created out of a JSON object, which in turn can be edited with another creation of mine: the PhSim editor.

Take the following JSON:

{
  "version": 1,
  "audio": [],
  "simulations": [
    {
      "layers": [
        {
          "objUniverse": [
            {
              "rectangle": true,
              "x": 171,
              "y": 135,
              "w": 260,
              "h": 185,
              "cycle": -0.5485494024505281,
              "strokeStyle": "black",
              "lineWidth": 19,
              "fillStyle": "gray"
            },
            {
              "circle": true,
              "x": 622,
              "y": 121,
              "radius": 42.5205832509386,
              "cycle": 0.851966327173272,
              "name": "untitled_(1)",
              "strokeStyle": "#000000",
              "lineWidth": "4",
              "fillStyle": "#333333"
            },
            {
              "circle": true,
              "x": 567,
              "y": 283,
              "radius": 46.51881339845203,
              "cycle": -0.4444192099010989,
              "name": "untitled_(1)",
              "strokeStyle": "#780000",
              "lineWidth": "4",
              "fillStyle": "#a73333"
            },
            {
              "rectangle": true,
              "x": 392,
              "y": 401,
              "w": 147,
              "h": 109,
              "cycle": 0,
              "strokeStyle": "black",
              "lineWidth": 3,
              "fillStyle": "#623333"
            },
            {
              "circle": true,
              "x": 491,
              "y": 86,
              "radius": 45.5411901469428,
              "cycle": 0.33563855032760925,
              "name": "untitled_(1)",
              "strokeStyle": "#780000",
              "lineWidth": 5,
              "fillStyle": "#623333"
            },
            {
              "verts": [
                {
                  "x": 124,
                  "y": 53
                },
                {
                  "x": 195,
                  "y": 54
                },
                {
                  "x": 199,
                  "y": 118
                },
                {
                  "x": 90,
                  "y": 165
                },
                {
                  "x": 40,
                  "y": 129
                }
              ],
              "path": true,
              "strokeStyle": "#000000",
              "lineWidth": "5",
              "fillStyle": "#62ff33"
            },
            {
              "verts": [
                {
                  "x": 754,
                  "y": 259
                },
                {
                  "x": 640,
                  "y": 268
                },
                {
                  "x": 703,
                  "y": 307
                },
                {
                  "x": 643,
                  "y": 374
                },
                {
                  "x": 639,
                  "y": 430
                },
                {
                  "x": 687,
                  "y": 447
                },
                {
                  "x": 716,
                  "y": 417
                },
                {
                  "x": 733,
                  "y": 366
                }
              ],
              "path": true,
              "strokeStyle": "#000000",
              "lineWidth": "5",
              "fillStyle": "#ff0048"
            },
            {
              "verts": [
                {
                  "x": 118,
                  "y": 290
                },
                {
                  "x": 60,
                  "y": 482
                },
                {
                  "x": 331,
                  "y": 427
                },
                {
                  "x": 129,
                  "y": 417,
                  "last": true
                }
              ],
              "path": true,
              "strokeStyle": "#000000",
              "lineWidth": "5",
              "fillStyle": "#0000ff"
            }
          ],
          "name": "Untitled Layer"
        }
      ],
      "world": {
        "grav": 1,
        "bg": "white",
        "border": 0,
        "unit": 1
      },
      "superlayer": true,
      "widgets": [],
      "name": "Untitled Superlayer"
    }
  ],
  "box": {
    "width": 800,
    "height": 600
  },
  "camera": {
    "x": 0,
    "y": 0,
    "c": 1
  }
}

This code produces the following world of objects:

Features

First, there are four basic shapes: irregular polygons, circles, rectangles, and regular polygons. Moreover, these form the main objects of a PhSim simulation. In addition, these shapes can have solid color backgrounds, sprites, or even a gradient.

Each body can have one or more widgets, which extend the functionality of an object. Some of these widgets are things that allow someone to make an object

Superlayers contain layers and have several properties that define a world. One of these properties is diagonal, constant gravity. However, there are also graphical features, such as background color. Superlayers can also act as levels for a game.

Furthermore, Superlayers can have a Newtonian gravity simulator enabled, which makes the objects attract each other. In addition to this, one can have no gravity at all.

In addition to simulating Newtonian gravity, one can turn a superlayer into a level. Therefore, one can make a game out of a PhSim simulation.

PhSim editor

The PhSim editor will be a GUI that allows one to create PhSim worlds with little or no programming knowledge.

I created the following screenshot on September 9, 2020 (it is not finished and that is why it looks weird in many ways):

The Object Editor allows users to edit objects, as the name suggests. This allows one to add widgets to an object and modify it in many other ways. The Object Editor can add velocities, forces, rotations, text, and many other things to an object. Here are some screenshots of the Object Editor:

More information

I will soon release more information about PhSim.

I am recording some of my Sploder Games

I am recording some of my Sploder Games because the website will most likely be shut down by 2020. Furthermore, I have recorded two of them so far. More videos will be published on my YouTube channel. Although many of them are quite old and low-quality games, they took a while to make and many enjoyed them. Thus, that is why they are being recorded.

 

Sploder.com

The front page of Sploder.com

UPDATE ON SEPTEMBER 17, 2024: This website has been long ago shut down. The links have been replaced with links to Sploder Wiki pages for more information. You can also view more information about the website on the Sploder page on my website. If you want to try the Sploder Game creators, try out Malware’s Sploder Revival project.

To those who do not know, Sploder.com is a website that allows people to create flash games. It was created in 2007 by Geoffrey Gaudrealt. The means one creates such games is through flash applications known as game creators. There are five of them and they are the Retro Arcade Creator, the Platformer Creator, the Physics Puzzle Creator, the Classic Shooter and The Algorithm Crew. The Retro Arcade creator allows people to create games that look similar to old arcade games, the Platformer Creator allows people to create platform games, the Classic Shooter allows people to create simple shooter games.

The Retro Arcade creator allows people to create games that look similar to old arcade games, the Platformer Creator allows
people to create platform games, the Classic Shooter allows people to create simple shooter games. The Physics Puzzle Creator allows people to create games using nothing but controls, graphics, polygons and physics. The game creators that have been mentioned allow people to make two-dimensional games. However, the Algorithm Crew allows people to make simple “three-dimensional” games (though you only get to view the players from a third-person perspective).

The game creators that have been mentioned allow people to make two-dimensional games. However, the Algorithm Crew allows people to make simple “three-dimensional” games (though you only get to view the players from an above, third person perspective).

These game creators are great for learning the basics of designing video games. Please note they are not advanced, so the possibilities are limited.

While you do not need to sign up to use the creators, you do need to sign up to save what you have created.

There is also a multiplayer game known as SploderHeads,  which allows people to make temporary rooms where users would shoot “cannon balls” at each other. It also allows people to chat to each other. However, the saves are not permanent.

They do have a discussion forum known as the Sploder Forums, which requires a separate registration from that of the Main Site. You also must be thirteen or older to sign up. If you want to be a moderator, editor (one who gets to feature games and send platinum awards) or reviewer (one who gets to write “reviews” on games), you will have to sign up.

There is also a Wikia for Sploder and a discord server (however, these things are not controlled by the creator of Sploder).

New Neuriotronnipedia Design!

The Neuriotronnipedia has a new design!

The list of changes are listed here:

  • The Mjduniverse.com Main Site header and navigation menu is removed.
  • The login link is moved to the header.
  • There is a new navigation menu located on the top.
  • An easier editing interface.
  • The page tools are moved to the lower header.
  • Design fixes.
  • CSS Fixes
  • The toolbar is now located on the top of the wiki page.
  • The layout of the Mjduniverse.com MS and Neuriotronnipedia are no longer intergrated. However, the user intergration still exists.

New Sploder Game: If Zack Lost Flappy Bird

There is a new game called “If Zack Lost Flappy Bird” on a Game made by me. It has been getting lots of views lately.

What is the game about?

Zack decides to play Flappy Bird. What is Flappy Bird? Flappy Bird is the dumbest yet most addicting video game ever!

He loses and he wants to try again! After countless hours of trying again and losing, he goes mad.

Link to game: http://www.sploder.com/?s=d0040ra9