Login

Fancade Wiki

Add pages from old wiki

... ...
@@ -0,0 +1,5 @@
1
2
while selecting an inspect block there'll be an option to activate "Advanced". While playing, if activated, a button with the same color as the value of the variable will appear in the bottom right, clicking it will show the value of the variable in real time on the right part of the screen. It will also show the percentage of objects, scripts, and blocks.
3
4
[[/uploads/Screenshot_20200819_212153_com.martinmagni.fancade.jpg]]
5
[[/uploads/Screenshot_20200819_212231.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,19 @@
1
The Arcade tab is where you can discover new games every day! It has a number of headings:
2
3
#### Favorites
4
Whenever you tap the Favorite button on a game, it appears here. It's a convenient way to bookmark games you like and want to play again. Even works offline!
5
6
#### Featured
7
These are the best of the best, a list of games hand-picked by [[Martin|Martin Magni]] because they're all worth playing, and show off what can be accomplished in Fancade. Here's how *you* can [[get your game featured|How to get your game featured]]!
8
9
#### Search
10
Use the search feature to find games! You can search by either the name of the game or the creator's name. You can also search games on your browser here: [[fancade.com/search/|https://www.fancade.com/search/]]
11
12
#### Popular
13
An automatic list of games other users are currently playing and liking. (The exact ranking algorithm is a work in progress.)
14
15
#### Categories
16
List all games with a specific tag. But the most important button is New, where you'll see every game and every update, listed newest first.
17
18
#### Linked
19
Whenever you click a game link, in [[search|https://www.fancade.com/search/]] or as shared on social media, the game box will appear here.
... ...
@@ -0,0 +1,4 @@
1
- Arindam made [[Alphabates|https://fancade.page.link/?ibi=com%2Emartinmagni%2Efancade&isi=1280404080&apn=com%2Emartinmagni%2Efancade&link=http%3A%2F%2Fwww%2Efancade%2Ecom%2Fgames%2F5E15FA6CDFCA81CC]]
2
- Pi made [[Font|https://fancade.page.link/?ibi=com%2Emartinmagni%2Efancade&isi=1280404080&apn=com%2Emartinmagni%2Efancade&link=http%3A%2F%2Fwww%2Efancade%2Ecom%2Fgames%2F5CE9DF2359C27D28]]
3
- Sawdust made [[Font Blocks|https://fancade.page.link/?ibi=com%2Emartinmagni%2Efancade&isi=1280404080&apn=com%2Emartinmagni%2Efancade&link=http%3A%2F%2Fwww%2Efancade%2Ecom%2Fgames%2F5B41FACA5C3DC7C1]]
4
- James1236 made [[Letters Kit|https://fancade.page.link/?ibi=com%2Emartinmagni%2Efancade&isi=1280404080&apn=com%2Emartinmagni%2Efancade&link=http%3A%2F%2Fwww%2Efancade%2Ecom%2Fgames%2F5E594B8D97C3BD8C]]
... ...
@@ -0,0 +1,3 @@
1
Outputs True if both inputs are True.
2
3
[[/uploads/And.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Remove the negation sign of the input number.
2
3
[[/uploads/Abs.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Outputs the tilt direction of the device. When placed, makes the screen orientation unchangeable during gameplay.
2
3
[[/uploads/Accelerometer.PNG]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Creates a new constraint between two physics objects. You probably only want to do this once, [[on Play|Play Sensor]].
2
3
[[/uploads/Addconstraint.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Adds force and/or torque to an object.
2
3
[[/uploads/Addforce.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Outputs the sum of the two input [[numbers|Number]].
2
3
[[/uploads/Plus.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Sums each vector component individually.
2
3
[[/uploads/Plus_Vector.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Changes a constraint's angular limits. Set the lower limit higher than the upper limit for completely un-limited movement.
2
3
[[/uploads/Angularlimits.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Makes the constraint rotate. Use Force `0,0,0` to disable the motor again.
2
3
[[/uploads/Angularmotor.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
[[Linear Spring]] but for rotational movement.
2
3
[[/uploads/Angularspring.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Outputs a rotation of some degrees around a vector axis.
2
3
[[/uploads/Axis_Angle.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,5 @@
1
Executes the output only when generating the screenshot you see on the game's box.
2
3
Note: the script block must be placed in the bottom so it overrides any previously [[Set Camera]]s.
4
5
[[/uploads/Boxartsensor.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Extracts X,Y,Z angles (in degrees) from one rotation.
2
3
[[/uploads/Break_Rotation.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Converts one vector into three numbers.
2
3
[[/uploads/Break_Vector.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
rounds a number up to the closest integer (1.33 to 2)
2
3
[[/uploads/Ceiling.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,5 @@
1
Triggers whenever a physics object collides with another object.
2
3
it outputs the object it collided with as `2nd object`.
4
5
[[/uploads/Collision.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,7 @@
1
Combines two rotations into one.
2
3
Note: the operation is not commutative, which means that changing the order of the Rotations does change the result.
4
5
[[https://cdn.discordapp.com/attachments/544763659625168897/649891191089004554/Screenshot_2019-11-29-13-33-03-868_com.martinmagni.fancade.png]]
6
7
[[/uploads/Combine.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Use these to make notes that help explain your script to others, and your future self. (Comments, like all script blocks, only show up in build mode, so you can't use these to communicate with players of your game.)
2
3
[[/uploads/screenshot2.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Compute cosine of an angle in degrees.
2
3
[[/uploads/Cos.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,4 @@
1
Creates a copy of the input object. (Note that due to technical limitations, the object's scripts will not be copied. Fixing this is on my todo list!)
2
Making *too* many objects will affect performance negatively, so clone responsibly. And if you try to make more than 4096 objects you'll be punished with a "Too many objects" error message. It's for your own protection.
3
4
[[/uploads/Createobject.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Destroys an object. Note that this only works for objects you've previously created with [[Create Object]]!
2
3
[[/uploads/Destroyobject.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Computes the distance between two points.
2
3
[[/uploads/Distance.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Outputs the first input divided by the second input.
2
3
[[/uploads/Divide.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Outputs True if the two inputs are equal.
2
3
[[/uploads/Equal_Number.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Outputs `False`.
2
3
[[/uploads/False.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Rounds down to nearest integer I.e.(1.532 to 1)
2
3
[[/uploads/Floor.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,4 @@
1
Given an object, outputs its position and rotation.
2
If you leave the input un-wired, outputs the position of the block itself, which is useful if you place it inside another block.
3
4
[[/uploads/Getposition.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,9 @@
1
Outputs the size of an objects as min and max.
2
If the inputs are left unwired, outputs the size of the world.
3
4
By default, the Get Size block outputs the volumetric size of an object. To get the geometric size of an object use this simple method.
5
6
[[/uploads/Screenshot_20191230_135947_com.martinmagni.fancade.png]]
7
[[/uploads/Screenshot_20191230_140014_com.martinmagni.fancade.png]]
8
[[/uploads/Screenshot_20191230_135920_com.martinmagni.fancade.png]]
9
[[/uploads/IMG_20200217_093232.JPG]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Outputs a physical object's current speed and angular speed.
2
3
[[/uploads/Getvelocity.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Outputs True if the first number is greater than the second.
2
3
[[/uploads/Greater_Than.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Checks whether the input is True or False and executes the corresponding output.
2
3
[[/uploads/If.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Displays the value given to the input, allowing you to inspect values.
2
3
[[/uploads/image01.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
If the input rotates 45 degrees around X then the output will rotate -45 degrees.
2
3
[[/uploads/Inverse.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Linearly interpolates between two rotations.
2
3
[[/uploads/Lerp.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Outputs True if the first number is smaller than the second.
2
3
[[/uploads/Less_Than.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,7 @@
1
Finds the point at which a line intersects a plane.
2
3
Plane point: A position in the plane.
4
5
Plane normal: A vector that is perpendicular to that plane (the direction the plane is pointing at, the angle of the plane)
6
7
[[/uploads/Line_VS_Plane.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Changes a constraint's linear limits. Set the lower limit higher than the upper limit for completely un-limited movement.
2
3
[[/uploads/Linearlimits.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Makes the constraint move. Use Force `0,0,0` to disable the motor again.
2
3
[[/uploads/Linearmotor.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Makes the constraint springy, like a car's suspension.
2
3
[[/uploads/Linearspring.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Gets a value stored in a list, with index starting from 0 (max 1,048,575). The output can also wired to [[Set Reference]] to store a value in a list.
2
3
[[/uploads/Listelement.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,5 @@
1
Given an input Direction, output a Rotation, as if you were standing at 0,0,0 and turned your head to look in that direction.
2
3
You can usually ignore the second Up input, and it'll default to 0,1,0. But if the look direction is in the same plane, you'll get weird rotation outputs, and need to provide an Up input that's orthogonal to looking plane.
4
5
[[/uploads/Look_Rotation.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Triggers the lose animation and dialog.
2
3
[[/uploads/Lose.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Combines X,Y,Z angles (in degrees) into one rotation (applied in Y,X,Z order).
2
3
[[/uploads/Make_Rotation.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Converts three numbers into one vector.
2
3
[[/uploads/Make_Vector.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Outputs the bigger input.
2
3
[[/uploads/Max.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Outputs the smaller input.
2
3
[[/uploads/Min.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Computes the division remainder.
2
3
[[/uploads/Modulo.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Outputs the product of the two input numbers.
2
3
[[/uploads/Multiply.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Turns True into False, and vice versa.
2
3
[[/uploads/Not.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,4 @@
1
Negates a number.
2
I.e. (4 into -4), (-7 to 7)
3
4
[[/uploads/negate.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,17 @@
1
The Number block outputs a given value.
2
3
To change the value of the number block, select the block, then tap the button right below the open inventory button, in the bottom right corner.
4
5
![[Changing the value of a number block|https://cdn.discordapp.com/attachments/759791330016100352/759807481693339658/ChangeValue.png]]
6
7
This will open up the keypad, which you can use to change the value that the number script block will output.
8
9
# Numbers
10
The number is the most common data type. Numbers are represented by blue wires.
11
12
Numbers are stored as [[32-bit floats|https://en.wikipedia.org/wiki/Single-precision_floating-point_format]].
13
This gives numbers a maximum value of **340,282,346,638,528,859,811,704,183,484,516,925,440**. Likewise, their minimum value is the negative of that.
14
15
Numbers have about 7 digits of precision. This means that numbers with 8 digits or more may begin to give slightly inaccurate results, e.g. when [[adding|Add]] numbers together. The margin of error is usually tiny, but gets larger the more digits you have.
16
17
[[/uploads/Number.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Outputs True if either input is True.
2
3
[[/uploads/Or.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
A block with no collider, thus cannot be detected with a [[Raycast]].
2
3
[[/uploads/PassThrough.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Executes the scripts connected to it only once when the level starts
2
3
[[/uploads/Playsensor.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,5 @@
1
Plays a sound effect, with optional volume and pitch inputs. Use its settings to choose which sound to play. You can also loop the sound, in which case it'll just keep on playing.
2
3
The max pitch is 4
4
5
[[/uploads/Playsound.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Raise a number to the power of an exponent.
2
3
[[/uploads/Power.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,8 @@
1
Set the random seed. (Use this if you want the same random numbers
2
each time.)
3
4
When you generate random numbers with random, you will get different numbers each play cause the seed changes. A seed is a number that the random function uses to generate the values.
5
6
So if you want to get the same sequence of random numbers, set a seed on play.
7
8
[[/uploads/Random_Seed.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,5 @@
1
Outputs a random number in the [Min,Max) interval.
2
Includes min value and excludes max value.
3
I.e. Random(0,1), can get 0 and all numbers between 0 and 1, but not 1.
4
5
[[/uploads/Random.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,5 @@
1
Traces a line between two points and outputs [[True]] if the line hits anything, the position of intersection, and the object it hit. (Think of it as a laser, you stand in the starting position and shoot a laser to the end position.)
2
3
Note that Raycast detects when the line hits the outside surface of a block. If the line starts *inside* the block then it will not hit that block when going out. Also, it won't detect an object that has been created in the same frame, you have to wait 1 frame after creating the object for Raycast to detect it.
4
5
[[/uploads/Raycast.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Rotates vector by a rotation.
2
3
[[/uploads/Rotate_Vector.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
A rotation with X,Y,Z degree angles (applied in Y,X,Z order).
2
3
[[/uploads/Rotation.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Rounds number to the closest integer.
2
3
[[/uploads/Round.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Scales vector by a number.
2
3
[[/uploads/Scale.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Outputs the width(x) and height(y) of the screen in pixels.
2
3
[[/uploads/Screensize.PNG]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,5 @@
1
Given a screen coordinate, outputs the start and end points of a line going through that point. That might sound weird, but usually you'll just wire those points into a [[Raycast]] to find the object the user tapped!
2
3
(Due to a technical issue, still to be fixed, the output lags by one frame. I.e. if you [[Set Camera]] on frame N then this block's output will change on frame N+1.)
4
5
[[/uploads/Screen_To_World.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,5 @@
1
Changes how much momentum a physics object looses when bouncing. Use 0 for a complete stop and 1 for a perfect bounce.
2
3
You must also set bouncinness to the object you want it to bounce from.
4
5
[[/uploads/Setbounciness.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Sets the position, rotation (angle) and zoom of the game camera.
2
3
[[/uploads/Setcamera.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Changes the friction of a physics object.
2
3
[[/uploads/Setfriction.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Sets the direction in which any physics objects falls. (Gravity defaults to 0,-9.8,0 if not set.)
2
3
[[/uploads/Setgravity.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,9 @@
1
Changes the direction that light falls onto your blocks. (Ignore the Position input, it's not currently used for anything.)
2
3
Tip of the day, by Potato Chan: If your game is in a top-down view that doesn't need shadows, there are 2 ways to remove them:
4
1. Set the light angle to the same as the camera angle.
5
2. Set Camera with a very high Y.
6
7
[[https://cdn.discordapp.com/attachments/409219534231437323/678600485321834506/Polish_20200216_215129494.jpg]]
8
9
[[/uploads/Setlight.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Restricts a physical object's movement. 0 means completely locked and 1 means free-to-move. E.g. passing `1,0,1` to the Position input will lock an object in the X/Z plane, and passing `0,0,1` to the Rotation input will only allow it to rotate around the Z axis.
2
3
[[/uploads/Setlocked.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Change the weight of a physics object. (Else mass defaults to the object's volume.)
2
3
[[/uploads/Setmass.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Sets the position and rotation of a given object.
2
3
[[/uploads/Setposition.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Like [[Set Variable]], but with an additional input for the variable to store the value in. This enables you to store a variable in a [[List Element]], or make custom script blocks that modify variables.
2
3
[[/uploads/Setreference.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,15 @@
1
Sets the score.
2
3
There is a setting that determines which score to consider as better one.
4
5
* Most Points: the more points the better
6
* Fewest Points: the less points the better
7
8
You also can provide time score, just make sure that the input is a total amount of seconds and you selected one of these options:
9
10
* Fastest Time: the faster the better
11
* Longest Time: the longer the better
12
13
Setting a negative score removes the score.
14
15
[[/uploads/Setscore.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Remembers the input value. Change the variables name to something descriptive.
2
3
[[/uploads/Set_Variable.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Instantaneously sets a physical object's speed (units/second) and angular speed (degrees/second). This should be used sparingly. No real object can instantaneously change its velocity, and simulated objects may behave weirdly when forced to do so.
2
3
[[/uploads/Setvelocity.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Turns any object invisible.
2
3
[[/uploads/Setvisible.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Compute sine of an angle in degrees.
2
3
[[/uploads/Sin.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Stops that sound you just played in an endless loop! Just pass in the same Channel as Play Sound outputted.
2
3
[[/uploads/Stopsound.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Outputs the first input subtracted by the second input.
2
3
[[/uploads/Minus.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Subtracts each vector component individually.
2
3
[[/uploads/Minus_Vector.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Executes the output when user performs a swipe gesture. Also, outputs a vector of the swipe direction in the floor plane. (You can implement other custom swipe gestures using the [[Touch Sensor]].)
2
3
[[/uploads/Swipesensor.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,15 @@
1
Executes the output when user touches the screen. It'll also output the screen coordinates of that tap. And there's a setting to toggle whether to trigger throughout the touch, or only at the start or end of it.
2
3
They can be changed by selecting the touch sensor and tapping the buttons that appear in the bottom right corner.
4
5
[[https://cdn.discordapp.com/attachments/464440459410800644/608634005411201024/image0.png]]
6
7
The first button has three options:
8
9
* Touching: The touch sensor will trigger every frame when your finger is touching the screen
10
* Begins: The touch sensor will trigger once when you begin touching
11
* Ends: The touch sensor will trigger once when you stop touching
12
13
The second button changes how many fingers have to be touching the screen to trigger the touch sensor.
14
15
[[/uploads/Touchsensor.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Outputs `True`.
2
3
[[/uploads/True.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Gets the value that was previously remembered by a [[Set Variable]] with the same name.
2
3
[[/uploads/Get_Variable.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Three numbers in one wire! You'll use this for X,Y,Z positions and directions.
2
3
[[/uploads/Vector.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Sets volume and pitch-shifts a playing sound.
2
3
[[/uploads/Volumepitch.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Triggers the win animation and dialog.
2
3
[[/uploads/Win.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Given a world coordinate, outputs its screen coordinates.
2
3
[[/uploads/World_To_Screen.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,7 @@
1
The Build tab is what makes Fancade so unique. All those games you've been playing were made *with* the app! And you can use the built-in drag-n-drop tools to make your own games too!
2
3
The [[video tutorials|Are there any video tutorials?]] will help you get started. Then try editing one of the pre-made games in the [[Kits]] heading. Once you get the hang of the editor you may decide to create entirely new game mechanics with the [[Visual Scripting]] blocks!
4
5
Here are some frequently asked questions on editing:
6
7
<<Navigation("Build", "Build", true)>>
... ...
@@ -0,0 +1,54 @@
1
Why yes!
2
3
Gunnel Magnusson has a whole YouTube channel full of videos on the simplest way to get started making games using kits:
4
5
1. [[Edit, paint a block, remove a level, rename a game, publish a game|https://youtu.be/02eFv8x-1zM]]
6
2. [[Make a new level, change background color, copy a level, update a game|https://youtu.be/orNp6JcaH7E]]
7
3. [[Select block, repaint a block, remove a block, copy a block|https://youtu.be/hdSeSRRhNSk]]
8
4. [[Select many blocks, take the copy and paste, multiply a chair|https://youtu.be/0aY6YcvS32Y]]
9
5. [[Change a block to a window, a chair and a picture|https://youtu.be/k5Dfw6fNKOU]]
10
6. [[Search games, ”can edit anything” use blocks from other creators|https://youtu.be/-ipTrfwlOvo]]
11
7. [[Ask for help, Discord server|https://youtu.be/E_H4RMNG5V8]]
12
8. [[Fixel kit, follow the instructions|https://youtu.be/OXVJKCQg_CE]]
13
9. [[Search Fixel games|https://youtu.be/00ZgD1uJnhg]]
14
10. [[Name of blocks, glue|https://youtu.be/q_7NrntdBjI]]
15
11. [[Search Hole games|https://youtu.be/73IHQyqplEk]]
16
12. [[Look inside a scriptblock, copy and paste blocks|https://youtu.be/zB3jJ7bx01c]]
17
13. [[Use blocks made by other creators, rotade a block, use two scriptblocks: set position and rotation|https://youtu.be/fMHG7AuY4a0]]
18
14. [[Move a whole building from one game to another!|https://youtu.be/PVSX9WpRp-I]]
19
20
Mathias Elgaard made an entire YouTube tutorial series introducing Fancade scripting:
21
22
1. [[Values and Variables|https://www.youtube.com/watch?v=lfNfdQop_AM]]
23
2. [[Basic Math|https://www.youtube.com/watch?v=XPBCxDPFICY]]
24
3. [[Control Wires|https://www.youtube.com/watch?v=yo6probkZ90]]
25
4. [[If Statements|https://www.youtube.com/watch?v=Tmyq9XaAYZo]]
26
5. [[Loops|https://www.youtube.com/watch?v=kBmBLMHqlK0]]
27
6. [[Moving and Rotating Objects|https://www.youtube.com/watch?v=Lz7MzZzqv-o]]
28
7. [[Creating and Destroying Objects|https://www.youtube.com/watch?v=oKv-hn6hqPk]]
29
8. [[Camera and Light|https://www.youtube.com/watch?v=Vn1GQM9h3ws]]
30
9. [[Lists|https://www.youtube.com/watch?v=IkbcKKv3Sxo]]
31
32
Martin made a video showing how you can make an entirely new game from scratch:
33
34
* [[How to Make a Game From Scratch in 20 Minutes Using Fancade|https://www.youtube.com/watch?v=hAlUGmw1Qlw]]
35
36
Spolarium made several tutorials on how to make games from scratch:
37
38
* [[How to Make Fall Off in Fancade|https://youtu.be/OQBh929XKRE]]
39
* [[How to make Pong in Fancade|https://youtu.be/UD4oBmXBbGo]]
40
* [[How to make Simon in Fancade|https://youtu.be/9uy7iL4hthc]]
41
* [[How to Make Snake in Fancade|https://youtu.be/iUS9K5nS_wE]]
42
43
Olle Landin made a video for those who're used to *writing* code:
44
45
* [[Quickstart for Programmers|https://www.youtube.com/watch?v=66MH38v8qSw]]
46
47
JoshuaTNTGamer made several video tutorials:
48
49
* [[Long Tap Sensor Tutorial|https://youtu.be/lpwbqtgVwwE]]
50
* [[How to make a Duet Game|https://youtu.be/AsQJw3uCFo4]]
51
52
Benjamin Mathew made a tutorial on physics script blocks:
53
54
* [[Physics Basics|https://youtu.be/M2V7chbO4Pc]]
... ...
@@ -0,0 +1 @@
1
Not directly, but here's a workaround. Make a new custom block and place the blocks you want to copy inside it. In the destination level or game, fetch the custom block from the inventory, open it, and drag the copied blocks out!
... ...
@@ -0,0 +1,2 @@
1
2
You can't change the editing option If you've used any blocks or scripts from a `can edit levels` game.
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
All these objects have been moved into their own game/kit, check this tab and you'll find them all.
2
3
[[/uploads/Screenshot_20200213_175739.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,4 @@
1
2
The camera will "lock" into place if you have a script/block selected, preventing it from moving or a jarring motion when trying to move the camera.
3
4
Just tap on an empty space to de-select
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,11 @@
1
-None
2
With this option no one will be able to edit your game at all.
3
4
-Levels
5
Users will be able to edit your game with some limitations.
6
They can use the scripts and objects in it in their own games, see and edit the scripting that has been made on the "floor" layer however they won't be able to open any of the scripts nor edit any of the blocks.
7
8
This option is commonly used to make kits.
9
10
-All
11
Users will be able to see, use, and edit everything in your game.
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,10 @@
1
1. Watch the [[tutorials|https://www.fancade.com/wiki/are_there_any_video_tutorials]] and go through the tutorial levels in Fancade.
2
3
2. Look through the tutorial game made by Martin:
4
https://fancade.page.link/qZPM
5
6
3. Check games and scripts made by other users.
7
8
4. Use the [[wiki|https://www.fancade.com/wiki]] to check on what each block does and faqs.
9
10
And if you still have questions, ask for help in our [[Fancade server|https://discord.gg/P8VHwVq]].
... ...
@@ -0,0 +1,3 @@
1
To delete a custom block permanently, first make sure there are no copies of the block/script in the world or inside any other block. Then grab the block you want to delete and drag it, you should see a red X appear in the bottom right corner, drag the block there and it'll get deleted.
2
3
[[/uploads/Screenshot_20190901_075455_com.martinmagni.fancade.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Drag out a pink [[Set Variable]] and attach it to the block. Then repeatedly move the Set Variable, and pan the screen, until the target port is on-screen. Pan back, select the block, pan to target port, and move the wire to the target.
2
3
(Is this convenient? No. Are improvements planned? Yes!)
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
The inventory's Gadget folder has a Box and a Ball block with physics. You can make new custom blocks based on them, and any object that has at least one physics block will get physics as soon as you tap Play.
2
3
In addition, physics script blocks will add physics to the object, if it wasn't already physical. You can use this to make an object physical even after the game already started playing. E.g. Add Force with an object and a `0,0,0` Force input will make that object physical while having no other effect.
... ...
@@ -0,0 +1,3 @@
1
Select a block, and tap the pencil near the bottom right corner, and then tap OK to confirm. Now you can edit the block however you like using the voxel editor. Check out this [[video tutorial|https://youtu.be/paveF5BdDnc]] showing how each of the tools work!
2
3
[[/uploads/image0.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1 @@
1
There's currently no way to rotate blocks in build-mode. (Maybe in the future? It's a commonly requested feature!) If you *must* have a block with multiple rotations, you'll have to make multiple blocks. An alternative is to rotate the object in play-mode, using [[Set Position]].
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,7 @@
1
Blocks placed next to each other automatically group into a single larger object. This is great for static things, such as a level, which will get nice shading (ambient occlusion) and draw efficiently to keep your game running smoothly.
2
3
For moving things, you probably do *not* want them to glue to nearby blocks. E.g. if you use script to move a character, and it has glued to the level, the entire level will move too! So you want to remove the glue from the character block's sides. Select the block, tap the Pencil button ✏️ and then tap on a LEGO brick button. See those white dots? Just tap on them and they will disappear, making blocks around unable to stick to your custom block.
4
5
Removing glue dots requires editing the block. In case you have complex moving shapes, and do not want to make a lot of custom blocks with various glue sides, another method is to build the whole moving object off to the side, so its blocks don't directly touch e.g. the level blocks. Then use script to move it into place on Play, it'll happen before the first frame is drawn, so completely unnoticeable to the player.
6
7
<<Video("/uploads/20190726_001748.mp4")>>
... ...
\ No newline at end of file
... ...
@@ -0,0 +1 @@
1
Four.
... ...
\ No newline at end of file
... ...
@@ -0,0 +1 @@
1
There is no a built-in and convenient way to do it yet. But a workaround is: create a new game, move the custom block from your WIP project to the game you've just created, place it anywhere on floor, quit it, open the game you have been working on and pick the copy from the temporary game. That's all, you have two copies and editing one doesn't have an effect on another!
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,18 @@
1
You've made a game? Awesome! You want it to be listed in Featured so that many more people can play and enjoy it? Cool! The games are hand-picked, but there are many things you can do to increase your chances of being selected.
2
3
First, there are some things to avoid, which shouldn't be too hard:
4
5
- No copyright violations (E.g. don't copy sprites or levels from some other game.)
6
- No game collections (E.g. don't make the first level Floppy Fish and the second level Tumble. Focus on one game and let *Fancade* be the *collection* of games.)
7
- No orientation lock (E.g. don't force the player to use landscape mode. If they want to play in portrait mode, despite the game working best in landscape, then let them.)
8
- No box art level (E.g. don't make the first level just a pretty picture, learn to use the [[Box Art Sensor]] instead.)
9
- No impossible difficulty (E.g. if your game has "hard", "impossible", or "kaizo" in the title, then it's probably too hard for most users, and unlikely to be featured.)
10
11
Then, the interesting things you *should* do, which are probably harder, but oh so worthwhile:
12
13
- Simple controls (E.g. one-tap, swipe, and drag all work well on touch screens. There are many other options, but try to make it clear what the player is supposed to do.)
14
- Easy difficulty (We all underestimate how hard others will think our games are. Start super easy! Gradually increase difficulty in later levels.)
15
- Make it look good (Use Fancade's strengths, colorful blocky low res art. That art style was chosen so that those of us who're not pro artists can still make something simple look OK.)
16
- Add enough content (Fancade games can be very short, because there's thousands of other games to move onto! But it won't get featured if it's just one level that can be completed in a few seconds.)
17
18
If your game manages to achieve many of these, then it's probably also fun to play! That's easier said than done, but most games in Featured have gotten help via our [[Discord]], with play testing and helpful suggestions. Yours can too!
... ...
@@ -0,0 +1,4 @@
1
Unglue each step from each other so they are treated as their own block.
2
3
[[/uploads/Screenshot_20200131-133512.png]]
4
[[/uploads/Screenshot_2020-02-01-02-45-35-463_com.google.android.keep.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
There's no set limit to the number of blocks you can add. But don't make your levels larger than necessary. More blocks means less performance, and not everyone has a high-end phone to play your game on.
2
3
There *is* a limit to the number of custom block types you can create in a single game. The exact number depends on technical details, but the same principle applies, don't make more than necessary. Can the same block be used again? Can you split a multi-block and reuse parts of it? Can you make your game on a smaller scale?
... ...
@@ -0,0 +1 @@
1
Blocks have size 1 and consist of 8x8x8 voxels, which means each voxel is 1 / 8 = 0.125.
... ...
@@ -0,0 +1 @@
1
100.
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,8 @@
1
Here are the most common mobile screen aspect ratios in [[2019|https://deviceatlas.com/blog/most-used-smartphone-screen-resolutions#us]]:
2
3
- 16:9 (1.78) 69.12%
4
- 18.5:9 (2.06) 8.96%
5
- 19.5:9 (2.17) 4.56%
6
- 2:1 (2.0) 3.10%
7
8
This means, if your game is 10 blocks wide, 86% of users will fit at least 18 blocks high, and max 22 blocks. Presumably some of the other 14% are on tablets with a 4:3 (1.33) aspect ratio, only seeing 13 blocks high.
... ...
@@ -0,0 +1,3 @@
1
There are two white arrows on the floor. The one that points up/right is *X*, up/left is *Z*, and *Y* goes straight up. The point where the arrows start is `0,0,0`.
2
3
[[/uploads/Screenshot_20200323-153506.jpeg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,5 @@
1
Many characters have a pink wire from the block to a script [[Set Variable]]. If you remove the voxel the wire is attached to, the wire is removed too.
2
3
To fix it, open the block and see if there's a pink [[Set Variable]] that seems oddly disconnected. If so, drag to connect it to the block, and check if it works!
4
5
(If this didn't work, try asking the game's original creator for help on Discord!)
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,12 @@
1
[[Visit Fancade's Discord server|https://discord.gg/P8VHwVq]] to hang out and chat with other Fancade players and creators! It's the most active community of "Fancaders", and with good reason:
2
3
- We showcase games and often get super helpful feedback from play testing.
4
- Leaderboards don't yet exist in-app, but our Discord already have them. Submit your high scores for any Fancade games and compete to become the Number 1!
5
- You can learn *so much* from talking about scripting and game design.
6
- Suggest features and report bugs, and help make Fancade even better.
7
- Get to know the other creators, no reason, it's just fun!
8
- Oh, and we have an entire chat channel dedicated to Fancade memes. :D
9
10
What's "Discord" anyway? Basically, just a text chat service, which you can access via the web page or the Discord app. But it's really well made, and has become extremely popular, especially for chatting about games.
11
12
I remember being a bit overwhelmed the first time I visited, and worried that it had started some kind of voice chat on my microphone. Don't worry, the mic is off, and you don't need to type anything either. Just browse around our text "channels" to see what others are talking about, until you feel comfortable to say "Hi." :)
... ...
@@ -0,0 +1,4 @@
1
Outputs True if the two input objects are equal.
2
Since object inputs default to None, just leave the second input empty to check if the first input is None.
3
4
[[/uploads/Equal_Object.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Outputs True if the two inputs are both True or both False.
2
3
[[/uploads/Equal_Truth.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Outputs True if the two input vectors are equal.
2
3
[[/uploads/Equal_Vector.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,48 @@
1
Notes:
2
- May not be completely accurate, they were color picked form a screenshot of the palette
3
4
Light brown: DB9191
5
Brown: BB677A
6
Dark brown: 904F5A
7
8
Light tan: FFE3E3
9
Tan: FFCAB8
10
Dark tan: F6ABA0
11
12
Light purple: AB86FF
13
Purple: 896BD6
14
Dark purple: 6650A0
15
16
Light pink: FFB3E4
17
Pink: FF90CA
18
Dark pink: E66CA7
19
20
Light red: FF9696
21
Red: FF4865
22
Dark red: BB344D
23
24
Light orange: FFA37D
25
Orange: FF6C50
26
Dark orange: C94E3E
27
28
Light yellow: FFFF75
29
Yellow: FFCE00
30
Dark yellow: E9A300
31
32
Light green: ABFF68
33
Green: 3FBB4A
34
Dark green: 00864A
35
36
Light blue: 00C2FF
37
Blue: 008CFF
38
Dark blue: 0069D6
39
40
White: FEFFFF
41
Gray 1: DDE0F1
42
Gray 2: 888CA0
43
44
Gray 3: 606278
45
Gray 4: 3C3C50
46
Black: 1C1C28
47
48
[[/uploads/Screenshot_20200321_204514_com.martinmagni.fancade_1.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,2 @@
1
It can take up to 48 hours for a game to be searchable
2
And there's currently a bug in fanbot that makes some games not searchable.
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,8 @@
1
# How to Play
2
Tap the right side of the screen to drive. Tap the left side of the screen to brake and reverse. Careful, if you land the car upside down it'll break!
3
4
# Let's Play
5
* [[Level 1-5|https://youtu.be/T5R3MI8uqPA]]
6
* [[Level 6-9|https://youtu.be/MTeGiD9ch6M]]
7
* [[Level 10-13|https://youtu.be/823raN05irg]]
8
* [[Level 14-15|https://youtu.be/w7zNGCSaTfY]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,18 @@
1
# How to Play
2
Your goal is to get the cute little robot, called Odd, to the spinning golden cube.
3
Tap the white square dots to walk. Drag the white rectangles to move sliders and elevators. Swipe anywhere else to rotate the view.
4
![[Odd Bot|https://cdn.discordapp.com/attachments/608689686134784000/674556307839123464/Wiki.001.png]]
5
6
# Hints
7
Level 13. Odd can carry Car!
8
9
# Solutions
10
* [[Level 1-5|https://youtu.be/CXS0hIsDAoM]]
11
* [[Level 6-9|https://youtu.be/CXS0hIsDAoM?t=882]]
12
* [[Level 10-13|https://youtu.be/iY9n_QCuG74]]
13
* [[Level 14|https://youtu.be/BZwbQpJpu_k]]
14
15
# Fun Facts
16
Yes, it's *possible* to push Odd off the level, e.g. by hitting the poor little bot in the head with a giant stone slab! I considered this a neat little easter egg, but many users reported it as a bug. (Thanks for notifying me!) So I made the Game Over dialog pop up if you fall off, so it's clear you can't climb back up onto the level.
17
18
The golden cube is a reference to one of my favorite games. Can you guess which one? 🙂
... ...
@@ -0,0 +1,11 @@
1
Hello! Welcome to [[Fancade|https://www.fancade.com/]], the mobile app where you can play thousands of games, or make your own!
2
3
#### Play
4
Most users start by playing [[Quest]] and then explore the [[Arcade]]. (Get the best experience with [[Premium|You]].)
5
6
#### Build
7
What makes Fancade truly unique is that all those games were made with the app itself! And you can [[build your own games|Build]], and even [[script entirely new mechanics|Visual scripting]].
8
9
Search this wiki using the box below. If you can't find answers to your questions, visit our [[Discord chat|Discord]] for help, and to [[expand the wiki|Wiki]]!
10
11
<<GlobalTOC("All pages")>>
... ...
@@ -0,0 +1,3 @@
1
Select blocks you need to copy, then find them appearing in the most-left part of the hotbar. Drag them from there and place anywhere you want.
2
3
<<Video("/uploads/Screenrecorder-2020-06-23-23-35-02-284.mp4")>>
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
It's pretty easy to get tapped object, look at the screenshot below.
2
3
[[/uploads/IMG_20200509_001812.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Here you go:
2
3
[[/uploads/Screenshot_2020-06-23-23-24-42-333_com.martinmagni.fancade.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
1. Rename the game "Send Bug Report"
2
2. Re-open the game box
3
3. Tap the Send Bug Report button
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
If you're on Android, [[use the built-in cloud backup functionality|https://support.google.com/android/answer/2819582]] to back up your old phone to your Google account. Then, when you setup your new phone, use the option to restore from your Google account backup to sync everything over!
2
3
If you're on iOS, or don't want to use Android's cloud backup, there's no automagic Fancade sync (yet). But any game you've published can be downloaded again as editable on your new device! Just sign in to the same Fancade account. (If you don't have a Fancade account, create one on the old device, and use it on your new device.) For games that you yourself are building, you'll need to publish the games from the old device, download them on the new device, and un-publish the games again, until they're ready for release!
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Sent a message with the name of the game, score and a screenshot of your score, all in one message and make sure you spell the name of the game correctly.
2
3
Then just wait for a Fanmod to react to it so it can be added to the scores.
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,11 @@
1
2
In a discord comment write a title, the explanation, and if necessary, a screenshot of the working script in fancade, then ask a mod for it to be added to the wiki and wait for one to add it by reacting with <:wiki:603851505186897930>.
3
4
-Title, which can be either a question or statement, example
5
"how to get x of y?"
6
7
-Description, where you answer/explain how to do x thing.
8
9
-Media (optional), screenshots of the script in fancade or videos.
10
11
Check the [[wiki formatting|http://fancade.com/wiki/wiki_formatting]] for all the syntax tools
... ...
@@ -0,0 +1,6 @@
1
If the game is published, you can easily get and share a link to it using `Share` button.
2
3
Also you can visit [[Fancade game search|http://www.fancade.com/search]] web site to find a game and get the link.
4
If the game its new, it may take up to 48 hours for the game to be searchable.
5
6
[[/uploads/Screenshot_20200122_203012.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1 @@
1
Fancade is an engine written in C + OpenGL + Bullet physics.
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,28 @@
1
2
This is a Tutorial about the advanced tricks of Pivot Kit. Don't know what that is? [[Check this out|https://fancade.page.link/Rntz]]
3
[[https://imgur.com/6fPf0qF.jpg]]
4
5
At the start of the level we are moving the 7 voxels height block beneath the starting platform at very high speed *(In one frame)* to hide it from the player.
6
The small value along negative Y-axis is used to prevent some clipping flashes *(set that to 0 to see what I'm talking about)*
7
[[https://imgur.com/UsqZ4Kk.jpg]]
8
9
After that, whenever the user presses a switch, the output of that is processed by **Switch to Move**.
10
As long as the ID section of **Add Movement** is connected with the proper ID, it'll know which blocks to move. It just gets activated by the **Switch to Move** Script.
11
[[https://imgur.com/gym2BJo.jpg]]
12
13
These are some of the useful global variables in **Pivot**.
14
15
* **$You** (Vector) contains the current position of BlueCube.
16
* **$KGot** (Number) contains the amount of keys collected.
17
* **$T** (Number) contains the amount of frames passed from the start.
18
19
In the third part we are checking if BlueCube is in the proper position, and if it is we change the camera zoom and make a staircase.
20
This part shows that you are *not always stuck to switches for doing something!*
21
[[https://imgur.com/mr7fD6G.jpg]]
22
23
Code for nothing: E441297
24
25
At last we have connected the After wire of one set of **Add Movement** block to another set's before part.
26
As I said before, as long as **Add Movement** gets the proper ID it can be activated by either the **Switch to Move** block or After wire of another **Add Movement** block.
27
Here it gets activated by another Script to have a good *Staircase Building* effect.
28
[[https://imgur.com/Pe3UdWH.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,12 @@
1
List of same-screen multi-player games:
2
3
- [[Connect Four|https://fancade.page.link/rw9g]] by Stikra303
4
- [[Jenga|https://fancade.page.link/PPYY]] by Origedit ([[rules|https://en.wikipedia.org/wiki/Jenga]])
5
- [[Tic Tac Toe|https://fancade.page.link/b2sQ]] by Tzomby
6
- [[Reversi|https://fancade.page.link/JZZ7]] by Potato Chan
7
- [[Billiards|https://fancade.page.link/HrTh]] by Mathias Elgaard
8
- [[Finger Hockey|https://fancade.page.link/ZdGq]] by Djovani
9
- [[Pong|https://fancade.page.link/cZfx]] by Tzomby
10
- [[Chess|https://fancade.page.link/Mu2z]] by Tzomby (scripted moves)
11
- [[Chess|https://fancade.page.link/whWP]] by KwakWack (manual moves)
12
- [[FanChess Art|https://fancade.page.link/32Ya]] by MathTheMadTick (nice art, but no one has made a working chess game using it)
... ...
\ No newline at end of file
... ...
@@ -0,0 +1 @@
1
Martin is the creator of Fancade. You can read more about him on his [[web page|https://www.martinmagni.com/martin/]] or chat with him on our [[Discord]]. His Fancade nick name is Martin Magni and here's [[all Fancade games he published|https://www.fancade.com/search/?q=by%3AMartin%20Magni]].
... ...
@@ -0,0 +1,5 @@
1
Search has been added in Fancade android 1.2.4
2
3
~~Fun fact, all my initial Fancade design sketches had a game search tab. Then I discovered just *how difficult* search is when the data you want to search is stored somewhere else, changing in real time, and potentially very large. With great remorse I removed the search button from Fancade, hoping to add it back at a later time.
4
5
But don't despair! I've created a prototype search functionality on Fancade's web site: [[www.fancade.com/search|http://www.fancade.com/search/]]. Using "deep link" technology you should be able to open any search result in-app. It's not 100% real-time, so search results may be delayed by a day or two. But, then again, if the game you're looking for was published today, just find it in the New tab?~~
... ...
@@ -0,0 +1,12 @@
1
Quest is Fancade's story mode. You play as Odd, a cute little robot, trying to get home via a sequence of islands filled with mini-games. Each island world has 3 to 5 games, and there's already over 40 worlds and 1,000 levels to play, with more being added in app updates!
2
3
Unlocking the next world requires collecting about half of the stars. (So don't feel you need to 100% all the challenges if you don't want to.) If you still get stuck, finding a particular challenge too hard:
4
5
- Search for the game below, see if it has its own wiki page with hints
6
- Search [[YouTube|https://youtube.com/]] for e.g. "Fancade Longcat" to find walkthrough videos
7
- Ask for help on our [[Discord chat|Discord]]
8
9
Each world contains exactly 100 stars, so you can easily compare your progress with friends. But the order of games is personalized, e.g. your World 3 may not have the exact same challenges as someone else's. (If you for some reason want to reset your Quest progress, tap 20 times on the You tab to reveal the Reset Quest button. Be warned that there's no undo if you choose to reset.)
10
11
12
<<Navigation("Games", "Games", true)>>
... ...
@@ -0,0 +1,4 @@
1
2
Vector2 - vector1 into look rotation
3
4
[[/uploads/Screenshot_20191230_141533_com.martinmagni.fancade.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,21 @@
1
Some blocks have wires sticking out of them. These are *script blocks* and you script by connecting their wires to other script blocks.
2
3
When you tap Play, script blocks *execute* and do their thing. E.g. [[Set Score]] sets the current score, so if we wire the [[Number]] 3 to it, the score is set to 3.
4
5
[[https://cdn.discordapp.com/attachments/465222839327260672/620193017290293263/ex01_set_score.png]]
6
7
Blocks execute top-to-bottom, left-to-right. But you can plug in the yellow *control wires* to change the execution order. This is especially useful when you want to execute a block only some of the time. E.g. here I've wired a [[Button|https://www.fancade.com/wiki/cant_find_buttons_motors_characters]] to [[If|https://www.fancade.com/wiki/if]] to [[Win|https://www.fancade.com/wiki/win]], so when the player moves onto the button, then the game is won:
8
9
[[https://cdn.discordapp.com/attachments/465222839327260672/620193021710827531/ex02_win_if_button.png]]
10
11
There are other wire colors as well:
12
13
* **<font color="00e5ff">Blue</font>** is a number
14
* **<font color="00ee85">Green</font>** is an `X,Y,Z` vector (such as a position)
15
* **<font color="ff8543">Orange</font>** is a rotation
16
* **<font color="ff4343">Red</font>** is either [[True]] or [[False]]
17
* **<font color="ff85c8">Pink</font>** is an object
18
* **<font color="a7b1d0">Gray</font>** is a constraint
19
* **<font color="ffe043">Yellow</font>** is for execution control
20
21
That's the basics! Now, you'll probably learn a lot more by looking at some example scripts that show how to do useful game stuff. So start the app and look on the Build tab to find a game called "Tutorial". It's fully editable, so you'll be able to see and play around with each example script.
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,2 @@
1
2
<<Navigation("Blocks", "Blocks", true)>>
... ...
@@ -0,0 +1,3 @@
1
It mostly depends on your use case but here's a script that returns 1 if X = Y and 0 otherwise, without using an IF block. You can multiply the output to filter your function to only work for X = Y.
2
3
[[/uploads/Screenshot_20200221-024958_Fancade.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
It mostly depends on your use case but here's a script that returns 1 if **X > Y** and 0 otherwise, without using an IF block. You can multiply the output to filter your function to only work for **X > Y**.
2
3
[[/uploads/Screenshot_20200214-204312_Fancade.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,6 @@
1
Glad you asked! There are several options to add a virtual Gamepad to your game.
2
3
* Martin Magni has created [[Virtual Gamepad|https://fancade.page.link/?ibi=com%2Emartinmagni%2Efancade&isi=1280404080&apn=com%2Emartinmagni%2Efancade&link=https%3A%2F%2Fwww%2Efancade%2Ecom%2Fgames%2F5C56AAB7DA51D6E3]]
4
* Sounak9434 has created [[Neo Controller|https://fancade.page.link/?ibi=com%2Emartinmagni%2Efancade&isi=1280404080&apn=com%2Emartinmagni%2Efancade&link=http%3A%2F%2Fwww%2Efancade%2Ecom%2Fgames%2F5DFF622BD09A56F6]]
5
* ViChyavIn has created [[Virtual Joystick|https://fancade.page.link/?ibi=com%2Emartinmagni%2Efancade&isi=1280404080&apn=com%2Emartinmagni%2Efancade&link=http%3A%2F%2Fwww%2Efancade%2Ecom%2Fgames%2F5D6814F2F0AEFB9B]]
6
* Tim0lmazan has created [[Drag Controls|https://fancade.page.link/?ibi=com%2Emartinmagni%2Efancade&isi=1280404080&apn=com%2Emartinmagni%2Efancade&link=https%3A%2F%2Fwww%2Efancade%2Ecom%2Fgames%2F5DB5843863043132]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Watch the video-tutorial below:
2
3
<<Video("/uploads/20190926_2023040.mp4")>>
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,11 @@
1
There are several ways to achieve it. The first one is changing camera rotation depending on the screen orientation so the way a player flips a device doesn't have an effect on what is displayed on screen:
2
3
[[https://cdn.discordapp.com/attachments/544763659625168897/632806501001592872/IMG_20191013_100643.jpg]]
4
5
These scripts will set vertical orientation. If you want horizontal, just wire that [[Set Rotation|Set Variable]] to the "Else" plug instead of "True".
6
7
The second method is way straightforward, just place the [[Accelerometer]] script block anywhere on floor (don't forget to wire it to something with yellow plugs!) — it will literally lock the screen orientation to a state that was when a game was opened. It's useful when you don't necessarily need a specific orientation to be set but you want it to be unchangeable during gameplay.
8
9
[[https://cdn.discordapp.com/attachments/544763659625168897/632654164077576212/Screenshot_2019-10-12-23-59-57-807_com.martinmagni.fancade.png]]
10
11
Might be worth noting that all of these are a last resort for games that are not just inconvenient, but impossible, to play in the "other" orientation. Else just let the user play the way they prefer.
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Open it up with this button. You might have to click the pencil, then ok first. You can open *any* block to put script in it unless it's an uneditable block from another game.
2
3
[[/uploads/Screenshot_20190930-122731_Fancade_edited.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Here it is:
2
3
[[/uploads/IMG_20200501_210951.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Drag a wire from the circuit board directly to the open block. I usually wire it to a pink [[Set Variable]], then you only need one pink wire, and can use [[Variable]] whenever you need to reference the object.
2
3
<<Video("/uploads/IMG_1502.TRIM.MOV")>>
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Set a variable to 60 * 60 (because there are 60 updates per second) and then count it down. Feed T / 60 into [[Set Score|Set Score]] (with Fastest/Longest Time setting)
2
3
[[/uploads/screenshot.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Make a variable global by tapping the global button at bottom left of the keyboard. This will add a dollar sign to the beginning of the variable name. Global variables can be read outside of the script block they are created in, such as from inside other script blocks or on the floor in the main level.
2
3
[[/uploads/Screenshot_20191219-080003_Fancade_edited.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Solved.
2
3
[[/uploads/Screenshot_20200307-144404.jpeg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Rotate `0,0,0.1` vector by the object rotation then add it to its current position. You may provide a greater number than `0.1` to make the object go faster.
2
3
[[/uploads/20190929_200122.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
A normalized vector has the same direction as the original, but has been shortened to a magnitude (length) of 1. Use the script in the image to normalize any vector.
2
3
[[/uploads/screenshot1.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Figured it out!
2
3
[[/uploads/screenshot-2.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1 @@
1
Check out Mathias Elgaard's [[Video Tutorial on loops!|https://www.youtube.com/watch?v=kBmBLMHqlK0]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
[[Collision]] script block has a pink plug on its right side: it outputs an object that was collided with the first one. So you can just check if the object is that specific one:
2
3
[[/uploads/IMG_20191213_004915.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1 @@
1
60.
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
And here's a video of it working:
2
3
[[/uploads/Screenshot_20200122_204842_org.mozilla.firefox.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,6 @@
1
Drag the wire to the open block's left side to create a new Object input port. Select the block and attach the wire coming out of the port to any block!
2
You may have to rotate the camera to see the left side of the custom block
3
4
Input wires go to the left and up sides of the block, and output goes to the right and down.
5
6
<<Video("/uploads/file.mp4")>>
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,4 @@
1
Place one of the wires and then place the others on the same place, this will merge the plugs into one.
2
If you are using variable and value wires, connect the variable first and then the values.
3
4
[[/uploads/Screenshot_2020-02-26-08-27-24-46_6c69499164362a0dbe2f1dfe7c62199a.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
There's currently no way to do it but a work around you can do it's to have your own giant custom blocks as the background and change them on as you want.
2
3
[[/uploads/Screenshot_20200307_103420_com.martinmagni.fancade.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Use [[Get Position]] and [[Break Vector]] to check if the object's Y coordinate is less than 0.51.
2
3
[[/uploads/Screenshot_20191215-142022_Fancade_edited.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Use this:
2
3
[[/uploads/IMG_20200126_194428.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,5 @@
1
To achieve it, you'll have to store every object in a list and then loop over it to treat each.
2
3
Take a look at an example below!
4
5
[[/uploads/IMG_20190903_174820.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
You can validate if a number is a valid number by using this simple trick. Plug the number on both inputs of `Equal Numbers` and if it outputs `True` then it's a valid number else it's either `NaN` or `Inf`.
2
3
[[/uploads/Screenshot_20200217_113620.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,7 @@
1
* Have a Set Variable for each value you want to Loop over.
2
* Connect all of their before terminals to another terminal in parallel manner
3
* Connect all of their after terminals to the script you want to execute
4
5
And Voila! You have a loop with minimal fuzz!
6
7
[[/uploads/Screenshot_20200206-020231_Fancade2.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,12 @@
1
List of list (Nested list) is currently not possible with the current list script as of now, but there is a simple workaround to make it involving simple math. See image below on how to make it.
2
3
**Variables**:
4
- *X*: the index column of a 2D list
5
- *Y*: the index row of a 2D list
6
- *Columns*: the total columns of a 2D list
7
8
Two-dimensional list is mostly used in creating a game that involves a *board* or a *grid* such as Chess, Reversi, Checkers, Tetris, Battleship, 2048 and so on.
9
10
In a technical term, 2D list is called as an array of arrays or also known as a matrix which can be represented as a table of columns and rows.
11
12
[[/uploads/2D_list_example.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,13 @@
1
Make a variable go up by 1 each frame and then use an if to check for an event.
2
3
if you use the variable by itself it'll be in frames, if you want it to count in seconds divide it by 60.
4
5
The 3 examples in the picture will have a different behavior:
6
7
1) Will make the sound play every second. Change the number 1 in the % for the number of seconds you desired.
8
9
2) Will only play the sound once after 1 second.
10
11
3) Will play a sound after 30 frames.
12
13
[[/uploads/Screenshot_20200316_203518_com.martinmagni.fancade.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,4 @@
1
Red circle represents the player
2
Green circle represents the height needed to win
3
4
[[/uploads/image02.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,7 @@
1
First, pull the right wire and leave it somewhere on the block. Then tilt the camera so that you can see the entire plane you want to connect the port to. After that, connect the port to the desired position with indents.
2
3
Indention for a Standard Block:
4
- 3 voxels from the edge of the block.
5
- 7 voxels between the two ports.
6
- At the top and bottom, 1 voxel each.
7
Adding ports at proper indents results in the all too familiar *click* sound while placing the proper block directly next to it's input or output.
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,5 @@
1
A set variable block, if not connected to a value, doesn't actually do anything. You can use this trick to set default values for your scripts if the user doesn't provide one.
2
3
[[/uploads/Screenshot_20200217-164218_Fancade.png]]
4
[[/uploads/Screenshot_20200217-164312_Fancade.png]]
5
[[/uploads/Screenshot_20200217-164339_Fancade.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1 @@
1
Drag the wire so that is selected, then tap the name on the hotbar at the bottom and write whatever you want, same goes for script blocks themselves.
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,5 @@
1
Divide a number by X, round it and then multiply to X back.
2
3
As an example, X = 5:
4
5
[[/uploads/IMG_20191105_123741.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1 @@
1
Use only script blocks in the level. No standard blocks.
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Here you go:
2
3
[[/uploads/Screenshot_2020-03-07-19-57-40-120_com.martinmagni.fancade.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,5 @@
1
Assign each truth a unique power of 2 and add them to a sum if true.
2
Each combination of truths will have a unique sum.
3
It's a little cumbersome, but might be preferable to having several red inspect blocks on your level.
4
5
[[/uploads/Screenshot_20190224-112226_Fancade.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,2 @@
1
2
There's a limit to the amount of scripting a game can have. It's very large, but if you add lots of copies of a block with lots of script inside you'll get a "Too many scripts!" error. Use less script, fewer blocks, or replace the multiple script copies by a single loop.
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,21 @@
1
# Number of created blocks
2
The limit of blocks that you can create with the script [[create object|http://fancade.com/wiki/create_object]] on play is 4096 blocks.
3
4
# Script limit
5
The script limit is not well defined and can change depending of how many wires there are, the size of the scripts, along others things.
6
7
For more information on this limit read: [[Is there a limit for scripts?]]
8
9
# Wire splitting
10
The limit is 8 connections per output.
11
12
A wire split refers to connecting the same wire from an output into 2 or more input ports.
13
14
# Size of a block
15
The max size a single object can have is 4x4x4 blocks or 32x32x32 voxels.
16
17
Maximum number of levels
18
100
19
20
Maximum number of custom blocks
21
The number of blocks in your game plus the number of levels cannot exceed 255. So you can have 254 custom blocks if you only have 1 level. If you have 100 levels, then you can only have 155 blocks. Similarly, if you have over 155 blocks, then you may not have 100 levels. Also, keep in mind that multi-block objects count toward the limit just as if they were separate blocks, so a 2x2x1 multiblock counts as 4 blocks. Unfortunately, there are other mysterious factors affecting this limit so usually the actual limit will likely be a little lower than this.
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
Check this level in the tutorials
2
3
[[/uploads/Screenshot_20200202-084238_Fancade_edited.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,4 @@
1
2
Also works to position objects relative to other objects
3
4
[[/uploads/PhotoCollage_20200110_123955493.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,9 @@
1
Assuming you're making a top-down view game, zoom = 5 * block width. E.g. to fit 10 blocks wide, set zoom to 50:
2
3
[[https://cdn.discordapp.com/attachments/608689686134784000/612718494869487623/IMG_20190818_234332.png]]
4
5
What about height? Well, different users will have different screen sizes, so even with a fixed width the height is variable. But like the image shows, you can compute it by multiplying width by the screen's aspect ratio.
6
7
[[https://cdn.discordapp.com/attachments/608689686134784000/612718494856904846/IMG_20190818_234312.png]]
8
9
Zoom automatically adapts to the smallest dimension, so in landscape mode the role of height and width are reversed.
... ...
\ No newline at end of file
... ...
@@ -0,0 +1 @@
1
it happens when you have too many wires visible on-screen at the same time.
... ...
\ No newline at end of file
... ...
@@ -0,0 +1 @@
1
The raycast can't detect a block that had been created in the same frame, you have to wait 1 frame after creating the object for raycast to detect it.
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
If you connect a list to a Set Variable block, it'll only copy the Index 0 of your list. But, if you connect a list directly to a List Variable block (as shown in the picture) it'll be able to see the whole list.
2
3
[[/uploads/Screenshot_20200219-215634_Fancade.png]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,3 @@
1
The sound effects script requires a yellow wire to trigger the sound effect. If you are making an ambient sound that will play throughout the game, try wiring the Play Sensor to the sound effect. If you want the sound to play when something happens, such as when the player taps the screen, try using a yellow wire that triggers at the appropriate time.
2
3
[[/uploads/Screenshot_20190729-072602_Fancade.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,7 @@
1
You can create entirely new behaviors and game mechanics using Fancade's visual scripting blocks!
2
3
To get started, check out the [[Basic scripting]] page. You'll find some actual examples in the in-app [[Tutorial|https://fancade.page.link/qZPM]] game. Then there's documentation of [[every script block|Blocks]].
4
5
Here are some frequently asked questions on scripting:
6
7
<<Navigation("Script", "Script", true)>>
... ...
@@ -0,0 +1,20 @@
1
[[Click here to read this article in the Wiki with images|https://www.fancade.com/wiki/what_are_some_common_problems_related_to_execution_order]]
2
3
If you don't know what execution order is, [[check this out|https://www.fancade.com/wiki/what_is_execution_order]].
4
5
Execution order is a boon and a curse at the same time. While it helps determining what to execute, sometimes the default Execution Order doesn't actually do what you want. Thankfully, you can easily fix that using Execution Wires.
6
7
Here are two common problems related to execution order.
8
9
1. This one is common among newbies. In this case, the problem is easy to spot. The variable **A is defined AFTER the Set Position** that has A as an input. Since A is not yet defined when Set Position was run, it simply does nothing resulting in a buggy script.
10
[[https://imgur.com/NZgn9C7.jpg]]
11
12
A simple solution for this is to **define A before the Set Position**.
13
[[https://imgur.com/4KJxQG5.jpg]]
14
15
16
2. Create Object is one of those scripts that has **an output AND execute wires** attached to it. If a scripts has both, output and execute wires, it's usually a good idea to set those outputs into a variable using the After Wire. Else, you'll suffer from an **One Frame Delay**.
17
[[https://imgur.com/7xNbBVB.jpg]]
18
19
The script shown above will suffer from that One Frame delay, since each frame the object that gets created is set onto the variable A **after** the set position has run. A simple fix would be, is to set the variable via the After Wire.
20
[[https://imgur.com/4iUV6ZV.jpg]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,19 @@
1
[[Click here and read this article in the Wiki with images|https://www.fancade.com/wiki/what_is_execution_order]]
2
3
**Execution Order** is something that determines which script is after the current one. In Fancade we follow the execution order **Top to Bottom, Left to Right** (i.e. __The way you read an English Paragraph__)
4
5
Thus, a set of scrips arranged in the following order:
6
```
7
AB
8
CD
9
```
10
will be executed as A→B→C→D
11
[[https://imgur.com/gkZWtHD.jpg]]
12
13
That's helpful, but what if you want to modify it? Here comes **Execution Wires**. Those yellow wires at the top and bottom of some scripts named *Before* and *After* are what we call as Execution Wires. Execution Wires overrides the default Execution Order.
14
15
Once a script executes according to the default execution order, __it'll execute all the scripts connected to it via Execution Wires__ before moving on the next script. A picture is worth a thousand words. So check these out:
16
[[https://imgur.com/e0EYbHB.jpg]]
17
[[https://imgur.com/qsPi1I0.jpg]]
18
19
Check out some common problems related to execution order [[here|https://www.fancade.com/wiki/what_are_some_common_problems_related_to_execution_order]]
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,6 @@
1
Phones and tablets running Android 5.0 or iOS 8.0 or later.
2
3
Links:
4
5
* [[Play Store|https://play.google.com/store/apps/details?id=com.martinmagni.fancade]]
6
* [[App Store|https://apps.apple.com/us/app/fancade/id1280404080]]
... ...
@@ -0,0 +1,19 @@
1
The Wiki supports the same formatting syntax as Discord, which is called "[[Markdown|https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet]]". So you can easily make *italic*, **bold**, __underlined__ or ~~strikethrough~~ text. To learn how, read [[this|https://support.discordapp.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline-]].
2
3
Besides, there are such Wiki-exclusive formatting features as unordered lists, links and images in text.
4
5
To insert a list element, put `*`, `+` or `-` at the beginning of a line. Note that there must be one blank line before the first element.
6
7
To insert a link, you can:
8
9
* wrap page name in square brackets: [[Add]] `[[Add]]`
10
* do the same but put a suffix if needed: [[Vector]]s `[[Vector]]s`
11
* wrap page name in parentheses and set displayed text in square brackets before: [[Plus|Add]] `[[Plus|Add]]`
12
* do the same but put any URL instead of a page name: [[Fancade|http://fancade.com/]] `[[Fancade|http://www.fancade.com/]] `
13
14
To insert an image, you can:
15
16
* Attach an image or a video to a message you're about to tag. The media will appear in the bottom of a page. The same works if you use `.tag edit` command (but keep in mind it'll overwrite old attachments)
17
* Use `.tag attachment add` command
18
* Wrap image URL in `!` to insert it directly in the text
19
* Add additional exclamation mark before the first one if you don't want the image to appear when calling `.wiki`
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,10 @@
1
This wiki was developed by [[Nikita Ivanov|https://twitter.com/ViChyavIn]], [[Olle Landin|https://twitter.com/ollelandin]], and [[Martin Magni|https://twitter.com/MartinMagni]].
2
3
You can help expand the wiki by [[creating new pages|How to make a wiki page?]] in the [[Fancade Discord|Discord]]! There's even [[wiki formatting]] support.
4
5
Fanmods can use advanced Fanbot commands (in the #fanbot channel, not DM) like:
6
- ".tag topic" to create new topics. E.g., to assign the [[Odd Bot]] page to a new "Games" topic: `.tag topic odd_bot Games`
7
- ".tag delete <page>" to delete a page. E.g.: `.tag delete "Today is Fancade launch day!"`
8
9
10
<<Navigation("Games", "Games", true)>>
... ...
@@ -0,0 +1,3 @@
1
Same-screen multi-player is already possible using [[Touch Sensor]]'s multi-touch support.
2
Async online multi-player is planned.
3
Real-time online multi-player is highly unlikely.
... ...
\ No newline at end of file
... ...
@@ -0,0 +1,17 @@
1
The You tab is for customizing your Fancade.
2
3
#### Premium
4
You can buy Premium for a month or a year. (It's not a subscription, so no need to worry about remembering to unsubscribe. It'll just revert to normal after said time period ends, and you can buy it again.) This has several benefits:
5
- No ads!
6
- Quest bridges repair instantly
7
- Publish and update any number of games, no timer
8
- Support [[Martin|Martin Magni]] in developing Fancade
9
10
#### Options
11
Tap to toggle sound and music. There's also the Show Touches option which is useful when recording YouTube videos, because others can see where you're tapping.
12
13
#### Profile
14
Link your Fancade account to an email and password. This will enable you to sign in as the same user on all your devices, to sync Premium, and is required to publish games.
15
16
#### News
17
This is where I can let you know new and interesting information and happenings.
... ...
Binary files /dev/null and b/uploads/20190726_001748.mp4 differ
... ...
Binary files /dev/null and b/uploads/20190926_2023040.mp4 differ
... ...
Binary files /dev/null and b/uploads/20190929_200122.jpg differ
... ...
Binary files /dev/null and b/uploads/2D_list_example.png differ
... ...
Binary files /dev/null and b/uploads/Abs.png differ
... ...
Binary files /dev/null and b/uploads/Absolute.PNG differ
... ...
Binary files /dev/null and b/uploads/Accelerometer.PNG differ
... ...
Binary files /dev/null and b/uploads/Add.PNG differ
... ...
Binary files /dev/null and b/uploads/Addconstraint.png differ
... ...
Binary files /dev/null and b/uploads/Addforce.png differ
... ...
Binary files /dev/null and b/uploads/Addvectors.png differ
... ...
Binary files /dev/null and b/uploads/And.PNG differ
... ...
Binary files /dev/null and b/uploads/And.png differ
... ...
Binary files /dev/null and b/uploads/Angularlimits.png differ
... ...
Binary files /dev/null and b/uploads/Angularmotor.png differ
... ...
Binary files /dev/null and b/uploads/Angularspring.png differ
... ...
Binary files /dev/null and b/uploads/Axis_Angle.png differ
... ...
Binary files /dev/null and b/uploads/Axisangle.png differ
... ...
Binary files /dev/null and b/uploads/Boxartsensor.png differ
... ...
Binary files /dev/null and b/uploads/Break_Rotation.png differ
... ...
Binary files /dev/null and b/uploads/Break_Vector.png differ
... ...
Binary files /dev/null and b/uploads/Breakrotation.png differ
... ...
Binary files /dev/null and b/uploads/Breakvector.png differ
... ...
Binary files /dev/null and b/uploads/Ceiling.PNG differ
... ...
Binary files /dev/null and b/uploads/Ceiling.png differ
... ...
Binary files /dev/null and b/uploads/Collision.png differ
... ...
Binary files /dev/null and b/uploads/Combine.png differ
... ...
Binary files /dev/null and b/uploads/Cos.png differ
... ...
Binary files /dev/null and b/uploads/Createobject.png differ
... ...
Binary files /dev/null and b/uploads/Destroyobject.png differ
... ...
Binary files /dev/null and b/uploads/Distance.png differ
... ...
Binary files /dev/null and b/uploads/Divide.PNG differ
... ...
Binary files /dev/null and b/uploads/Divide.png differ
... ...
Binary files /dev/null and b/uploads/Equal_Number.png differ
... ...
Binary files /dev/null and b/uploads/Equal_Object.png differ
... ...
Binary files /dev/null and b/uploads/Equal_Truth.png differ
... ...
Binary files /dev/null and b/uploads/Equal_Vector.png differ
... ...
Binary files /dev/null and b/uploads/Equals.png differ
... ...
Binary files /dev/null and b/uploads/False-0.PNG differ
... ...
Binary files /dev/null and b/uploads/False.png differ
... ...
Binary files /dev/null and b/uploads/Floor.PNG differ
... ...
Binary files /dev/null and b/uploads/Floor.png differ
... ...
Binary files /dev/null and b/uploads/Get_Variable.png differ
... ...
Binary files /dev/null and b/uploads/Getposition.png differ
... ...
Binary files /dev/null and b/uploads/Getvelocity.png differ
... ...
Binary files /dev/null and b/uploads/Greater_Than.png differ
... ...
Binary files /dev/null and b/uploads/Greaterthan.png differ
... ...
Binary files /dev/null and b/uploads/IMG_1502.TRIM.MOV differ
... ...
Binary files /dev/null and b/uploads/IMG_20190903_174820.jpg differ
... ...
Binary files /dev/null and b/uploads/IMG_20191105_123741.jpg differ
... ...
Binary files /dev/null and b/uploads/IMG_20191213_004915.jpg differ
... ...
Binary files /dev/null and b/uploads/IMG_20200126_194428.jpg differ
... ...
Binary files /dev/null and b/uploads/IMG_20200217_093232.JPG differ
... ...
Binary files /dev/null and b/uploads/IMG_20200501_210951.jpg differ
... ...
Binary files /dev/null and b/uploads/IMG_20200509_001812.jpg differ
... ...
Binary files /dev/null and b/uploads/If.png differ
... ...
Binary files /dev/null and b/uploads/Inverse.png differ
... ...
Binary files /dev/null and b/uploads/Lerp.png differ
... ...
Binary files /dev/null and b/uploads/Less_Than.png differ
... ...
Binary files /dev/null and b/uploads/Lessthan.png differ
... ...
Binary files /dev/null and b/uploads/Line_VS_Plane.png differ
... ...
Binary files /dev/null and b/uploads/Linearlimits.png differ
... ...
Binary files /dev/null and b/uploads/Linearmotor.png differ
... ...
Binary files /dev/null and b/uploads/Linearspring.png differ
... ...
Binary files /dev/null and b/uploads/Linevsplane.png differ
... ...
Binary files /dev/null and b/uploads/Listelement.png differ
... ...
Binary files /dev/null and b/uploads/Look_Rotation.png differ
... ...
Binary files /dev/null and b/uploads/Lookrotation.png differ
... ...
Binary files /dev/null and b/uploads/Lose.png differ
... ...
Binary files /dev/null and b/uploads/Make_Rotation.png differ
... ...
Binary files /dev/null and b/uploads/Make_Vector.png differ
... ...
Binary files /dev/null and b/uploads/Makerotation.png differ
... ...
Binary files /dev/null and b/uploads/Makevector.png differ
... ...
Binary files /dev/null and b/uploads/Max.PNG differ
... ...
Binary files /dev/null and b/uploads/Max.png differ
... ...
Binary files /dev/null and b/uploads/Min.PNG differ
... ...
Binary files /dev/null and b/uploads/Min.png differ
... ...
Binary files /dev/null and b/uploads/Minus.png differ
... ...
Binary files /dev/null and b/uploads/Minus_Vector.png differ
... ...
Binary files /dev/null and b/uploads/Modulo.PNG differ
... ...
Binary files /dev/null and b/uploads/Modulo.png differ
... ...
Binary files /dev/null and b/uploads/Multiply.PNG differ
... ...
Binary files /dev/null and b/uploads/Multiply.png differ
... ...
Binary files /dev/null and b/uploads/Multiplyrotations.png differ
... ...
Binary files /dev/null and b/uploads/Multiplyvectornumber.png differ
... ...
Binary files /dev/null and b/uploads/Multiplyvectorrotation.png differ
... ...
Binary files /dev/null and b/uploads/Negate.PNG differ
... ...
Binary files /dev/null and b/uploads/Not.PNG differ
... ...
Binary files /dev/null and b/uploads/Not.png differ
... ...
Binary files /dev/null and b/uploads/Number-0.PNG differ
... ...
Binary files /dev/null and b/uploads/Number.png differ
... ...
Binary files /dev/null and b/uploads/Or.PNG differ
... ...
Binary files /dev/null and b/uploads/Or.png differ
... ...
Binary files /dev/null and b/uploads/PassThrough.jpg differ
... ...
Binary files /dev/null and b/uploads/PhotoCollage_20200110_123955493.jpg differ
... ...
Binary files /dev/null and b/uploads/Playsensor.png differ
... ...
Binary files /dev/null and b/uploads/Playsound.png differ
... ...
Binary files /dev/null and b/uploads/Plus.png differ
... ...
Binary files /dev/null and b/uploads/Plus_Vector.png differ
... ...
Binary files /dev/null and b/uploads/Power.PNG differ
... ...
Binary files /dev/null and b/uploads/Power.png differ
... ...
Binary files /dev/null and b/uploads/Random.PNG differ
... ...
Binary files /dev/null and b/uploads/Random.png differ
... ...
Binary files /dev/null and b/uploads/Random_Seed.png differ
... ...
Binary files /dev/null and b/uploads/Randomseed.png differ
... ...
Binary files /dev/null and b/uploads/Raycast.png differ
... ...
Binary files /dev/null and b/uploads/Rotate_Vector.png differ
... ...
Binary files /dev/null and b/uploads/Rotation-0.PNG differ
... ...
Binary files /dev/null and b/uploads/Rotation.png differ
... ...
Binary files /dev/null and b/uploads/Round.PNG differ
... ...
Binary files /dev/null and b/uploads/Round.png differ
... ...
Binary files /dev/null and b/uploads/Scale.png differ
... ...
Binary files /dev/null and b/uploads/Screen_To_World.png differ
... ...
Binary files /dev/null and b/uploads/Screenrecorder-2020-06-23-23-35-02-284.mp4 differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20190224-112226_Fancade.jpg differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20190729-072602_Fancade.jpg differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20190901_075455_com.martinmagni.fancade.jpg differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20190930-122731_Fancade_edited.jpg differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20191215-142022_Fancade_edited.jpg differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20191219-080003_Fancade_edited.jpg differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20191230_135920_com.martinmagni.fancade.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20191230_135947_com.martinmagni.fancade.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20191230_140014_com.martinmagni.fancade.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20191230_141533_com.martinmagni.fancade.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_2020-02-01-02-45-35-463_com.google.android.keep.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_2020-02-26-08-27-24-46_6c69499164362a0dbe2f1dfe7c62199a.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_2020-03-07-19-57-40-120_com.martinmagni.fancade.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_2020-06-23-23-24-42-333_com.martinmagni.fancade.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200122_203012.jpg differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200122_204842_org.mozilla.firefox.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200131-133512.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200202-084238_Fancade_edited.jpg differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200206-020231_Fancade2.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200213_175739.jpg differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200214-204312_Fancade.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200217-164218_Fancade.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200217-164312_Fancade.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200217-164339_Fancade.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200217_113620.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200219-215634_Fancade.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200221-024958_Fancade.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200307-144404.jpeg differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200307_103420_com.martinmagni.fancade.jpg differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200316_203518_com.martinmagni.fancade.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200321_204514_com.martinmagni.fancade_1.png differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200323-153506.jpeg differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200819_212153_com.martinmagni.fancade.jpg differ
... ...
Binary files /dev/null and b/uploads/Screenshot_20200819_212231.jpg differ
... ...
Binary files /dev/null and b/uploads/Screensize.PNG differ
... ...
Binary files /dev/null and b/uploads/Screentoworld.png differ
... ...
Binary files /dev/null and b/uploads/Set_Variable.png differ
... ...
Binary files /dev/null and b/uploads/Setbounciness.png differ
... ...
Binary files /dev/null and b/uploads/Setcamera.png differ
... ...
Binary files /dev/null and b/uploads/Setfriction.png differ
... ...
Binary files /dev/null and b/uploads/Setgravity.png differ
... ...
Binary files /dev/null and b/uploads/Setlight.png differ
... ...
Binary files /dev/null and b/uploads/Setlocked.png differ
... ...
Binary files /dev/null and b/uploads/Setmass.png differ
... ...
Binary files /dev/null and b/uploads/Setposition.png differ
... ...
Binary files /dev/null and b/uploads/Setreference.png differ
... ...
Binary files /dev/null and b/uploads/Setscore.png differ
... ...
Binary files /dev/null and b/uploads/Setvariable.PNG differ
... ...
Binary files /dev/null and b/uploads/Setvelocity.png differ
... ...
Binary files /dev/null and b/uploads/Setvisible.png differ
... ...
Binary files /dev/null and b/uploads/Sin.png differ
... ...
Binary files /dev/null and b/uploads/Stopsound.png differ
... ...
Binary files /dev/null and b/uploads/Subtract.PNG differ
... ...
Binary files /dev/null and b/uploads/Subtractvectors.png differ
... ...
Binary files /dev/null and b/uploads/Swipesensor.png differ
... ...
Binary files /dev/null and b/uploads/Touchsensor.png differ
... ...
Binary files /dev/null and b/uploads/True-0.PNG differ
... ...
Binary files /dev/null and b/uploads/True.png differ
... ...
Binary files /dev/null and b/uploads/Variable.PNG differ
... ...
Binary files /dev/null and b/uploads/Vector-0.PNG differ
... ...
Binary files /dev/null and b/uploads/Vector.png differ
... ...
Binary files /dev/null and b/uploads/Volumepitch.png differ
... ...
Binary files /dev/null and b/uploads/Win.png differ
... ...
Binary files /dev/null and b/uploads/World_To_Screen.png differ
... ...
Binary files /dev/null and b/uploads/Worldtoscreen.png differ
... ...
Binary files /dev/null and b/uploads/file.mp4 differ
... ...
Binary files /dev/null and b/uploads/image0.png differ
... ...
Binary files /dev/null and b/uploads/image01.png differ
... ...
Binary files /dev/null and b/uploads/image02.png differ
... ...
Binary files /dev/null and b/uploads/negate.png differ
... ...
Binary files /dev/null and b/uploads/screenshot-2.png differ
... ...
Binary files /dev/null and b/uploads/screenshot.png differ
... ...
Binary files /dev/null and b/uploads/screenshot1.png differ
... ...
Binary files /dev/null and b/uploads/screenshot2.png differ
Fancade Wiki