Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
29. November 2012

 

Alright, in the what not to do with DRM category, this one rates right up there with the Sony rootkit fiasco.  The popular game development program GameMaker by Yoyo Games recently released a DRM update, that resulted in this happening to some paying users assets:

 

(Image source reddit user passa91)

 

Oh and for the record, those changes are permanent… it isn’t some overlay they’ve done, GameMaker actually physically altered the source images.  The story was originally broken on ArsTechnica and is currently being discussed on reddit.

 

Also from the comments on reddit ( completely unconfirmed by the way ) is this scary comment:

Also this admission from developer Mike on the forum:

For those who CAN afford it, but find it just as easy to copy it. Well, rest assured, we know the games which get made, and if something does well.... I'm sure we'll be in touch.

In other words, all games compiled with GM Studio report back to YoYo HQ. Not cool, at all.

 

You know what, I’m all for protecting your product, but that combined with this horrible screw up, let’s just say Yoyo really ought to rethink their strategy on DRM!

 

Where you effected?  Does this misstep discourage you from ever using GameMaker in the future?  At the very least has this taught you a lesson in backups and version control?

News


9. November 2012

I recently hosted a guest tutorial post on using Moscrif, a new Javascript based cross platform, game focused development environment.  Thing is, I myself haven't really had a chance to check out Moscrif myself.  In the past I did try out a Moscrif Logosimilar environment Appcelerator Titanium, which for a couple of reasons, I chose not to keep using, many of which aren't actually Appcelerator's fault (the no other word for it, complete crap Android emulator, was the biggest drawback). 

 

Moscrif on the other hand is a bit different.  Like Appcelerator, it's cross platform, mobile focused, JavaScript based and comes with it's own IDE.  Unlike Appcelerator it ships with a simulator you can use for stage 1 debugging, removing the biggest headache.  Perhaps most important of all for readers of this site, Moscrif is also game focused while Titanium is not ( yet ).

 

So, I've decided to take a bit closer look at Moscrif, over a couple of posts.  First off, this is *not* a review.  I certainly haven't put enough time in with Moscrif to even consider reviewing it.  Consider it instead a tour of features available as well as my initial impressions.

 

So, what then is Moscrif anyways?

The above description is pretty much accurate.  Moscrif is a cross platform JavaScript based IDE/language/library for creating mobile applications with a focus on games.  If you've ever used Appcelerator Titanium, you've got a pretty good idea of what you are getting here, just with a more game oriented focus.  The tools run on Windows, Mac and Linux, while you can target iOS, Android and oddly enough… Bada, with a single code base.

 

Installation process

Moscrif install was easy enough, but theres a catch.  You need to create an account (which you can do here), and like the Corona SDK and Appcelerator, you will need to log in to do anything, making an always on connection pretty much a much.  Unfortunately this login process is required even if you are just using the basic version.

Otherwise the install process is pretty much a no-brainer.  In my case I am using Mac OS.  You simply download the package and run a pair of installs.  Moscrif depends on a particular version of the Mono framework, which you need to install first.  It is included in the downloaded package, so simply download, run the Mono installer then the Moscrif installer, that's about it.  You can download (and register) right here.

Once you've finished installing, the first time you run Moscrif you will have to log in with your Moscif account.

 

A first look at the IDE

Load up and log in to Moscrif and you will be greeted by the screen:

IDE Screenshot

 

As you can see, it's a pretty complete and traditional IDE.  Your project management window is on the left, your console and debug windows are across the bottom and the remains of the window is for code editing.  You can use the icons at the top right to toggle sections of the IDE on and off.  I do have one immediate annoyance though, I am running on MacOS and there is no ability to maximize the window, or whatever that feature is called.  Considering that single feature is what makes Mac tolerable to me, hopefully support is added soon!

 

Hello World

To get a feel for the application, let's create an extremely simple Hello World project.

To get started, select File->New->New Project.

In the resulting dialog, choose 2D Game and name your project, I went with Hello World. Like so:

NewImage

 

Now in the next dialog, keep Game2D selected and choose Finish.

NewImage

It will have created a project for you like the one pictured to the left.

 

Main.ms is the file we are most interest in, it is the main entry point of your project.

 

 

 

 

 

 

 

 

Now replace the code in main.ms with the following:

include "lib://game2d/game.ms"

 

class HelloWorld : Game {

    function start()

    {

        super.start();

        this.paint = new Paint();

        this.paint.textSize = 72;

    }

 

    function draw(canvas)

    {

        canvas.clear(0xffffffff);

        canvas.color = 0x000000ff;

        var (w,h) = this.paint.measureText("Hello world")

 

        canvas.drawText("Hello world",System.width/2 -w/2,System.height/2 -h/2, this.paint);

    }

 

}

 

new HelloWorld().run();

 

As you can see, Moscrif is very similar to JavaScript with some obvious extensions, such as class or multiple return values.

Now let's run our new application, which brings us to...

 

The Simulator

Across the top of our screen are the simulator controls:

NewImage

 

Simply click Run, and the iPhone4 simulator will run.  Voila:

NewImage

 

You can control the Simulator with the following hotkeys, although the rotation keys don't work if you don't support landscape changes in code.  I also had a bit of a fight getting F11 and F12 working on Mac, but that is more an OS issue than a Moscrif issue.

 

Operation Mac OS Linux Windows Moscrif symbol
Take screenshot F12 coming soon F12  
Rotate left F11 F11  
Rotate right F11 F11  
Left functional key F1 F1 #left
Right functional key F2 F2 #right
Send / Green / Talk F3 F3 #send
End / Red F4 F4 #end
Back Backspace Backspace #back
Ok / Centre key / Confirm Return Return #ok
Volume Up F6   #volumeUp
Volume Down F7   #volumeDown
Camera F5   #camera
Power     #power
Menu F8   #menu
Home F9   #home
Zoom In Cmd + (=) Ctrl I, Ctrl +  
Zoom Out Cms - Ctrl O, Ctrl -  

 

As you can see from the display options, there is a decent number of profiles pre-configured.

NewImage

 

I did run in to a few issues, when I switched from Iphone3 to iPad, then implemented screen rotation, only a 480x320 portion of the screen was rendered.  That said, having a simulator layer massively improves turn around time, especially when working on Android where the emulator is pure garbage.

 

Publishing

The simulator is nice, but at the end of the day you are going to want to run on an actual device.  That process is actually quite simple.

Simply select the menu Project->Publish

The following dialog will appear:

Publish Dialog

 

 

Select your OS as a tab at the top, click a checkbox beside a skin and click the Publish button.  You can totally tell a programmer wrote this dialog… Reset Matrix?  Really? ;)  Coincidentally Reset Matrix is simply De-select, if you are curious.

After clicking Publish, Moscrif will churn away for a little bit and a Finder/Explorer window will pop up with your APK file ready for deployment.  I have to admit, this process is quite impressive, as it doesn't require you to install the Android tools, mess with any environment variables or any of the typical fun.  If you are just starting out, this is about the easiest way to generate an APK file I've ever seen.  Coincidentally, the APK was about 4MB in size, which is pretty impressive.  When using Titanium, a Hello World measured in closer to 10MB.

There is however a downside (one Appcelerator Titanium shares), you can't currently debug on device, which sucks.  You can log/trace back to the IDE as your program runs, but that's it. There are a whole class of bugs, especially on Android, that only express themselves on an actual device, so this can get a bit annoying.  Let's hope the simulator does a very good job of, well, Simulating.  Fortunately, on device debugging is a very near term item on the roadmap of features.  Even more confusing, it doesn't appear you can debug in the simulator either, other than debug logging.  I have become so used to being able to set breakpoints and step through code, it feels like a major omission when I cant. Hopefully this functionality gets added, at least to the simulator. Or perhaps I simply overlooked the functionality somewhere.

 

Other stuff and closing thoughts

The IDE is fairly easy to come to terms with.  What you see is pretty much what you get, there aren't a hundred menu items or nested dialogs, and there really doesn't have to be.  The code editing tools are pretty impressive, with good legible errors displayed in realtime.  There is code completion, it's quick and appears to work exactly as you would expect it to. Otherwise it's a fairly barebones but functional code editor.  There is smart tabbing, find/replace, code suggestions/completion, hover-over code tips and code folding and thats about it. For more advanced editing, such as refactoring, you need to move to a more dedicated text editor.  Truth is, in 99% of occasions, the IDE is a perfectly capable and even enjoyable place to edit your code.

Next is the area of support and community.  Let me start with the bad, community.  I am not saying the community is bad, more… missing.  One of the downsides of being a fairly new product is the lack of information online.  When you run in to a problem on Moscrif, there isn't yet a large community to turn to and Google won't come to save you.

Now, the good.  Moscrif's documentation ROCKS.  It staggers me how good of a job they have done.  Theres a pretty good step by step documentation that walk you through many of the features with code examples.  Where Moscrif really shines though is the reference materials. It's comprehensive, complete, timely and almost always comes with a code sample.  The reference material goes a long way to minimizing the lack of community…  you don't have as many people out there to answer your questions… but you have such great documentation that you don't really have any questions in the first place!  If you are middleware publisher and want to know how to do documentation… look no further!

I haven't really gotten the chance to really dive in and code.  That said, what I saw in my initial inspection certainly have my interest piqued, so I will be looking at the code side of things shortly.  So stay tuned for a more detailed hands on with the code in the future.  I am impressed by what I've seen so far.

 

Pros

  • it's JavaScript based
  • no external dependencies. No need to install other tools or SDKs. Fastest way I've seen to build an Android app yet
  • small executable size for the type of tool it is
  • EXCELLENT reference materials
  • all in one, easy to get started, reasonably complete
  • simulator makes for fast dev turn around times
  • JavaScript language enhancements that fix some of JavaScript's warts
  • Fast OpenGL based performance

Cons

  • it's JavaScript based 
  • lack of online presence, forum software is terrible and finding information not in the documentation is difficult
  • internet connection required
  • debugger needs improvement and basic debugging features ( breakpoints, inspection, etc ) added
  • it's young and relatively unproven 

 

Stay tuned for a later post when I look at Moscrif from a coding perspective.

 

General Programming


27. October 2012

 

 

It's odd how news arrives sometimes, it always seems to arrive in batches and today's post is no exception.  Earlier this week I read about a recently launched 3D modeller that works within Unity3D.  That piqued my interest for a few minutes, then something shiny came along and I forgot about it completely.  Then a day later a different product was announced that also enables 3D asset creation within Unity.

If you've not heard of it, Unity is a massively popular game creation suite, that enables developers to create games for PC, Mac, iOS, Android and more.  Prices range from free to around the 1,500$ mark.  The biggest catch has always been the content creation side, take a look at our 3D application list for an idea of the typical price tag attached to these application.  Up until now, Blender and Cheetah3D on the Mac where you only options if you didn't have several thousand dollars to spend.  Then you have to contend with the annoyances of getting your asset from the application and in to Unity, not always a seamless process.  Therefore, a low cost/no cost editor that works within Unity is certainly welcome.  And today, we get two of them!


GameDraw


The first is GameDraw, which is available in Unity or as a stand alone application on Mac, Windows, Linux and iPad.  It currently has a 45$ price-tag, which is about 1% of the cost of 3D Studio Max if you want to put that in perspective.

GameDraw features include:

Polygonal Modeling, Sculpting, Generation and Optimization Tools
UV Editor
City Generator
Runtime API
Character Customizer
Mesh Editing ( Vertex, Edge, Triangle, Element)
Mesh manipulation functions (Extrude, Weld, Subdivide, Delete, Smooth,…etc)
Assigning new Materials
Mesh Optimization
UV editing
Primitives (25 basic model)
Sculpting
Boolean operations
Node based mesh generation
2D tools (Geometry painting, 2D to 3D image tracing)
Character customizer
City Generator
Warehouse “hundreds of free assets”




 

Shade for Unity

Shade is the other contender entering the ring.  This is a bit odd for me, as I have been a hobbyist in the 3D industry since the early DOS days when I purchased 3D Studio ( note, no MAX ) 4.  I spent my childhood dreaming of owning an SGI Indy with PowerAnimator.  I have followed the industry forever, used just about every 3D application out there, from the big guys like Max and Maya to the fringe like Nichimen nWorlds and Houdini.  In all of that timeNewImage however, I don't think I have ever even heard of Shade, which amazingly has been around since 1986 and is currently at version 12!  

I downloaded the 30 day trial  and I am rather impressed with this package, which I will be looking in to in a bit more depth later.  I noticed along the way, while search for help on how to do certain tasks in Shade, nobody else has heard of it either!  There just isn't a ton of information out there.  How the heck can a package get to version 12 and nobodies heard of it?  Easily… it's big in Japan.  Ah.

So then, why the hell am I babbling on about Shade?  Well, this announcement recently crossed my desk:

Publisher Mirye Software and developer E Frontier announce the free 3D game content development system for indie developers and professionals will soon be available for developers on Mac OS X.

Shade 3D for Unity is based on the professional 3D modeling, animation and rendering tool set Shade, a product available for over 27 years and used worldwide by illustrators and designers. Shade 3D for Unity enables designers and game developers to build animated project content that integrates with Unity 3D, the game development system for Windows, Mac OS X, iOS, and Android.

Workflow integration makes it is easy to share project assets (Configuration Files) of Unity in Shade 3D for Unity and easily transfer content between them.

Snip…

Shade 3D for Unity includes an advanced tool set for creation of original 3D content:

* Import/Export integration with Unity 3D
* Advanced 3D Modeling Environment
* Polygon Mesh Editor
* UV Editor and Image Management
* Design friendly Bezier Spline Modeler
* Powerful Object Instancing Features
* 3D Object Hierarchy Browser
* Material Setting Features
* Material Parameter with Texture Map Settings
* Animation Setting Feature
* Draft Ray Tracing Renderer

Interesting…

Perhaps most interesting of all is the price tag.  Free.  I like free.

That said, the last free product 3D product I tried out was Daz3D and I am still getting half a dozen spam emails a week from them ( serious Daz, quit it, or make your freaking unsubscribe functionality work! ), so free isn't always free.  Mirye certainly intends to make money somehow, just not sure of exactly how as of yet.  My guess is they are following Daz's model of selling content, or perhaps it's an attempt to upwell you to Shade Professional.

Shade for Unity isn't actually out yet, don't expect it until November.  You can read more details on their site.  They also currently have a utility for using Shade with Unity on the Unity Store called the Shade Unity Loader.  

 

 

Now if you will forgive me, I'm off to play with my new toy.  It's always cool to find another professional caliber 3D application, especially one with a price tag starting at 99$!  I will post a bit more detail on my experiences with Shade 12 trial shortly.

Art News


3. October 2012

After a release candidate, followed by another release candidate, Blender 2.64 is finally here.

 

For game developers, the big release was actually the last one, this release is more focused of VFX, but there is still plenty to get excited about.  Here are details of the release in the Blender Foundation’s own words:

 

The focus was on creating a full VFX pipeline, with improved motion tracking using a planar tracker, easier green screen keying, and a new mask editor. A new tile based compositing system was added, along with more advanced color management. Cycles rendering got dozens of smaller features and improvements resulting from its use in production.

Sculpting now supports masks, and a skin modifier was added to quickly create a model from skeletons. The game engine got improved shadows and physics options, and Collada export now has more options to tune for exporting to other game engines.

 

The key changes, from a game developer’s perspective, are probably:

Mesh Tools

Bevel and inset now are modal operator with mouse control, a wire frame tool was added to turn edges into wireframe tubes, and vertex/edge/face sorting tools were improved.

Collada

The Collada exporter has been improved for better support of export to game engines, with more fine grained options to control which data is exported.

Sculpting

Sculpting has received some major improvements such has masking to control which areas of the mesh are influenced by sculpting, new brush map modes to control how textures are projected onto the model, and an input stroke averaging option to make brush strokes smoother.

Skin Modifier

The Skin modifier takes a skeleton made up of vertices and edges as input and generates a polygon skin as output, consisting mostly of quads aligned along the edges. The output is mostly quads, although some triangles will appear around intersections.

Game Engine

Lamps and shadows were improved with support for variance shadow maps, shadow color, sun lamp shadows and lamp textures. Non-power of two textures and compressed textures will now load faster and use less memory. A new Character physics type was added, designed for player controlled characters.

 

Of course there were also a ton of bug fixes.

 

Good job on the release Blender team!

 

You can go download the newest release right here.  Of course, expect a bit of a wait as their servers get pummelled.

News


10. July 2012

Well, sorta.

 

Autodesk just announced the Scaleform is now available as a Unity3D plugin, or as a standalone mobile200px-Scaleform_logo SDK.  More importantly, it’s available at a price tag of $295 a platform. 

 

Scaleform is used to create UIs for games using the Flash toolset, including ActionScript.  If you’ve played a game in the last year, chances are you’ve seen Scaleform in action.  It powered such titles as Deus Ex: Human Revolution, Civilizations, Warhammer 40K, Skyrim and more.  A partial list is available here.

 

Up until now, buying Scaleform has been a tricky proposition.  Autodesk had no available pricing, so you could only really get it embedded in existing game engines like Unreal, or directly negotiate with Autodesk ( can you say ouch? ). So while 300$ may seem like a look, especially considering Unity starts at 400$, it is still a massive value compared to before.

 

Scaleform for mobile

 

For more details head on over to the Autodesk Gameware website.

News


GFS On YouTube

See More Tutorials on DevGa.me!

Month List