Arowx
February 24, 2017, 12:02am
1
So some clever programmers have managed to get an entire ray tracer packed onto the back of a business card.
So this…
Produces this…
So some clever tricks are being used here to compact the code down to this level.
But could you do something similar with C# and Unity.
Or even better pack an entire Unity game/demo onto the back of a business card?
Great blog post about writing a mini raytracer → A minimal raytracer
Deciphering the Business Card Raytracer → Raytracing
My Attempt in Unity → Could you get a Unity game onto the back of a business card? - Industries - News & General Discussion - Unity Discussions
1 Like
Also an easy way to completely ruin a slot-loading optical drive :v
Arowx
February 24, 2017, 12:13am
4
That’s so old fashioned.
You could go with a USB card.
But no elegance/finesse/skills needed.
3 Likes
just do a QR code on the card, that is a link to a webgl unity game.
7 Likes
Arowx:
That’s so old fashioned.
Exactly.
But also, it’s a lot less old fashioned than expecting people to load your demo by typing its source into the computer themselves . What is this, the 1980s?
4 Likes
We could easily make a full game fit on a business card if we use a font size of 1
That’s an amazing hack, but I agree (in this day and age) a QR code to WebGL demo makes more sense (as who is going to type in that crazy minimized code and compile it).
One thing sort of similar I’ve been thinking about is having a video player on a card or a resume. Would be pretty cool to send out a demo reel clip and have it instantly watchable. I know some magazines have experimented with video, so it may be feasible, and I think a recruiter would be impressed with a video business card or resume.
MV10
February 24, 2017, 12:16pm
10
cyberpunk:
One thing sort of similar I’ve been thinking about is having a video player on a card or a resume. Would be pretty cool to send out a demo reel clip and have it instantly watchable. I know some magazines have experimented with video, so it may be feasible, and I think a recruiter would be impressed with a video business card or resume.
Some techniques are getting close to cheap enough to be used for general-purpose labeling:
http://spectrum.ieee.org/nanoclast/semiconductors/materials/forest-of-carbon-nanotubes-stamps-transistors-onto-a-surface
Kiwasi
February 24, 2017, 12:34pm
11
Why not put a VR marker on it? Go all the way into this generation of tech.
1 Like
Arowx
February 24, 2017, 2:18pm
12
Could you do an origami business card google cardboard?
MV10
February 24, 2017, 4:42pm
13
If you mean, could the business card be turned into a Cardboard viewer – no, the dimensions are too specific (for correct focus), plastic lenses are involved, and it has to be pretty large and sturdy to support a smartphone. Also, the app recognizes the viewer by sensing a pretty powerful magnet that is somewhat picky about correct positioning.
Your USB option or the CD option pretty much closes the book on the most sensible ways to address the problem if someone is dead set on doing this. I sort of like the USB thing.
1 Like
Player7
February 24, 2017, 5:21pm
14
What about a game on a QR code…You get like 2kb for a game, should be enough right?
Ryiah
February 24, 2017, 5:23pm
15
Arowx:
That’s so old fashioned.
Why stop at storage, right? We can fit the computer itself (sans IO devices) in that space now.
http://www.intel.com/content/www/us/en/compute-card/intel-compute-card.html
2 Likes
Arowx
February 24, 2017, 5:28pm
16
Apparently there are ‘31,329 squares in every code’ in a QR code if you went for a game/DNA approach how many games could you fit into that space?
Arowx
February 24, 2017, 5:35pm
17
Or you could go with HCCB (High Capacity Color Barcode) about 3,500 characters per sq inch.
Arowx
February 24, 2017, 6:49pm
18
OK Here’s my attempt in Unity
using UnityEngine;using UnityEngine.Rendering;
public class UBC:MonoBehaviour{private int[] txt={524288,1432917,1906002,1383925};private Material m;
void Start(){m=new Material(Shader.Find("Standard"));m.SetFloat("_Metallic", 1f);m.SetFloat("_Glossiness",1f);int y=txt.Length;for(int i=0;i<txt.Length;i++){int x=10;for(int b=1;b<=1048576;b=b<<1){if((txt[i]&b)>0)B(x,y);x--;}y--;}G(10,10);GameObject p=new GameObject("ReflectionProbe");ReflectionProbe pc=p.AddComponent<ReflectionProbe>()as ReflectionProbe;pc.resolution=256;pc.size=new Vector3(20,20,20);p.transform.position=new Vector3(0,5,0);pc.mode=ReflectionProbeMode.Realtime;pc.refreshMode=ReflectionProbeRefreshMode.EveryFrame; }
void B(int x,int y){GameObject b=GameObject.CreatePrimitive(PrimitiveType.Sphere);b.transform.position=new Vector3(x,y,0f);b.GetComponent<Renderer>().material=m;}
void C(int x,int z,bool red){float t=2f;GameObject c=GameObject.CreatePrimitive(PrimitiveType.Cube);Vector3 s=c.transform.localScale;s*=t;c.transform.localScale=s;c.transform.position=new Vector3(x*t,-3,z*t);c.GetComponent<Renderer>().material.color=red?Color.red:Color.white;}
void G(int x,int z){bool c=false;for(int a=-x;a<x;a++){for(int b=-z;b<z;b++){C(a,b,c);c=!c;}c=!c;}}}
Not bad if I say so myself, what do you think?
To try it create a new scene or use the default scene, add game object, attach script and run.
PS It’s about 1223 characters.
1 Like
Arowx
February 25, 2017, 1:54pm
19
It’s not ray traced but it works quite well IMHO.
Could you get a working game in a similar number of characters, the smaller the better.
1 Like