[SC2] TL Beta Key Contests! - Page 9
Forum Index > News |
Liquid`Jinro
Sweden33719 Posts
| ||
yongke
Canada2 Posts
+ Show Spoiler + Justin Working on the cake The top turret assembly before it's put on the base The bottom base before coloring and the top turret assembly (look like of bad at this stage). The cake after we merged the top and bottom! Now we add some extra frosting to make it look extra nice. Missiles ready to fire! Finally finished with the radar on top and added some coloring on each side. Sideway shot. Another sideway shot, notice the green tank in the back. Bill holding the finished cake. | ||
jodogohoo
Canada2533 Posts
| ||
closed
Vatican City State491 Posts
| ||
Liquid`Jinro
Sweden33719 Posts
| ||
duckhunt
Canada311 Posts
| ||
duckhunt
Canada311 Posts
| ||
lIlIlIlIlIlI
Korea (South)3851 Posts
| ||
Liquid`Jinro
Sweden33719 Posts
| ||
closed
Vatican City State491 Posts
| ||
KwarK
United States41556 Posts
On June 13 2009 01:59 closed wrote: I completely do not understand why do you give 2keys per winner. It should be 1 key per winner - so that more people get the key for actually participating in the contests. And then play through the campaign or vs comps for balance testing? They explained this. One for you, one for a friend, so you can play vs each other. | ||
Liquid`Jinro
Sweden33719 Posts
The reason is this: Initially we had estimated 10 keys for these contests (we really weren't sure how many we were supposed to ask for), but then Blizzard was like "hey, that sounds good - but here's 10 keys more, that way you can give 2 per winner, so they can play together with their friends". They didn't say we had to do that, but we all thought it sounded like a good idea. Of course, with the amount of good cakes now, it might have been better to split them up, but I still think it's a good idea to give people 2 keys each.. | ||
closed
Vatican City State491 Posts
On June 14 2009 03:54 Kwark wrote: And then play through the campaign or vs comps for balance testing? They explained this. One for you, one for a friend, so you can play vs each other. There will be a complete beta server with few hundred other players, not play testing versus computers. The Starcraft (1) beta did not have any single player maps.. | ||
CDRdude
United States5625 Posts
| ||
maleorderbride
United States2916 Posts
| ||
Cube
Canada777 Posts
| ||
ghermination
United States2851 Posts
| ||
Zabestrial
United States194 Posts
opt in u r mai only hope | ||
terranbigmansam
3 Posts
| ||
terranbigmansam
3 Posts
Java is an easy to learn programming language and can be used to create games. To use it though, an IDE (Integrated Design Environment) is required. We will use NetBeans 6.7. Something else that can be used is a game engine, a kit to creating games. We will use the FANG (Freely Available Networked Game) engine. First, we need to download the IDE. We will use the Java SE (Standard Edition) of NetBeans 6.7. NetBeans requires the JDK installed. To satisfy these needs, we will download the JDK 6 Update 14 bundled with NetBeans 6.7. Go to the Java SE Website (www.java.sun.com/javase) and click on the Downloads tab. Click on the Download button next to "JDK 6 Update 14 with NetBeans 6.7". Click on the first download link. Select your Platform of OS. The language is always multi-language. Click “continue”. You will see a link labeled"jdk-6u14-nb-6_7-windows-ml.exe". Right click it and select "Save Link As". Select the place you want to save it and wait until it is finished downloading. Now we need to install it. Run the executable file. I think we all know how to install something. If the JDK is already installed, just continue. When it is finished, you will find an icon of a light blue cube. That is NetBeans. Now we need the support of FANG. Go to www.fangengine.org and click on the Download link on the left. It is under the Main box. Download the fang.jar file that's under the FANG Engine Release 1.080309 title. The jar file isn't supposed to be run. We will import it later. Open NetBeans. It might take a while because it's being open the first time. Create a new project that is an application, not desktop application. Name it whatever you want. Find a check box that says Create Main Class and a box that says "yourprojectname".Main (replace "yourprojectname" with the name you gave your project). Change "Main" to Avoid. Click finish. Now you will see some code that says something related to” /* * To change this template, choose Tools | Templates * and open the template in the editor. */ Package javaapplication15; /** * * @author Samuel */ public class Avoid { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here } }"(my project was called java application 15 and my name is Samuel). The text surrounded by /* and */ are comments. They do nothing but tell other programmers what the code does. They are the same as spaces. To get started, we need to import the jar file. Right-click the folder,” Libraries”. Select add JAR/folder and navigate to the place that you saved the fang.jar file. Select the file and click open. Add a line below package "yourprojectname"; that says "import fang.*;”. Import tells NetBeans to import it into the file. Fang.* tell NetBeans to import any thing in the package fang (which you added before) when it is needed. Also change the "public class Avoid { " to "public class Avoid extends Game{". Public means that anybody can see this file. Class means that it is a java file. Avoid is the name of the file. If it wasn't, NetBeans will underline it red, saying it is wrong. The "extends Game" means that Avoid gets all the stuff that the public class Game does for free (instead of Game.addSprite(); you can just type addSprite () . Now the file looks like this: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package javaapplication15; import fang.*; /** * * @author Samuel */ public class Avoid extends Game { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here } }. You can see the //TODO code application logic here. That means we need TO DO something to make the application run. What we put is "Avoid() whatever = new Avoid();" and under it, "whatever. runAsApplication();". That says "whatever" is to be run as an application. Actually, you can put anything after the first "Avoid()" that doesn't exist(if it does, NetBeans will underline it in red) and it will still work. Just change the "whatever. runAsApplication();" to " ' what you put after Avoid()'.runAsApplication();". You can now notice that most lines end in a semi-colon. Every line that doesn't end with a curly brace has to end in a semi-colon. FANG provides us with a, something that the game looks at when running, that creates everything that exist before the game starts. This method is called setup. Because FANG already created it, we need to override it with new code. Somewhere under public class Avoid, place "@Override public void setup() {" and press enter. @Override tells NetBeans that we are overriding the method after it with new code. public vid setup() is the methods signature. A signature consist of the access level (public), what it returns(void)(which means nothing) and the name of the method followed by parenthesis(setup()). Sometimes there are parameters, things that you type in or FANG gives when using this method, in the parenthesis (e.g. advance(double secondsSinceLastCall) advance always has a double followed by a name. FANG give secondsSinceLastCall the amount of seconds since the game has started). Your code should now look like this (you can remove all the comments if you want. they are only needed if you want others to read your code correctly): /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package javaapplication15; import fang.*; /** * * @author Samuel */ public class Avoid extends Game { @Override public void setup() { } /** * @param args the command line arguments */ public static void main(String[] args) { Avoid whatever = new Avoid(); whatever. runAsApplication(); } }. Things that you see in 2D games are sprites (the ones that are not the background). FANG, being a game engine, gives you classes that you can have to create sprites (e.g. RectangleSprite creates a rectangular sprite). First, I should tell you what game we are making. We are making a game where you are trying to avoid a falling object. If you move out of line, it corrects its trajectory slowly. This sounds complicated, but with FANG helping us, it is very easy. We will make a green square that the player controls and a red circle that is falling. To make the square, the following must be placed between the two curly braces after setup (the comments just help you understand what the code does): //creates a RectangleSprite called controled with a height of a tenth of a screen //and width of a tenth of a screen controled = new RectangleSprite(0.1, 0.1); //places the sprite controled on the bottom center of the screen controlled. setLocation(0.5, 0.9); //makes the color of controlled green controlled. setColor(getColor(“green”)); //adds the sprite to the screen addSprite(controlled); //creates a OvalSprite called falls that is 0.1 screends in diammaters falls = new OvalSprite(0.1, 0.1); //places the sprite falls on the top of the screen at a random location falls. setLocation(randomDouble(), 0.0); //makes falls red falls. setColor(getColor(“red”)); //adds falls to the screen addSprite(falls); . And this must be put before setup: private RectangleSprite controlled; private OvalSprite falls; It is very long but simple. To see what has changed, press F6. If there are any problems, the code should look like this: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package javaapplication15; import fang.*; /** * * @author Samuel */ public class Avoid extends Game { private RectangleSprite controlled; private OvalSprite falls; @Override public void setup() { controlled = new RectangleSprite(0.1, 0.1); controlled. setLocation(0.5, 0.9); controlled. setColor(getColor("green")); addSprite(controlled); falls = new OvalSprite(0.1, 0.1); falls. setLocation(randomDouble(), 0.0); falls. setColor(getColor("red")); addSprite(falls); } /** * @param args the command line arguments */ public static void main(String[] args) { Avoid whatever = new Avoid(); whatever. runAsApplication(); } } . Since this guide is getting long, I won’t be providing any more comments. Add this outside of setup: @Override public void advance(double secondsSinceLastCall) { Location2D place = getMouse2D(); if (place != null) { controlled. setX(place. getX()); } if (falls. intersects(controlled)) { falls. setLocation(randomDouble(), 0.0); } if (falls. getY() <= 1.0) { falls. setLocation(randomDouble(), 0.0); } falls. translateY(0.33 * secondsSinceLastCall); if (falls. getX() < controlled. getX()) { falls. translateX(0.05 * secondsSinceLastCall); } if (falls. getX() > controlled. getX()) { falls. translateX(- 0.05 * secondsSinceLastCall); } } . That makes the green square follow the x position of your mouse, makes the red circle fall, and if the circle hits you or reaches the ground it teleports to the top. This game is simple because it only has two things, a player controlled square and a computer controlled circle. There is no score but the circle does try to follow you. FANG can be used for things like breakout or RPGs. To find out more, go to fangengine.org and look at the programs and tutorials. | ||
| ||