iOS WatchKit app from Monkey X iOS Game Target?

Monkey Targets Forums/iOS/iOS WatchKit app from Monkey X iOS Game Target?

AndroidAndy(Posted 2015) [#1]
Searched through the forums but see no mention of how to create an iOS WatchKit app application from the Monkey X iOS Game Target sources. Based on my cursory review of the iWatch app architecture, this would likely require a new target.

I am wondering if anyone has been working on this, or if there is a practical way to leverage some of the code from an iOS device build and call it in an iWatch app?


nullterm(Posted 2015) [#2]
I haven't looked at the iWatch SDK yet. Does it do OpenGL ES or is it some more specific gfx api (Metal)? Iv'e only found reference for the usual UI bits like buttons, sliders, images, etc.


AndroidAndy(Posted 2015) [#3]
It is not looking good, there is no access to the display graphics context on the watch. The best you can do is to use core graphics to render a bitmap and display it, but I think there are serious issues on power drain if you did something like that. I have found references on fps from a low of 8 to as much as 30fps, but animations are going to be a challenge. The more I look at this the less likely I think we will ever see a Monkey X WatchKit target at least in the near term. Back to xcode with swift and objective-c for now...


nullterm(Posted 2015) [#4]
That's kinna what I thought. When it was first announced I was expecting a wave of Flappy Bird type one button games. But from all the Apple demos I've seen, I'm not sure that's even realistic given what Apple has chosen to expose SDK wise. And like you said, that probably stems from battery issues.


Soap(Posted 2015) [#5]
https://developer.apple.com/watchkit/


Soap(Posted 2015) [#6]
It's time. Apple Watch will be in the hands of customers on April 24. Get your WatchKit apps ready and submit them for review now.
Once your WatchKit app is approved and released by Apple, your existing iPhone users will receive the app update and customers will see your WatchKit extension icon and description on the App Store. A small group of people who currently have an Apple Watch will be able to use your WatchKit app before April 24, so make sure your back end systems are ready. If you prefer your WatchKit app to be available only after Apple Watch is available to all customers, set your release date to “manual" and update it on April 24.

https://developer.apple.com/app-store/watch/


nullterm(Posted 2015) [#7]
Apparently the native watchOS 2 SDK is out now. Maybe now we could Monkey around with it? ; )

Quick look...

No OpenGL (or Metal), doh! But it does apparently do CoreGraphics, so might be able to mojo/mojo2.


Samah(Posted 2015) [#8]
As cool as a watchOS target would be, it moves away from the main goal of Monkey anyway. A game written for a watch is not really going to be portable to any other platform.


Shinkiro1(Posted 2015) [#9]
> As cool as a watchOS target would be, it moves away from the main goal of Monkey anyway. A game written for a watch is not really going to be portable to any other platform.

Totally agree. The game design just doesn't transfer over, different concepts.


nullterm(Posted 2015) [#10]
Disagree. Monkey is a tool to generate games on several platforms, but the games themselves don't need to be completely portable. The fact it does touch (iOS,Android) vs keyboard+mouse (PC,Mac,HTML5) vs joy/pad (PC,Mac,Xbox[?]) means some games do/don't work on different platforms. And not all modules and features work on all platforms, and as designer/developer/programmer we make choices around the limitations.


Samah(Posted 2015) [#11]
@nullterm: Monkey is a tool to generate games on several platforms, but the games themselves don't need to be completely portable.

If the game isn't completely portable, you may as well just write it in the native language for the target.


nullterm(Posted 2015) [#12]
@Samah: If the game isn't completely portable, you may as well just write it in the native language for the target.

Why? Even if you intend on working on a single platform, using Monkey can be WAY faster to start than just getting all your SDKs, libraries, resources, etc in order just to have your first sprite on screen. mojo, sound, etc is already built in. Load, Draw, run.

The only reason I go to raw C++ for games these days would be for raw CPU performance need and getting around GC. But MX2's Struct might even eliminate that concern, plus Operators helps make the code smaller/natural-er for 3D vector math ops.

And I'd rather use MX as my kevlar vest to dabbling with raw Java/Android, HTML5, UIKit/iOS, etc. I don't like setting up to build games these days, I want more time on "the game" itself.


nullterm(Posted 2015) [#13]
@Samah: If the game isn't completely portable, you may as well just write it in the native language for the target.

Why? Even if you intend on working on a single platform, using Monkey can be WAY faster to start than just getting all your SDKs, libraries, resources, etc in order just to have your first sprite on screen. mojo, sound, etc is already built in. Load, Draw, run.

The only reason I go to raw C++ for games these days would be for raw CPU performance need and getting around GC. But MX2's Struct might even eliminate that concern, plus Operators helps make the code smaller/natural-er for 3D vector math ops same way I do it in C++.


rIKmAN(Posted 2015) [#14]
A game written for a watch is not really going to be portable to any other platform.


I wouldn't write a "game" for a watch, but it would be cool being able to use it as a sort of companion to your normal iOS game.

Let's say you are work and can't play, you could send stats and updates to the watch, maybe simple decisions that would affect the game when you next went back to your iPad or whatever.

I read about some game (which I have tried to Google and cannot for the life of me remember the name!) that sent text alerts to the player in real time which he swiped to make decisions on. It was kind of like an interactive novel where you made a choice and the guy went off and got back to you an hour later to report his progress.

Like I said can't remember the name of it but that is an example of the sort of thing I mean.

If it's easy to make the target, why not?
If it is a lot of work though I would much prefer that time to go towards a XB1 (ID@Xbox) target.


Samah(Posted 2015) [#15]
There are a only a couple reasons I can think of that you might want a watchOS target:
1) HTML5 prototyping faster than deploying to the device (and you don't need to buy a device for initial development)
2) Possibility of reusing the code for a potential Android Wear target...