The Week That Was
If you
recall, last week I promised you more progress on the Love Hearts® app itself,
new artwork and lots of new DirectX and sensor features for the new AGK WinRT
engine. I am pleased to report that I can deliver on all of the above. Let me
first apologise for the technical onslaught from Week 3, an unfortunate
by-product of getting too close to a coder at boiling-point. As a cure, here is
a video intro which involves a little less reading.
And for
those who like to read, here is another huge blog, with lots of juicy details
and lots more videos.
The Week That Is
This week I
would like to show you rather than tell you what I’ve been up to on the
project, and have decided to use copious amounts of video to do this. I decided
to record a typical morning, preparing for Ultrabook development, before playing
it back 64 times faster.
During the
afternoon, we see the current state of the Love Hearts® app, complete with some
final artwork and more content.
Before you
recoil from shock, let me qualify the video by saying it was running in Windows
8 Native Desktop mode using the legacy AGK engine. I just wanted to show you
what it’s going to look like running on the Ultrabook when it’s finally running
under the new WinRT engine.
The new
Windows 8 engine made some huge strides this week, coupling up more OpenGL
functions and matching them to the DirectX 11 API. I created an intermediate
layer between OpenGL and DirectX which converted regular C++ data into C++/CX
references, and stored some internal values which OpenGL relies on to perform
it’s chain of instructions. Unlike DirectX, OpenGL sets states which later
OpenGL calls rely on, so this had to be mimicked using the new intermediate
layer. Bottom line is that we now have our DFNAM engine rendering the exact
same pixels as the native OpenGL engine. I also took the opportunity to code
the Accelerometer, Multi-touch and half the NFC sensor commands as well.
NFC Ultrabook and Nexus 7 Trick: To
get your devices talking to each other, place the Nexus 7 tablet with its back
touching the touchpad of the Ultrabook, aligned so that the top of the Nexus 7
is on line with the top of the touchpad.
I can’t
describe the buzz I got when I first got the NFC connection working; it was one
of those defining moments which slowly shape the technological landscape. I
must admit it took me a while to find the aerial for the Ultrabook and the Nexus
7, but after a few Google videos and lots of device foreplay, I found the
perfect spot as you can see in the above video.
When the
time comes to integrate these cool toys into the main app, one of the
overriding factors in making a successful Ultrabook app is the user experience.
All the features in the world won’t make a killer app, but a single feature
done well can transform a regular app into a leading app.
We must not
confuse the Ultrabook with a laptop, a tablet or a small desktop. Users who buy
an Ultrabook want the keyboard, the hands-free touch capabilities, the
performance and the gadgets, and they want apps that respect their choice of
hardware. I was inspired by a fellow contestant’s feature list and decided to make
my own to see how each feature lends itself to the Love Hearts® usage scenario
of the ideal Ultrabook user.
Completed Tasks
- Multiple Resolutions: App adjusts layout to fit any landscape resolution
- Mouse, Track-pad & Touch-screen: Accept all three input styles
- Single & Multi-Touch: Two finger moving & resizing of message art
- Rich Graphics: Use high resolution artwork for HD rendering
- 3D Graphics Performance: Engine uses GPU rendering for 2D & 3D
- Enhanced Performance: Engine uses PPL for parallel multi-core coding
- DFNAM: 100% WinRT engine (native code is old code)
- NFC Kiss: Touch Love Heart apps together to get extra credits for both
- Accelerometer: - Control a mini-game using forward tilt only
Pending Features
- iSCT (Always On): Retrieve love messages in background (if connected)
- Push Notification: Display notification on tile page (if connected)
- Power Management: Screen rendering freezes after 30 seconds idle
- iRST (Rapid Start): Cache resources on suspend so can resume quickly
- Geo-location: All messages stamped with the City they were created
- Compass: Controls on-screen compass and position of sun
- Orientation Sensor: Shift clouds so horizon always horizontal
- Gyro: Spin packet when detect sufficient angular velocity
- Light Sensor: When in dark room, lower rendering brightness
- Inclinometer: A mini-game controls first-person flying love catcher
The Last Mile
As you can see from the list above, there appears to be a lot of red but having tackled the big learning curves of WinRT and C++\CX, the last six items can be done in just a few days thanks to a greatly improved Windows API. The middle four; IRST, POWER, PUSH and ISCT are virgin lands to me right now, and promise much agony and elation in equal measure in the weeks to come.
A Cry for Freedom
I have not
mentioned my work role before, but at The Game Creators
(www.thegamecreators.com) I am best described as the Lead Developer, which
means I have a finger in most of the pies spinning at any one time. The lead
developer does not have the luxury of working on just one project, and right
now I am working on two. The Ultimate Coder Challenge is one of them, and the
other project is Freedom Engine.
Simply put,
we take our cross-platform technology App Game Kit and make it work entirely in
the cloud. We add a browser based IDE and compiler, create an HTML5 WebGL
engine to run the apps online and we keep backwards compatibility with AGK so
the same app can run on iOS, Android, Windows, Mac, Playbook & Bada. With the
Ultrabook work, we’re adding Windows 8 to the supported platforms not to
mention an eclectic cacophony of new commands.
For the video, best you visit the official launch site www.freedom-engine.com |
Ten years ago, The Game Creators owned a considerable chunk of the ‘hobby developer’ market with the likes of DarkBASIC, FPS Creator and 3D Gamemaker but the competition today is strong and mature. Instead of competing head to head, we decided to make a paradigm shift in thinking and come up with a whole new way for developers to create and distribute apps.
A solution that fits with the way we prefer to work, and targets all devices in the compute continuum. With Freedom Engine, your Ultrabook turns into a fully featured cross-platform development studio that offers instant access to every sensor and feature available through Windows 8.
Think of
Freedom Engine as the GMAIL of app development, your code accessible from
anywhere, apps than run on everything, free to use, fast and powerful. The best
way to understand it is to try it, and we’ll be launching the public beta of
this service on the 12th September during IDF. For updates on where
I’ll be during IDF, follow my twitter feeds @leebambertgc
The Week That Will Be
The Week That Will Be
The next few
days will be something special in the calendar of your typical coder,
stretching five days into ten days by way of a magical enchantment we like to
call ‘a deadline’. I fly from jolly old England on the 10th
September to arrive for cocktails, giggles and guffores at the annual Intel
Developer Forum event in San Francisco. Before then, I have to finish a version
of Love Hearts® to demo during the event, and also finish the Freedom Engine
beta for public release on the 12th. I also have to prepare
presentation materials and of course, pack my suitcase.
It’s been
arranged that all bloggers can have a week off while IDF is in session and so
all posts are moved to the following Monday. Even so, in true Harry Potter style,
I will be blogging Week 4 and Three-Quarters throughout the IDF event so please
do check back next Monday and I’ll find some time to blog something amusing.
More Information
For more information about the Ultimate Challenge, check out the
official website at:http://software.intel.com/sites/campaigns/ultimatecoder/
Blog Bambermentry
For everyone who likes 40 hours of video, I decided to make a ‘week in the life’ time lapse video showing a week’s worth of coding. Shot entirely on the Ultrabook for over 40 hours of coding slog, I was a little concerned that I would melt the device, and have nothing to complete the last two weeks with.
Despite my fears, the Ultrabook was a capable work horse and had no problems keeping up with me during the marathon. Let’s hope it survives another long week of coding, a round trip to the states and curious developers poking at it.
No comments:
Post a Comment