Sponsors

Go Back   Zune Boards > Zune Discussions > Zune Games > Development Discussions

New Member?


Register Zunecentive FAQ Members List Calendar Search Today's Posts Mark Forums Read

Development Discussions All developers who are coding games may stop by here for any help, suggestions, and everything development related.

Reply
 
LinkBack Thread Tools
Old 06-29-2008, 11:04 PM   #1 (permalink)
Jr. Member
 
Tiptup300's Avatar
 
Join Date: Apr 2008
Posts: 370
Reputation: 111
$zB: 271
Donate
Default Zune Home -- Potentional Application Suite

As usual I was doodling around in photoshop making random ideas for applications/games/etc, when I came to this:

>

"Zune Home", an application suite with various different applications. I thought of all the applications I could pack in, how they would work, such and such. Afterwards, I knew I wouldn't ever work on it, since I make a lot of concepts such as this, but this one was special because I had an ever better idea. I could possibly program one which acts more of a framework in it self for other "application" modules.

Doing it in this module-like method would allow any other programmer to make their own mini-application, such as the metronome, an im client, alarm, calendar, etc. etc.

If I get enough developers willing to develop for this "Zune Home," I may design it. I'll of course include samples and some documentation for making Application modules.

EDIT: Made up a better menu design.

Developer Release 1

Last edited by Tiptup300 : 08-20-2008 at 10:48 AM.



Tiptup300 is offline   Reply With Quote
Remove Advertisements Sponsored Links
Advertisement
 
Old 06-29-2008, 11:12 PM   #2 (permalink)
Jr. Member
 
The Undead's Avatar
 
Join Date: May 2008
Posts: 325
Reputation: 90
$zB: 8
Donate
Default

sure ill do it, if you release it Ill port over my PhoneBook app
__________________

To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.



The Undead is offline   Reply With Quote
Old 06-30-2008, 01:06 AM   #3 (permalink)
zB Programmer
Jr. Member
 
DiNoGames's Avatar
 
Join Date: May 2008
Location: Bremen, germany
Posts: 341
Reputation: 100
Send a message via Skype™ to DiNoGames
$zB: 253
Donate
Default

Sounds good to me...
__________________

To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.






DiNoGames is offline   Reply With Quote
Old 06-30-2008, 08:08 AM   #4 (permalink)
Zuner
 
xjakehxbabehx's Avatar
 
Join Date: Jun 2007
Posts: 51
Reputation: 10
$zB: 11
Donate
Default

this would use the "load unload method" that i discussed in another post?
if so then thank-you for showing them it can be done :P
__________________
pink zune,
30gig,
1379 songs,
437 videos,
1893 pictures



xjakehxbabehx is offline   Reply With Quote
Old 06-30-2008, 10:06 AM   #5 (permalink)
Jr. Member
 
Join Date: Nov 2006
Posts: 284
Reputation: 20
Send a message via MSN to Ricardo Dawkins
$zB: 211
Donate
Default

OMG. That is crazy.
will be there a option for printing ?

j/k guys....nice mockup, TipTup.
Hope to see this thing running in a zune around me when it is ready.
__________________

To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.

To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.

Black Zune 80 & Samsung YH-J70 + Zune 80 Premium + AKG K26p + JVC HA-FX33 Blue -Marshmallows-




Ricardo Dawkins is offline   Reply With Quote
Old 06-30-2008, 10:23 AM   #6 (permalink)
Jr. Member
 
Tiptup300's Avatar
 
Join Date: Apr 2008
Posts: 370
Reputation: 111
$zB: 271
Donate
Default

I haven't exactly detailed a great way of doing content management. I have a way which would work, but it wouldn't be as fluid as I would like... Any ideas?



Tiptup300 is offline   Reply With Quote
Old 06-30-2008, 03:51 PM   #7 (permalink)
Jr. Member
 
SimReality's Avatar
 
Join Date: May 2008
Location: Seattle, WA
Posts: 398
Reputation: 60
$zB: 341
Donate
Default

The architecture for this would be interesting and, no, it wouldn't be simply dropping in existing games. You would have to re-tailor a program to work here because, as I stated in other threads, you cannot instantiate multiple copies of the XNA Game class. It simply doesn't work. Therefore your application suite program would have to support a nice modular API that other applications (or games) can be built using.

It probably wouldn't be terribly hard for it as long as you set down some concrete rules and things. For instance you have to choose whether the mini OS will unload its content before launching a game/app. That determines what new memory restrictions are placed on the game/app. Maybe a few others.

All in all I think with some smart architecture this wouldn't be completely out of reach. Again the biggest issue here is that you won't just be able to add the existing games/apps to this; you would have to rewrite them in the context of this application. Either way, good luck with this one Tiptup.

Edit: I do have an interesting idea on how you can deploy new games to this system without redeploying the whole suite. I'll try a prototype tonight and let you know how it goes, Tiptup.
__________________
Nick Gravelyn
Microsoft MVP - DirectX/XNA

To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.



SimReality is offline   Reply With Quote
Old 06-30-2008, 03:56 PM   #8 (permalink)
Experienced Zuner
 
TUNDRA35's Avatar
 
Join Date: Nov 2007
Location: Berlin, Maryland
Posts: 120
Reputation: 11
Send a message via AIM to TUNDRA35 Send a message via MSN to TUNDRA35 Send a message via Yahoo to TUNDRA35
$zB: 57
Donate
Default

bro this is a great idea and would luv to see it happen!!
__________________

To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.




TUNDRA35 is offline   Reply With Quote
Old 06-30-2008, 04:19 PM   #9 (permalink)
Support Team
Super Zuner
 
Scrapz616's Avatar
 
Join Date: Mar 2007
Location: New York
Posts: 1,575
Reputation: 122
$zB: 1236
Donate
Awards Showcase
Most helpful 
Total Awards: 1
Default

Sounds like a good idea, good luck making it.
__________________

To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.
Throw Ya L's Up
To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.




Scrapz616 is offline   Reply With Quote
Old 06-30-2008, 04:22 PM   #10 (permalink)
Squirt
 
somezunenoob's Avatar
 
Join Date: Jan 2008
Posts: 22
Reputation: 11
$zB: 13
Donate
Thumbs up

lookng good!
__________________
u got goro'd!



somezunenoob is offline   Reply With Quote
Old 06-30-2008, 04:51 PM   #11 (permalink)
Zewbie
 
Join Date: Jun 2008
Posts: 2
Reputation: 10
$zB: 2
Donate
Default

Look so nice!!!!!!!



JOHNXNA is offline   Reply With Quote
Old 06-30-2008, 04:59 PM   #12 (permalink)
Jr. Member
 
Tiptup300's Avatar
 
Join Date: Apr 2008
Posts: 370
Reputation: 111
$zB: 271
Donate
Default

Sim, way ahead of you. Although I haven't written any code yet, I have it all planned out. You are correct in it being a modular api.

Each "AppModule" will have it's own ContentManager, which will be unloaded after it's done running. I was thinking of having just like one text doc which you add the modules.

So pretty much the steps to add a module would be about:

1) Add folder to project in specified folder (probably "modules")
2) Add specified module name to Modules.txt

I would setup some concrete rules and such.

Last edited by Tiptup300 : 06-30-2008 at 05:01 PM.



Tiptup300 is offline   Reply With Quote
Old 06-30-2008, 05:05 PM   #13 (permalink)
Jr. Member
 
birdman's Avatar
 
Join Date: Jan 2008
Location: earth
Posts: 482
Reputation: 18
$zB: 390
Donate
Default

The mock up looks awesome, if this can really be done i would definitely use it.

If only the zune came with a time and date bar at the top of the screen like that....it would be so much better.
__________________
If you are reading this, I already hate you.



birdman is offline   Reply With Quote
Old 06-30-2008, 05:43 PM   #14 (permalink)
Jr. Member
 
SimReality's Avatar
 
Join Date: May 2008
Location: Seattle, WA
Posts: 398
Reputation: 60
$zB: 341
Donate
Default

Quote:
Originally Posted by Tiptup300 View Post
Sim, way ahead of you. Although I haven't written any code yet, I have it all planned out. You are correct in it being a modular api.

Each "AppModule" will have it's own ContentManager, which will be unloaded after it's done running. I was thinking of having just like one text doc which you add the modules.

So pretty much the steps to add a module would be about:

1) Add folder to project in specified folder (probably "modules")
2) Add specified module name to Modules.txt

I would setup some concrete rules and such.
There is one flaw and one question then. The flaw is that this requires redeployment of each game, does it not? The question is how do you plan to load each of the modules into and out of the mini OS you have here?
__________________
Nick Gravelyn
Microsoft MVP - DirectX/XNA

To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.



SimReality is offline   Reply With Quote
Old 06-30-2008, 06:19 PM   #15 (permalink)
zB Programmer
Hacks and Mods Crew
Jr. Member
 
Anachostic's Avatar
 
Join Date: Jun 2007
Posts: 403
Reputation: 69
$zB: 87
Donate
Default

I just checked in Reflector and saw that the Zune version of mscorlib has System.Reflection.Assembly.Load(). Can't we enumerate DLLs in the app directory and compare them to a common interface for validity? It'd be like any other plug-in pattern.



Anachostic is offline   Reply With Quote
Old 06-30-2008, 06:19 PM   #16 (permalink)
Jr. Member
 
Tiptup300's Avatar
 
Join Date: Apr 2008
Posts: 370
Reputation: 111
$zB: 271
Donate
Default

Quote:
Originally Posted by SimReality View Post
There is one flaw and one question then. The flaw is that this requires redeployment of each game, does it not? The question is how do you plan to load each of the modules into and out of the mini OS you have here?
Heres a very very quick example of lets say what a clock would look like.

Code:
using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Storage;
using Microsoft.Xna.Framework.Content;

namespace ZuneHome
{
    public class Clock : AppModule
    {
        Texture2D ClockTexture;

        public Clock(IServiceProvider services)
            : base(services)
        {

        }

        public override string GetName()
        {
            return "Clock";
        }

        public override void Initialize()
        {
            ClockTexture = Content.Load<Texture2D>("ClockBG");
        }

        public override void Update(GameTime gameTime)
        {
            Input.Update(gameTime);
            if (Input.IsPressed(ZuneInput.ZuneButtons.Back))
                Close();
        }

        public override void Draw(SpriteBatch batch)
        {
            batch.Draw(ClockTexture, Vector2.Zero, Color.White);
          //  batch.DrawString(Fonts.SegoeUI14pt, DateTime.Now.ToString(), new Vector2(100, 100), Color.Red);
        }

        public override void Dispose()
        {
            ClockTexture.Dispose();
        }
    }
}



Tiptup300 is offline   Reply With Quote
Old 06-30-2008, 06:28 PM   #17 (permalink)
Jr. Member
 
Tiptup300's Avatar
 
Join Date: Apr 2008
Posts: 370
Reputation: 111
$zB: 271
Donate
Default

Quote:
Originally Posted by Anachostic View Post
I just checked in Reflector and saw that the Zune version of mscorlib has System.Reflection.Assembly.Load(). Can't we enumerate DLLs in the app directory and compare them to a common interface for validity? It'd be like any other plug-in pattern.
Wow, I have to try this, if this is possible, we could just allow the users to just drag and drop in dlls into one folder, then dynamically load them all! Great find!



Tiptup300 is offline   Reply With Quote
Old 06-30-2008, 06:30 PM   #18 (permalink)
Jr. Member
 
SimReality's Avatar
 
Join Date: May 2008
Location: Seattle, WA
Posts: 398
Reputation: 60
$zB: 341
Donate
Default

Quote:
Originally Posted by Anachostic View Post
I just checked in Reflector and saw that the Zune version of mscorlib has System.Reflection.Assembly.Load(). Can't we enumerate DLLs in the app directory and compare them to a common interface for validity? It'd be like any other plug-in pattern.
You can only see what's in the game's (Zune Home) title directory and game save directory. So no matter what you're going to have to redeploy the Zune Home each time to add a new application. Plus you definitely don't want to use Assembly.Load. There's no way to then unload the assemly which is bad. However I'm testing out creating a new AppDomain to run the other application module in. It'll be a tricky little rig, but it might work. If it succeeds, what it means is that each app will be compiled into a DLL and then the Zune Home can be precompiled into an EXE. So the user who wants to add a new one, just adds it to the source-code-less Zune Home project and away it goes.

We'll see how it goes...
__________________
Nick Gravelyn
Microsoft MVP - DirectX/XNA

To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.



SimReality is offline   Reply With Quote
Old 06-30-2008, 06:47 PM   #19 (permalink)
Jr. Member
 
SimReality's Avatar
 
Join Date: May 2008
Location: Seattle, WA
Posts: 398
Reputation: 60
$zB: 341
Donate
Default

Ok. So my "test" app worked out pretty well. I am going to go ahead and say this: AppDomains FTW! Because what I did was compiled one of my games into a plain old EXE (Repeater). Then I included that EXE with my test application. When my test application ran, it used an AppDomain to launch Repeater which ran just like normal. When I exited Repeater, it started up my test game.

Now the caveat. This only worked because I ran Repeater before instantiating my test application's Game. Which means that I might have to do some delegating to get something working. Basically the issue is that both games want access to the Zune's graphics device and only one can have it at a time. I'm thinking I can run my test application in one AppDomain and then suspend it when the other game starts running. Then when the game quits, I kick the test back open. We'll see.
__________________
Nick Gravelyn
Microsoft MVP - DirectX/XNA

To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.



SimReality is offline   Reply With Quote
Old 06-30-2008, 06:58 PM   #20 (permalink)
Jr. Member
 
Tiptup300's Avatar
 
Join Date: Apr 2008
Posts: 370
Reputation: 111
$zB: 271
Donate
Default

Okay, you're going the other way of what I'm going towards. I want to make an api system for users to make smaller applications and can easily add it to a list of other small applications. No sense filling up the Games menu on your zune with hundreds of little apps you rarely use.

I'm not only making a system to load/unload apps, but also helper classes to simplify drawing text, getting input and other things.

Edit: WTF is up with this forum, it only posts about 1/2 the time I post anything. I hate it.

Last edited by Tiptup300 : 06-30-2008 at 07:01 PM.



Tiptup300 is offline