All Posts

Recreating Discord Miner!

Hello! Welcome to Keplerteddy! And here is a post about my latest video, “Creating Discord Miner with code!” As you probably saw, it was mainly time lapse 😛 But there is more to it than you think! Get ready for some bonus content!

The start of mining, wooden pickaxes and according to code, graphics.

What I did add: Wooden, Stone, Iron, Gold, Diamond Pickaxes. Digging with different speeds. Levelling, Material Count.

What I added but never used: Material Graphics.

What I didn’t add: Redstone, Lapis, Emeralds, More Pickaxes, Bonuses, Enchantments, Long Term Saving, Trading, Money!

That’s all I’ve done on the game, I spent 1½ hours making this, and the graphics were made from 24 Hour Minecraft, saving me at least 15 minutes. Obviously, you probably want to try out the project for yourself! Just click this link to go to the Miner. You just hold to mine, pretty simple concept, let’s go thru the code to get a better understanding! Those 418 lines of code are just far too confusing!

Alright, the first few lines of code are mainly graphics, I store the information in string arrays:

{ //STONE
    d: [
        "001220",
        "011110",
        "020020",
        "002111",
        "111200",
        "001010",
    ],
    cs: [color(156, 156, 156),color(160),color(150),],
},

It checks the values in the array and will output the colour required, for example, 0 could be transparent, 1 could be yellow, 2 could be blue! you can add up to 10 values (0 – 9), You could put letters in too, but you’d need some conversion function. 


var Bs = function(block){
    strokeWeight(0.01);
    if(block === 0){
        // AIR
    }
    else{
        noStroke();
        for(var i = 0;i < 6;i ++){
            for(var j = 0;j < 6;j ++){
                var C = floor(BCs[block-1].d[i][j]);
                fill(BCs[block-1].cs[C]);
                rect(j*10, i*10, 10, 10);
            }
        }
    }
};

Then we have to store the images of the blocks. So instead of putting hundreds of rectangles every single frame,  we can store it in an image and it would just paste the image once every frame. It’s transparent too, Make sure you make a transparent background first, this is the best way to create images and then display them after:


var BGs = [];
var Block = function(){
    for(var i = 0;i < BCs.length+1;i ++){
        noStroke();
        background(0, 0, 0, 0);
        Bs(i);
        BGs.push(get(0, 0, 60, 60));
    }
    return{draw: function(x, y, w, r, block) {
        w = w || 60;
        pushMatrix();
        translate(x, y);
        rotate(r);
        image(BGs[block], -w/2, -w/2, w, w);
        popMatrix();
    }};
}();

Now we can easily call the blocks like this without any lag!

        Block.draw(30+i*60, 30+120+j*60, 60, 0, Bs[i][j].t+1);
This mining game wouldn’t work without the game-play and mining itself!

Now we want to focus on the gameplay! We want to focus on drawing the blocks first! This first piece of the for loop consists of increasing the alpha on the block so it shows, or technically it’s actually the other way around as we are just making the box that seems to be part of the background’s alpha decrease. We also display the box in between

/** DRAW THE BLOCKS **/
for(var i = 0;i < Bs.length;i ++){
    for(var j = 0;j < Bs[i].length;j ++){
        Bs[i][j].a +=1/180;
        Bs[i][j].a = constrain(Bs[i][j].a, 0, 1);
        Block.draw(30+i*60, 30+120+j*60, 60, 0, Bs[i][j].t+1);
        fill(64, 64, 64, 255-Bs[i][j].a*256);
        rect(i*60, 120+j*60, 60, 60);

The other bit is kind of confusing, first we check if the alpha is whole or otherwise we won’t let the cracks show nor will we let the player dig. If the alpha is 1, we will check another if statement if the broken amount is more or equal to one which then we will show the cracks.

We will have another if statement if the alpha conditions apply. It checks if the mouse is being pressed and if the cursor is in the boundaries of those positions. If not, then it will reset the break state, removing all progress.

Otherwise, the break speed will increase by the pickaxe level divided by 60. Which is the frames per second as well! it will check if the break amount is past one, which means it will do the very complex function of: Picking an amount of the material varying on the pickaxe; spawning particles with very well set instructions; Resetting the Alpha so the block completely disappears; Resetting the cracks and lastly, Changing the block to a different type. Whew, that’s a lot, 

        if(Bs[i][j].a === 1){
            if(floor(Bs[i][j].b*6) >= 1){Break.draw(i*60, 120+j*60, 60, 60, constrain(floor(Bs[i][j].b*6-1), 0, 5));}
            if(mouseIsPressed && mouseX > i*60 && mouseY > 120+j*60 && mouseX < 60+i*60 && mouseY < 60+120+j*60){
                Bs[i][j].b +=pickaxe/60;
                if(Bs[i][j].b >= 1){
                    var am = floor(random(1*pickaxe, 5*pickaxe));
                    for(var a = 0;a < am;a ++){
                        Ps.push({p:new P(60-15+i*60+random(-10, 10), 60-15+120+j*60+random(-10, 10), random(12, 30), "moveto", {gx: 300+Bs[i][j].t*50+15+random(-10, 10), gy: 35+15+random(-10, 10), r:0,rs:random(-5, 5), sp: 0, g:1+Bs[i][j].t})});
                    }
                    Bs[i][j].a = 0;
                    Bs[i][j].b = 0;
                    Bs[i][j].t = GetBlock(pickaxe);
                }
            }
            else{
                Bs[i][j].b = 0;
            }
        }
    }
}

Those are basically the main components, I won’t go thru and detail everything though! Because this would get too long and I’m already having so much fun playing this game! Speaking of Discord Miner, you can add the official (not mine) bot to your discord server using this shiny piece of text here! 

However the post isn’t over yet! I give you some challenges! Be sure to spin off my project and take a shot at these!

  • EASY: Add a delay between the appearance of the blocks!
  • MEDIUM: Add Emeralds to the game!
  • HARD: If you know code from the ups and downs, try creating an efficient bot that mines itself. (For example, make it look out for the ores like Diamond or Gold)

Good Luck! Hope you enjoyed this post! Be sure to leave a comment and a like on the post! 😀

How to make Projectiles

Hello!

You are probably wondering how do you make projectiles like the birds in angry birds or the arrows in Minecraft or Bowmasters. This shows how to make throwable bouncy balls and an arrow shooting game!

Throwable Bouncy Balls

Let us start with this simple code:

var Ps = [];
var shootmode = 0;
var d = {x:0,y:0};
draw = function() {
background(255, 255, 255);
noStroke();
fill(230);
rect(0, 300, width, height);
ellipseMode(CENTER);
for(var i in Ps){
fill(0);
ellipse(Ps[i].x, Ps[i].y, 20, 20);
if(Ps[i].y+10 > 300){
Ps[i].y = 300-10;
Ps[i].ys = 0;
}
Ps[i].x +=Ps[i].xs/Ps[i].mass;
Ps[i].y +=Ps[i].ys/Ps[i].mass;
}
if(shootmode === 1){
stroke(0, 0, 0, 150);
strokeWeight(10);
line(d.x, d.y, mouseX, mouseY);
noStroke();
fill(0);
ellipse(mouseX, mouseY, 20, 20);
}
};
mouseClicked = function(){
if(shootmode === 0){
d = {x:mouseX,y:mouseY};
shootmode = 1;
return;
}
if(shootmode === 1){
Ps.push({xs:(d.x-mouseX),ys:(d.y-mouseY),x:mouseX,y:mouseY,mass:10});
shootmode = 0;
return;
}
};

There we go, try clicking and dragging so it aims towards the floor, right now it just slides with no bounce or anything. launch it towards the air, it just keeps going up, like in space. Let’s fix that.

First off, add this code after line 18, if you are following along, this code changes our y velocity by earth gravity acceleration divided by the frames per second and then multiplying by 10.
Ps[i].ys +=9.8/60*10;

Try launching the ball now! You will notice quite the difference. Try changing the mass on now line 37 (When it adds a new ball to the scene) and see what happens!

The ball still goes off the screen, it is easily fixable! Put this code after line 16.

if(Ps[i].x+10 > width){
Ps[i].x = width-10;
Ps[i].xs = -Ps[i].xs/1.5;
}
if(Ps[i].x-10 < 0){
Ps[i].x = 10;
Ps[i].xs = -Ps[i].xs/1.5;
}
if(Ps[i].y-10 < 0){
Ps[i].y = 10;
Ps[i].ys = -Ps[i].ys/1.5;
}

Now the ball will stay on the screen, but there is more! We still want the ground to have effects on the ball! replace the now line 15 with this:
Ps[i].xs *=0.8;
Ps[i].ys = -Ps[i].ys/2;

Try hitting the ball on the ground now! it will bounce half as high, and then again until there is no bounce at all. It will also slow down the x velocity when it rolls on the ground!

One last thing, the balls go thru each other! I have an interesting and cool solution!

Put this after line 32.

for(var j in Ps){
if(dist(Ps[i].x, Ps[i].y, Ps[j].x, Ps[j].y) < 20/2 && i !== j){
var R = atan2(Ps[j].x - Ps[i].x, Ps[j].y - Ps[i].y);
for(var k = 0;k < 10;k ++){
if(dist(Ps[i].x, Ps[i].y, Ps[j].x, Ps[j].y) < 20/2){
Ps[i].xs +=-sin(R+90)*(dist(Ps[i].x, Ps[i].y, Ps[j].x, Ps[j].y)-10/5);
Ps[i].ys -=-cos(R+90)*(dist(Ps[i].x, Ps[i].y, Ps[j].x, Ps[j].y)-10/5);
Ps[j].xs +=sin(R+90)*(dist(Ps[i].x, Ps[i].y, Ps[j].x, Ps[j].y)-10/5);
Ps[j].ys -=cos(R+90)*(dist(Ps[i].x, Ps[i].y, Ps[j].x, Ps[j].y)-10/5);
}
}
}
}

Be sure to use the tab key to space out your code so it doesn’t get messy! Try throwing some balls around, they start an endless chain reaction! How does this work you ask? Well… We go thru the balls again, check the distance between them and make sure that we aren’t calculating the same ball. Then find the direction that is opposite of the balls and move both balls in opposite directions of that direction! Whew, that was a lot to say, and our first project is done! Congrats! Give yourself a pat on the back! Okay, too much patting, BACK TO WORK! 😀

Arrow Shooter Game

Since there is a lot of code, I’ll put it all here.

var Scores = [
["the 1# planet proponent", 476],

];

Scores.sort(function(b, a){return a[1] - b[1];});
var Ps = [];
var shootmode = 0;
var d = {x:0,y:0};
var cameraX = 0;
var target = {x:random(500, 1000), y:random(40, 260), gx: 0, gy: 0};
target.gx = target.x;
target.gy = target.y;
var score = 0;
var scoreadd = 0;
var arrows = 10;
var movingaround = false;
var scoreY = 25;
var scoreTX = width*2;
var sS = 1;
var Keys = [];
keyPressed = function(){
Keys[keyCode] = true;
};
keyReleased = function(){
Keys[keyCode] = false;
};
draw = function() {
background(255, 255, 255);
noStroke();
fill(230);
rect(0, 300, width, height);
for(var i = -2;i < 5;i ++){ fill(200); if(i%2 === 0){ rect(-cameraX%200+i*100, 300, 100, height); } } if(shootmode === 2){ if(Ps[Ps.length-1].x-cameraX > 150){
cameraX +=((Ps[Ps.length-1].x-150)-cameraX)/5;
}
}
else{
if(Keys[LEFT] || Keys[RIGHT]){
movingaround = true;
}
if(!movingaround){cameraX +=(0-cameraX)/10;}
else{
if(Keys[LEFT]){
cameraX -=15;
}
if(Keys[RIGHT]){
cameraX +=15;
}
cameraX = cameraX < 0 ? 0 : cameraX; } } pushMatrix(); translate(-cameraX, 0); fill(0, 0, 0, 50); rect(0, 0, 250, height); pushMatrix(); translate(target.x+20, target.y); fill(207, 48, 48); rect(-10, -40, 22, 80); fill(235, 52, 52); rect(-10, -40, 16, 80); fill(245, 245, 245); rect(-8, -25, 12, 50); fill(235, 52, 52); rect(-7, -10, 8, 20); popMatrix(); for(var i in Ps){ if(Ps[i].m === 0){ Ps[i].r = 90-atan2((Ps[i].x+Ps[i].xs) - Ps[i].x, (Ps[i].y+Ps[i].ys) - Ps[i].y); } pushMatrix(); translate(Ps[i].x, Ps[i].y); rotate(Ps[i].r); fill(0); rect(-20, -2, 40, 4); triangle(20, -5, 30, 0, 20, 5); popMatrix(); if(Ps[i].y+10 > 300){
Ps[i].y = 300-10;
Ps[i].m = 1;
shootmode = 0;
}
if(Ps[i].x+10 > target.x && Ps[i].x+10 < target.x+20 && Ps[i].y > target.y-40 && Ps[i].y < target.y+40 && Ps[i].m === 0){
scoreadd +=50-floor(abs(Ps[i].y-target.y));
Ps[i].x = target.x-10;
Ps[i].m = 1;
shootmode = 0;
Ps[i].ontarget = true;
Ps[i].ty = -(target.y-Ps[i].y);
target.gx = random(500, 1000);
target.gy =random(40, 260);
}
if(Ps[i].ontarget){
Ps[i].x = target.x-10;
Ps[i].y = target.y+Ps[i].ty;
}
if(Ps[i].m === 0){
Ps[i].x +=Ps[i].xs/Ps[i].mass;
Ps[i].y +=Ps[i].ys/Ps[i].mass;
Ps[i].ys +=9.8/60*10;
}


}
if(shootmode === 1){
stroke(0, 0, 0, 150);
strokeWeight(10);
//line(d.x, d.y, mouseX, mouseY);
noStroke();
var R = 90-atan2(d.x - mouseX, d.y - mouseY);
pushMatrix();
translate(mouseX, mouseY);
rotate(R);
fill(0);
rect(-20, -2, 40, 4);
triangle(20, -5, 30, 0, 20, 5);
popMatrix();
var D = {
x: mouseX,
y: mouseY,
xs: (d.x-mouseX),
ys: (d.y-mouseY),
};
for(var i = 0;i < 6;i ++){
for(var j = 0;j < 10;j ++){
D.x +=D.xs/10;
D.y +=D.ys/10;
D.ys +=9.8/60*10;
}
noStroke();
fill(0, 0, 0, 50);
ellipse(D.x, D.y, 7, 7);
}
}
popMatrix();
fill(0);
textFont(createFont("Century Gothic Bold"));
pushMatrix();
translate(width/2, scoreY);
scale(sS);
textSize(50);
textAlign(CENTER, CENTER);
text(score, 0, 0);
popMatrix();
textSize(20);
textAlign(CENTER, TOP);
textFont(createFont("Verdana"));
text("Post your score in the tips and thanks!\nTop Scores:", scoreTX, 200);
for(var i = 0;i < Scores.length;i ++){
textSize(18);
text(Scores[i][1] + " - " + Scores[i][0], scoreTX, 252+i*20);
}
if(arrows <= 0){
scoreY +=(150-scoreY)/20;
sS +=(2-sS)/20;
scoreTX +=(width/2-scoreTX)/20;
}
for(var i = 0; i < arrows;i ++){ fill(0, 0, 0); rect(8+i*20, height-50, 4, 40); triangle(5+i*20, height-50, 10+i*20, height-60, 15+i*20, height-50); } if(scoreadd > 0){
score +=1;
scoreadd --;
}
target.x +=(target.gx-target.x)/10;
target.y +=(target.gy-target.y)/10;
};
mouseClicked = function(){
if(movingaround){movingaround = false;return;}
if(shootmode === 0 && mouseX < 250 && arrows > 0){
d = {x:mouseX,y:mouseY};
shootmode = 1;
return;
}
if(shootmode === 1 && mouseX < 250){
Ps.push({xs:(d.x-mouseX),ys:(d.y-mouseY),x:mouseX,y:mouseY,mass:10,r:0,m:0,ontarget:false,ty:0});
shootmode = 2;
arrows --;
return;
}
};

Man, that’s a lot to go thru!

First, we create and sort our scores!

var Scores = [
["the 1# planet proponent", 476],


];
Scores.sort(function(b, a){return a[1] - b[1];});

Then we set our variables

var Ps = [];
var shootmode = 0;
var d = {x:0,y:0};
var cameraX = 0;
var target = {x:random(500, 1000), y:random(40, 260), gx: 0, gy: 0};
target.gx = target.x;
target.gy = target.y;
var score = 0;
var scoreadd = 0;
var arrows = 10;
var movingaround = false;
var scoreY = 25;
var scoreTX = width*2;
var sS = 1;

We check if the keys are pressed

var Keys = [];
keyPressed = function(){
Keys[keyCode] = true;
};
keyReleased = function(){
Keys[keyCode] = false;
};

And then we have our backdrop and start of the draw function, with a moving ground

draw = function() {
background(255, 255, 255);
noStroke();
fill(230);
rect(0, 300, width, height);
for(var i = -2;i < 5;i ++){
fill(200);
if(i%2 === 0){
rect(-cameraX%200+i*100, 300, 100, height);
}
}

We have our camera movements

if(shootmode === 2){
if(Ps[Ps.length-1].x-cameraX > 150){
cameraX +=((Ps[Ps.length-1].x-150)-cameraX)/5;
}
}

And being able to look around.

else{
if(Keys[LEFT] || Keys[RIGHT]){
movingaround = true;
}
if(!movingaround){cameraX +=(0-cameraX)/10;}
else{
if(Keys[LEFT]){
cameraX -=15;
}
if(Keys[RIGHT]){
cameraX +=15;
}
cameraX = cameraX < 0 ? 0 : cameraX;
}
}

We have our shoot area and our target graphic:

pushMatrix();
translate(-cameraX, 0);
fill(0, 0, 0, 50);
rect(0, 0, 250, height);
pushMatrix();
translate(target.x+20, target.y);
fill(207, 48, 48);
rect(-10, -40, 22, 80);
fill(235, 52, 52);
rect(-10, -40, 16, 80);
fill(245, 245, 245);
rect(-8, -25, 12, 50);
fill(235, 52, 52);
rect(-7, -10, 8, 20);
popMatrix();

Our Arrows, We changed the ball to an arrow and made it follow it’s path. We took the bouncing, collisions and stuck to walls out of the code and make it stop instead only on the target or the floor. We also move the arrows with the target but only if they are attached. then we also move the targets goto spot and add points to our score based on how well we did.

for(var i in Ps){
if(Ps[i].m === 0){
Ps[i].r = 90-atan2((Ps[i].x+Ps[i].xs) - Ps[i].x, (Ps[i].y+Ps[i].ys) - Ps[i].y);
}
pushMatrix();
translate(Ps[i].x, Ps[i].y);
rotate(Ps[i].r);
fill(0);
rect(-20, -2, 40, 4);
triangle(20, -5, 30, 0, 20, 5);
popMatrix();
if(Ps[i].y+10 > 300){
Ps[i].y = 300-10;
Ps[i].m = 1;
shootmode = 0;
}
if(Ps[i].x+10 > target.x && Ps[i].x+10 < target.x+20 && Ps[i].y > target.y-40 && Ps[i].y < target.y+40 && Ps[i].m === 0){
scoreadd +=50-floor(abs(Ps[i].y-target.y));
Ps[i].x = target.x-10;
Ps[i].m = 1;
shootmode = 0;
Ps[i].ontarget = true;
Ps[i].ty = -(target.y-Ps[i].y);
target.gx = random(500, 1000);
target.gy =random(40, 260);
}
if(Ps[i].ontarget){
Ps[i].x = target.x-10;
Ps[i].y = target.y+Ps[i].ty;
}
if(Ps[i].m === 0){
Ps[i].x +=Ps[i].xs/Ps[i].mass;
Ps[i].y +=Ps[i].ys/Ps[i].mass;
Ps[i].ys +=9.8/60*10;
}


}

Then we also show our arrow and path when we are about to launch, we also end our translation of objects on the screen.

if(shootmode === 1){
stroke(0, 0, 0, 150);
strokeWeight(10);
//line(d.x, d.y, mouseX, mouseY);
noStroke();
var R = 90-atan2(d.x - mouseX, d.y - mouseY);
pushMatrix();
translate(mouseX, mouseY);
rotate(R);
fill(0);
rect(-20, -2, 40, 4);
triangle(20, -5, 30, 0, 20, 5);
popMatrix();
var D = {
x: mouseX,
y: mouseY,
xs: (d.x-mouseX),
ys: (d.y-mouseY),
};
for(var i = 0;i < 6;i ++){
for(var j = 0;j < 10;j ++){
D.x +=D.xs/10;
D.y +=D.ys/10;
D.ys +=9.8/60*10;
}
noStroke();
fill(0, 0, 0, 50);
ellipse(D.x, D.y, 7, 7);
}
}
popMatrix();

Now we show our score and the game over stuff if visible. We also show the high scores when needed.

fill(0);
textFont(createFont("Century Gothic Bold"));
pushMatrix();
translate(width/2, scoreY);
scale(sS);
textSize(50);
textAlign(CENTER, CENTER);
text(score, 0, 0);
popMatrix();
textSize(20);
textAlign(CENTER, TOP);
textFont(createFont("Verdana"));
text("Post your score in the tips and thanks!\nTop Scores:", scoreTX, 200);
for(var i = 0;i < Scores.length;i ++){
textSize(18);
text(Scores[i][1] + " - " + Scores[i][0], scoreTX, 252+i*20);
}

Then we show how many arrows we have left

if(arrows <= 0){
scoreY +=(150-scoreY)/20;
sS +=(2-sS)/20;
scoreTX +=(width/2-scoreTX)/20;
}
for(var i = 0; i < arrows;i ++){
fill(0, 0, 0);
rect(8+i*20, height-50, 4, 40);
triangle(5+i*20, height-50, 10+i*20, height-60, 15+i*20, height-50);
}

And change our score by one very quickly to make a cool effect. We also move our target nicely towards the goto point.
if(scoreadd > 0){
score +=1;
scoreadd --;
}
target.x +=(target.gx-target.x)/10;
target.y +=(target.gy-target.y)/10;};

And finally, not much has changed here except we have a few extra definitions and we change the number of arrows we have.

mouseClicked = function(){
if(movingaround){movingaround = false;return;}
if(shootmode === 0 && mouseX < 250 && arrows > 0){
d = {x:mouseX,y:mouseY};
shootmode = 1;
return;
}
if(shootmode === 1 && mouseX < 250){
Ps.push({xs:(d.x-mouseX),ys:(d.y-mouseY),x:mouseX,y:mouseY,mass:10,r:0,m:0,ontarget:false,ty:0});
shootmode = 2;
arrows --;
return;
}
};

Whew, that makes more sense! Thanks for watching or reading the tutorial! 😀

What is it like to code 24-Hour Minecraft?

Now, you are probably wondering on 24 Hour Minecraft. What are you adding next, are you really coding 24 hours straight and will you even finish it in the end? All questions answered here.

Capturea.PNG

 

First off, What is being added next? Well, in the most recent second episode which you can watch here. I added AI, Crafting, Fixed Terrain, Bug Fixes, Tool Usage and more Survival:

I’d watch the video if you have time. In the Third Episode, from 12 to 18 hours, I hope to finish:

  • Mob Graphics, I only made the Sheep, Zombie and Skeleton Graphics. I still have to make the Player, Spider and Creeper Graphics.
  • Water, It will spread like in the actual Indev.
  • Farming, this is gonna be a hard one. I have to create planting, tilling, water checking, growth, and harvest! Uugh! XD
  • Background and Nighttime, The mobs are spawning in the day? No way! Better fix that with the Sun and Moon.
  • Menu and Settings, being able to cap off certain parts of the game to make it playable for all computers.
  • Death, the player must DIEEEEE! Because he doesn’t when he either, Gets hit to death, falls to death, or falls into the Void!
  • Lighting, this might not be too much of the challenge. Oh, have I forgotten about placing torches? Great.
  • Furnace, This will be a challenge.
  • Chest, An even greater challenge.

Probably after the third episode, if That gets all finished, then it might actually be playable. And I’ll add some extra things in the last episode. I’ll reveal when the blog post for the third episode comes out.

Captureb

Second, am I doing it for 24 hours straight? Definitely not! Might’ve broken some record though. But I would be very sick after and I wouldn’t be able to do much on here for an entire WEEK! So, No, I take breaks and get sleep. Like any programmer does. If it was 1, 2 or maybe even 3 hours. I could do a Jam perhaps.

Last, Will I even finish it in the end? Hopefully, I will, I cannot tell the future, but I at least think we will be able to add extra features like Alpha 1.2 or Beta 1.8 stuff in total. But that is if I do well.

Also, I will be doing a modding contest, where you, yes you! Get to make a mod for the game, and top three mods win!

Thanks for Reading (And Watching),

Ted.

P.S: I didn’t forget about Monument Food II, I’m still slowly working on it.

P.S.S: I’m also learning more Unity to make my next two apps, Ninja Bus and T/-d5 |E, whoops glitched out! (It is secret!) Also, Tumbl3 will be out with an update and for apple soon as well! Bye!

City Dashz out for Both Platforms!

Hello! We now have managed to get City Dashz out for Apple Devices too! 😀CityDashCapture1.PNG

It is sleek design for both pretty much!

The app is free to play and very addicting! It is a very good time spender! XD

Here is what people are saying!

“It played well for a while”

“This is cool. Maybe add a shop and coins?”

“It was awesome!”

 

 

CityDashCapture2.PNG You can get the game for Android at:

https://play.google.com/store/apps/details?id=com.KeplerTedStudios.CityDashz&hl=en_CA

or by searching “City Dashz” on the Google Play Store on your Android phone or tablet!

Minimum version is 4.1 Jellybean or higher

 

You can get the game for iOS by going here: https://itunes.apple.com/us/app/city-dashz/id1434101726 or searching up “City Dashz” in the App Store on your iPhone, iPod or iPad! Minimum version is 8.0 or higher

 

Future Updates

You, yes you, reading this post, get to see what I am gonna add to the app next and my other plans!

City Dashz

City Dashz 1.2/1.1 will feature coins and a shop, where you can buy Heads, Shirts and Faces! iOS 1.1 will also include Game Center Services!

Tumbl3

Tumbl3 Android 1.1 will be featuring more icons, bug fixes and music! And Google Play services!

Tumbl3 iOS 1.0 will have all of Android 1.1 but Game Center services instead of Google Play.

Future Projects

Ninja Bus will feature nonstop arcade action, based on a Scratch program I made, it is a collab with someone. Will be finished before the end of the year. Releasing for Android and iOS. It will be free.

Rush To Crush is another collab but with a friend of mine, it plans to be an endless runner with levels. It will also be free with possible in app purchases.

Untitled Monument Food Project is an unknown project based off of a program I made in PJS. It will feature Story, 3D, and multiple levels, I have no idea when I will finish this. But sometime next year. It will be available for Steam, PC, Xbox One, Switch and PS4. It will cost 15$ on Steam and PC and 25$ for console.

 

Thanks for reading!

Ted.

 

After the Mars Opposition

Now, say you are like me and you want to go and stargaze on the Mars Opposition, but oh no you can’t because for say, you have work to do, or you have to collimate your telescope which will take some time, or your hanging with your friends or be doing camping (You can probably still see Mars by the way but with your eye only)

So I have this post so you know how long Mars will be over a certain size or a certain magnitude! Mars at it’s best on July 31st, 2018 was 24.34″ in size, -2.79 magnitude and from 40 degrees latitude, mars only climbs just higher than 20 degrees in the sky, go Mars Stackedsouth to view it. Like, say Florida latitude or the Equator!

Btw here is a picture I got with my non-collimated telescope using multiple stacked images! 😀

Continue reading After the Mars Opposition

The Tumbl3 App is released!

Well, a lot of time has passed, sorry about that! I was just very busy and forgot about this site! 😦

 

Anyway, first of all, like the title says, I’ve released my second game! Tumbl3!: https://play.google.com/store/apps/details?id=com.KeplerTedStudios.Tumbl3

Capture

The game where you get squished by boulders and buy characters! There are still bugs laying around as I did release it pretty quick XD, But two things that (hopefully) will be added to the next version is Music (One for gameplay, One for menus) and Google Play Services!

The other thing is I’ve released City Dashz back in February (Actually, December but I had to re-release since I forgot a password, I sure learned my lesson :P)

The link is right here: https://play.google.com/store/apps/details?id=com.KeplerTedStudios.CityDashz

I haven’t had a chance to show off Tumbl3 yet in my Youtube channel, which you should obviously subscribe if you like Gaming, Tutorials and Coding!: https://www.youtube.com/channel/UCocmE7xT6REn0p1kBEgmz2Q

 

Anyway, great to see you guys again and I’m gonna try and do at least 1 – 2 posts a weeks and 1 -3 youtube videos a week! Let me know in the comments if you find any bugs in Tumbl3!

 

Bugs found:

  • Ad button text covers collision
  • You start off in the game

City Dash: UPDATE #2: Sneak Peeks on new stuff!

Hello there! Planet or Kepler (you can call me one of those), here! And today, we have surprises and good news!

FIRST: POLL RESULTS

There are two polls, one was in the previous update and two was in the “A Message.” program!

The First one, “Should I add hair to all of the characters?”. I will be deciding as no one commented. don’t be afraid to ask or answer! And my decision is I will be leaving Dj with only hair, otherwise, no one will like him!

The second one, “What app would you like to see after City Dash?” Here are the results!

Capture1

Snowboarder is the winner! Sorry MF! XD Snowboarder was also picked for a Remake (by me), but more info in a sec.

SECOND: SECRET UPDATES

I announced a few months ago, that Color Switch was getting another Update! known as Update #3! I Have Sneak Peaks!

The first and second pictures show before v1.2 and after v1.3a, and the last is the updated star graphic! Exciting right? It is set to release Late November, and you can have a sneak peek here!: https://www.khanacademy.org/computer-programming/wip/5230749527113728

Just don’t vote, okay?

THIRD: UNITY LEARNING STATUS

Not much here, but I’m almost finished my first Unity course!

FOURTH: REMAKES?

Starting soon, Snowboarder will be going through a remake! I will also be making another poll, should it be called:

Snowboarder 2

or…

Snowboarderz

or…

Snowboardz

or…

New Snowboarder?

You can vote here! Deadline is when the fourth update comes out!

The Remake of Snowboarder will have

  • Breathtaking Graphics that will make you faint
  • Lots of achievements that will make you faint
  • Lots of runs that will make you faint
  • Better AIs so good that will make you faint
  • Amazing Particles that will make you faint
  • Patterned Clothes that will make you faint
  • Great uses of money that will make you faint
  • Awesome buttons that will make you faint
  • Breathtaking Championships that will make you faint
  • People in the Championships with breathtaking backstories that will make you faint
  • Amazing Trailers that will make you faint
  • A Deadline that will make you faint
  • Patience, THAT will make you faint

Everything here will make you faint. You should have fainted. It may come out February.

Thank you for your time! Update Three coming mid-November!