Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

22. April 2012

 

 

This post is going to take a look at what’s included with the PS SDK, PlayStation Suite Studio and all the various included tools and tutorials.  So if you are wondering what is included in the PSSDK or have downloaded it and are trying to figure out what exactly you’ve got, this post is for you!  It assumes you’ve installed to default directories, so if you haven’t you have to adjust all locations accordingly.

 

 

image

 

 

Where is everything?

 

 

The PS Suite SDK installs to two different locations.  First check out

C:\Users\Public\Documents\Pss

This is where all the documentation and samples are installed.  The samples are amazingly comprehensive, but we will cover that later.  The samples are in the “samples” sub-directory.  The documentation are in the “doc\en” sub-directory.  The most important file is pss_sdk_doc_e.chm, which is the primary source of documentation and should soon become your best friend.  On the other hand “index.html” brings up the html document, which appears to be system generated class reference documentation and duplicates a lot of the information in the chm file.  Of course, both of these can be launched from the start menu.  Just do yourself a favour now, open pss_sdk_doc_e.chm now and leave it open! Winking smile

 

 

The next important folder is C:\Program Files (x86)\SCE\Pss, assuming you are running a 64 bit Windows ( drop the (X86) if not ).  The mono and software directories can be pretty much ignored.  Within the “target\win32” is pss.exe, which is the PlayStation Suite simulator which of course can be launched from Studio.  The source directory contains 4 helper libraries with full source code, GameEngine2D, Model, Physics2D and UI.  Most are documented in the main documentation already, so I won’t go into further details on these.

 

Perhaps most important is the tools sub-directory and the key files being:


 

adb This is the Android debugging bridge, it’s normally part of the Android SDK, but apparently PSS uses it for debugging too.

AnimationConverter This command line application is used to convert animations authored in Adobe Flash into a PS Suite compatible format.

OscCustomizeTool This tool is used to create onscreen joystick controls for Android ( but not the simulator or Vita ).  The output is a cfg file.

PssStudio This is where the Studio is located, which is a customized version of MonoDevelop and we will see it in more details later.

ModelConverter Is a command line utility to convert from dae, fbx, xsi and x formats to mdx format for use in PS Suite, I will cover this process in an upcoming tutorial.

Vita This folder contains the device driver needed for your computer to see your Vita.

ShaderConverter Used to convert cg shaders to a PS compatible formats.

UIComposer Used for making GUIs, will look at this in a bit more detail later

 


 

Playstation Suite Studio

 

 

This is where the magic happens.  PlayStation Suite Studio is a modified version of MonoDevelop, which is a code editor, project manager and debugger all in one.  You create, debug and compile your code all from within Studio, which is capable of launching the Simulator or deploying and debugging on your actual device.  This is as screenshot Studio in action:

 

image

 

On the left is the project manager window, to the right is the tabbed area where you edit or debug your source code.  The windows change based on your current activity.  Perhaps the most important modifications to MonoDevelop, are the new PlayStation Studio specific projects.

 

image

 

Until the Visual Studio add-in is released, PlayStation Suite Studio is where you are going to spend the majority of your waking hours.  I will cover parts of it in more detail in later tutorials.

 

 

 

PlayStation Suite UI Composer

 

 

UI Composer is where you put together your User Interfaces, which are then saved in .uic XML format.  If you are familiar with building UIs in Visual Studio, Interface Builder, Qt Designer or various other similar UI generators, you will feel right at home here.  Here is a shot of UI Composer in action:

 

image

 

 

There’s a pretty good selection of widgets available, illustrated below:

 

image

 

 

UI Composer can be used to generate Scenes, Panels, Dialogs and ListPanels.  Once you have drawn your UI, you then “Build” it, which then generates cs code to be included in your project.  The code generated uses partial classes, meaning you can add your code, but if you make changes, it will not overwrite them.

 

 

 

OscCustomizeTool

 

 

This is a neat tool for creating onscreen controls for Android tablets.  The end result is a cfg file that controls how the, um, controls will be created.  However it doesn’t work on Vita ( makes sense… ) and doesn’t work on the simulator ( doesn’t make sesne ), so I haven’t really got a chance to use it.  The UI seems quite evident though, you pick what capabilities to enable:

 

image

 

 

Then you select the layout and form factor you want to use:

 

image

 

I look forward to trying this out a bit more, so hopefully they will add compatibility with the simulator, even if just single touch at first ( or better yet, give the ability to remote control using a device, or map to a keyboard ).

 

 

The Demos

 

 

Ok, wow, this is the part Sony really got right.  There are full source code demos, many many many demos.

 

 

As to the demos, there are lots of little ones you would expect to demonstrate individual aspects, such as playing music, math usage, clipboard, storage, networking, physics, input, UI, model loading, imaging, etc.  Then some are extremely impressive and detailed, like the following:

 

 

A flight game:

image

 

 

A Arkanoid-ish Game:

image

 

 

A 3D Tower defense game:

image

 

 

A fully 3D RPG!

image

 

 

A 3D R-Type style game:

image

 

 

An Angry Birds Style game:

image

 

 

A 2D Side Scroller:

image

 

 

A Puzzle Game:

image

 

 

An RSS Reader:

image

 

 

And many more.  Seriously Sony, bang up job on the samples!  This is where you will spend a lot of your time, reading through the source examples, which I need to warn are often documented in Japanese, as are some of the tooltips.

 

 

The SDK

 

So that’s the tools and demos included, what about the actual code libraries themselves?  Well, PlayStation Suite SDK is based on Mono, so you get most of the libraries you would expect from it, which means most of the .NET runtime which is pretty comprehensive.

 

Additionally, as I mentioned earlier, they provided full sample projects, including a 2D Game Engine and a physics implementation.  On top, here is the class hierarchy of the current SDK:

 

 

 

ClassListPS

 

Over all, I am extremely impressed with what is included.  I wish Visual Studio support was ready, but PlayStation Studio (MonoDevelop) is pretty impressive if a bit sloppy at times.  You basically have everything you need to get started, it’s just a matter of finding it.

 

 

In a nutshell, that’s what you get when you install PlayStation Suite SDK. If you are just starting out, I highly recommend you jump into the CHM help file, or more importantly, start running through the samples.  There is a ton of great content in there and they have been my main source of information so far, as the documentation can be a bit… lacking at times.

General , , ,

21. April 2012

 

 

 

Over on the PlayN Google group PlayN 1.2 has been announced.  I have checked and it is up on Maven, although you need to click “Include snapshot archetypes” to find it.  To get started you can follow this install guide using these settings:

 

 

image

 

 

As to what’s actually new?

 

- You can now listen for mouse and pointer events directly on layers.
- Ray brought the Flash backend up to date. Christopher &co at
King.com shipped an awesome Facebook game using it.
- There's an experimental GL20 interface that allows you to make
OpenGL calls directly. It works on Android and WebGL.
- Image.subImage relieves you from having to roll your own image tiling code.
- The iOS backend is almost entirely done. There's an ios submodule in
the new Maven archetype. A getting started guide is still needed.
- Check the release notes for all the other awesome improvements, both
large and small.

In addition to playn-1.2, I have also released tripleplay-1.2 for your
user interface creating pleasures (along with a grab bag of other
useful things)

 

 

Flash and iOS maturing are both great news, and direct access to OpenGL are sure to be useful features.  More details of what’s new can be found in the release notes.

News

21. April 2012

 

 

I am really enjoying the PS Suite and compared to the Android emulator, the PlayStation Suite Simulator is extremely fast, but also extremely limited.  Perhaps most annoying, the joystick is actually handled using the keyboard.  I had sort of pictured being able to plug in a joystick on my development PC, but sadly this isn’t true.  Hopefully this is a feature they will add soon.

 

 

So, long story short, I went out today and picked up a PS Vita, so expect to see a series of tutorials after all! Winking smile

 

 

First thing I encountered was the process of getting debugging working on device.  It’s not actually that difficult, just a bit non-intuitive, so I figured I would document the process here.

 

 

First I assume you have installed the PlayStation Suite Studio already.  Be sure that you install the USB driver at the end of the install process.

 

 

Now on your Vita, open Browser and navigate to http://www.playstation.com/pss/developer/openbeta/index_e.html and click the PlayStation Suite Development Assistant download link like such:

 

2012-04-21-143816

 

 

You will now be redirected to the PS Store.  What is extremely odd, I went to the PlayStation Store and did a search for “Development Assistant” and found nothing!  It appears you really do need to click the link above using your browser.  Odd. Click download again:

 

 

2012-04-21-142619

 

 

If everything went correctly, you will now have an icon for PS Suite Dev.  Click it

 

2012-04-21-143546

 

 

 

Now we have to fire up PlayStation Suite Studio, load your project, or a one of the demos ( which are located at “C:\Users\Public\Documents\Pss\sample” on my PC).  Make sure your Vita is connected to your PC via USB cable.  One thing to note here, I had it connected initially to a USB3 port and it didn’t work correctly until I switched to a standard USB2 port.

 

 

Now that Studio is loaded and your Vita is connected with PS Suite Dev is running on it, navigate to Project Menu in Studio and select PlayStation Suite Device Target –> Your Device, like this:

 

 

image

 

 

If your Vita doesn’t show up, try unplugging and plugging back in the USB cable.  Now to actually run your application, if you want to debug simply choose Run->“Start Debugging” or hit F5.  If you want to start without the debugger, choose Run->Run With->Your Vita, like this:

 

 

image

 

 

 

And voila, your application running on your device!

 

 

 

2012-04-21-143608

 

 

At this point, you can ( if you chose Start Debugging or hit F5 ) now debug like normal, set breakpoints, etc… just like running on the simulator.  I have to say, debugging on the device is very smooth; much nicer than many other environments I have worked with.

 

 

I have some code related tutorials coming soon.  Please let me know if there are specific things you are interested in me covering in the future.

General , ,

20. April 2012

 

Ok, I really need to come up with a shorthand version for that!  PS SDK?

 

 

Anyways, right off the hop here are two problems people might run into.  If you start a new project, an app.cfg file is NOT created.  However, the emulator pss.exe will just sit there and spin using up 100% of one of your cores.  To fix it, in your Playstation Suite project, make sure you add an app.cfg, like the following:

 

 

memory: resource_heap_size : 16384 managed_heap_size : 16384 input: gamepad : false touch : false motion : false

 

 

Next, Playstation Suite Studio is based around MonoDevelop and seems to have some serious issues with auto completion.  If you add a reference to an assembly ( such as Sce.Pss.HighLevel.Model ) and aren’t getting auto-completion on it, save your project, close it and re-open and auto-completion will work for that assembly from now on.   Yes, this is a pain in the butt and if I come up with a better solution/fix in the future I will let you know.

 

Sony has a Visual Studio plugin in the works, which will be nice as intellisense generally works more or less flawlessly in Visual Studio.  Fingers crossed Visual Studio support comes soon, no offence to MonoDevelop.

Programming

20. April 2012

 

 

As you may have noticed, I am somewhat excited about the addition of BMesh into the main Blender trunk in the upcoming release.  What you may be wondering is why? In the past I explained what an ngon is, but without seeing them in action their benefit can be a bit hard to understand. 

 

So that is exactly what this post is going to cover, it will demonstrate the new functionality that will be available in Blender 2.63 once BMesh support is added.  Each animated image is actually 1080p in size, so click on it to see more details.  Some of these features, such as the bridge edge tool, aren’t specific to ngons specifically ( and could be accomplished without BMesh ), however the internal changes to support BMesh made adding these features more feasible.

 

 

 

 

 

Dissolving face/edges/vertices

 

Disolve

 

 

What are we seeing here?

 

Coupled with the knife tool, this is easily the biggest feature of BMesh.  Instead of simply deleting faces, vertices and edges, you can now dissolve them, which effectively turns the selection into a single giant ngon.  Therefore you can add detail where you need it, or quickly remove it where you don’t.  With traditional triangles/quads, retooling a mesh was an arduous process of deleting faces/vertices then rebuilding them one quad/tri at a time.  Now with BMesh it’s a heck of a lot easier.  One word of warning though, just because you can do something doesn’t mean you should! 

 

Dissolve can result in some really funky geometry, especially if what you are dissolving isn’t planar.  In the end, when it is sent to the renderer, it is still triangulated, so if you have dissolved into an impossible shape, you will get some weird artifacts.  That said, some time with the knife tool can quickly fix up most problems.  One thing to remember, BMesh does not replace the need for a good topology!  It may make things easier, but in the end the same basic modeling principles hold true.

 

One last note, dissolve works slightly different based on if you have edges, faces or vertices selected.

 

How do you do it?

 

In edit mode, select your geometry.

Hit ‘x’.

Select dissolve.

 



Knife Tool

 

KnifeTool

 

 

What are we seeing here?

 

The other major part of BMesh is the knife tool.  There is a knife tool in Blender 2.5x but it’s fairly awful.  First it has to tessellate as it goes because of the 3-4 vertices per face limit.  The new knife tool is much more capable and flexible and as you can see from the image above, can make pretty arbitrary cuts with ease.  Again though, good topology is still important, so use the knife with care!

 

How do you do it?

 

In edit mode, press K.

A green dot will appear where the cut will appear.

Left click to make cut, move mouse and repeat.

Right click to complete.

 



CTRL + Knife Tool ( centered cut )

 

CTRLKnife

 

 

What are we seeing here?

 

Quite often you want to cut at the halfway point, this is exactly what cutting with the Control key pressed down will do.  The green dot will snap to the halfway point between the two nearest vertices.

 

How do you do it?

 

Exact same process as the knife tool, just hold down CTRL to snap to midpoint.

 



Creating > 4 sided faces

 

CreateFace

 

 

What are we seeing here?

 

On of the big pains of working with polygons in Blender before was manually recreating faces.  You had to select 3 or 4 vertices in order then hit the F key, repeating for every polygon you need to create.  Now, select the bordering edges or vertices, regardless to their count and it will create a single ngon, which can be extrudes, scaled, etc… like a normal face.  Just like dissolve though, it is quite easy to create “bad” geometry.

 

How do you do it?

 

In edit mode, select bordering vertices or edges.

Press F to build ngon.

 



Bevel ( finally! )

 

Bevel

 

 

What are we seeing here?

 

Blender 2.4x has a bevel, 2.5x replaced it with an awful modifier that I don’t think anyone was happy with.  Now, with BMesh, bevel is back!  It can be a bit buggy at times, especially with multiple edges selected and can result in some strange cornering geometry, but its really nice to see bevel back.   Bevel basically allows you to add more geometry evenly spaced and rounded, normally used for rounding corners.

 

How do you do it?

 

In edit mode, select 2 or more consecutive vertices, or one or more edge or face.

Hit spacebar, type “Bevel”. Click Bevel in popup menu.

On the left hand Mesh Tools menu ( hit T if not open ), select percentage or recursion level.

Percentage determines how big bevel is ( relative to next closest edge/face/vertex )

Recursion level determines how many times the bevel will be performed ( number of edges created )

 



Inset/Outset face(s)

 

insetoutset

 

 

What are we seeing here?

 

Inseting is basically identical to doing a zero distance extrude followed by a scale, but much easier.  Think of it kind like creating an edge loop, but instead its relative to the selected edges.  Inset causes the new geometry to be created within the selected geometry, while outset causes the geometry to be created surrounding selected value.  The above image illustrates an inset, followed by an outset.

 

How do you do it?

 

In edit mode, select the face.

Hit spacebar, type “Inset face”, select menu item.

In the tools panel, thickness slider determines the amount it is offset.

Check outset if you wish to outset instead of inset.

 



Bridge Edge tools

 

bridge2

 

 

What are we seeing here?

 

This functionality was actually available via the loop tools plugin, but it’s nice to see it part of the main application.  Select two edge loops (within the same/connected mesh ) and it will create a “bridge” between those two points.  Sadly it doesn’t delete the interior face, so be sure to delete the face before bridging.

 

How do you do it?

 

In edit mode, select two edge loops.

Hit spacebar, type ‘Bridge Two Edge Loops.

Note! Both edge selections need to have the same number of edges.


,

Month List

Popular Comments