Android – Blog ictbram https://ictbram.com interactive pixels pusher Thu, 27 Aug 2020 12:00:56 +0000 en-US hourly 1 https://wordpress.org/?v=5.3.4 https://ictbram.com/wp-content/uploads/2016/01/cropped-brj-32x32.png Android – Blog ictbram https://ictbram.com 32 32 Musical notes helper app with godot https://ictbram.com/2018/02/musical-notes-helper-app-with-godot/ Sun, 04 Feb 2018 12:41:11 +0000 https://ictbram.com/?p=257

For a few years I’ve been learning how to play or compose music, just a bit on the side, a bit of theory, a bit of piano lessons.
In the summer of 2017 I’ve started the music theory for electronic music course.
I really enjoyed taking the course, made by a good instructor. Lots of mechanics and concepts in music am I beginning to get thanks to his lessons.
Creating music, composing or playing requires a lot of logic and reasoning.
To assist me with this, I wanted an helper app so I have created one.

The first two big chapters in the music theory for electronic music course were all about major and minor scales, the chords, inversions. The app was designed during these classes.
In the third and final chapter however, he starts with more special things like modes, pentatonic scales, chromatic mediants, exotic scales.
For these kind of, interesting, things my application was not yet usuable, so I put in an extra feature, the possibility to put in a “custom” scale, so you can also configure, most of, these kinds of things to assist you with.

In 2017 I’ve also started, at a really slow pace, to learn the marvelous, free and open source Godot game engine and decided to combine both domains into a project, which resulted in this musical notes helper app.

godotengine logo

The app is exported as a windows, linux, mac, android and html5 app. Sadly, the html5 version does not work in safari, so the app is currently not usable on apple devices (iPhones and iPads)
It was created with Godot 2.1. Version 3.0 of the Godot engine is just released which includes webassembly support, may have better exporting for these devices, but requires some code modifications and all. 3.1 is around the corner. It may be possible I create a new version with the new engine if the html5 export works on those devices.
I’ve also not yet succeeded to publish to the microsoft store as I did with my previous game, 3d-pong. I’m going to try to publish this project there as well.

The html5 export does work on the Xbox One’s browser, Edge. For easier access I’ve put a link to the html5 export on https://ictbram.com/music. My plan is to link all things I’m going to publish around music over there.

]]>
Timer android app https://ictbram.com/2017/07/timer-android-app/ Mon, 10 Jul 2017 08:50:44 +0000 https://ictbram.com/?p=234 It’s been a while since I posted something on my blog.
I’ve been busy learning a new great, free tool, Godot Engine, a game engine with lots of features for animation, scripting, .. , plays along with Blender really nice, can publish to all platforms, including html5. I love it already, but did not yet finish something using it. This will change in the comming year I hope. To create more good documentation and tutorials I supported the kickstarter of Nathan Lovato by the way, for version 3, that is comming up, which packs lots of goodness (3D stuff, the switch statement supported in the scripting , …)
The tool and language is already really good and it’s getting better, it’s still not as evolved as the flash platform which I’m very familiar with, but Godot may become superior to me hence it is free and open source software.

A year and a half ago I discovered meditation. One evening it was not going really good, I was a bit in a bad mental condition and thinking how I could fix this. I typed the word “meditation” in youtube which brought me to this video:

an American with Russian roots, who explains very well how to meditate, possible pitfalls and what benefits you get by meditating. Since that day I’ve been meditating 20 minutes every day, I am convinced about what he says and experience the benefits. My plan is to keep doing this every day, no matter what.

One of the things you need to meditate, like he explains, is a timer. I have android phones. The system always has a timer included next to the clock, but there’s mostly something that is not ideal. The time the phone vibrates to short, vibration OR alarm sound. I checked some free apps, but same story. First I was thinking about using Godot Engine for building a timer myself, but apparently you have to compile Godot yourself to get a phone to vibrate, for now. Mobile phone vibration is something I’ve already got done in a flash game, Micro Star Fighter so I decided to just use flash with the Starling framework and Feathers components, which are still moving forward. The development went pretty quick, it’s a very simple app, but during testing I noticed the alarm was going off 20, 30 seconds to even a minute over time. This was caused by the app being pushed to the background apparently. I googled it and found a solution: https://juankproblog.wordpress.com/2012/06/17/using-the-local-notification-ane-on-ios/
An, open source, native extension for flash, works on iOS and Android, that can send and receive special notifications. This does the trick, when the sent, timed notification is received again, the app is being pushed to the foreground or something and my code, that checks the timing on an Enterframe, is executed.
Important, this works good when the phone is not being used, when you meditate for example, but when the phone is used heavily, the timer is running in the background, the app can get killed and does not restart.

The special notifications can be sent and received with a device reboot in between. That works, but the app does not start automatically with that notification, only when you push the notification.
I was hoping it would start the app and have made it ready, so it can resume the countdown on schedule. This works, but you need to start the application again yourself after the reboot. That’s alright enough, for now 🙂 , I guess.
Several tests on a few devices proved to me that it works properly, so my simple Timer application is finished.
It’s in the google play store for free.


Because the app asks for a lot of permissions and I love using open source software, like Blender and Godot, I’ve made it open source on github
A lot of the asked permissions, I use, to enable (almost all optional through settings) vibration, notifications, keeping the screen from sleeping, but I actually did not need or ask network permissions, I was planning not to do this, but it is something ADT adds when compiling Adobe Air with a captive runtime.

Greetings, I’m back off to learning Godot.

]]>
3d-pong dot com https://ictbram.com/2016/10/3d-pong-dot-com/ Sat, 01 Oct 2016 08:52:53 +0000 https://ictbram.com/?p=186 For me, 2015 was a transition year from flash technology to html5. Adobe Flash is a great tool, but I explored other possibilities as a publishing plaform. WebGL support in the major browsers, good sound playback, gamepad support, the possibility of saving settings in localstorage made me choose javascript.

I don’t really like to program javascript, actionscript 3 is way better I think, but javascript is a language I know a bit and can use to create things for the web. I have some professional experience as a webdeveloper using jQuery.

About 15 years ago the 3d pong game, I believe published in Macromedia Shockwave back then, was a game I thought of something really cool. That version of the game is still online in the Adobe Flash format, http://www.ponggame.org/3dpong.php

The idea of the game is great, but I think there is a huge missing feature, you need to be able to play this game split screen, so I decided to create my own version of that game with split screen included.

Unreal Engine was a tool I was considering to do that in, great platform and free until you make lots of money with your game, html5 publishing available. I made some first steps into unreal, but in the first months of 2016 I was working as a webdeveloper and was focussing more on web technology then learning a game engine.

I stumbled upon babylonjs and the crosswalk project.
Babylonjs gives a rather good performance with webgl, it had enough features to create that kinda game and it supported all of the gamepads I tested it with, in various webbrowers.
The engine is originated from a team working for Microsoft. Gamepads connected with Microsoft Edge work, that browser can be accessed on Xbox One machines, thus enabling Xbox One as a publishing platform for me, very nice.
Gamepads connected with other major browsers (Google Chrome, Mozilla firefox) on pc or android also work with the engine.
The Crosswalk project from intel can build a cordova app for android with the chromium webview, which supports WebGL and gamepads.
At first, I compiled it myself, but after a while, because of constant configuration changes needed, I used the intel xdk editor to build the app.
This works good for mobile, unfortunately, xdk does not provide the necessary configuration options to publish for android tv. Very disapointing because the television is a medium the game is actually intended for.
For this reason I also provide the apk installer files, that can be used to sideload the game on various android tv boxes.

Being a javascript game, it is rather demanding on hardware. You can play it on recent computers, android tv boxes like the Nvidia Shield, in the Xbox One browser, but the performance can be not good enough on older hardware.
It is something you’ll need to test yourself. The game is online at https://3d-pong.com https://ictbram.com/3d-pong and in the google playstore

For promoting the game I made a video which demonstrates mainly gameplay and shows the key feature of playing split screen.

I hope the game will be much played and is entertaining for lots of people and their friends. There is some documentation provided on https://3d-pong.com/about/ in English, but the menu’s in the game are provided in multiple world languages:
English, Chinese (traditional), German, French, Spanish and Russian.

** Update 16/10/2015

The android version is now also installable on android tv boxes. I’ve managed to open the apk file made by intel and repackage it with Apktool.  In the manifest xml file I’ve added a few use-feature lines:
<uses-feature android:name=”android.hardware.gamepad” android:required=”false”/>
<uses-feature android:name=”android.software.leanback” android:required=”false” />
<uses-feature android:name=”android.hardware.touchscreen” android:required=”false” />

and an extra activity :
<activity android:name=”com.ictbram.threeDeePong.MainActivity” android:label=”@string/app_name” android:configChanges=”keyboard|keyboardHidden|navigation” android:theme=”@android:style/Theme.Black.NoTitleBar”> <intent-filter> <action android:name=”android.intent.action.MAIN” /> <category android:name=”android.intent.category.LEANBACK_LAUNCHER” /> </intent-filter> </activity>

I also found and used the APK2TV tool to add in a 320×180 banner displayed on the android tv home screen.

After adding the banner, once more a repackage with Apktool and a zipalign on that apk file before it was accepted again in the android play store. That arm apk install file is also updated on the about website, the x86 not yet because I don’t have a device at hand to test it on.

From now on, 3d-pong is also published in the Microsoft Store for windows 10 devices.

]]>
Wiezen android app https://ictbram.com/2015/05/106/ Sat, 09 May 2015 08:42:27 +0000 https://ictbram.com/?p=106 The android app “wiezen bij Bram”  I made was recently released on the google play store. It is now possible to play the card game wiezen with other people on http://ictbram.be/wiezen also on android. It is a game that has to be played with 4. You need to arrange a meeting with 3 other players.
A few years ago I’ve made a webversion of the game in flash.

The app is also made in flash with adobe air  and the Starling game engine. It is compatible with the webversion where it is possible to add computer players. They play by the rules, but just choose random cards. You can test or learn the game with the computer players, but you should play against real players.

The game uses the server software and library, union wich is installed on a raspberry pi at my home. The language of the game is Dutch.
There are some screenshots on http://ictbram.be/wiezen/android.html

I’ve also made a little promotion video with friends and family playing the game:

 

The video is created with the great free software package blender. This software is mainly for making 3D movies and images, but has a nice build in video editor as well.

The little star animation and credits were too made with blender.

]]>
Css3 banner https://ictbram.com/2014/12/css3-banner/ Sun, 07 Dec 2014 17:59:51 +0000 https://ictbram.com/?p=96 A few weeks ago I tried to convert a banner I’ve made in flash to css3.

The flash banner is situated here on the front page : http://www.qtrexshop.eu/

Swfobject is used to only show it when flash is available. When not, an image is shown. I like it that way. There is also an html5 slideshow on the page that works well on mobile. So on mobile, there is not to much animation going on, just the slideshow, the flash is not shown and the 2 static images instead are scaled with css.

I’ve been reading a bit about css3 animations, that there is a performance benefit over javascript, that it uses the gpu and I thought of giving it a try.

In the past I’ve made pure javascript banners for testing and the performance on mobile was to bad.

The result and workflow in css3 are nice. An image, a bit of html, and a few lines of special css for animating.

The result is here: https://ictbram.com/css3banner/

Modernizr is used to detect if cssanimations are available.

For restarting and keeping the animations synchronised I used jQuery that removes and adds the animation css again.

$(‘#kamionneke’).removeClass(‘kamionnekeAni’).animate({‘nothing’:null}, 1, function () {$(this).addClass(‘kamionnekeAni’);});

In a test environment I saw the banner was not functioning really usable on that page. The html5 slideshow even started to stutter on chrome / desktop, the rotation animation did not work on a test mobile phone, performance was not that good, maybe a bit better then javascript, but not outstanding.

So the flash banner will just remain, but I like the workflow and new possibility for bringing animation to the web. So I’m posting this as a reference for maybe a future thing.

 

]]>
Micro Star Fighter game https://ictbram.com/2013/09/micro-star-fighter-game/ Sat, 07 Sep 2013 12:27:01 +0000 https://ictbram.com/?p=45 Today I released a new game called Micro Star Fighter on the google play store. It’s a free mobile game.

https://ictbram.com/starfighter/

Blender, Gimp and Adobe Flash were used to create the graphics.
Flixel as the game engine, As3sfxr for the sound effects and the free version of FDT for coding.

screenshotPhoneBlogpost

]]>