It's great! How is Processing for larger projects? I'd like to learn Processing, but I would also like it to be powerful, and not good and nice but weak. By larger projects, I mean far over 10,000 and an actual professional PC (or web) game. Also, can it do 3D (pseudo-3D, just felt I needed to clarify that with the rise in 3D tech, such as the 3DS and PS Vita) and/or networking?
Offline
maxskywalker wrote:
It's great! How is Processing for larger projects? I'd like to learn Processing, but I would also like it to be powerful, and not good and nice but weak. By larger projects, I mean far over 10,000 and an actual professional PC (or web) game. Also, can it do 3D (pseudo-3D, just felt I needed to clarify that with the rise in 3D tech, such as the 3DS and PS Vita) and/or networking?
I believe it could do larger projects, although I haven't tried. It does have 3D support normally and networking support via a built-in library.
Offline
Thank you
And I can get 57 on atrocious
Offline
soupoftomato wrote:
Wickimen wrote:
Cool
Funny in a very veggie-esque way
Wow, on my first try I lasted an incredible 9 seconds on Atrocious ahahah wow I suck at this but it's funI survived for 13 seconds in atrocious while a bunch of huts were already firing from my 40 second miserable game!
E.g. you stink.
e.g. implies multiple examples
Offline
veggieman001 wrote:
soupoftomato wrote:
Wickimen wrote:
Cool
Funny in a very veggie-esque way
Wow, on my first try I lasted an incredible 9 seconds on Atrocious ahahah wow I suck at this but it's funI survived for 13 seconds in atrocious while a bunch of huts were already firing from my 40 second miserable game!
E.g. you stink.e.g. implies multiple examples
Oh.
Uhm.
I always forget the proper way to say what I meant.
Darn let me find it.
Ah.
i.e.
Last edited by soupoftomato (2012-03-16 23:11:31)
Offline
soupoftomato wrote:
veggieman001 wrote:
soupoftomato wrote:
I survived for 13 seconds in atrocious while a bunch of huts were already firing from my 40 second miserable game!
E.g. you stink.e.g. implies multiple examples
Oh.
Uhm.
I always forget the proper way to say what I meant.
Darn let me find it.
Ah.
i.e.
Thank you for using the proper insult.
Offline
I deleted in shame of stupidity.
But for now:
I got 13 in atrocious after a 40 second miserable game.
i.e. Wickimen stinks.
Offline
Offline
Dinoclor wrote:
The boxes seem to appear mostly around the bottom left corner. Is that on purpose or a bug?
That may be happening to you by chance, because it doesn't usually happen to me.
Offline
Yaaaaay, 48 in atrocious now.
I just stayed in the top-left corner the whole time, occasionally moving to avoid the whatever-you-call-its.
Offline
35 in atrocious. That's a lot of dots! I am now having trouble focusing my eyes - thank you very much
Offline
veggieman001 wrote:
maxskywalker wrote:
Very nice. But aren't you supposed to CLEAR the play area after I die and play again? Also, I found a glitch. On Miserable, the bullets already fired (from previous games) were ultra-slow, and no tower would shoot another thing. As I speak, Shots is open in another tab quite safely, and I can go through towers without being hurt.
Interesting. I was having this bug before and I thought I fixed. I'll see what up.
And nope, it's intentionally like that. Since when are you playing again?
What do you mean 'since when are you playing again'?
Offline
maxskywalker wrote:
veggieman001 wrote:
maxskywalker wrote:
Very nice. But aren't you supposed to CLEAR the play area after I die and play again? Also, I found a glitch. On Miserable, the bullets already fired (from previous games) were ultra-slow, and no tower would shoot another thing. As I speak, Shots is open in another tab quite safely, and I can go through towers without being hurt.
Interesting. I was having this bug before and I thought I fixed. I'll see what up.
And nope, it's intentionally like that. Since when are you playing again?What do you mean 'since when are you playing again'?
When you press space, you're not playing again.
Offline
veggieman001 wrote:
maxskywalker wrote:
It's great! How is Processing for larger projects? I'd like to learn Processing, but I would also like it to be powerful, and not good and nice but weak. By larger projects, I mean far over 10,000 and an actual professional PC (or web) game. Also, can it do 3D (pseudo-3D, just felt I needed to clarify that with the rise in 3D tech, such as the 3DS and PS Vita) and/or networking?
I believe it could do larger projects, although I haven't tried. It does have 3D support normally and networking support via a built-in library.
Hm, I think I'll give Processing a try. Assuming I can find the URL.
Offline
maxskywalker wrote:
veggieman001 wrote:
maxskywalker wrote:
It's great! How is Processing for larger projects? I'd like to learn Processing, but I would also like it to be powerful, and not good and nice but weak. By larger projects, I mean far over 10,000 and an actual professional PC (or web) game. Also, can it do 3D (pseudo-3D, just felt I needed to clarify that with the rise in 3D tech, such as the 3DS and PS Vita) and/or networking?
I believe it could do larger projects, although I haven't tried. It does have 3D support normally and networking support via a built-in library.
Hm, I think I'll give Processing a try. Assuming I can find the URL.
It's on the page :I
Offline
//I fixed it! :D :P no. import processing.opengl.*; ArrayList shooters = new ArrayList(); int stimer, ctimer, gtimer, osec, px, py, firedelay; boolean menu = true; boolean fr = false; Player player; void setup() { size(580, 460, OPENGL); text("Shots", width/2-10, height/2-50); shooters.add(new Shooter(int(random(30, width-30)), int(random(30, height-30)))); player = new Player(width/2, height/2, 15); speed = 2; osec = 2; noStroke(); } void draw() { if (player != null) { if (menu) { fill(#552233); gtimer = 0; text("Shots", width/2-20, height/2-120); text("Choose difficulty wisely", width/2-65, height/2-85); if (mouseX>width/2-50 && mouseY>height/2-75 && mouseX<width/2+50 && mouseY<height/2-25) { fill(#3377AA); if (mousePressed) { firedelay=99; menu = false; } } else fill(#004477); rect(width/2-50, height/2-75, 100, 50); fill(#FFFFFF); text("Disappointing", width/2-38, height/2-45); if (mouseX>width/2-50 && mouseY>height/2-20 && mouseX<width/2+50 && mouseY<height/2+30) { fill(#3377AA); if (mousePressed) { firedelay=59; menu = false; } } else fill(#004477); rect(width/2-50, height/2-20, 100, 50); fill(#FFFFFF); text("Miserable", width/2-25, height/2+10); if (mouseX>width/2-50 && mouseY>height/2+35 && mouseX<width/2+50 && mouseY<height/2+95) { fill(#3377AA); if (mousePressed) { firedelay=29; menu = false; } } else fill(#004477); rect(width/2-50, height/2+35, 100, 50); fill(#FFFFFF); text("Atrocious", width/2-25, height/2+65); } else { //background(250); fill(255,10); rect(0,0,width,height); switch(result) { case NORTH: player.y-=speed; break; case EAST: player.x+=speed; break; case SOUTH: player.y+=speed; break; case WEST: player.x-=speed; break; case NORTH|EAST: player.y-=speed; player.x+=speed; break; case NORTH|WEST: player.y-=speed; player.x-=speed; break; case SOUTH|EAST: player.y+=speed; player.x+=speed; break; case SOUTH|WEST: player.y+=speed; player.x-=speed; break; case NORTH|EAST|WEST: player.y-=speed; break; case NORTH|SOUTH|WEST: player.x-=speed; break; case NORTH|SOUTH|EAST: player.x+=speed; break; case EAST|WEST|SOUTH: player.y+=speed; break; } player.update(); for (int i = shooters.size()-1; i >= 0; i--) { Shooter shooter = (Shooter) shooters.get(i); shooter.update(); } stimer++; ctimer++; if (osec != second()) { gtimer++; osec = second(); } if (stimer==firedelay) stimer=0; if (ctimer==199) { shooters.add(new Shooter(int(random(30, width-30)), int(random(30, height-30)))); ctimer=0; } } } else { fill(#003300); shooters.clear(); text("You lose!", width/2-25, height/2); text("You survived for "+gtimer+" seconds", width/2-100, height/2+15); text("Press M to return to the menu", width/2-80, height/2+45); } } class Shooter { int x, y, r; int ofd = firedelay; int[] colour = new int[3]; int tnum = int(random(0, firedelay)); ArrayList<Shot> shots = new ArrayList(); Shooter (int x_, int y_) { x = x_; y = y_; r = 20; colour[0] = int(random(0, 255)); colour[1] = int(random(0, 255)); colour[2] = int(random(0, 255)); } void update() { if (firedelay != ofd) { tnum = int(random(0, firedelay)); ofd=firedelay; } fill(colour[0], colour[1], colour[2]); rect(x, y, r, r); if (stimer==tnum) shots.add(new Shot()); for (int i = shots.size()-1; i >= 0; i--) { Shot shot = shots.get(i); shot.update(); stroke(0); for(int j=i; j < shots.size(); j++) { line(shots.get(i).l.x,shots.get(i).l.y,shots.get(j).l.x,shots.get(j).l.y); } noStroke(); shot.display(); //if (shot.l.x > width+10 || shot.l.x < -10 || shot.l.y > height+10 || shot.l.y < -10 ) shots.remove(i); } } class Shot { PVector v = new PVector(random(-1, 1), random(-1, 1)); PVector l = new PVector(x+r/2, y+r/2); void update() { l.add(v); if (Touching(player, this)) { px=player.x; py=player.y; player = null; } } void display() { ellipse(l.x, l.y, 10, 10); } } } class Player { int x, y, r; Player (int x_, int y_, int r_) { x=x_; y=y_; r=r_; } void update() { fill(#FF55FF); ellipse(x, y, r, r); if (x <= r/2) x = r/2; if (y <= r/2) y = r/2; if (x >= width-r/2) x = width-r/2; if (y >= height-r/2) y = height-r/2; } } boolean Touching(Player pl, Shooter.Shot sh) { if (player != null) { if (dist(pl.x, pl.y, sh.l.x, sh.l.y)<=15) { return true; } else return false; } else return false; } final static int NORTH = 1; final static int EAST = 2; final static int SOUTH = 4; final static int WEST = 8; int result, speed; //code from processing wiki by sojamo //three key sensing by me void keyPressed() { if (key == CODED) { switch(keyCode) { case(UP): result |=NORTH; break; case(RIGHT): result |=EAST; break; case(DOWN): result |=SOUTH; break; case(LEFT): result |=WEST; break; } } else if (key == ' ' && player == null) { gtimer = 0; player = new Player(round(random(30, width-30)), round(random(30, height-30)), 15); } else if ((key == 'm' || key == 'M') && player == null) { player = new Player(width/2, height/2, 15); menu=true; } } void keyReleased() { if (key == CODED) { switch(keyCode) { case(UP): result ^=NORTH; break; case(RIGHT): result ^=EAST; break; case(DOWN): result ^=SOUTH; break; case(LEFT): result ^=WEST; break; } } }
Offline
veggieman001 wrote:
maxskywalker wrote:
veggieman001 wrote:
I believe it could do larger projects, although I haven't tried. It does have 3D support normally and networking support via a built-in library.Hm, I think I'll give Processing a try. Assuming I can find the URL.
It's on the page :I
Yeah, I've already found it. Right before remembering that I still need to install Java on this computer.
Offline
scratchisthebest wrote:
Code:
//I fixed it! :D :P no. import processing.opengl.*; ArrayList shooters = new ArrayList(); int stimer, ctimer, gtimer, osec, px, py, firedelay; boolean menu = true; boolean fr = false; Player player; void setup() { size(580, 460, OPENGL); text("Shots", width/2-10, height/2-50); shooters.add(new Shooter(int(random(30, width-30)), int(random(30, height-30)))); player = new Player(width/2, height/2, 15); speed = 2; osec = 2; noStroke(); } void draw() { if (player != null) { if (menu) { fill(#552233); gtimer = 0; text("Shots", width/2-20, height/2-120); text("Choose difficulty wisely", width/2-65, height/2-85); if (mouseX>width/2-50 && mouseY>height/2-75 && mouseX<width/2+50 && mouseY<height/2-25) { fill(#3377AA); if (mousePressed) { firedelay=99; menu = false; } } else fill(#004477); rect(width/2-50, height/2-75, 100, 50); fill(#FFFFFF); text("Disappointing", width/2-38, height/2-45); if (mouseX>width/2-50 && mouseY>height/2-20 && mouseX<width/2+50 && mouseY<height/2+30) { fill(#3377AA); if (mousePressed) { firedelay=59; menu = false; } } else fill(#004477); rect(width/2-50, height/2-20, 100, 50); fill(#FFFFFF); text("Miserable", width/2-25, height/2+10); if (mouseX>width/2-50 && mouseY>height/2+35 && mouseX<width/2+50 && mouseY<height/2+95) { fill(#3377AA); if (mousePressed) { firedelay=29; menu = false; } } else fill(#004477); rect(width/2-50, height/2+35, 100, 50); fill(#FFFFFF); text("Atrocious", width/2-25, height/2+65); } else { //background(250); fill(255,10); rect(0,0,width,height); switch(result) { case NORTH: player.y-=speed; break; case EAST: player.x+=speed; break; case SOUTH: player.y+=speed; break; case WEST: player.x-=speed; break; case NORTH|EAST: player.y-=speed; player.x+=speed; break; case NORTH|WEST: player.y-=speed; player.x-=speed; break; case SOUTH|EAST: player.y+=speed; player.x+=speed; break; case SOUTH|WEST: player.y+=speed; player.x-=speed; break; case NORTH|EAST|WEST: player.y-=speed; break; case NORTH|SOUTH|WEST: player.x-=speed; break; case NORTH|SOUTH|EAST: player.x+=speed; break; case EAST|WEST|SOUTH: player.y+=speed; break; } player.update(); for (int i = shooters.size()-1; i >= 0; i--) { Shooter shooter = (Shooter) shooters.get(i); shooter.update(); } stimer++; ctimer++; if (osec != second()) { gtimer++; osec = second(); } if (stimer==firedelay) stimer=0; if (ctimer==199) { shooters.add(new Shooter(int(random(30, width-30)), int(random(30, height-30)))); ctimer=0; } } } else { fill(#003300); shooters.clear(); text("You lose!", width/2-25, height/2); text("You survived for "+gtimer+" seconds", width/2-100, height/2+15); text("Press M to return to the menu", width/2-80, height/2+45); } } class Shooter { int x, y, r; int ofd = firedelay; int[] colour = new int[3]; int tnum = int(random(0, firedelay)); ArrayList<Shot> shots = new ArrayList(); Shooter (int x_, int y_) { x = x_; y = y_; r = 20; colour[0] = int(random(0, 255)); colour[1] = int(random(0, 255)); colour[2] = int(random(0, 255)); } void update() { if (firedelay != ofd) { tnum = int(random(0, firedelay)); ofd=firedelay; } fill(colour[0], colour[1], colour[2]); rect(x, y, r, r); if (stimer==tnum) shots.add(new Shot()); for (int i = shots.size()-1; i >= 0; i--) { Shot shot = shots.get(i); shot.update(); stroke(0); for(int j=i; j < shots.size(); j++) { line(shots.get(i).l.x,shots.get(i).l.y,shots.get(j).l.x,shots.get(j).l.y); } noStroke(); shot.display(); //if (shot.l.x > width+10 || shot.l.x < -10 || shot.l.y > height+10 || shot.l.y < -10 ) shots.remove(i); } } class Shot { PVector v = new PVector(random(-1, 1), random(-1, 1)); PVector l = new PVector(x+r/2, y+r/2); void update() { l.add(v); if (Touching(player, this)) { px=player.x; py=player.y; player = null; } } void display() { ellipse(l.x, l.y, 10, 10); } } } class Player { int x, y, r; Player (int x_, int y_, int r_) { x=x_; y=y_; r=r_; } void update() { fill(#FF55FF); ellipse(x, y, r, r); if (x <= r/2) x = r/2; if (y <= r/2) y = r/2; if (x >= width-r/2) x = width-r/2; if (y >= height-r/2) y = height-r/2; } } boolean Touching(Player pl, Shooter.Shot sh) { if (player != null) { if (dist(pl.x, pl.y, sh.l.x, sh.l.y)<=15) { return true; } else return false; } else return false; } final static int NORTH = 1; final static int EAST = 2; final static int SOUTH = 4; final static int WEST = 8; int result, speed; //code from processing wiki by sojamo //three key sensing by me void keyPressed() { if (key == CODED) { switch(keyCode) { case(UP): result |=NORTH; break; case(RIGHT): result |=EAST; break; case(DOWN): result |=SOUTH; break; case(LEFT): result |=WEST; break; } } else if (key == ' ' && player == null) { gtimer = 0; player = new Player(round(random(30, width-30)), round(random(30, height-30)), 15); } else if ((key == 'm' || key == 'M') && player == null) { player = new Player(width/2, height/2, 15); menu=true; } } void keyReleased() { if (key == CODED) { switch(keyCode) { case(UP): result ^=NORTH; break; case(RIGHT): result ^=EAST; break; case(DOWN): result ^=SOUTH; break; case(LEFT): result ^=WEST; break; } } }
whoa what did you do
Offline
veggieman001 wrote:
scratchisthebest wrote:
Code:
//I fixed it! :D :P no. import processing.opengl.*; ArrayList shooters = new ArrayList(); int stimer, ctimer, gtimer, osec, px, py, firedelay; boolean menu = true; boolean fr = false; Player player; void setup() { size(580, 460, OPENGL); text("Shots", width/2-10, height/2-50); shooters.add(new Shooter(int(random(30, width-30)), int(random(30, height-30)))); player = new Player(width/2, height/2, 15); speed = 2; osec = 2; noStroke(); } void draw() { if (player != null) { if (menu) { fill(#552233); gtimer = 0; text("Shots", width/2-20, height/2-120); text("Choose difficulty wisely", width/2-65, height/2-85); if (mouseX>width/2-50 && mouseY>height/2-75 && mouseX<width/2+50 && mouseY<height/2-25) { fill(#3377AA); if (mousePressed) { firedelay=99; menu = false; } } else fill(#004477); rect(width/2-50, height/2-75, 100, 50); fill(#FFFFFF); text("Disappointing", width/2-38, height/2-45); if (mouseX>width/2-50 && mouseY>height/2-20 && mouseX<width/2+50 && mouseY<height/2+30) { fill(#3377AA); if (mousePressed) { firedelay=59; menu = false; } } else fill(#004477); rect(width/2-50, height/2-20, 100, 50); fill(#FFFFFF); text("Miserable", width/2-25, height/2+10); if (mouseX>width/2-50 && mouseY>height/2+35 && mouseX<width/2+50 && mouseY<height/2+95) { fill(#3377AA); if (mousePressed) { firedelay=29; menu = false; } } else fill(#004477); rect(width/2-50, height/2+35, 100, 50); fill(#FFFFFF); text("Atrocious", width/2-25, height/2+65); } else { //background(250); fill(255,10); rect(0,0,width,height); switch(result) { case NORTH: player.y-=speed; break; case EAST: player.x+=speed; break; case SOUTH: player.y+=speed; break; case WEST: player.x-=speed; break; case NORTH|EAST: player.y-=speed; player.x+=speed; break; case NORTH|WEST: player.y-=speed; player.x-=speed; break; case SOUTH|EAST: player.y+=speed; player.x+=speed; break; case SOUTH|WEST: player.y+=speed; player.x-=speed; break; case NORTH|EAST|WEST: player.y-=speed; break; case NORTH|SOUTH|WEST: player.x-=speed; break; case NORTH|SOUTH|EAST: player.x+=speed; break; case EAST|WEST|SOUTH: player.y+=speed; break; } player.update(); for (int i = shooters.size()-1; i >= 0; i--) { Shooter shooter = (Shooter) shooters.get(i); shooter.update(); } stimer++; ctimer++; if (osec != second()) { gtimer++; osec = second(); } if (stimer==firedelay) stimer=0; if (ctimer==199) { shooters.add(new Shooter(int(random(30, width-30)), int(random(30, height-30)))); ctimer=0; } } } else { fill(#003300); shooters.clear(); text("You lose!", width/2-25, height/2); text("You survived for "+gtimer+" seconds", width/2-100, height/2+15); text("Press M to return to the menu", width/2-80, height/2+45); } } class Shooter { int x, y, r; int ofd = firedelay; int[] colour = new int[3]; int tnum = int(random(0, firedelay)); ArrayList<Shot> shots = new ArrayList(); Shooter (int x_, int y_) { x = x_; y = y_; r = 20; colour[0] = int(random(0, 255)); colour[1] = int(random(0, 255)); colour[2] = int(random(0, 255)); } void update() { if (firedelay != ofd) { tnum = int(random(0, firedelay)); ofd=firedelay; } fill(colour[0], colour[1], colour[2]); rect(x, y, r, r); if (stimer==tnum) shots.add(new Shot()); for (int i = shots.size()-1; i >= 0; i--) { Shot shot = shots.get(i); shot.update(); stroke(0); for(int j=i; j < shots.size(); j++) { line(shots.get(i).l.x,shots.get(i).l.y,shots.get(j).l.x,shots.get(j).l.y); } noStroke(); shot.display(); //if (shot.l.x > width+10 || shot.l.x < -10 || shot.l.y > height+10 || shot.l.y < -10 ) shots.remove(i); } } class Shot { PVector v = new PVector(random(-1, 1), random(-1, 1)); PVector l = new PVector(x+r/2, y+r/2); void update() { l.add(v); if (Touching(player, this)) { px=player.x; py=player.y; player = null; } } void display() { ellipse(l.x, l.y, 10, 10); } } } class Player { int x, y, r; Player (int x_, int y_, int r_) { x=x_; y=y_; r=r_; } void update() { fill(#FF55FF); ellipse(x, y, r, r); if (x <= r/2) x = r/2; if (y <= r/2) y = r/2; if (x >= width-r/2) x = width-r/2; if (y >= height-r/2) y = height-r/2; } } boolean Touching(Player pl, Shooter.Shot sh) { if (player != null) { if (dist(pl.x, pl.y, sh.l.x, sh.l.y)<=15) { return true; } else return false; } else return false; } final static int NORTH = 1; final static int EAST = 2; final static int SOUTH = 4; final static int WEST = 8; int result, speed; //code from processing wiki by sojamo //three key sensing by me void keyPressed() { if (key == CODED) { switch(keyCode) { case(UP): result |=NORTH; break; case(RIGHT): result |=EAST; break; case(DOWN): result |=SOUTH; break; case(LEFT): result |=WEST; break; } } else if (key == ' ' && player == null) { gtimer = 0; player = new Player(round(random(30, width-30)), round(random(30, height-30)), 15); } else if ((key == 'm' || key == 'M') && player == null) { player = new Player(width/2, height/2, 15); menu=true; } } void keyReleased() { if (key == CODED) { switch(keyCode) { case(UP): result ^=NORTH; break; case(RIGHT): result ^=EAST; break; case(DOWN): result ^=SOUTH; break; case(LEFT): result ^=WEST; break; } } }whoa what did you do
magic!
I drew lines connecting all the bullets from a single turret. So a red turret connects all of its bullets together, but not to the bullets from a green. It gets out of hand *fast* because I didn't clear the background between frames, meaning trails appear.
Offline