IN2AR controller + Unity
“Demo shows you how an IN2AR Wrapper can controll a Unity game. Just move your marker to steer the car and rotate it upside down to restart. The wrapper sends the marker ID and the rotation value to the game. Inside the Unity game you can do whatever you want with this data. Steer a plane, move a ball? You name it!”
var curvedSprite:CurvedSprite = new CurrvedSprite(“your_texture”), 6, 7);
You pass a Starling texture, the number of segments, and finally the angle between them. You can create a cylinder-ish this way if you want.
Over the past couple of weeks there have been a few questions raised about our support and licensing that have brought up some problems in our current model.
Select the image above to try out this Flash broadcaster that allows you to stream live to PC and mobile devices.
You can also adjust the stream settings, camera, microphone, etc once the broadcaster has connected to the publishing path.
To get started all you need to do is create a stream name and select connect.
Once connected your ready to start publishing your live stream or you can adjust the settings at this time.
To view your live stream all you need to do is copy the live player path in your browser. After you have stopped streaming you can also view your recording. Stream path created will also stream to mobile devices.
New Blog Post: Browser Based Flash Broadcaster, Mobile Playback, Recording and Quality Settings Demo. http://t.co/LCJ1tIxI8Q— Influxis (@Influxis)December 30, 2014
For the last 2 years we’ve been working on Takos Japanese: Learn Japanese, a game for learning Japanese for iOS and Android. With this game our intention is to make people able to learn a language from scratch in a fun and easy way, by playing minigames and following guided lessons.
First of all I would like to talk about the technology that we’ve used to make this game a reality.
- Adobe GameCenter - iOS
- Adobe Social - iOS
- Amazon GameCricle – Fire OS
- Self-made Social ANE (not perfect but at least it works) - Android
- Mesmotronic FullScreen – Android
- Milkmangames Google Services – Android
- Pozirk License Checker – Android
- StickSports CanOpenURL, Flurry and SilentSwitch – iOS
- Zooom Android Expansion Files – Android
One of the main features of the game is the “writing system”. It lets you write all the hiragana, katakana and kanji on the screen. This is made with the Flash drawing API on top of Starling. It runs smoothly and at a high frame rate without any tweaks. We made and editor where we create all the Japanese characters and it converts all the data to an XML that we use later in the game.
For optimizing the game I used different tricks. Most of them are mentioned on the Starling Wiki, but I’ll list them here:
- All backgrounds and square textures blendmode were set to BlendMode.NONE
- Setting all texture format before queuing: AssetManager.textureFormat = Context3DTextureFormat.BGRA_PACKED; and then setting it back to BGRA when I don’t want to lose image quality. Without using this, the lessons used 110mb of vram. When I used it it only used 67mb. That made possible to use this game in old devices like iPhone 4 :D
- Modified Starling’s AssetManager so it can group textures with an identifier and then I can dispose all this textures with a simple call. Like this:
AssetManager.setClass(“Level1”); //Sets an identifier
AssetManager.removeTexturesWithIdentifier(“Level1”); // It disposes all the textures with that identifier
It’s not perfect and I still think it has some kind of memory leak (around 0.5mb, I beleive)
- Setting touchable = false were possible
- Using quads instead of Images for some textures that are plain
I believe I’ve listed all the optimizations I use on the game.
Now I will try to explain how I made the system for adapting the game for all different screen sizes.
First of all I calculate the scale depending on the screen size like this:
VG.SCALE = Math.max(( VG.BASE_WIDTH / VG.SCREEN_WIDTH ), ( VG.BASE_HEIGHT / VG.SCREEN_HEIGHT ));
AssetManager = new AssetManager (VG.SCALE);
BASE_WIDTH and BASE_HEIGHT are fixed screen sizes on which we made all the images (1280x720).
SCREEN_WIDTH and SCREEN_HEIGHT are Starling.current.viewPort.width and height. I’ve calculated it like this:
var viewport:Rectangle = new Rectangle(0, 0, stage.fullScreenWidth, stage.fullScreenHeight);
mStarling = new Starling(GameEngine, stage, viewport, null, Context3DRenderMode.AUTO, Context3DRenderMode.AUTO);
I’ve positioned everything with a relative position instead of a fixed one, so instead of for example setting a button in the position x:500 – y: 200, I’ve set it to VG.SCREEN_WIDTH * 0.4 and VG.SCREEN_HEIGHT * 0.3
Thus all assets position themselves in the same positions independent what the screen size is.
Backgrounds are always stretched so they fit all the screen using simple functions. We lose image quality but it’s almost no noticeable.
For Study mode and level selection we use Feathers, as it offers an easy to use scroll container: [ Screen #1 ], [ Screen #2 ]
At last we used Flox for controlling errors on the backend. It works great!
360|Flex 2014 Session Recordings!
Session recordings from 360|Flex 2014, held in San Jose CA: