UnbrokenMotion

Member
  • Content count

    631
  • Joined

  • Last visited

Reputation

  • check
    Agree 16
  • info_outline
    Informative 3
  • tag_faces
    Funny 7
  • thumb_up
    Thumbs Up 17
  • thumb_up
    Likes (Old) 111

Awards


This user doesn't have any awards

6 Followers

About UnbrokenMotion

  • Title
    Hobbyist Game Dev/Pc Enthusiast
  • Birthday 1998-08-09

System

  • CPU
    AMD Quad-core Athlon 5350 @ 2.051GHz
  • Motherboard
    MSI AM1l Mini ITX motherboard
  • RAM
    Klevv Fit 4GBx2 DDR3 1600Mhz memory kit
  • GPU
    XFX RX 460
  • Case
    Custom case
  • Storage
    1TB WD RE3 Enterprise HDD
  • PSU
    EVGA 400 Watt ATX Powersupply
  • Display(s)
    Asus Monitor
  • Cooling
    1x 120mm fan, 1x 100mm exaust fan
  • Keyboard
    PS/2 Beige "Clicky" keyboard
  • Mouse
    Logitec 4-button mouse
  • Sound
    Onboard Realtek chipset.
  • Operating System
    Windows 10 Technical Preview
  • PCPartPicker URL

Profile Information

  • Gender
    Male
  • Location
    Mars
  • Interests
    I enjoying doing various things like gaming, programming, and graphic design. I'm also an enthusiast when it comes to building computers. However my financial situation prevents me from building them more often.
  • Occupation
    Student/intern

Contact Methods

  • Steam
    Diamondstone

Recent Profile Visitors

1,499 profile views
  1. Just spent about 45 minutes writing this, I dunno why I didn't think to write it sooner. It's basically a tool for logging events in situations where you don't have an actual console to log to. It probably won't work outside of anything compatible with the Sphere v1.5 API specification; at least not without modifications to the code. Maybe one day I'll learn how to properly develop within a web environment and make an HTML5 implementation of the sphere engine. /* Waifu.js - a tool for seeing events realtime within the Sphere RPG engine. Feel free to use this code in whatever, alhough it will probably need to be adapted to function within a browser. */ // Create our console constructor, now you can have multiple consoles! var runtimeConsole = function (lines) { this.log = []; this.font = GetSystemFont(); this.lines = lines; this.bg = CreateSurface(system.screen.width, 11 + (this.lines * 10), CreateColor(100, 100, 100, 100)); this.bg.line(0, this.bg.height - 1, system.screen.width, this.bg.height - 1, CreateColor(255,255,255)); this.log.push(" Software Version - " + system.version + " [" + system.state + "]"); this.log.push("---- ---- ----"); }; runtimeConsole.prototype = {}; //Displays our console if the display parameter returns true. runtimeConsole.prototype.display = function (display) { if (display == true) { this.bg.blit(0,0); if (this.log.length <= this.lines) { a = 0; b = 0; while (a < this.lines - this.log.length) { this.font.drawText(5, 5 + (10 * a), "[No event]"); a = a + 1; }; displayOffset = a - 1; while (a <= this.log.length + displayOffset) { this.font.drawText(5, 5 + (10 * a), this.log[b]); a = a + 1; b = b + 1; }; } else { a = 0; while (a < this.lines) { this.font.drawText(5, 5 + (10 * (this.lines - 1)) - (10 * a), this.log[this.log.length - a - 1]); a = a + 1; }; } }; }; // Pushes a new event to the log array, self explanatory. runtimeConsole.prototype.pushEvent = function (event) { this.log.push("- " + event); };
  2. It's also ideal to work on small games that you can make yourself. I know you said you do sound, but just being able to do sound won't get you anywhere in terms of pitching a game idea, you need to have skills in other fields. Once you can make a small game, then you can slowly begin increasing the scale of your games.
  3. javascript

    this is the output... a SpriteMorph 0 [1048@179 | 60@60]
  4. javascript

    That was my assumption but when I call this.gotoXY(x, y) or parent.gotoXY(x, y) returns "TypeError this.gotoXY is not a function"
  5. Hello, I am currently messing around with Snap, an implementation of Scratch that allows one to write their code in Javascript. I've run into a bit of an issue. So, I have this code that I've been writing, all it does is allow me to create circular objects and store them as images for later use. // Make sure we have no duplicates, just delete EVERYTHING. this.costumes = new List(); Wcx = []; Wcy = []; Wcs = []; Wcp = []; Wcc = []; // Used to convert degrees to radians, for ease of use. function toRads (degrees) { return degrees * 0.0174532925 }; // Circle class begin. circle = function (radius, x, y) { this.radius = 0.985 * radius; this.posX = x; this.posY = y; this.color = {} this.color.r = 0; this.color.g = 0; this.color.b = 255; this.Xmatrix = []; this.Ymatrix = []; this.offset = [x, y]; this.moved = false; // Generate the coordinate table needed to draw our object. it = 0; while (it < toRads(360)) { this.Xmatrix.push(Math.sin(it) * this.radius) - (Math.cos(it) * this.radius); this.Ymatrix.push(Math.cos(it) * this.radius) + (Math.sin(it) * this.radius); it = it + 0.0174532925; }; }; circle.prototype = {}; // We can now export our drawings as images, remove this. circle.prototype.position = function (offX, offY) { if (this.offset[0] == offX) { if (this.moved == true) { this.moved = false; }; } else if (this.moved == false) { this.moved = true; }; if (this.offset[1] == offY) { if (this.moved == true) { this.moved = false; }; } else if (this.moed == false) { this.moved = true; }; if (this.moved = true) { this.offset = [offX, offY]; }; }; // Inject our point array into the world buffer. circle.prototype.inject = function (mode = "OUTLINE") { a = 0; sic = 2 / 90 * this.radius; if (mode == "OUTLINE") { while (a < this.Xmatrix.length) { Wcx[Wcx.length] = (this.Xmatrix[a] + this.offset[0]); Wcy[Wcy.length] = (this.Ymatrix[a] + this.offset[1]); Wcs[Wcs.length] = false; Wcs[Wcs.length] = false; Wcp[Wcp.length] = this.radius; Wcp[Wcp.length] = this.radius; Wcc[Wcc.length] = [this.color.r, this.color.g, this.color.b]; Wcc[Wcc.length] = [this.color.r, this.color.g, this.color.b]; a = a + 1; }; } else if (mode == "FILLED") { while (a < this.Xmatrix.length / 2) { Wcx[Wcx.length] = -1 * (this.Xmatrix[a] + this.offset[0]); Wcx[Wcx.length] = (this.Xmatrix[a] + this.offset[0]); Wcy[Wcy.length] = (this.Ymatrix[a] + this.offset[1]); Wcy[Wcy.length] = (this.Ymatrix[a] + this.offset[1]); Wcs[Wcs.length] = false; Wcs[Wcs.length] = false; Wcp[Wcp.length] = sic; Wcp[Wcp.length] = sic; Wcc[Wcc.length] = [this.color.r, this.color.g, this.color.b]; Wcc[Wcc.length] = [this.color.r, this.color.g, this.color.b]; a = a + 1 }; } Wcx[Wcx.length] = this.offset[0]; Wcy[Wcy.length] = this.offset[1]; Wcs[Wcs.length] = true; Wcp[Wcp.length] = 1; Wcc[Wcc.length] = [this.color.r, this.color.g, this.color.b]; }; // Sets the color of our circle. circle.prototype.changeColor = function (ra, ga, ba) { this.color = {}; this.color.r = ra; this.color.g = ga; this.color.b = ba; }; // End circle class. // Begin light class, incomplete. particle = function (color, Xp, Yp, wid, hei) { this.color = {}; this.color.r = color[0]; this.color.g = color[1]; this.color.b = color[2]; this.posX = Xp; this.posY = Yp; this.width = wid; this.height = hei; this.matrix = {}; this.matrix.x = []; this.matrix.y = []; this.matrix.color = {}; this.matrix.color.r = color[0]; this.matrix.color.g = color[1]; this.matrix.color.b = color[2]; multiplier = 1; while (multiplier < 100) { Wc = multiplier / 100 * this.width; Hc = multiplier / 100 * this.height; Cc = {} Cc.r = multiplier / 100 * this.color.r; Cc.g = multiplier / 100 * this.color.g; Cc.b = multiplier / 100 * this.color.b; multiplier = multiplier + 1 }; }; // End light class. // Testing code, begin starBorder = new circle (300, 0,0); starBody = new circle (280, 0, 0); starBorder.changeColor(250, 230, 0); starBody.changeColor(250, 220, 0); starBorder.inject("FILLED"); starBody.inject("FILLED"); // Testing code, end. // Begin drawing our object. this.clear(); this.gotoXY(Wcx[0], Wcy[0]); this.down(0); wa = 0; while (wa < Wcx.length) { if (Wcs[wa] == true) { if (wa < Wcx.length) { this.up(); this.gotoXY(Wcx[wa], Wcy[wa]); this.down(); } } else { this.setColor(new Color(Wcc[wa][0], Wcc[wa][1], Wcc[wa][2])); this.setSize(Wcp[a]); this.gotoXY(Wcx[wa], Wcy[wa]); }; wa = wa + 1 }; //Take our drawing and turn it into a costume. var cst = new Costume( this.parentThatIsA(StageMorph).trailsCanvas ); cst.shrinkWrap(); cst.name = this.newCostumeName("tesT", null); this.addCostume(cst); this.wearCostume(cst); // Now that we've created our image, lets clear the screen so we can use it. this.clear(); this.up(); this.gotoXY(0, 0); the code actually runs within this block of code here, which contains all of my functions and variables. function anonymous (/**/) { // Code gets contatenated between the curly brackets. } this anonymous function contains all of the variables, objects, and functions I need in order to write working code. how can I create a function within this, and still access the parent objects and functions?
  6. Just posting some javascript code, so far all it can do it render circles and the framework is kinda there for lighting elements.

     

    objects.js:

    alert("Please note, this webapp may be buggy");
    Wcx = [];
    Wcy = [];
    Wcs = [];
    Wcp = [];
    Wcc = [];
    
    // Used to convert degrees to radians, for ease of use.
    function toRads (degrees)
    {
     return degrees * 0.0174532925 
    };
    
    // Circle class begin.
    circle = function (radius, x, y)
    {
      this.radius = radius;
      this.posX = x;
      this.posY = y;
      this.color = {}
      this.color.r = 0;
      this.color.g = 0;
      this.color.b = 255;
    
      this.Xmatrix = [];
      this.Ymatrix = [];
      this.offset = [x, y];
      this.moved = false;
    
      // Generate the coordinate table needed to draw our object.
      it = 0;
      while (it < toRads(360))
      {
        this.Xmatrix.push(Math.sin(it) * this.radius) - (Math.cos(it) * this.radius);
        this.Ymatrix.push(Math.cos(it) * this.radius) + (Math.sin(it) * this.radius);
        it = it + 0.0174532925;
      };
    };
    
    circle.prototype = {};
    
    // This class would be useless if we couldn't draw it.
    circle.prototype.position = function (offX, offY)
    {
      if (this.offset[0] == offX)
      {
        if (this.moved == true) 
        {
          this.moved = false;
        };
      } else if (this.moved == false)
      {
        this.moved = true;
      };
    
      if (this.offset[1] == offY)
      {
        if (this.moved == true)
        {
          this.moved = false;
        };
      } else if (this.moed == false)
      {
        this.moved = true;
      };
      
      if (this.moved = true)
      {
        this.offset = [offX, offY];
      };
    };
    
    circle.prototype.inject = function (mode = "OUTLINE")
    {
      a = 0;
      sic = 2 / 90 * this.radius;
      if (mode == "OUTLINE") {
        
        while (a < this.Xmatrix.length)
        {
          Wcx[Wcx.length] = (this.Xmatrix[a] + this.offset[0]);
          Wcy[Wcy.length] = (this.Ymatrix[a] + this.offset[1]);
          Wcs[Wcs.length] = false;
          Wcs[Wcs.length] = false;
          Wcp[Wcp.length] = this.radius;
          Wcp[Wcp.length] = this.radius;
          Wcc[Wcc.length] = [this.color.r, this.color.g, this.color.b];
          Wcc[Wcc.length] = [this.color.r, this.color.g, this.color.b];
          a = a + 1;
        };
      } else if (mode == "FILLED") {
        while (a < this.Xmatrix.length / 2)
        {
          Wcx[Wcx.length] = -1 * (this.Xmatrix[a] + this.offset[0]);
          Wcx[Wcx.length] = (this.Xmatrix[a] + this.offset[0]);
          Wcy[Wcy.length] = (this.Ymatrix[a] + this.offset[1]);
          Wcy[Wcy.length] = (this.Ymatrix[a] + this.offset[1]);
          Wcs[Wcs.length] = false;
          Wcs[Wcs.length] = false;
          Wcp[Wcp.length] = sic;
          Wcp[Wcp.length] = sic;
          Wcc[Wcc.length] = [this.color.r, this.color.g, this.color.b];
          Wcc[Wcc.length] = [this.color.r, this.color.g, this.color.b];
          a = a + 1
        };
      }
      Wcx[Wcx.length] = this.offset[0];
      Wcy[Wcy.length] = this.offset[1];
      Wcs[Wcs.length] = true;
      Wcp[Wcp.length] = 1;
      Wcc[Wcc.length] = [this.color.r, this.color.g, this.color.b];
    };
    
    circle.prototype.changeColor = function (ra, ga, ba)
    {
      this.color = {};
      this.color.r = ra;
      this.color.g = ga;
      this.color.b = ba;
    };
    // End circle class.
    
    // Begin lighg class.
    particle = function (color, Xp, Yp, wid, hei)
    {
      this.color = {};
      this.color.r = color[0];
      this.color.g = color[1];
      this.color.b = color[2];
    
      this.posX = Xp;
      this.posY = Yp;
      this.width = wid;
      this.height = hei;
    
      this.matrix = {};
      this.matrix.x = [];
      this.matrix.y = [];
      this.matrix.color = {};
      this.matrix.color.r = color[0];
      this.matrix.color.g = color[1];
      this.matrix.color.b = color[2];
    
      multiplier = 1;
      while (multiplier < 100)
      {
        Wc = multiplier / 100 * this.width;
        Hc = multiplier / 100 * this.height;
    
        Cc = {}
        Cc.r = multiplier / 100 * this.color.r;
        Cc.g = multiplier / 100 * this.color.g;
        Cc.b = multiplier / 100 * this.color.b;
    
        multiplier = multiplier + 1
      };  
    };
    
    // Code for testing goes after this line.
    
    starBorder = new circle (720, 0,-850);
    starBody = new circle (700, 0, -850);
    
    starBorder.changeColor(150, 150, 0);
    starBody.changeColor(200, 200, 0);
    
    starBorder.inject("FILLED");
    starBody.inject("FILLED");

     

    main.js:

    while (true)
    {
      this.clear();
      //this.setColor(new Color(0, 0, 0));
      //this.setSize(720);
      //this.down();
      //this.gotoXY(0, 0);
      //this.up();
      //this.setSize(1);
    
      this.gotoXY(Wcx[0], Wcy[0]);
      this.down(0);
      wa = 0;
    
      while (wa < Wcx.length)
      {
        if (Wcs[wa] == true)
        {
          if (wa < Wcx.length)
          {
            this.up();
            this.gotoXY(Wcx[wa], Wcy[wa]);
            this.down();
          }
        } else {
          this.setColor(new Color(Wcc[wa][0], Wcc[wa][1], Wcc[wa][2]));
          this.setSize(Wcp[a]);
          this.gotoXY(Wcx[wa], Wcy[wa]);
        };
    
        wa = wa + 1
      };
      this.up();
    };

     

  7. I upgraded to an RX 460 that requires 6-pin power yesterday, my specs list has been inaccurate until just recently.
  8. Ayyyy they fixed the Spheredev site.

     

    In other news, however, I got some basic particle generation going, the issue though is that the thing crashes the moment all of the particles go offscreen, also, applying translucency to particles causes weird artifacting caused by the old Windows 95 era OpenGL driver DLL Sphere 1.5 uses. (Waiting on Minisphere to develop a functioning sound API

  9. My bad.
  10. Is this the same case for 90 degree adapters?
  11. an RX 460 should work perfectly then, and if anything will allow you to keep chugging along for a bit longer before you have to upgrade. You can purchase one new for around $86USD with some snooping around the net. EDIT: This one is $82 USD after rebate on Newegg; https://www.newegg.com/Product/Product.aspx?Item=N82E16814202269&cm_re=RX_460-_-14-202-269-_-Product
  12. I used it to connect my R7 240, and it worked well for about half an hour before suddenly my PC crashed, I rebooted and the card wouldn't power on, even when connected directly to the motherboard, no video output, nada. I contacted the manufacturer and they stopped replying to my emails.
  13. If you had asked yesterday, I could've recommended you buy an RX 460 from Walmart.com I snagged one for $86 with free 2-day shipping yesterday. Overkill? If it's Overkill for you then that just means you'll be able to keep using it a bit longer, or is this for a non-gaming build?
  14. Well, in that case I must've gotten a defective riser.
  15. Yeah, there's no way I'm spending that much on one. All I really want is one that wont kill a graphics card. hence why I'm looking for recommendations