• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

PS Suite news - C# SDK coming November, content distribution from Spring 2012

PhyreEngine, Mono, cool Mono uses in Gaming, and more. PS3 Mono demo in 2009! PS3 GameOS JIT Mono is under development. Other OS Linux Mono was not JIT.

A few weeks ago we learned about Sony's developer event in the West Coast. Michael, Zoltan and myself worked very hard to put together a demo to show the virtues of C# and the CIL to developers. So we cranked on some record time some code:

PhyreEngine#
Static compiler for PowerPC for Mono on PS3
A yield-based co-routine framework.
We picked Sony's PhyreEngine to demostrate how to use Mono to write the high-level code for a game using Sony's finely tuned engine. We figured this was better than showing a for loop printing the numbers 1 to 10 on the screen.

PhyreEngine# wraps PhyreEngine using the same techniques that we used in Gtk# and Moonlight. The resulting API is glorious and by letting PhyreEngine do all the heavy lifting while driving all the high-level from C# there is no way of telling that the driving force is not C++. All you get is pure unadultered productivity.

To make our demos a little more interesting, Michael wrote a minimalistic yield-based co-routine framework inspired by some of the ideas that our friend Lucas gave us. It is a tiny toy, but we used it to illustrate the concept of using C# iterators as the foundation for game logic development and how a cooperative scheduler would work (Unity game logic works just like this).

We were also working on completing Mono's port to the PlayStation 3's native operating system (this is different than running Mono on Linux on the PS3: that already works, and it was used for developing CellDotNet, a JIT for the PS3's SPUs). Zoltan developed the static compiler for PowerPC and I did the platform support.

Mono can now run "Hello World" on the PS3 native OS. There are still lots of ins, lots of outs and lots of whathaveyous that need to be tied up before this fully works and before we are able to run PhyreEngine# on the PS3.
Youtube video of Phyre engine running a Mono demo. In the dark reference to a PS3 "Green light" running the demo must be a developer PS3 running PS3 GameOS as there are too many LEDs. The debugging screen in the other room would confirm this.

Just as with the Unity game engine, the "heavy lifting" is done with native language programs callable from the Mono VM Engine. Movement of the Apes in the above video were via C# script commands with drawing-video backgrounds and shader fills by the native language game engine.

Home on the PS3 uses Lua for the upper level script commands and native language game libraries for the heavy lifting. Mono is MUCH faster than Lua. For the scripting part, Lua on the much more powerful PS3 would just about equal PS Home on the Vita using Mono.

Lua is free and does not require disclosure. The Mono VM on a game platform incurs a Fee for use (if there is no disclosure=closed platform) but once paid the Mono VM can be used for Home, PS Suite games and multiple applications, some of which would sell and display Sony Media. The same game engine supporting PS suite games could be used to do the heavy lifting for Home.

http://en.wikipedia.org/wiki/PhyreEngine said:
PhyreEngine (also known as Phyre Engine) is a free to use, cross platform (PC, PSP, PS Vita and PS3) game engine from Sony Computer Entertainment. By 2011 PhyreEngine had been adopted by dozens of game studios "to power almost fifty"[1] games for the PlayStationStore or on Blu-ray Discs.[2]

PhyreEngine is distributed as an installable package that includes both full source code and PC Windows tools, provided under its own flexible use license that allows any PS3 game developer, publisher or Tools & Middleware company to create software based partly or fully on PhyreEngine on any platform.

The engine uses sophisticated parallel processing techniques that are optimized for the Synergistic Processor Unit (SPU) of the Cell Broadband Engine of PS3, but can be easily ported to other multi-core architectures.

PhyreEngine supports OpenGL and Direct3D,[3] in addition to the low level PS3 LibGCM library.[4] It also provides fully functional “game templates” as source code, including support for Havok Complete XS, NVIDIA PhysX and Bullet for physics.
So is a PhyreEngine + Mono + Gnome = PS Suite? PhyreEngine and Gnome libraries must be supplied Native language by Sony on multiple platforms.

Phyre Engine

PS Suite game would consist of C# script running on a Mono VM engine and Collada game file assets that plug into PhyreEngine.

PS Suite applications would have a C# script running on a Mono VM engine that API calls/uses the Gnome native libraries.

Supporting PS Suite on a hardware platform is a BIG initial investment by Sony to create all the native language support libraries. This would still apply even if Mono were not the VM being used.

Edit Big Guess Sony created the Phyre engine with cross platform compatibility to everything but Android; at the time Android had no native ability, that happened at the end of 2010. But as of version 1.5 the PS3 Home client is using Havok game engine or tools? and several Havok tools have been ported to Android Physics and Destruction, Animation and Physics, Havok behavior. So if plans call for Home to be available on PS Suite platforms then it most likely means that PS Suite's game engine might be Havok or Havok tools plus Phyre.

Havok Tools for Game Engines

PS Suite game would consist of C# script running on a Mono VM engine and Collada game file assets that plug into Havok Engine tools plus game engine?

PS Suite applications would have a C# script running on a Mono VM engine that API calls/uses the Gnome native libraries.

So take your guess Phyre or Havok or even Phyre + Havok?

The other parts of the puzzle I discovered in the web-browser thread. Both the PS3 and Vita (Sony stated that the PS3 and Vita would share libraries) with Gnome (GTKwebkit) as part of their OS.

Edit: From Sony-Erikson video, Android's webkit had to be modified to work with PS Suite as it breaks from Webkit standards. This is another job Sony has to do for PS Suite. I believe I read where Google is rewriting Android's webkit to be more compliant.

The OLPC eLinux + Gnome Mobile OS UIs used Python scripts calling Gnome Libraries. Vita UIs may be Mono doing the same. Mono is more efficient/faster with more security for IP but incurs a Fee for it's use. If this is true then Mono is confirmed for PS Suite, conversely, if PS Suite is Mono it confirms Mono for the Vita application and UI scripts (from Sony stating anything written for the Vita is PS Suite portable.

Marketing and PS Suite: This should have a whole thread to it'self. PS Suite is going to be, besides cross platform games and applications, a Suite of Free Applications to sell Sony Media and to draw in and create interest in PS Suite. Google TV, some version of Home or Home it'self with a different front end, useful utility-apps etc.
 
pssuite101101.jpg


http://www.joystiq.com/2011/10/11/playstation-suite-sdk-will-be-released-in-limited-beta-in-nove/ said:
During TGS, Sony announced that the development kit for the cross-platform PlayStation Suite program would be released in November. During a panel at GDC Online today, SCE's Shigeru Sugimoto clarified the timing of that release.

Vita development will be added later, when Sony expands into an "open beta." Later, in addition to Sony Ericsson Android devices and PS Vita systems, the Suite will support PS3. "We are targeting devices from other manufacturers as well," Sugimoto said, referring to other Android phones.
Edit: The Joystiq article was changed from: "Suite will support PS3" to "the Suite may support PS3 -- it's one of the platforms "under evaluation.""

In reading through threads on PS Suite I came upon the following. It's notable because it predicts months in advance of a Sony release what started this thread.

dogmaan 7/19/2011 said:
Simply, Sony should release a virtualized Mono/C# based SDK.

Hacking a VM is very difficult, it would be like trying to hack the PS3 via the PS1 emulator. A Virtual machine using C# or Java, could be made very VERY secure.

Hacking a secure VM would literally be like hacking the PS3 via a buffer overflow in the PS1 version of FFVII, you would crash FFVII and gain full access to the emulated hardware, but that is it.
The OLPC eLinux + Gnome Mobile OS UIs used Python scripts calling Gnome Libraries. Vita UIs may be Mono doing the same. (Mono is more efficient/faster with more security for IP but incurs a Fee for it's use.) IF this is true then any applications written for the Vita with Android in mind are directly portable to Android PS Suite. (This is what Sony says.)

Everything I have read about Mono and Moonlight (would use Gstreamer instead of MS Codecs) works as a possible for PS Suite and the only issue I could come up with involved the health/future of Mono. Moonlight as Mono requires Cairo for drawing, it used to require IE or Mozilla browser APIs and now I think can use webkit and must use gstreamer instead of MS Codecs. And this is what is in the 2011 Networked Sony Blu-ray player and TVs. (Busybox, glib, gstreamer, cairo, Pango (fonts), JSC (webkit Javascript engine))

Sony announced PS Suite Jan 2011

http://en.wikipedia.org/wiki/Mono_(software) said:
After Novell was acquired by Attachmate in April 2011, Attachmate announced hundreds of layoffs for the Novell workforce,[26] putting in question the future of Mono.

On May 16, Miguel de Icaza announced in his blog that Mono would continue to be supported by Xamarin, a company he founded after being laid off from Novell. The original Mono team had also moved to the new company. Xamarin plans to keep working on Mono and had planned to rewrite the commercial .NET stacks for iOS and Android from scratch because Novell still owned MonoTouch and Mono for Android at the time.[29] After this announcement, the future of the project was questioned, MonoTouch and Mono for Android being in direct competition with the existing commercial offerings now owned by Attachmate, and considering that the Xamarin team would have difficulties proving that they did not use technologies they previously developed when they were employed by Novell for the same work.[30] However, in July 2011, Novell, now a subsidiary of Attachmate, and Xamarin, announced that it granted a perpetual license to Xamarin for Mono, MonoTouch and Mono for Android, which took officially the stewardship of the project.
In a blog Miguel de Icaza announced that he received funding from an "angel" to expand and professionalize Mono. Development on a PS3 JITMono VM engine is underway with no timetable. Did Sony step in (if Mono is the PS Suite VM)? If's assumed in the following:

Sony must have had a licence negotiated with Novell prior to the Attachmate takeover of Novell. This license would still have been valid for Sony but there would have been no on-going development of Mono. Really short sighted cheap price for Mono in the Sony-Novell negotiations? SNAP a corporate negotiation ploy not a real development plan?

http://en.wikipedia.org/wiki/Miguel_de_Icaza said:
Miguel de Icaza (born c. 1972) is a Mexican free software programmer, best known for starting the GNOME and Mono projects.[1]
 

gofreak

GAF's Bob Woodward
Next stop = suite support in Sony TVs (?)

If they're going to expand Suite onto PS3, and thus the living room, Sony would be in a good position to do that en-masse once the minimum required tech is cheap enough to integrate into TVs.

(If they're smart.)
 

BKK

Member
gofreak said:
Next stop = suite support in Sony TVs (?)

If they're going to expand Suite onto PS3, and thus the living room, Sony would be in a good position to do that en-masse once the minimum required tech is cheap enough to integrate into TVs.

(If they're smart.)

I expect so. They shouldn't limit it to Sony TVs either, but license/certify it out to other manufacturers. Have Bluetooth as part of the spec for DS3 support so manufacturers won't have to make hybrid gamepad-remotes, and Sony would make extra DS3 sales. No reason why it can't be in other devices such as BD players either.

They really need to sort out the licensing so a single purchase works across all compatible devices. If I buy a digital copy of a PS1 game on PSP I should be able to use it on all current and future compatible devices such as PS Vita, PS3, PS4, PS Suite mobile devices, and PS Suite home devices.
 
gofreak said:
Next stop = suite support in Sony TVs (?)
Yes support for 2011 Sony TVs and blu-ray players, you missed: Moonlight as Mono requires Cairo for drawing, it used to require IE or Mozilla browser APIs and now I think can use webkit and must use gstreamer instead of MS Codecs. And this is what is in the 2011 Networked Sony Blu-ray player and TVs. (Busybox, glib, gstreamer, cairo, Pango (fonts), JSC (webkit Javascript engine))

I believe plans are already in place for PS Suite applications support and maybe simple games (CairoFB supported not CairoGL GPU accelerated). The purchase of the rights to use Playready from Microsoft for the SAME 2011 networked blu-ray player mentioned in the article above is the one I am citing. This confirms something that needs DRM which would be Qriocity music and or Movies and the application will probably be based on Mono for additional IP security and ease in portability between Sony platforms.
gofreak said:
If they're going to expand Suite onto PS3, and thus the living room, Sony would be in a good position to do that en-masse once the minimum required tech is cheap enough to integrate into TVs. (If they're smart.)
Coming 4K TVs are probably going to have enough CPU/GPU performance for PS Suite games at least.

BKK said:
They really need to sort out the licensing so a single purchase works across all compatible devices. If I buy a digital copy of a PS1 game on PSP I should be able to use it on all current and future compatible devices such as PS Vita, PS3, PS4, PS Suite mobile devices, and PS Suite home devices.
I think the idea behind Ultraviolet is part of this. A Mono based game or application can work on all PS Suite platforms so how do you keep it from running, a DRM is needed. How do you make PS Suite attractive, allow you to play your purchased Game on all PS Suite platforms registered to you. This is already part of Ultraviolet and several other DRM Schemes.

We don't know that PS Suite is going to use a Mono VM but do know that it is going to support Gnome (PS3, Vita, 2011 TVs and Blu-ray players all use Gnome libraries (GTKwebkit)) and is a VM that uses a C# script. So far that either has Sony writing their own VM or Mono.
 
http://www.ps3trophies.com/forums/s...dk-other-gaming-platforms-should-worried.html

Joystiq edited Sony Quotes why?

"the Suite will support PS3" to "the Suite may support PS3 -- it's one of the platforms "under evaluation."" This echos Jack Tretton announces (and then un-announces) PlayStation Suite for PS3.
Jack Tretton said:
Paul: Will PlayStation Suite games run on the PlayStation 3?

[Long pause] Yes, they will. Yeah.* [Note: almost instantly refuted. Keep reading.]

Ross: Is that something planned from when the Suite launches? That it would be on the PS3?

Yeah, I think the hope is... and I shouldn't say yes we will. I mean, it's gonna vary. I think the intention is and the public statement today is, NGP PlayStation Suite available... on whatever Android phones we select and all NGP. So PlayStation Suite will work on NGP, some Android phones, and [with] PlayStation 3 I might've misspoken.

[The PR rep notes that she wouldn't see why not but will find out for us.]


orig said:
During TGS, Sony announced that the development kit for the cross-platform PlayStation Suite program would be released in November. During a panel at GDC Online today, SCE's Shigeru Sugimoto clarified the timing of that release.

Vita development will be added later, when Sony expands into an "open beta." Later, in addition to Sony Ericsson Android devices and PS Vita systems, the Suite will support PS3. "We are targeting devices from other manufacturers as well," Sugimoto said, referring to other Android phones.
edited by Joystiq said:
In November, the SDK will be released as a limited beta, or a "tech preview," including the Android version and a PC-based "simulator" allowing those without Android phones (that last group includes everyone) to develop for Suite.

Vita development will be added later, when Sony expands into an "open beta." Later, in addition to Sony Ericsson Android devices and PS Vita systems, the Suite may support PS3 -- it's one of the platforms "under evaluation." "We are targeting devices from other manufacturers as well," Sugimoto said, referring to other Android phones.

I provided another link to someone else quoting the Joystiq article to prove it wasn't me editing it.

Evaluation=? native language rather than Mono
http://www.neogaf.com/forum/showpost.php?p=31093753&postcount=135 said:
Mono may never need to be ported to the PS3 as it already supports Gnome, is a closed platform and has PS1 and PSP emulation. For convenience and marketing Mono may be ported to the PS3 so any PS Suite application can be run on any Sony certified Platform including the PS3 but that's a management decision.
PS3 Piracy concerns?
 
Has sony said whether PS Certified devices pretty much = all modern xperia phones or will they certify samsung handsets and whatnot too?
 
TouchMyBox said:
Has sony said whether PS Certified devices pretty much = all modern xperia phones or will they certify samsung handsets and whatnot too?
"We are targeting devices from other manufacturers as well."

http://www.vg247.com/2011/02/01/sony-taking-an-open-stance-with-ps-suite-expansion-to-other-platforms-including-ios/ said:
“We have a completely open stance with carriers and with hand set makers,” Hirai said during a media roundtable following the recent PlayStation Meeting (as translated by Andriasang).

“There are a variety of OSes,” he added. “But we’re focusing first on Android. There’s also Windows, iOS and so forth, but we don’t have the resources to make it compatible with everything from the start.”

For now, the PlayStation Suite’s scope is somewhat limited. It’s kicking off with emulated PS1 games (though the plan is to expand out to become a “hardware-neutral” development platform) and is currently limiting its conquest to Android-based handsets. Hirai, however, mentioned that Android tablets are the next big target, but at the end of the day, it’s all about what people want.

“We’re not ruling out PSS even on products like Sony Internet TV Powered by Google (Google TV) if adoption rate increases, or if it will help push adoption greatly,” he said.
In rereading Jack Tretton's Jan 27th 2011 interview I find it has information we need to revisit since we now have a better understanding of PS Suite. For instance:
Yeah, we definitely have worked closely with Google and I think it was through a number of conversation that we came up with the concept of PS Suite and a PlayStation Store on Android devices that were the best fit for us and for them. I'm glad you're sold on it, and I'm glad you get it, because I think we've never been about the status quo. We've always been about, what is the market? What is the opportunity? Seize the opportunity and differentiate yourself. To sit there and stick your head in the sand and say, "smartphones are irrelevant, there are no other gaming mediums," I think would be foolish, and it would be a disadvantage for us, because we have all these great games. We have this great gaming heritage.
1) Google provided the NDK/SDK allowing native language programs late 2010
2) Android's webkit browser is not API compatible with webkit so Mono can't use it properly; Google is rewriting it.


Independent or reading this thread? http://translate.google.com/transla...r=&sa=N&biw=1331&bih=612&tbs=qdr:w&prmd=imvns
 
Thanks
I somehow read that quote and didn't see that, I blame the lack of bold :p
. I wonder how many SoCs they are looking at supporting.
 
As of version 1.5 PS3 Home Client is using the Havok physics game engine

http://www.sonyericssonreviews.net/havok-game-engine-demo-on-sony-ericsson-xperia-play.htm said:
The Havok game engine is coming to Android™, and it will be optimised for the Sony Ericsson Xperia™ PLAY. Check out these demos of Havoc physics and animation, behaviour and destruction running of the Xperia™ PLAY.
Havok provides tools that can be used by other game engines. I'm not clear and the authors of the articles stating Havoc is being used in Home after client version 1.5 and Android may be assuming we know or they may not know that only Havok tools are being used not a complete game engine.

In any case, PS Suite must provide all the engines and tools used by PS Suite games and libraries used by PS Suite applications in native language on every PS certified platform.

For the most part I'm just stating the obvious in part to insure we have a common understanding of PS Suite.

Home Technology & Future Plans

Lua for Script => Phyre engine as of 3.0 supports Lua for high level scripting. Home Client 1.5 and later may be using Phyre and 1.55 and later the Havoc Physics engine.
Game Engine = Havok Physics tools (middleware) plus Phyre game engine? Phyre is an upper level developer-terrain and lighting engine but requires middleware like Havoc for physics and behavior.
Developed using Maya

Home is similar to Second life but Second life is slightly ahead in development. Both started out using Lua or some other scripting language and now Second life is using Mono for scripting (2008). Second life started using Havoc middleware for physics simulations and now Home is doing the same. If PS Suite is based on a Mono VM then I expect Home to convert to Mono (same as second life) and some version ported to multiple PS Suite platforms. PS Suite MUST provide native language: a game engine plus select Havoc Physics middleware native language engines (or some other Physics engine if PS1 games support physics) and in addition to a Mono VM, Gnome Libraries for applications and a DRM (Sony purchased the rights to Playready from Microsoft). IF Home uses the same native language game engines in PS Suite then Home is also a cross platform PS Suite Game.

PS Suite game = Mono Script plus collada game assets file that plugs into native language openGL game engines. Games can in addition through the Mono VM call Gnome application libraries below.

PS Suite Application = Mono script that calls Gnome native language APIs (Gstreamer, glib, Pango, webkit) with Mono using CairoGL for rendering.

Mono & second Life said:
Performance benchmark tests show that Mono is up to 220 times faster than LSL2 (Lua). The benchmarks were math-intensive scripts typically used to evaluate performance. For ordinary scripts, the performance gains are much more humble. (Mono is typically 3X faster than Python and Python is faster than Lua (All script engines).

Mono uses more memory than the typical LSL bytecode (Lua). It offsets this by introducing dynamic memory allocation. LSL2 allocates a full 16KB for all scripts, even simple "Hello, Avatar" ones. Mono allocates only the memory it needs. In tests on typical regions it turns out that the combination of Mono using more memory, but allocating memory better, is about a wash as far as overall memory footprint goes.
In some extreme cases Mono scripts can use up to four times the memory as LSL2 scripts. To maintain backwards compatibility, the script size limit has been increased from 16KB to 64KB.
Mono tip: Mono can do bytecode sharing. Thus multiple copies of scripts with the same asset id will only take up as much room as one instance. Imagine some script that you use a dozen times on your land. If each of the objects containing the script is separately compiled from text source, you will use up a dozen times the script's size of memory. But if instead you simply drag a copy of the single, already compiled script into each of the dozen objects, then no matter how many copies exist they only take up the size of one script (plus data) in memory.
Zero copy and sharing code is a feature in Gnome (Mono is also a Gnome technology).

Reference post with support

The only issue in my speculation is my previous post where both Shigeru Sugimoto and Jack Tretton both appear to announce PS Suite on the PS3 and then backtrack. If Mono is on the PS3 to support PS Suite then using Mono for scripts in Home makes sense as it's MUCH more efficient. In my opinion Mono is coming to the PS3 and most likely the Vita applications are Mono scripts calling Gnome libraries so porting them to the PS3 requires Mono on the PS3.

Lua is free and requires no disclosure. Mono either requires disclosure or a fee for it's use. In addition JITMono for the PS3 was not available and a project to develop JITMono for the PS3 native language (Cell OS) could not be started until the PS3 OS was finished (NOW). JIT Mono for the PS3 is now under development. Will they run into problems developing JITMono for the Cell OS, is this the issue with Shigeru Sugimoto and Jack Tretton comments?

The same is true for the PS3 JITjavascript engine in the PS3. If the PS3 is to support webGL which is necessary for 3-D viewing and games then it must have a webkit JIT engine. A webkit JIT engine needs a "Highly Optimized" OpenGL framework for rendering which according to the PS3 GTKwebkit javascript engine disclosure is CairoGL and Gstreamer. The Charles Ying post confirms this "Highly Optimized" framework was in the PS3 in 2009 probably with Firmware 3.0. The PS3 JITjavascript engine JIT part needed the OS framework before it could be created.

Now that the PS3 OS is finished (Gstreamer 1.0 and GTK3.2) and it appears from the XMB and Hard Disk speed increases in the last two firmware updates that final OS Optimizations are being done (had to wait for finished versions before this could be done) then JIT Mono which needs to call Gnome library APIs (Gstreamer, GTK, Pango, glib) and Cairo can be now developed for the PS3. Edit: Gstreamer 1.0 is not officially done ("later this year") but a development snapshot (features frozen) has been done in preparation for 1.0 final release.

Can someone confirm my above speculations so I don't get jumped on.
 

Truespeed

Member
mugurumakensei said:
Nope. C# does have the advantage of Microsoft being kinder to alternative implementations than Oracle (Oracle has a very sue-happy culture).

The reason Oracle isn't suing Microsoft for the CLR is because Sun settled with Microsoft for a Billion or so and licensed their VM patents as part of the deal. Also, I don't think Google would have used the CLR as it wouldn't have been optimized for what they wanted to do with it. If the decision was ever to use C# (and I don't think they would have ever done that) then they would have done the exact same thing and created a clean room implementation of a VM that ran non C# byte code generated by a Google C# compiler.

As for the lawsuit - if you've been following Groklaw it's not looking to good for Oracle. Oracle is using the same law firm that represented SCO in the IBM lawsuit and we all know how that went. David Boies FTL.
 

nasos_333

Member
gofreak said:
XNA stuff won't be directly relevant...c# yes, but it'll have its own libs/tools that are different to XNA.

(That said, understanding one environment like that probably helps you pick up another more easily, so...)

This is really amazing news, i can now target PS3 with my XNA game code

Most of it is C# relevant, maybe i have to rewrite some functions, but that will be easy

Also knowing how the rendering system works in XNA will make it far easier to adapt the rendered to the new libs, cant wait for the release

I have found ways to port to Steam and iPhone but PS3 was still locked for me, until now :)
 

Gaspode_T

Member
There is a push to make apps easier to develop across mobile platforms, because people really get annoyed in having to port objective C to Java or C# or any combination of these. There is also a kind of thinking that things should be abstracted at HTML5 level, you can see Windows 8 pushing that type of thinking a lot.

For more realistic short term projects there is also something called Monkey that is kind of similar and has many targets: http://www.monkeycoder.co.nz/Monkey/about.php

Honestly if I were a budding indie developer I would try to be publishing to something with actual certification requirements because it will give you good experience in what it takes to ship games in a "serious" manner, I give serious props for everyone who releases on XBLIG because it's not as easy as you would think.

I'm kind of surprised Sony is helping support C#, but it's really a nice language, I've been a fan of Anders before C# existed.
 
PS Suite is MONO!

GDC 2011 conference video #1 PS Suite is Mono

GDC 2011 Conference PS Suite #1

GDC 2011 Conference PS Suite #2

GDC 2011 Conference PS Suite #3

Mono is a Gnome technology!
PS3 Development is primarily in Tokyo
PS3 PS Suite support is still under evaluation

Sony is providing their own POSIX Console I/O that may differ from Gnome's glib and/or the POSIX platform's libc, I'd guess because Android's Bionic libc is missing some standard stuff and it's just probably easier to provide everything needed themselves as an addition to glib as glib duplicates some of the libc functionality in any case.

This I think puts a period to speculation. Sony IS supporting Gnome on the PS3 and PS VITA. Vita is GTK, Gstreamer, Cairo, glib, Telepathy, Mono and most likely a custom eLinux kernel (POSIX). PS3 is the same except a custom FreeBSD kernel (POSIX).

Vita and PS3 are getting a WebkitGTK+ browser. The GTKwebkit browser uses most of the Gnome Libraries, I.E. once you port GTKwebkit to a platform you can support a GNOME Desktop and with little effort Mono.
 

gofreak

GAF's Bob Woodward
They say in there that PS3 is under evaluation for Suite support.

Also confirm devs will have to pay a 'nominal fee'.


Lionheart said:
Cool, thanks for the links! Will watch the videos when at home, but did they also announce a date for the beta?

'Limited beta' this month, supposedly.
 

thcsquad

Member
So how long before somebody creates an open source library to wrap XNA calls to PS Suite ones? Without knowing anything about PS Suite other than it's in Mono, if it's full-featured enough then the wrapper could just reimplement the XNA public classes, call PS Suite equivalents, and leave you to just import the FauXNA libraries instead of the real ones.
 

gofreak

GAF's Bob Woodward
They seem to confirm in there that you'll be able to run your executable on Vita as you develop - I.e. You don't have to send it off to Sony to get it signed or whatever. You can test your code on any of the suite devices or on PC.
 
gofreak said:
They seem to confirm in there that you'll be able to run your executable on Vita as you develop - I.e. You don't have to send it off to Sony to get it signed or whatever. You can test your code on any of the suite devices or on PC.
I saw that too; also Homebrew supported. And a term I don't remember that seemed to imply retroactive deleting of any unacceptable PS Suite applications; black List?, white list?.

Best guess is that we will be limited with the transfer of PS Suite from platform to platform through the store. There has to be a signed DRM scheme....I can't imagine Sony allowing anything else. I guess this is the next big unknown.

1) PS Network registration required which registers your hardware. Your apps may be signed to only run on your hardware. This would support Homebrew!
 
iKeepPlaying said:
Nominal fee?
No prices yet but I hear the PS3 developer package dropped to about $2000 so I expect a Mono based PS Suite platform should be much cheaper.

Mono for Android from $399.00. The upgrades would not be needed if going through the Sony PS Suite store for distribution of your finished app. The Sony price could be less or more depending on the support and the cut Sony takes from Sales in the PS Store is probably industry competitive.

There are plans for apps in multiple other platforms that would not support Games. Probably 2011 Sony networked TVs and Blu-ray players that already have key gnome native libraries. Sony's Google TV also has those key gnome libraries.
 

gofreak

GAF's Bob Woodward
iKeepPlaying said:
Nominal fee?

Yes. I imagine like the fee you pay to submit to iOS or Xbox indies. They say the SDK will be available to anybody so hopefully it'll be quite nominal...

They mention they're planning a 2D game engine, and they're discussing - but haven't committed to - a camera and location API for the future. Hope those things make it in.

Wasn't a lot of detail there on the submission process - they say it will be light compared to what they've done before, but they didn't mention whether or not things like esrb ratings will be necessary.
 
jeff_rigby said:
No prices yet but I hear the PS3 developer package dropped to about $2000 so I expect a Mono based PS Suite platform should be much cheaper.

Mono for Android from $399.00. The upgrades would not be needed if going through the Sony PS Suite store for distribution of your finished app. The Sony price could be less or more depending on the support and the cut Sony takes from Sales in the PS Store is probably industry competitive.

There are plans for apps in multiple other platforms that would not support Games. Probably 2011 Sony networked TVs and Blu-ray players that already have key gnome native libraries. Sony's Google TV also has those key gnome libraries.

But, let's say if I'm a indie developer. And I can afford (somehow) to pay for a dev kit. The idea of the whole PS Suite, is to let people like me develop games for PS platforms or at least compatible with each other?
 
iKeepPlaying said:
But, let's say if I'm a indie developer. And I can afford (somehow) to pay for a dev kit. The idea of the whole PS Suite, is to let people like me develop games for PS platforms or at least compatible with each other?

Yep. With it you can target Vita, android smartphones and tablets that meet certain criterias and maybe in the future tvs, ps3 and personal computers.
 
theBishop said:
Mono is not "a Gnome technology".
You would have been correct if you had stated that Mono is no longer just a Gnome Technology.

How about supporting statements with cites <sigh>. If you read the thread I've already shown Mono to be a Gnome Technology. I've done that here and in the PS3 Webkit thread. A REQUIREMENT for PS Suite Mono applications on a platform are those Gnome Libraries I've repeatedly shown Sony is including on their 2011 Networked TVs, Blu-ray players, PS3 and Google TV. Those Same Key Gnome libraries have to be on Android PS Suite Platforms.

Mono is a Gnome Technology Created by Miguel de Icaza who along with Federico Mena and Havoc Pennington also started the Gnome initiative.

Gnome Technologies are: ATK · Bonobo · D-Bus · GConf · GLib · Keyring · GVFS · GObject · GStreamer · GTK+ · Mono · Pango (requires Cairo) · Vala

GNOME, Ximian, Xamarin, and Mono

De Icaza started the GNOME project with Federico Mena in August 1997 to create a completely free desktop environment and component model for Linux and other Unix-like operating systems.[3] Earlier, de Icaza had created the Midnight Commander[4] file manager and worked on the Linux kernel. He also created the GNOME spreadsheet program, Gnumeric.

In 1999, de Icaza, along with Nat Friedman, co-founded Helix Code, a GNOME-oriented free software company that employed a large number of other GNOME hackers. In 2001, Helix Code, later renamed Ximian, announced the Mono Project, to be led by de Icaza, with the goal to implement Microsoft's new .NET development platform on Linux and Unix-like platforms. In August 2003, Ximian was acquired by Novell, Inc. There, de Icaza was Vice President of Developer Platform.
Mono API calls native language Gnome Libraries and webkit to provide support similar to Microsoft's .NET. Moonlight for instance is a Mono application/language similar to Silverlight but uses Gnome's Gstreamer instead of proprietary Microsoft Codecs and renders with Cairo-Pango.

I've suffered ridicule and insults silently until now.....enough. Do the work and read the threads before making unsupported statements.
 

charsace

Member
Will there be a free version of this like with XNA or not? What I've read in the last few post isn't really clear about that.
 

bluemax

Banned
charsace said:
Will there be a free version of this like with XNA or not? What I've read in the last few post isn't really clear about that.

Its starting to sound more like the shitty Apple model where you have to pay for a license.
 

AndyD

aka andydumi
Ydahs said:
Hmm, C#

Having experience in C, C++, obj-C and Java, how easy will this be to pick up?

Regardless, I'd love to get my hands on the SDK and port over my current iOS game I'm developing, but I don't have the couple of grand it'll likely cost.

I went from C and C++ to # and it was smooth. If anything it takes your mind off some things.

Looking forward to seeing what the community comes up with. Do we know if this will result in a market type place? Perhaps with Sony review/approval a la Apple and Amazon app stores?
 

sagi446

Neo Member
My God, paying money to develop on a hackjob VM that's thoroughly patented by MS? Even MS' Visual C#/XNA is free to use.

I was excited that there was an open C# implementation, but now I think I'd rather stick with the devil.

Also for the Gnome dude, you can develop Qt/KDE with Mono. So I don't know what you mean by "gnome technology".

EDIT: Ok after doing some reading on this "PhyreEngine". This sounds like a goddamn license nightmare. Mono itself has different libraries with different licenses (GPL, LGPL, Apache, MSPL, X11 and MIT) add in the proprietary junk Sony will throw into the mix with and you've got probably one of oddest mixes of licenses I've ever seen. I don't advise any indie developers to use this for anything but cheap ports.
 

androvsky

Member
jeff_rigby said:
PS Suite is MONO!

GDC 2011 conference video #1 PS Suite is Mono

GDC 2011 Conference PS Suite #1

GDC 2011 Conference PS Suite #2

GDC 2011 Conference PS Suite #3

Mono is a Gnome technology!
PS3 Development is primarily in Tokyo
PS3 PS Suite support is still under evaluation

Sony is providing their own POSIX Console I/O that may differ from Gnome's glib and/or libc, I'd guess because Android's Bionic libc is missing some standard stuff and it's just probably easier to provide everything needed themselves as an addition to glib as glib duplicates some of the libc functionality in any case.

This I think puts a period to speculation. Sony IS supporting Gnome on the PS3 and PS VITA. Vita is GTK, Gstreamer, Cairo, glib, Telepathy, Mono and most likely a custom eLinux kernel (POSIX). PS3 is the same except a custom FreeBSD kernel (POSIX).

Vita and PS3 are getting a WebkitGTK+ browser. The GTKwebkit browser uses most of the Gnome Libraries, I.E. once you port GTKwebkit to a platform you can support a GNOME Desktop and with little effort Mono.

Even with all that evidence, you're still making large logical leaps. You're not quite there yet.
PS3 PS Suite support is still under evaluation
Sony IS supporting Gnome on the PS3
If Sony doesn't end up supporting PS Suite on the PS3, how can you say they are indeed supporting Gnome on the PS3?

Mono is a Gnome Technology Created by Miguel de Icaza who along with Federico Mena and Havoc Pennington also started the Gnome initiative.

Gnome Technologies are: ATK · Bonobo · D-Bus · GConf · GLib · Keyring · GVFS · GObject · GStreamer · GTK+ · Mono · Pango (requires Cairo) · Vala
Your evidence is linking to the Gnome Mobile Initiative article? Yeah, Mono uses GTK# for widgets, which I kinda predicted might happen for PS Suite, but it still doesn't point to Gnome support on the PS3. Some confusion is understandable, since even the Mono wiki refers to GTK+ as "Gnome libraries"; building an application using GTK+ would make it a native Gnome program, but it doesn't have to be run in Gnome (as anyone who's run GIMP on Windows can attest).

As an aside, bystanders might be interested to know that GTK+ stands for GIMP Tool Kit, as it was originally created to build the unfortunately named photo editing application.
Gnome is a desktop environment and suite of applications built using GTK+. Talking about Gnome support on the PS3 is very different from talking about GTK+ support on the PS3.


edit:
Also for the Gnome dude, you can develop Qt/KDE with Mono.
Oh, that's interesting. Looks like Winforms is an option too. That reinforces my point quite a bit.
 

sagi446

Neo Member
jeff_rigby said:
PS3 is the same except a custom FreeBSD kernel (POSIX).

I'd love nothing more than to believe that, but I haven't found any proof with my google-fu of its kernel being FreeBSD based, care to prove it?
 

blu

Wants the largest console games publisher to avoid Nintendo's platforms.
ITT: people confuse toolkit libs (aka widget libs, aka widget toolkits) with desktop environments, great turmoil and forum bandwidth wastage follow.
 

patsu

Member
sagi446 said:
My God, paying money to develop on a hackjob VM that's thoroughly patented by MS? Even MS' Visual C#/XNA is free to use.

I was excited that there was an open C# implementation, but now I think I'd rather stick with the devil.

Also for the Gnome dude, you can develop Qt/KDE with Mono. So I don't know what you mean by "gnome technology".

EDIT: Ok after doing some reading on this "PhyreEngine". This sounds like a goddamn license nightmare. Mono itself has different libraries with different licenses (GPL, LGPL, Apache, MSPL, X11 and MIT) add in the proprietary junk Sony will throw into the mix with and you've got probably one of oddest mixes of licenses I've ever seen. I don't advise any indie developers to use this for anything but cheap ports.

PhyreEngine is already used in shipping games, like Demon's Souls. ^_^
 

test_account

XP-39C²
patsu said:
PhyreEngine is already used in shipping games, like Demon's Souls. ^_^
Wow, i had no idea about this. Then it is also used for Dark Souls i guess. I think both Demon's Souls and Dark Souls looks great and plays great :)
 
sagi446 said:
I'd love nothing more than to believe that, but I haven't found any proof with my google-fu of its kernel being FreeBSD based, care to prove it?
In three parts:

1) Charles Ying just announced he worked on the Sony Video Unlimited APP in 2009 that was just released.

Charles h. Ying Resume

Development Environments and Platforms:

XCode, Visual Studio, GNU C/C++, Eclipse IDE, CodeWarrior ARM C++
Borland C++, Watcom C++, Borland Delphi,
Rational Purify, Rational Quantify,
iOS, iPhone OS, Mac OS X, Windows, FreeBSD, Linux.

Sony Corporation of America, June 2009 - June 2010 (Nick Trotta)
Principal Engineer. Lead design and development of Trilithium, a rapid application development framework for PlayStation 3. Trilithium includes hardware accelerated graphics and animation; HD video streaming playback; and a simple API for rapid development. Sony's Video Unlimited and Hulu Plus for PlayStation 3 are applications developed with Trilithium.

*************************************

2) Wiki states that it is believed that the PS3 OS is FreeBSD

3) Cited link for Geoff Levand's website (thanks to theBishop) supporting a flavor of Linux and FreeBSD. Geoff Levand was the Linux maintainer for PS3 Linux and was transferred to support the PS3 GTKwebkit port April of 2010.

Index of /~glevand/ps3

Name Last modified Size Description
Parent Directory -
cfw/ 06-Aug-2011 22:07 -
doc/ 08-Jul-2011 09:06 -
freebsd/ 15-Aug-2011 13:19 -
linux/ 15-Jul-2011 10:13 -
petitboot/ 08-Jul-2011 06:21 -
pkgs/ 10-Jul-2011 16:44 -
scripts/ 08-Jul-2011 06:21 -

Not 100% proved but HIGHLY likely to be FreeBSD
 

Takao

Banned
test_account said:
Wow, i had no idea about this. Then it is also used for Dark Souls i guess. I think both Demon's Souls and Dark Souls looks great and plays great :)

A bunch of Japanese games use PhyreEngine. Falcom's Vita games are using it IIRC.
 
androvsky said:
If Sony doesn't end up supporting PS Suite on the PS3, how can you say they are indeed supporting Gnome on the PS3?
http://www.neogaf.com/forum/showpost.php?p=31093753&postcount=135 said:
Mono may never need to be ported to the PS3 as it already supports Gnome (with the WebkitGTK port), is a closed platform and has PS1 and PSP emulation. For convenience and marketing Mono may be ported to the PS3 so any PS Suite application can be run on any Sony certified Platform including the PS3 but that's a management decision.

androvsky said:
Your evidence is linking to the Gnome Mobile Initiative article? Yeah, Mono uses GTK# for widgets, which I kinda predicted might happen for PS Suite, but it still doesn't point to Gnome support on the PS3. Some confusion is understandable, since even the Mono wiki refers to GTK+ as "Gnome libraries"; building an application using GTK+ would make it a native Gnome program, but it doesn't have to be run in Gnome (as anyone who's run GIMP on Windows can attest).
Some confusion, Gnome is not an operating system, it's a set of native language OS agnostic libraries/toolkits used to build applications on Linux or Unix, I.E. POSIX operating systems. Doesn't matter if it's Linux or FreeBSD, Vita or PS3 or even Windows OS. Both of us were speculating GTK & Gstreamer would be used for PS Suite in the Webkit thread. GTK & Gstreamer requires glib, Cairo and Pango and you then have the Key "Gnome libraries" and most of the support for WebkitGTK.
Gnome is a desktop environment and suite of applications built using GTK+. Talking about Gnome support on the PS3 is very different from talking about GTK+ support on the PS3.
Again I think a misunderstanding. The GTK toolkit is only one part of a set of tools called GNOME used to build applications. Applications can be built without GTK+ and still use other Gnome libraries. With the WebkitGTK port to the PS3 most of the Gnome Mobile libraries/toolkits are available to be used by Mono or to build "Gnome" applications running on the PS3's custom FreeBSD OS.

androvsky, I thought this was understood and you only differed on my statement that Cairo and Gstreamer were in the PS3 in 2009 and being used for the PS3 XMB and in 2010 for Torne, Eyepet, PlayTV and Playview.

In addition the Charles Ying post confirms the WebkitGTK port to the PS3 will be a WebGL hardware accelerated port which examining the PS3 webkit and Cairo disclosures told us. This means CairoGL and gstreamer codecs with custom hardware acceleration.

Mono can support the QT toolkit as QT also relies on Cairo-Pango for rendering and uses Gstreamer for AV, glib and is Object oriented. That it runs on a KDE flavor of Linux, a POSIX OS is also not an issue.

As stated in the Wiki, Mono is a Gnome technology created by the same men who created Gnome using the Gnome libraries to support desktop applications with the same feature sets that make it attractive to resource limited Embedded platforms.

The Phyre engine may not be part of PS Suite. Sony is supplying a 2D game engine (not 3D), shader support, physics engine and access to OpenGL ES. This in the 2011 GDC PS Suite videos.
 

Man

Member
Graphics API is OpenGL ES 2.0 equivalent. Not actually it but very similar (mentioned in Part 3).
 

androvsky

Member
jeff_rigby said:
Some confusion, Gnome is not an operating system, it's a set of libraries/toolkits used to build applications on Linux or Unix, I.E. POSIX operating systems. Doesn't matter if it's Linux or FreeBSD, Vita or PS3 or even Windows OS.
There's definitely some confusion. I said Gnome is a desktop environment and suite of applications, not an operating system. Where I said running in Gnome, I meant as opposed to Windows or KDE or some other desktop environment, regardless of OS. Gnome is not a set of libraries and toolkits. That's GTK+. GTK+ is the set of libraries one uses to build applications that integrate nicely with the Gnome environment.

Saying the PS3 is going to support Gnome is basically saying this
GNOME_Shell.png



Is what the PS3 is going to look like soon. I find that highly unlikely.

That PS Suite might use GTK+ for widgets does little to change my opinion.



edit:
And as an aside, why do you keep using your own quotes (edited, no less) to back up your position? It's difficult to follow. Here's your original:
Mono may never need to be ported to the PS3 as it already supports Gnome (Speculation), is a closed platform and has PS1 and PSP emulation. For convenience and marketing Mono may be ported to the PS3 so any PS Suite application can be run on any Sony certified Platform including the PS3 but that's a management decision.

Mono may never need to be ported to the PS3 as it already supports Gnome (with the WebkitGTK port), is a closed platform and has PS1 and PSP emulation. For convenience and marketing Mono may be ported to the PS3 so any PS Suite application can be run on any Sony certified Platform including the PS3 but that's a management decision.
The presence of a WebkitGTK port is hardly supporting Gnome. It's like saying Notepad is supporting Windows, or KWrite supports KDE.
 
androvsky said:
There's definitely some confusion. I said Gnome is a desktop environment and suite of applications, not an operating system. Where I said running in Gnome, I meant as opposed to Windows or KDE or some other desktop environment, regardless of OS. Gnome is not a set of libraries and toolkits. That's GTK+. GTK+ is the set of libraries one uses to build applications that integrate nicely with the Gnome environment.

Saying the PS3 is going to support Gnome is basically saying this
GNOME_Shell.png


Is what the PS3 is going to look like soon. I find that highly unlikely.

That PS Suite might use GTK+ for widgets does little to change my opinion.
The presence of a WebkitGTK port is hardly supporting Gnome. It's like saying Notepad is supporting Windows, or KWrite supports KDE.
BIG misunderstanding, Gnome without any descriptors could be the Gnome Desktop Shell (Platform) or the Gnome technologies (ATK · Bonobo · D-Bus · GConf · GLib · Keyring · GVFS · GObject · GStreamer · GTK+ · Mono · Pango · Vala) & requires Cairo. Does Ubuntu Linux look like KDE Linux, both are Linux with different desktops. The desktop tools used do not require a Look and Feel. The tools define a set of features that can be used to create a desktop. And yes porting webkitGTK to the PS3 required Sony to include the following which is essentially most of Gnome Mobile. So yes Sony could, after the webkitGTK+ port, write a desktop that looks like the Gnome Shell 3.2 desktop or even the PS3 2009 Firmware 3.0 XMB (Gstreamer, glib Cairo) without using the GTK+ toolkit (just use XML with Cairo bindings), it's totally up to Sony.

Gnome shell 3.2 is the first Linux browser desktop and Sony can provide Browser Desktop functionality to the PS3 without changing the overall look and feel of the XMB. A browser desktop on the PS3 would have key gnome libraries & webkit always loaded in memory. Using techniques like Zero copy and snapshot loading the XMB can become VERY VERY efficient with many applications appearing to load instantly and using very little additional memory.

Edit: Sony to comply with LGPL is supposed to publish a DIFF file (done) that would allow us to update or modify the code for our own use in our products. Providing links to inaccessible Sony internal source code libraries in the Diff files I think violates the terms of LGPL.

Sony webkitGTK LGPL Disclosure

$(CAIRO_LIBS) \ Cairo SVG library
+ $(COVERAGE_LDFLAGS) \
+ $(ENCHANT_LIBS) \...............Front end API for a spell checker and more
+ $(FREETYPE_LIBS) \...............Font Library
+ $(GAIL_LIBS) \
+ $(GEOCLUE_LIBS) \
+ $(GLIB_LIBS) \
+ $(GSTREAMER_LIBS) \ Gstreamer AV library * Gstreamer library
+ $(GTK_LIBS) \
+ $(HILDON_LIBS) \ See below*
+ $(JPEG_LIBS) \
+ $(LIBSOUP_LIBS) \...The libsoup package contains an HTTP library implementation in C. This is useful for accessing HTTP servers in a completely asynchronous mode.
+ $(LIBXML_LIBS) \
+ $(LIBXSLT_LIBS) \
+ $(PANGO_LIBS) \ International Fonts Cairo-pango = SVG international fonts
+ $(PNG_LIBS) \
+ $(SQLITE3_LIBS) \ Data Base Library
+ $(UNICODE_LIBS) \
+ $(XT_LIBS) \
+ $(WINMM_LIBS) \ Win C++ library ?
+ $(SHLWAPI_LIBS) \
+ $(OLE32_LIBS)

glib contains D-bus and minimal Telepathy routines
GTK+ now contains ATK and no longer depends on Xwindows or Matchbook
Geoclue added to the below
SqLite added to the below

gep.png


http://arstechnica.com/old/content/...-announces-mobile-and-embedded-initiative.ars

of the open-source GNOME desktop environment announced last week the establishment of the GNOME Mobile and Embedded Initiative (GMAE), which aims to promote development and adoption of GNOME software components in mobile and embedded computing contexts. Developers hope that the new initiative will facilitate collaboration between the GNOME development community and companies that are building embedded computing products that incorporate various components of GNOME's underlying infrastructure.

The GNOME platform is a cohesive assortment of high-level software building blocks designed to expedite Linux application development. The complete spectrum of GNOME technologies can be used together to build feature-rich applications with minimal effort. Companies are increasingly adopting GNOME for mobile development, and several open-source projects have emerged to create cohesive GNOME-based mobile platforms. Various GNOME technologies are used extensively in the Linux-based software systems that power Nokia's 770 and N800 web tablet products, the One Laptop Per Child project's XO laptop, FIC's Neo1973 mobile phone, and products that use the Access Linux Platform.
OLPC is I believe the genesis of the Sony Vita.

http://en.wikipedia.org/wiki/GNOME said:
GNOME (pronounced /&#712;no&#650;m/[1] or /&#609;&#601;&#712;no&#650;m/[2]) is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software. It is an international project that includes creating software development frameworks, selecting application software for the desktop, and working on the programs that manage application launching, file handling, and window and task management.
Software development frameworks like Cairo and Gstreamer which is what I believe Charles Ying was referencing.

Mono, which was developed by the same person who started Gnome, uses Open Source Gnome technologies to support .Net like applications. The big picture here is KEY Gnome libraries are already on Sony networked platforms to support Mono and either have a JSC engine or in the case of the PS3 and Vita have a Webkit GTK port which provides those Key Gnome libraries and a JSC engine.

Cairo, Pango, Gstreamer and glib are the key Gnome libraries; Mono requires Cairo-Pango for rendering and both Cairo and Pango require glib. Gstreamer is used for AV and the JSC engine + Gstreamer is used to support Moonlight. GTK+ is a widget toolkit that might be in PS Suite and modified to support a PS Suite theme.
 
Top Bottom