PLAYHACK with ARM: Chromebook Winner

Last month we worked with ARM to launch our first Prize PLAYHACK. They provided the great prize of a Samsung Chromebook 2 13.3″.

70 developers forked the starter project and slaved over the coding for the last month. ARM and PlayCanvas spent a tough few hours playing all the games and we’ve picked out a winner.

Space Buggy

space_buggy_start

This month’s PLAYHACK winner is Space Buggy a compulsive driving game. Which features tracks generated from stock charts. The aim is to safely reach the end of the track without over-turning or running out of fuel.

PlayCanvas user lmao is already a previous PLAYHACK winner and this month his determination and hard-work has paid off. Space Buggy is a polished and addictive stunt game. Lmao makes great use of the Buggy model that we gave away for the competition and also used simple textures and boxes to generate tracks creating simple yet compelling graphics. Nice touches include the engine start and headlights on the car, the “jukebox” playing different tracks and the integration of Google Play Services for leaderboards.

See it in action:

Space Buggy animation

PLAY SPACE BUGGY HERE

Massive congratulations to lmao, your Chromebook will be winging it’s way over to you shortly.

We want to make a couple of special mentions to alphacodemonkey for his addictive high-score chaser Boarddrive and lizzip for dinosaur escape game Desperately Fleeing Susan

Optimized for ARM Mali

We’ve been working hard with ARM to make sure that PlayCanvas runs really well on their Mali mobile GPUs. You’ll see this in the Seemore demo we developed in association with ARM.

Screen Shot 2015-04-02 at 15.49.43

Find out more at http://malideveloper.arm.com

 

PLAYHACK April: Rolling balls and platforms

PLAYHACK is our monthly game jam. We give you the starter kit for a game. You take the basics and use your imagination and skill to build a new game. Our favorite game at the end of the month will be showcased to thousands of PlayCanvas users and featured on the site. The only rules, start from our project and have fun.

rollball-640

This month’s PLAYHACK is a little different to previous ones.

Level Design Challenge

First, we’ve built the basics of a simple rolling ball game. A full set of platforms, a ball and some teleporters. Your mission (should you choose to accept it) is to take this game and run with it

  1. Design new levels
  2. Re-skin the textures
  3. Add new features
  4. Polish the experience

Second, you’ll be using our the brand new version of the PlayCanvas Editor. This is an opportunity to put the new tools through their paces.

models

PLAYHACK starts right now and runs until the end of April. On the 1st of May we’ll go through all the projects forked from our starter project with a published game and pick our favourite.

The winner will join an elite club of PLAYHACK past winner’s and their game will be featured on our explore page. Bonus points are awarded for posting to your devlog, posting screenshots to Twitter and Facebook and generally sharing the development process with everyone. As a community we will build better things.

How it works:

  1. Fork the project
  2. Design, build, improve.
  3. Post your devlogs, screenshots, etc
  4. Publish your game.
  5. On the 1st May, we’ll pick our favourite.

What are you waiting for!

START PLAYHACKING

PLAYHACK March – Win a Chromebook 2

This month we have an extra special PLAYHACK, our monthly game jam, to announce. We’ve teamed up with ARM, to bring you both a excellent new 3D Model to start your game with, but also an excellent prize.

PRIZE

chromebook

This month the author of our favorite PLAYHACK game will walk away with a Chromebook 2, the ARM powered laptop that’s perfect for game development with PlayCanvas!

Here are the specs:

Samsung Chromebook 2 13.3”

  • Samsung Exynos 5 Octa (5800)
  • ARM® Mali™-T628 MP6 GPU
  • ARM Cortex®-A15 MP4 and Cortex-A7 MP4 CPUs
  • ARM big.LITTLE™ processing

To win this lovely bit of kit we want you to build a game, and to help you build that game ARM has supplied us with this beautiful Buggy Model.

buggy

We’ve set up the vehicle physics for you (but feel free to re-write that if you like). All you need to do is come up with an interesting idea for a game (Racing, Stunt driving, Buggy Football!) and code it up. You don’t even need to make the buggy the center of attention, as long as it’s in your scene you’re good.

Short on ideas? Check out the forum thread to join the idea discussion.

HOW TO ENTER

Entering is simple. Visit the PLAYHACK March project and click the FORK button. This creates a new project for you to build your game in. At the end of the month (Midnight on the 31st March to be precise) we’ll check all the public projects that have been forked from the original and work with ARM to select a winner.

Style points (these don’t count towards winning) will be awarded for posting updates to your Devlog throughout the project and sharing screenshots, daily builds and updates through PlayCanvas, Twitter, Facebook and anywhere else.

What are you waiting for?

START PLAYHACKING!

ARM-PC


 

Terms and Conditions

These Terms defined below apply to the PLAYHACK March Competition.

  1. By entering the Competition, entrants agree to be bound by the Terms. In addition, all entrants are required to comply with the PlayCanvas Terms of Use.
  2. PlayCanvas reserves the right to cancel or amend Competitions or the Terms at its sole discretion.
  3. In the event of any dispute regarding the Terms, conduct, results and all other matters relating to a Competition, the decision of PlayCanvas shall be final and no correspondence or discussion shall be entered into.
  4. PlayCanvas reserves the right to disqualify any entrant if it has reasonable grounds to believe the entrant is not eligible or has otherwise breached any of the Terms.
  5. PlayCanvas does not guarantee to use any entry. PlayCanvas may also, in appropriate circumstances, and at its sole discretion, reject, edit, remove or disable access to entries that it considers may be legally or otherwise problematic.
  6. By entering the Competition entrants are also confirming that they own the rights to or have permission for all work submitted and any violation of this disqualifies them from the competition.
  7. By entering the Competition entrants give PlayCanvas and ARM permission to use your game and details for any marketing purposes.
  8. The competition Start Date is March 1st, 2015.
  9. The competition Closing Date is March 31st, 2015.
  10. All Entries must be created using PlayCanvas and final games must be published and hosted on the PlayCanvas site.
  11. Judging will consist of playing the published primary app in the submitted project.
  12. The following prizes will be awarded based on the set criteria for the competition: A Samsung Chromebook 2.
  13. If the entry was made by a team, the person who owns the account used for submission is eligible for the prize.
  14. PlayCanvas and ARM employees are not eligible to enter the competition.
  15. All entrants under the age of 18 must have their parents’ permission before any prizes are awarded.
  16. There is no limit to the number of entries that an entrant can submit.
  17. Each game can only be entered once.
  18. In order to participate in the competition entries must:
    • Be created using the online PlayCanvas platform and game engine.
    • Be a fork of the original PLAYHACK March project.
    • Include and use the Buggy 3D Model in the game.
    • Have a published primary app.
  19. Winners will be notified by PlayCanvas on or before Friday, April 5th, 2015.
  20. Competition winners will be announced via the PlayCanvas website.

Engine Update: Steamlining Components and Scripts

With the latest engine changes released today we’re streamlining our API to make it quicker and easier for you to get started with PlayCanvas. Less API to remember more time coding your game.

Two major changes landed today. A new way to add components and replacing the old `ApplicationContext` object with the `Application`.

Adding Components

The Entity class now has addComponent and removeComponent. This makes setting up an Entity in code much easier

var entity = new pc.Entity();
entity.addComponent("light");
entity.addComponent("camera", {
    clearColor: new pc.Color(1, 0, 0);
});
app.root.addChild(entity);

You’ll see that this is much less code than the previous way of doing stuff.

ApplicationContext removed

Until today, script instances would have the ApplicationContext available to them. Now we’ve combined the ApplicationContext and the Application.

How does this effect your code? Well, actually it doesn’t. We’ve moved all the functionality from the ApplicationContext into Application and we now pass the pc.Application into your script. This is just reducing the API surface area.

When you create a new script. Now you’ll see this as the default skeleton script:

pc.script.create('myscript', function (app) {
    // Creates a new MyScript instance
    var MyScript = function (entity) {
        this.entity = entity;
    };

    MyScript.prototype = {
        initialize: function () {
        },

        update: function (dt) {
        }
    };

    return MyScript;
});

So, now just use app instead of context.

Anyway, that’s it for this update. See you next time.

Build a game for a loved one this month.

Our most popular PLAYHACK ever finishes today. Last month’s gem challenge sparked your creativity and led to over 30 forks of the project.

Featured Winner

yet another gem

This month our favourite PLAYHACK game is Yet Another Gems by lmao. A great 3D twist on a classic format. We were most impressed by the polish of the game. From the full menu and UI, to the the inclusion of online leaderboards using Google Play Services, this is a complete game. An impressive achievement for only one month’s development.

finalists

Here’s a selection of some of the games made this month. Special mention to runninglvlan who only started making his game Gem Labyrinth 12 days ago, but already has an addictive maze running game (my record is 130 points in 47 seconds)

Go watch and star the game projects for Gem Labyrinth and Yet Another Gems.

Make your loved one a game

PlayCanvas

With the end of one PLAYHACK must come the start of a new one. February 14th is St Valentine’s Day, so this month’s theme is to give you the chance to create the ultimate Valentine’s Day gift. Make your loved one their own special game.

We’re giving you 20 hearts of all shapes and sizes, and not only that, there is a loveable furry surprise in the pack too.

Valentine’s Day is only 2 weeks away, so don’t wait around. If you miss the 14th though, don’t worry, our deadline is the end of the month. And we’ll still love you whenever you finish.

How does it work?

  1. Fork this month’s project into your account
  2. Use 3D models from the project to build a new game.
  3. Post to your Devlog about your game throughout the month
  4. At the end of the month we’ll look at all the forks
  5. We’ll pick our favorite and feature it on the explore page

As there are so many models this month, feel free to pick and choose a few that you need.

Judging

The process of judging is as broad as the rules. You won’t be marked on the strength of code, graphics of theme, the winning game will be the game that we enjoy the most, simple.

What will you build?

This month we want to start up a discussion about what you can build.

We’ve got some ideas about what games suit the the theme and what would work best as a unique and personal gift for a loved one. But what do you think? Join the discussion in the forum.

Enough from us though.

START YOUR PLAYHACK

bear_small

 

We love you!

PLAYHACK – We challenge you to a jewel!

PLAYHACK BANNER_1

We were lucky enough to see some amazing festive entries in PLAYHACK December, but January isn’t really known for a lot. So we have put our brains together to give you some sparkly assets to play with.

How does it work?

PLAYHACK starts today! We’ll provide you with a 3D model and your mission is to turn it into a game. The only rule: you must use the model somewhere in your game.

It works like this:

  • Fork this month’s project into your account
  • Use the project and it’s contents to build a new game.
  • Post to your devlog about your game throughout the month
  • At the end of the month we’ll look through all the projects that were forked from the original.
  • We’ll pick our favorite and feature it on the front page of PlayCanvas for everyone to see.

The Models

white-row

4 Shiny Gems.

For all you magpies out there, forking our PLAYHACK project this month will give you access to the ‘precious’ assets above. Although there is a chance you’ll download these jewels, turn into Gollum and not get any where with your game, we are hoping that you’ll take inspiration from many industry defining games.

For instance, platform action series Spyro made great use of jewels in the late 90’s and more recently Bejeweled pushed gems into a great flash puzzle format.

spyro

bejeweled

Puzzle game, platform game, physics game? Any game, any style, the choice is yours.

Judging

The process of judging will be as broad as the rules. You won’t be marked on the strength of code, graphics of theme, the winning game will be the project that we enjoy the most, simple.

We will be holding things down here at HQ during the month long Game Jam by sharing some of the best screen shots, Devlog entries and general updates of your progress.

Featured Winner

On the 1st of February we will judge your projects and our favourite will be featured on the PlayCanvas landing page

Last Month

With Side Scrolling Santa’s, Youtube leaks, Medieval houses and plenty of obstacles, last month’s winter extraordinaire was arguably our favourite PLAYHACK so far.

santa_winner

Our favourite entry is ‘Five For Christmas‘ by felladrin.

Making great use of light and particles, felladrin created a “topdown survival game where the player (Santa) had his location revealed and all the kids are now trying to reach him. The player must throw gifts for the children, so that they don’t delay the delivery of gifts this Christmas”. Go visit the game project and give it a star and leave a comment.

START PLAYHACKING!

Watching and Starring

Today we’ve added a new feature to help us bring the best projects and games from PlayCanvas to the fore.

Project Stars

 

If you visit a project home page. You’ll see two new buttons

Watch

Watching a project tells us that you’re interested updates from this project. Soon we’ll start customizing your feed with updates from the projects that you’re watching. We’ll also keep you updated via email with any major changes that happen to the project. Like when they publish a new build.

Star

Starring a project just tells us that you think it’s cool. You won’t receive any more information about it, but you can rest safe in the knowledge that you’ve given the project’s owner a little boost to their day.

Start by browsing the projects in the EXPLORE page and show a little love to your fellow game makers

 

PlayCanvas Referrals Program

The PlayCanvas Community is growing all the time and we know that some of that growth is down to your hard work in promoting the engine.

Last month we introduced the Devlog to help strengthen the PlayCanvas community and this month we’re launching our Referrals program. It’s our way of saying thank you for using and sharing our engine. PlayCanvas simply wouldn’t work without you, our community.

How Does It Work?

Simply share your unique referral link where and when you please and if a user signs up to PlayCanvas using your link, you get 5% of anything they spend on PlayCanvas for their first year. The more people that sign up with the link that you shared, the more benefits you can receive.

5% of everything!

That’s right! So if you refer a user who signs up to an Org 20 account, you’ll get 5% of $400 (that’s $20) every month for their first year.

referrals

Finding Your Referral Link

Method 1:

  1. Hover over your profile icon (in the top right hand corner) while logged into PlayCanvas
  2. Select Referrals from the menu
  3. Find your Referral URL in the box entitled Your Code

Method 2:

  1. Follow this link

With your help we’re growing PlayCanvas into the best place online to develop videogames. Help us become and even bigger community and we can share the rewards with you.

3D Asset Store Propsplanet upgrades from Unity to PlayCanvas

logos

Propsplanet is an online digital marketplace which sells 3D models to independent game developers. Previously powered by the Unity Web Player browser plugin, Propsplanet has this week relaunched using the PlayCanvas engine.

“Upgrading our online 3D preview from Unity to PlayCanvas has made a huge difference to the customer experience on our website. It lets us broaden our audience from desktop only to include every shopper including tablet and mobile users. Our early tests show that using PlayCanvas decreases page loading times by over 10x which has led to more item views and the average time on site has increased by over 500%.”

Propsplanet founder, Wale Adeyeye

“WebGL technology is a huge deal for online retailers. For companies like Propsplanet, having previews of their digital assets is vital. Previous technologies were limited by plugins which led to low engagement and were simply missing the enormous mobile market. We’re showing how PlayCanvas isn’t just able to power the next-generation of games but also help digital retailers and other websites use 3D on the web to raise engagement and increase sales.”

PlayCanvas CEO, Will Eastcott

Propsplanet used our cloud-hosted tools platform to build the interactive 3D application which let’s users preview hundreds of 3D models streamed dynamically from the server. Because PlayCanvas applications are standard web pages the preview application works on every platform.

You can see what an improvement we made to the Propsplanet user experience in this side-by-side comparison video

You can try the PlayCanvas-powered application on Propsplanet’s store website now.

PLAYHACK November – Turrets and shooting bullets

As this is our first PLAYHACK we thought it would be sensible to start with a few tips and tutorials to get you going. We’ll follow up with more of these throughout the week. Don’t forget, these are just examples. You can make any game you like.

PLAYHACK_designer

Rotating Turret

In the previous blog posts we set up keyboard controls to move the tank by apply forces to the rigidbody. Now we going to add separate controls to rotate the tanks turret. You try this project for yourself by running this pack.

initialize: function () {
    this.turret = this.entity.findByName("Tank_gun_turret");
    this.bullet = context.root.findByName("Bullet");
    this.barrel = context.root.findByName("Barrel");
},

update: function (dt) {
    // Rotate the turret left and right using A and D
    if (context.keyboard.isPressed(pc.input.KEY_A)) {
        this.turret.rotate(0, this.speed * dt, 0);
    } else if(context.keyboard.isPressed(pc.input.KEY_D)) {
        this.turret.rotate(0, -this.speed * dt, 0);
    }
    
    if (context.keyboard.wasPressed(pc.input.KEY_S)) {
        this.shoot();
    }
},

This is the code in turretcontrols.js. It’s very simple. In the initialize function we find the Entity called Tank_gun_turret. This Entity is the separate model for the gun turret. Then each frame we check to see if the A or D key is pressed and we rotate the turret to the left or right using the rotate() method on the Entity.

Shooting Bullets

shoot: function () {
    var bullet = this.bullet.clone();
    context.root.addChild(bullet);
    bullet.setPosition(this.barrel.getPosition());
    bullet.enabled = true;
    
    this.force = new pc.Vec3();
    this.force.copy(this.turret.forward);
    this.force.scale(-this.impulse);
    
    bullet.rigidbody.applyImpulse(this.force);
}

Take a look at the shoot() function above. This is called when the player presses the S key. It introduces a few different concepts:

Entity.clone()

The clone() method on Entities creates a complete copy of the Entity and it’s components. When you clone an Entity it is created but not added into the scene hierarchy so you have to call the addChild() method and add it to the parent of your choice. In this case, we’re just adding it to the root.

Enabling and Disabling Entities

The bullet Entity we are cloning from is disabled in the Designer because we don’t want this extra bullet in the scene. After we have cloned the Entity we want to enabled the bullet which means that the model component is enabled (it start’s rendering) and the rigidbody is enabled (it starts simulating/colliding).

To fire the bullet, we clone it, add it into the hierarchy and set it’s position to the location of the gun barrel entity. After we’ve enabled the bullet, we apply an impulse to kick it off in the direction of the turret.

Target Practice

PLAYHACK_boxes

Finally we’ve just added some boxes for target practice. The boxes are simply Entities with a dynamic rigidbody and a collision component. Don’t forget you try this project for yourself by running this pack.

PLAYHACK

PLAYHACK is our monthly game jam. We’ll give you a starting point and you have a month to build a game. The winner is featured on our frontpage and wins fame and glory everlasting!

Not started work on your PLAYHACK game yet? What are you waiting for go fork this project!

button