Blog

Gamers Should Embrace Nintendo’s Mobile Decision

Gamers Should Embrace Nintendo’s Mobile Decision

If you’re plugged into gaming news, you may have heard about Nintendo’s big announcement this past week: they’re officially tossing their hat into mobile gaming. It’s not entirely clear when we’ll see the first results of this new business venture—rumors show that the first app should arrive before the end of 2015—or what we can expect to see from said results. However, it’s an exciting bit of news from one of gaming’s oldest names, and it’s something that fans of the big N need to embrace. That sentiment was driven home in an editorial at Tech Times, where writer Timothy Torres smartly points out that Nintendo is simply looking to drive more attention to their primary products, the Wii U and 3DS. Torres said that the mobile games will serve as “commercials” for the console/handheld titles for which Nintendo is known, such as the much-loved Super Mario, Legend of Zelda, and Mario Kart franchises. To that end, why should anyone worry about having a mobile game based on one of those series? Simply put: they shouldn’t. That’s especially true considering that the president of Nintendo, Satoru Iwata, made the following statement to TIME upon his company’s announcement: “We have come to the stage where we can say that we will be able to develop and operate software which, in the end, will not hurt the value of Nintendo IP but, rather, will become an opportunity for the great number of people around the world who own smart devices—but do not have interest in dedicated video game hardware—to be interested in Nintendo IP and eventually to become fans of our dedicated game systems.” In other words, this is simply a way to bring more people to Nintendo’s bread and butter, also known as the aforementioned Wii U and 3DS. Now, if the apps end up being lackluster, it’s understandable that some people will be upset. But for the time being, let’s put some faith in the big N and see where this takes us. The Timing is Perfect This decision to branch out into other areas of gaming can only help, and not hurt, Nintendo and their status as one of the big three companies in gaming (the other two being Sony and Microsoft). This is particularly true in considering how the big N has struggled to sell units of its latest console, the Wii U, which finally saw some improvements sales-wise in the second-half of last year. As was written here, Mario Kart 8 played a huge role in that, as did the release of Super Smash Bros for Wii U, Bayonetta 2, and several other notable titles. Even so, Nintendo can get all the help they can get in terms of ramping up their revenue stream at this point. The gaming world does not need another SEGA—or, gulp, Atari—on its hands anytime soon. It’s also worth noting that Nintendo’s entry into mobile gaming could lead to the company embracing other aspects of the market. Namely, there is the rising real-money gaming niche that is expected to continue growing in the coming years. To that end, there’s really no reason for Nintendo to not get involved in some way, especially considering that other companies of its ilk have done so already. Marvel is one of the bigger names to...

Video games that prove iPhone and tables can be great platforms for interactive storytelling

Video games that prove iPhone and tables can be great platforms for interactive storytelling

Generally speaking, mobile games are considered casual affairs. Most of them are just meant to be time-killers, and only several feature meaningful storylines. “Angry Birds” and “Cut the Rope” for example, are not famous for their plot but rather for their tricky gameplay. If you’re crazy about puzzling stories and challenging narratives, the following iPhone and iPad games will exceed all your expectations. Device 6  The moment it was released, Device 6 managed to grab attention, and most fans of the genre were rather disappointed because the game didn’t last longer. Rather than have killer graphics, this mind-blowing iOS puzzler made use of clever and beautiful typography, as well as minimalistic art to tell the story of a woman who finds herself in a strange place at a strange time. Device 6 is amazing because it challenges and entices imagination. Players must solve puzzles that seem complicated at a first glimpse. In fact, they’re not impossible to decipher. Unless you have the most perfect memory, you’ll need a piece of paper and a pen to write down clues. Also, make sure you’re using high-quality headphones because many of the hints are hidden in the background. Broken Age Broken Age is a point-and-click adventure game for iPhones and tablets centered on two stories. In the first story, we have a rebellious girl who decides that she’s not willing to sacrifice herself to a devouring monster; the other story is centered on a spaceship-bound boy who doesn’t want to be a computer-controlled freak anymore. Players can choose which of these two stories they want to play; to keep things fresh, they can select both of them. In the beginning, players will be bewitched by the fairytale-inspired scenario of Broken Age. The beautifully-crafted narrative blends smoothly with the whimsical game’s general allure. As childish as it may look on the outside, this game has a darker side players will stumble upon as soon as they start playing it. The themes are surprisingly mature and grim, so it’s not really a kid’s game. Child of Light Another incredible video game released at the beginning of 2014 was “Child of Light”. The story does an excellent job at grabbing attention from the very beginning. Gamers play Aurora, a girl who finds herself lost in a mystifying universe called Lemuria. This dark, magical land terrifies Aurora, but as you start playing the game, you begin to understand that she holds the power to bring the kingdom back to life. The main protagonist is not just brave, but also tough and willing to face all her fears to get back home. The storyline is extremely complex. Aurora makes a few friends in the game, too; they will help her complete her quest and win important battles with the monsters. “Child of Light” has the most mysterious narrative. It constantly teases the player into believing that something bad will happen – in fact, that’s the secret ingredient to this game. Because it’s so puzzling and thrilling, it has the great power of appealing to the inner soul of the player. Year Walk Last but not least, we have “Year Walk”, which was probably one of the creepiest games released for iOS in 2014. Incredibly peculiar, yet puzzling and mystifying, the action of this game takes place in...

Walkthrough of making a Match-3 game map

Walkthrough of making a Match-3 game map

We’re making map art for a Match-3 game recently(working as art vendor). Thanks to the excessive kindness of our client, we are allowed to post some unreleased contents here, to share the walkthrough of making one map, under the condition that we don’t mention their company and the upcoming game name. The game is for mobile, and the map is the popular vertical scroll format. This map features a difficult path goes through the wilderness of Bavaria area. The art style is like this:   1.Concept stage: We get inspiration from photos of this area, and some concept art from Disney’s Frozen. The most prominent feature of this region is the beautiful Neuschwanstein Castle, frozen mountains, lakes. 2.Layout stage: Before drawing line art for the map, we need to block out the layout in a quick way. We piece up some photos, adding some rough painting. You can see the perspective doesn’t fit into the final map, it doesn’t matter. When you make the rough layout for your map, you can use all the drawing styles which are convenient to you. On this layout, we would mind the horizontal position of the path entrance and exit points(the client would specify it), because the path should connect seamlessly to the previous & next maps. And the length of the path should be carefully planned, to accommodate the level nodes on it. The client would tell you there are how many levels on this map, and give you the level icon to place on the map. We would try to place the icons on the layout, the interval between levels should feel comfortable, not to make the path too crammed.   You may note that this map is a bit longer than an iphone’s screen. The bottom and top portion is used for map transition. In finished art, we paint these areas too.   3.Line art stage:   Line art is the basis we use it to color the picture, work up to the production quality picture which we use in-game. The line art should fit to the perspective of the project definition, for example, the perspective of Jelly Splash map is almost flat side view, while Farm Hero Saga map uses a 45 degrees high angle.   Here is the picture we use to establish perspective, of course this fits to all the previous maps of the game. And at this stage, we should give everything well defined design. Actually we don’t make a single thing purely out of imagination, we always base the design on real world reference. And do some cartoonish exaggeration, to make the design fit to the style of the game. And it’s important to populate the scene with small things. For example, if the scene is an old Chinese street, we can put in flag posts, stools, snack booth, barrels, lanterns. They would make the picture rich and interesting. For this Bavaria map, the landscape is dominated by mountains and woods, it seems not much small items could be added. Anyway, we try to add small things, like this ax and fire wood. 4.Color design stage: This stage is to establish color & mood, not much to say, it takes around one day’s work.   5.Final painting stage:   The painting style of this map...

The secret behind Wii U game development

The secret behind Wii U game development

Gaming consoles are still among the most popular means of gaming among gaming enthusiasts, nowadays providing some serious competition to PC gaming. However, while two big names in the industry – Sony and Microsoft – have no trouble keeping up with PCs, another industry giant in the field of gaming consoles is having trouble keeping up with the rest of the consoles, and doesn’t ever dare dreaming of competing with PCs. Yes, unfortunately we’re talking about Nintendo, an iconic name in the field of gaming consoles. Not only did Nintendo failed to come up with a console that’s powerful enough to challenge the PlayStation 4 or the Xbox One, but on the software side the things are not too pretty either, with developers having a really hard time pushing out games for Nintendo’s latest creation – the Nintendo Wii U. So, what lead to this situation? Several factors, actually. Let’s take them one by one. It’s all about size The first and most important obstacle came from the creator of the console itself – Nintendo. Their vision was to create a console that’s too small and too quiet. Sure, innovation is always good, as long as huge performance sacrifices are not made for the sake of innovation. Sadly, that’s exactly what happened with the Nintendo Wii U: in the race to make the console small, quiet and basically barely noticeable, Nintendo sacrificed valuable hardware space and had to opt for less-powerful hardware for physical and heat considerations. As a result, the Nintendo Wii U comes with an under-powered processor. Development challenges As you can easily guess, the lack of a powerful enough processor is the first major challenge game developers have to face. An under-powered processor is a huge setback, especially in a time when games are expected to be playable in a high-definition format. Add the fact that Nintendo wanted to rely on its new touch-screen enabled controller as a unique control feature and you will understand that game developers were facing a very sensitive situation – developing high-quality content that will run on low-performance components. To make things even worse, the console came with only 2 gigabytes of DDR3 RAM memory; as a comparison, both the PlayStation 4 and the Xbox One come with 8GB of RAM. The cherry on top was the fact that the development kits provided by Nintendo are considerably more difficult to use than most SDKs out there, turning the developers’ jobs even harder than it already was. Graphics save the day While the processor and the RAM didn’t help the Wii U very much, the tiny console did have an ace up its sleeve – it came with a pretty powerful graphics processor. Since developers were already desperate, and willing to hang to everything that could save them, the over-powered GPU didn’t go unnoticed, and it essentially became the salvation piece. Essentially, developers optimized everything to the maximum, squeezing every bit of power they could from the processor; the trick, though, was that they tried to allot as much processing as possible to the GPU, which was powerful enough to handle some extra load. However, this trick significantly complicated the game development process by forcing the developers to find a perfect equilibrium between load balancing (which is already very complicated) and making...

iPhone 6 Plus – taking mobile gaming to another level

iPhone 6 Plus – taking mobile gaming to another level

Now that Apple has entered the “phablet” category with its iPhone 6 and 6 Plus, let’s see if the device qualifies to be a comprehensive gaming device. From a design point of view, we must admit that iPhone 6 Plus rocks. Who wouldn’t want to own a golden smartphone that’s sleek, smooth and incredibly stylish? As far as gaming is concerned, some experts agree that the 6 Plus is better than any other smartphone currently available in stores. It’s not because the screen is bigger, but because of the phone’s extended battery life, exquisite graphics and enhanced gaming speed. In spite of a killer design, what are under the hood matters morefor layers to enjoy a flawless gaming experience? The HD Retina display offers improved gaming The new iPhone 6 Plus prides itself with a bigger Retina display. Gamers will be able to admire high-resolution graphics, but they’ll also love that whole screen gives them more freedom. In specific games, the device offers more on-screen UI elements, thus allowing gamers to make in-game changes much easier. Because of the wider screen, your fingers won’t obscure important areas on the display throughout gameplay; thus, the games will be more enjoyable than on smaller iPhones. Size matters Playing games on previous iPhone versions was possible with one hand. On the iPhone 6 Plus, you need two. Most games will have you using both hands because the device is just too big. This is not a drawback, on the contrary; the experience is similar to playing games on handheld consoles like PlayStation Vita and Nintendo DS. In theory, games such ‘Desert Golfing’ and ‘Fruit Ninja’ can be played with one finger; in practice, you need two hands – one to hold the iPhone and another to swipe with your index finger. Why is the 6 Plus better at gaming than its predecessors? Because it’s large enough for players with big hands and “fat” fingers. Believe it or not, this is an issue. Better processors Both iPhone 6 and 6 Plus have improved processors with better graphics. The intriguing A8 processor doesn’t just speed up the in-game loop, it also makes the games look better. Apple is always trying to be one step ahead of its competitors, so they launched METAL, a tool kit for game developers meant to help them craft better-looking graphics. Recent versions of Modern Combat 5 and Asphalt 8 were just tweaked with METAL, and apparently the new improvements are quite noticeable. We must admit that iPhone 6 Plus is packed with killer graphics capabilities that might crush other handheld gaming devices. The overall gaming experience on the new device is greatly improved, so it’s safe to assume that Apple has even higher plans for upcoming iPhone versions. Are they planning on taking down gaming consoles for good? iPhone 6 Plus – an incredible gaming device iPhone 6 Plus could become a revolutionary gaming device. The 4.7 inch screen is perfect, not to mention that it feels great when held with two hands. Since the games are displayed on a larger screen, they look a lot better. On top of everything, Apple has really thought of everything when they improved the Plus 6’s battery life. Bigger screens are always better when you’re playing games, and that’s a fact we...

Best Android Games Available in the Google Play Store in 2014

Best Android Games Available in the Google Play Store in 2014

New games keep appearing in the Google Play Store every day, with a dizzying assortment. 2014 has been an interesting year for gaming. The popularity of games that are “free with in-app purchases” has been on the decline, but they’re still out there, along with paid and totally free games. Whether you prefer games that last a few minutes, or a four-hour marathon session, there are Android games that you’ll enjoy. Here are some of the best for 2014. Angry Birds Space After the stunning popularity of the original Angry Birds, the question was what the developers could do next. This space-based version is a worthy successor, with some imaginative twists. The birds and pigs are still there, but the physics of the game are different out in space. You need to consider gravity and orbits when deciding how to fire your birds at their targets, and the new levels offer some interesting challenges. Modern Combat 5: Blackout If you like the shoot-em-up type of game, then this latest installment of Gameloft’s Modern Combat is one for you to try. It’s all about men with guns roaming around and shooting each other, with nice 3D graphicsand incredible visuals. The mobile version carries on the theme from the home console games. This one is a paid game, with no in-app purchases – $6.99. Badland This unusual game has an indie feel to it, as you fly about a world that is dark, weird and more than a little spooky. You’re flying in a type of blob, which can grow or shrink, or break itself up into clones. You never know what’s waiting for you around the next corner in this quirky game. If you like surprises, then you’ll appreciate Badland because it’s full of them. Oh, and did we mention that it’s free? Threes! This math game is simple to learn (30 seconds at the most), yet remarkably absorbing. The concept is that you move numbers around on the screen so that you can create multiples of three. There have been plenty of clones created of this game, but the original is still the best, and the game is well worth the small price. Cut the Rope: Time Travel This physics-based game is one of the most popular game franchises in the Google Play Store, and this is the latest update in the series. Like the earlier games, players swing ropes around on colorful screens, but this updated edition adds a few new weapons and tricks. There are plenty of levels to keep you occupied for days. If you haven’t had a chance to download it yet, you should hurry up as Om Nom is dead hungry. QuizUp This clever game is a pub quiz which you can play with friends or random strangers. There are a massive number of categories available, so you’re not going to get bored, or stuck with only categories you don’t know. In addition, the game is constantly updated with new categories and questions to keep it fresh. A simple quiz round takes only a couple of minutes to play. There’s also an offline challenge mode, so you can play against an opponent asynchronously. Should we expect more amazing games to appear in the Google Play Store this year? Definitely! But until then, the ones...

Tiny Troopers now available for PS Vita

Tiny Troopers now available for PS Vita

The popular Tiny Troopers mobile games are have been developed for PlayStation 4, PlayStation 3 and Vita, and are available to purchase on the digital stores. Tiny Troopers: Joint Ops will combine the original Tiny Troopers and Tiny Troopers 2: Special Ops into one game that uses dual analog sticks for control. Both games are currently available on iOS and Android devices. The goal of each Tiny Troopers game is to lead soldiers in to battle – and their inevitable deaths – as they kill rival soldiers, destroy their strongholds, and save hostages. Downloads of the combined two games exceed 8 million. The game has been developed by Plunge Interactive and published by Wired...

Getting Started with SOOMLA’s cocos2dx-store

Soomla is very cool for multi-platform store easy integration… This new video tutorial made by the Soomla team they demonstrate, in a little less than 10 minutes, how to get started with cocos2dx-store. The video will show you how to: Integrate and setup cocos2dx-store Download the cocos2dx-store-example called Muffin Rush Run the example app on an Android device (in the video at 6:05) Run the example app on an iOS device (in the video at 8:39) SOOMLA’s cocos2dx-store Getting Started video tutorial   Learn more in Soomla’s Knowledge...

Latest tools to design 2D games: What’s trending in?

Latest tools to design 2D games: What’s trending in?

Mobile game development is one of the industries that are undergoing a long streak of changes, especially if we’re talking about 2D games. Despite the fact that smartphones are becoming more powerful by the day, and 3D games are starting to become more popular, a lot of people prefer to stick to 2D games. Be that as it may, their expectations from these games are getting higher, so developers are on a constant quest to find new tools and techniques to make 2D games attractive. If you’re a game developer looking for great tools to help you design that perfect game, you’re just in the right place. 1. Unity You can’t talk about mobile game development without mentioning Unity – one of the most popular game engines of the moment. Initially Unity was mainly focused on 3D gaming, so only 3D-oriented developers could take advantage of what this powerful engine had to offer. However, things changed with the apparition of Uni2D – the 2D-oriented version of Unity. Uni2D brings the best of Unity to 2D game developers, giving them easy access to features like realistic physics, multiple rendering modes (Mesh or Grid), support for sprites and skeletal animations and many other options that will make any 2D game look absolutely stunning. With Uni2D, creating the next-gen 2D games is as easier as it gets. Say goodbye to dull 2D games with choppy graphics and a boring gameplay. 2. Construct 2 Construct 2 is a great tool for 2D development because it’s simple and to the point, with no unnecessary elements or complex options to get into the way. The aim of Construct 2 is to offer aspiring developers a quick and intuitive way to create simple 2D games without the hassle of writing countless lines of code. Construct 2 is object oriented, so the development process is very straightforward: you drag and drop the game elements into the workspace, define their behavior, create the events and voila – your game is ready. Even though the overall simplicity of the platform may not be exactly what perfectionist game developers are looking for, as it doesn’t allow a very high level of customization, it can be the perfect tool to use to create a quick game prototype that can serve as a good start point for the final game. One of the highlight features of Construct 2 is its ability to export a project for a large variety of platforms; since the whole suite is HTML5 based, support for most modern browsers is present by default, but games can easily be exported for Android, iOS, PC, Mac or Linux as well. 3. Game Maker Studio Game Maker Studio is a great tool to use when designing 2D games because it successfully combines the best of both worlds: an intuitive graphical interface-drive development mode targeted at newbie developers, and a powerful scripting-based development mode for experienced developers. The platform comes with its own scripting language – Game Maker Language (GML), which is basically a blend of C, C++ and JavaScript. Using GML, a skilled developer can tweak even the tiniest details of a game, pushing it to perfection. Game Maker Studio is also platform-friendly, being able to export the projects as Android or iOS apps, Windows executables or HTML5 code for running...

Top 10 premium Android strategy game titles

Top 10 premium Android strategy game titles

Strategy games for Android are meant for deep thinkers because they demand forethought and careful planning in order to win. Some gamers don’t have what it takes to think ahead and come up with the best strategy to defeat an enemy. For those who can actually appreciate the art behind such incredible gaming experiences, here’s a list of 10 best premium games for your Android device. AUTUMN DYNASTY It’s not that easy to find an entertaining RTS (real-time strategy) game on Android. Although there are some pretty good ones available, only some are worth downloading. Autumn Dynasty highlights an adventurous portal to a fictional reality where players must fight for their freedom by winning battles. It’s certainly the kind of strategy game you want to have on your Android device.     LANDGRABBERS Created by Nevosoft, in this strategy game for Android players are brilliant military leaders who must conquer the world. Gather your troops and lead them through knights, enemies, castles and battles to complete your crusade. Use in-game upgrades to boost the size of your troops and challenge yourself to complete all 36 levels. Landgrabbers is addictive, fun and incredibly well-made; it’s a must-have on your Android device.     PLAGUE INC Developed by Ndemic Creations, Plague Inc. is a strategic Android game that features an incredibly realistic gameplay. Players must create a virus and destroy the world. It’s not exactly the type of game you’d want kids to play. Upgrade your abilities, disease transmission and symptoms by earning DNA points. There are 7 different diseases available and each one has different strategies you need to use to master.       HILLS OF GLORY HD Developed by AMA Ltd., Hills of Glory 3D is a fabulous tower defense game wherein players must defend their bunkers against a large crowd of enemies with WW2 military arsenals. Block enemies by annihilating their tactical points, and collect rewards by proving that your strategy is the best. Featuring stunning 3D visuals and graphics, and multi-touch experiences, Hills of Glory HD will exceed all your expectations. ENEMY LINES Developed by Kiwi Inc., Enemy Lines is all about fighting with other players in an attempt to win battles with the help of your troops. You may have to upgrade as the battlefield is cutthroat. Take part in the most intense battles, complete weekly tournaments, strike back, and stay alive behind enemy lines.   KINGDOMS AND LORDS This beautifully-designed strategy game by Gameloft is one of the most engaging in the Google Play Store. Players will have to construct their own village and prepare their army for combat. Protect your kingdom by upgrading weapons and buildings, and use sneaky strategies to steal resources from your rivals. Battle with your closest friends and prove them that you own the toughest army.     DEVIL’S ATTORNEY This strategic law game is centered on a main character, Max McMann, a lawyer in the 70s. With charm and logics, he dismantles all kinds of lawsuits against notorious characters. Featuring a playful, cartoony style, Devil’s Attorney highlights amazing visuals and incredibly smart clues that you can use to your advantage.     STAR COMMAND Featuring retro-pixel art style, Star Command is exactly what you need if you’re into single-player, light-hearted gaming experiences on Android. Players are in charge...

We are hiring a senior QA Engineer

Plunge Interactive is expanding and we are hiring a full time senior QA Engineer. Responsibilities Execute test plans for functionality and device compatibility of mobile games Execute test routines for integration, system, load and performance testing Verify and communicate performance results on multiple environments and platforms Properly catalogue priority and severity of issues found during the QA testing process Generate written reports that detail the findings, help to diagnose issues discovered during QA testing Qualifications 2+ years experience in QA environment, testing across multiple mobile platforms including iOS and Android Versatile and flexible in working in a fast, paced environment Team player with strong analytical, problem-solving and interpersonal skills Strong written and verbal communication skills Experienced with using various bug tracking systems and test case management programs Detail-oriented and deadline driven Must have working knowledge of MS Office and Gmail   To apply, please send your CV to jobs@plungeinteractive.com, please write QA015 in the subject as a reference....

We are hiring game programmers!

We are hiring game programmers!

Plunge Interactive is a fast growing game development company. We work on all major platforms such as iOS, Android, Windows Phone, PC/MAC, PS4, PS3, PSVita, Smart TV and more… If you are looking for technical challenges and you like our company culture don’t hesitate to apply...

Meet Plunge Interactive in Gamelab Barcelona 2014

Meet Plunge Interactive in Gamelab Barcelona 2014

Gamelab is the most important game development congress in Spain, and it’s being celebrated in Barceona (Catalonia). As it is usual, Plunge Interactive will attend this trade show. If you wish to meet a team that can help you to develop or port games, contact us now and book a meeting with us! Also, if you want more information about Gamelab you can visit the official website. Additionally, don’t miss the opportunity to visit the beautiful city of Barcelona during your stay for...

MVC in Game Development

  So you already have an idea for a new game? Great! But be sure to read this before you start coding away. When you have a new game in mind, you decide on the main aspects of your game such as the game theory, the audience you’re aiming for, the design, and more. Once all of that is set you can, and should(!), think about your game’s code architecture. You need a way to maintain your code, be able to easily add more features, and have the option of making changes in a fast and easy way. A great way to do this is to use the MVC architecture pattern. What is MVC? MVC stands for Model View Controller. If you don’t know what MVC is or you want to learn more about it, check out this video. MVC is one of the most notable code architecture patterns available today. It has been around for a long time now, and is used by many applications. MVC describes how to organize your code in such a way that is easy to maintain, and helps in improving code readability. The Problem that MVC Solves Without structure, your code can get messy very easily and look like “spaghetti code”. To avoid this, developers should separate the game logic from the display code. If this step in development is skipped, you will find that once your game becomes more complicated you’ll have a hard time updating your code. Tangled code will cause bug-finding to be more difficult, adding new features will become exhausting, and changing existing features will be almost impossible. Not persuaded yet that MVC is the answer to all your problems? The Pros of MVC: If you use MVC, when you’ll want to add a new feature to your game, your code will be modular and organized. All you’ll have to do is create another controller, model, or view, depending on the requirements of your new feature. Then you’ll easily integrate it with your existing code. With MVC, your code will be adjustable like never before! For example, if you’re dying to change your game’s look-and-feel, you’ll be able to easily update its View. If you want to change the behavior of a button in your game, all you’ll need to do is update one of the controllers. If you use MVC, you won’t need to write a ton of code because of the way the code is organized. MVC will cause your code to be both more readable and easier to write. The (very few) Cons of MVC: Ok, so nothing is ever perfect in this world, and neither is MVC. MVC requires a bit of thinking and organizing beforehand. This means you’ll spend a little time, before you actually start to code, on planning the structure of your app. If you decide not to use MVC, it is probably because of either of two reasons: Your game might be very straightforward, with a small amount of code, and then you don’t really have any use in design patterns. This second option is because you made a mistake when you began coding – you didn’t realize how MVC can help you. Later, you’ll be cursing yourself as to why you didn’t start with  MVC in the first place. To conclude, we can say...

How to prepare production requests for the art team

Recently we have got lots of art production requests for bubble popping games, as this genre is quite popular these days. Those clients come from everywhere, US, China, and they’re companies are of all sizes. They often require us to make the full art assets of the game, from scratch to finished. To start, the client would give us documents to state their need. Some clients give us everything they have, all the GDDs, graph of game flow, reference pictures, that we have spent couple of days to figure out what art assets are needed; While some clients would ask us: what documents should we prepare for you, that you can make a quote? Hi, my bubble popping game developer friends, no matter you use internal art team or contractors to make the art works, you need to make the same document for them. In fact the contents of the document is not that complicated, please read on, I have gathered all the points you should include, here they are:   Part I: Art definition   The story and theme. For example, the theme would be underwater world, zombie city, or fairy tales? And what are the characters, how should the bubbles be shot? Here are some ideas:   What is the general art style and quality? You can find some samples on the web, for example: (Bubble Island by Wooga)   The game is for what platforms? PC, ipad? This decides the pixel size of all the graphics you’re going to make.   Part II: Game design   Game play mode: single player or multiple players that you need a split screen?   The design and variation of bubbles: Every bubble popping game features an unique bubble design, you may provide the idea and direction for bubble design. The basic variation is different colors for the bubbles, and there is a higher degree of variation, bubble types. See this example, we have basic bubbles, skull bubbles, spiked bubbles, etc.   Boost items: Something like a power ball that you can blow up bubbles in a small area,  or remove a whole row of bubbles.   Icons: Generally for shop items, boost items, and virtual currencies.   A statistic of all the animation sequences: Character animations for the bubble shooter: aim, idle, shoot, victory, etc; Bubble related animations; Boost item usage effects; You need to list all the animations that come in the form of image sequences. You may not ask the art team to do FX effects which are generated by the engine.   Part III: Element list for all the screens and windows This part requires painstaking work. You should go through all the screens and windows in the game, list every Logo, button, check box, that the art works made by the artists could be functionable in the game. The fruit of this step can be useful not only to the art team, but to the dev team also. Here I gave two examples of how to list these things per screen/window:   Sample 1: Loading screen Elements needed: Logo:  Bubble XXX ! Background picture, with the protagonists; Loading bar: would run from 0% to 100% Here is a visual example I find on the web, but you don’t need to give this to the art team, these days...

We are hiring full time Cocos2d-x programmers

Plunge Interactive has been growing rapidly this last year. Our latest great success has been Make It Rain: The Love of Money, that reached #1 in the US App Store (Overall) this month. We are now in a position where we need to grow our team, composed by 15 talented engineers. We want to expand our horizons with national but also international talent, so don’t hesitate to apply for this job wherever your location is, as soon as you have the required skills, experience, and availability to travel, live and work in Lleida, Spain. About Plunge Interactive Plunge Interactive was born in Feb. 2011, we were a small team of 1 person. Since then we have been growing rapidly and reached the size of 15 people. We do games for a lot of platforms including: iOS, Android, Windows Phone, PC/MAC, PS Vita, PS4, PS3 and more. We work with clients from all over the world -so speaking English is necessary-. This year we plan to make big things and need the best talent on our side. About the city of Lleida The city of Lleida has a population of about 150.000 people, and the region reaches 250.000 people. It has a University called “UDL“. It is one of the oldest towns in Catalonia, so its historic heritage is still present nowadays, with imposing medieval buildings such as the “Seu Vella“. The region of Lleida is very mountainous at the north, so it’s a great place to practice active tourism such as Trekking, rafting, climbing, aerial sports, and of course skying on winter. In the south, at less than 1 hour driving you have the “Costa Daurada“, with it’s fabulous beaches. The open position We are hiring experienced Cocos2d-x programmers to join our team full time in permanent position in our office in Lleida. University Degree in Computer Science, Videogames, Telecommunications or related fields. Very good knowledge of object-oriented programming in C++ At least 1 year experience in Cocos2d-x development. Passion for games development, mobile and social games. Experience with native Android SDK application development is a plus. Knowledge of other technologies such as Cocos2d or Unity3D a plus. Knowlege of OpenGL ES a plus. We offer: Plunge Interactive is a healthy and steadily growing company with flat hierarchies and new and exciting challenges Trade fair visits, free reference books, English language classes, etc. If you are new to Spain, we will assist you with the relocation process: temporary accommodation, moving from abroad, VISA, etc. Game development for iOS, Android, Windows Phone, PC/MAC, PS Vita, PS4 and PS3 mobile and console devices. How to apply Send us your CV, Portfolio, samples, cover letter and whatever you find important in order to surprise us and demonstrate your talent to our dedicated email address for hiring purposes:...

How to position the camera for isometric assets

Last time after I’ve posted the article about how to prepare isometric assets, a friend asked me on twitter: Then how to position the camera in the right place? For the text space on twitter is small, I can only answer him: It’s simple trigonometric calculation, draw and you will find out. Now I feel that I should give more details here. The question is: If you have worked out the isometric grid for your game, for example like the image below: The value of ∠A is worked out by you, then how to position the camera in the 3D scene, that the resulting render would be in this exact grid setting? Precise solution: For the uniform grid setup of these two examples, First you need to position the camera in the south east,on ground level, here is how it looks from the top view. This example is made in Maya, I think in Max it’s the same. The distance of the camera to the World Origin, we call it value “m”. The actual value of “m” is specified by you, that you make sure it’s big enough that the camera may not clip the building. So in a Y-up coordination system, the position value of the camera: Now let’s go for the height value Y. Seen from the top, the unit grid line is essentially a perfect square, after the isometric projection, it becomes a rhombus. Like below. The value of ∠A is determined by the height of the camera, and vise visa: This is really simple trigonometric calculation, so I don’t post the detail of how to get it, you can use it straight forward. So, the position of the camera: You don’t need to worry about the rotation angle of the camera. After set this position value correct, just snap the camera target to the World Origin. For a perfect uniform isometric setting like this: The position of the camera: You can specify any value for the XYZ, as long as the camera has some distance from the building. Not so precise solution: If I need perfect uniform isometric setting, I would set the values following the above formula. But in 90% of the cases, I don’t do the lousy calculation, instead, I would use a solution which is not that precise, but it works. First, like the picture below, draw the grid line you need for your game, and make it a square image, put the center of the rhombus at the center of the image. Then create a camera, map this image to the background of the camera (It’s called Image Panel in Maya). Now create a square mesh in maya, let it big enough, think about that you would place a building on top of it later, and its area should contain the base of the building. For example, 30 meters in length for each edge. It looks like this: At ground level, place the camera like this. Snap the camera target to the World Origin. And Now raise the camera along the height axis (Y by default), use this tool , not this one .(That the camera target stays at the World Origin) and observe the camera view. When the square mesh matches the line direction of of your background image, it’s done! And if your grid setting is non...

How to prepare isometric assets for your games

We know isometric graphics have wide application in various types of games, that in these years, our studio have made lots of them for our clients. And in the making, 3D+2D method is prevalent, that is, to model and render the buildings and objects in 3D, then add some 2D retouch or overpainting to get the final assets. Here I have a few points about this particular production method to share. Meanwhile our studio does make isometric by pure 2D approach, no whatever 3D elements is involved. I think we may discuss that the other time. Two things to decide before start: The art style and quality Take a look of these popular games. This first sample looks cute and very 3D, and in the production line, the 2D work is employed only to fix small errors, and do some betterment. The second one also has very good 3D render work, delicate shading&lighting. And it has finer 2D retouch. And the third sample feels very hand painted. Only that the structure and perspective is very precise, that we may know in fact it’s painted based on 3D models. For the final output relies heavily on the 2D work, the 3D render don’t have to be very fine. So your project definition of art style and quality determines how much 3D and 2D work should be done respectively. Grid setup Here are some typical grid setup. In A & B, the unit length of two grid directions are equal, but their camera height are different. In C, both the angle and length of the two edges are different. For games like Clash of Clans, there’s lots of fight going on, you don’t want the buildings block the eyesight, so the camera is high; While in Pearl’s peril, the map shows your quiet estate instead of a busy battle field, you want to see more of the elegance and beauty, so the camera is lower. If you’re pursuing the visual illusion like that in Monument Valley and Diablo II, Type A is the best. The unit length of 3 axis are all equal, in this setup boxes at different depth of field can overlap and connect perfectly. Setup the 3D render: Typically, every building is rendered separately, for both static maps or build-up maps. You can setup a rendering template file, that you can render all the buildings with the same camera and light settings. Put a box in the scene, don’t make it very small, otherwise the sampling would go wrong for some light and shadows effects. For example, we make each edge 30 meters in length. And put a camera in the scene, check its “Orthographic” box. In both Max and Maya, there is such setting. Which essentially gives you parallel perspective with no vanishing points. If you do want some slight perspective, don’t check this box. Instead, use a large focal length value, for example something larger than 200mm. Then set the position and angle of the camera, let the box lie in the desirable grid direction(I think it’s simple trigonometric calculation), and let it occupy a good portion of the picture. Hit render, and see if the picture is right. Here is the render of the box of Type A setup. Ok, when you get the right camera setting, don’t...

Must attend free webminar: The design consequences of free or paid games

This is a free webminar offered by Oscar Clark (Everyplay), you can register free here. Free or Paid – you Decide! Making games is a question of passion. The passion you have for your design concept and the passion your players have to enjoy it. There are some big questions which as designers we have to answer and how we engage our players matters. Choosing between Free and Paid is never easy and both have consequences and both have an impact on your design decisions. Neither choice should be take lightly. In this Webinar, Oscar Clark, Everyplay Evangelist and author of “Games As A Service: How Free To Play Design Can Make Better Games” will explore the issues and consequences of our decisions to monetise our games. He will argue that monetisation needs to become a design decision and to deliver on that we have to first be clear what our objectives really are. Deciding whether to go Free or Paid will not only affect our appproach to design, development, marketing and post release operations. Just as going Free is no guarentee of success; choosing Paid isn’t a guarentee either. Join This Webinar To Learn The importance of Vision The Shadows of Monetisation Reasons To Go Paid or Free Delivering Value To Players NOTE: If you are interested in the recording and the presentation slides, but can’t make the live webinar event, please use the new ‘Recordings Only’...

A new indie community has born in Lleida

A new Indie Game Developers community has born in Lleida city (home of Plunge Interactive). It is called Apps & Games Lleida and has been founded (among other people) by Jesus Bosch, the CEO of Plunge Interactive. The idea is that a group of indie developers of the region meet up at least once per month and discuss about different topics. Some previous topics have been: How to develop an endless runner PS Vita game development First steps with Unity 3D And more to come… The final objective is to make grow an indie community in the region, bring new ideas and generate networking and employment opportunities. More info can be found in the official website: http://appsandgameslleida.wordpress.com/...

Rising from the Dead – These Cheats Will Rock Your PvZ World!

Plants vs Zombies is undoubtedly one of the most popular mobile games in recent years. It has attracted players of various ages and continues to be one of the more well-known games at present. However, some players just aren’t that good in playing it. There are those who want to go further into the game but continue getting frustrated by it. Fortunately, there are useful Plants vs Zombies cheats to deal with all the frustrations of failing to get through the game. Some of the most useful and interesting ones are detailed below:   Limitless Money For this cheat, you need to have the Zen Garden. Water the plants and change your system date (the date on your mobile device) to an earlier date. After doing this, the plants will need additional watering. You will be speeding their growth up so you can earn money with them more quickly. Do this again and again to make more money. This date modification cheat is quite common among mobile games and thankfully, the makers of Plants vs Zombies didn’t try preventing it.   Switching Locked Seeds If you are frustrated with the cards Crazy Dave provides, you can do a quick switch. The procedure is very simple. You just have to restart the game. To do this, of course, you have to exit the game and run it again. Doing so will change all your three cards into a new set.   Beating the Game or Making It More Fun with Cheat Codes As you play Plants vs Zombies, you have the option to key in various codes to enable functions that can make the game easier for you. Take note, however, that some codes require your Tree of Wisdom to reach a particular height.   Here are the codes and their respective results: Code           Effect daisies          enables the appearance of daisies upon the death of zombies dance            makes zombies dance future            makes zombies wear sunglasses mustache     transforms regular zombies into mustachioed undead adversaries pinata           enables candy raining when zombies die slowbroke   causes zombies to move move and walk slowly sukhbir        turns on sound for zombie call for brains trickedout   brings out the Alternate Lawn Mower   Obviously, you will not have significant benefits from using all these codes although they can make the game more enjoyable. The most important ones worth remembering are slowbroke and tricked out.   Speeding Up Plant Growth This is similar to the first cheat mentioned above. However, instead of changing the date, you may change the time. Normally, plants will require another round of watering and fertilizer application after 30 minutes. You can get past this time restriction by disabling the full screen mode and changing your device’s system time to an earlier time.   Passive Playing You don’t always have to be in front of the game to continue playing it. You can keep Plants vs Zombies running in the background. This is particularly useful when you just want to continue earning with your Zen Garden. To do this, you have to select Zen Garden so it shows on the game’s screen. You...

The Most Engaging Music Games for Music Enthusiasts

Music nowadays is something you can conveniently enjoy as smartphones, portable media players, and other mobile devices can carry all the songs you like and even connect to the Internet to obtain more music. And if listening to songs is not enough, you also have the option to play music-themed games using your smartphone or tablet.   Interested in playing great music games? Consider the following excellent options below:   1) Cytus This music mobile game from Rayark Inc. offers an exciting musical gaming experience. It features a futuristic story wherein sentient beings have already become extinct and robots are the only ones capable of having emotions. To keep these emotions or the ability to feel in the robots, a player has to convert emotions to music and store these emotions in a system called Cytus. The player needs to follow along the active scan line in the game and tap on the notes shown.   Cytus features 94 songs from various genres with 188 variations. It also has an intuitive interface, a variety of display modes, and different levels of difficulty and challenges. For some players, however, the game may not be that attractive given the noticeably large size (400 MB). Downloading and installing it could take some time and a considerable amount of space.   2) SongPop Who doesn’t like some trivia in their free time? Music enthusiasts, in particular, would be very enthusiastic answering questions about songs and artists. Song Pop Game is a casual song guessing game that features thousands of song clips from a multitude of artists from a wide range of genres. The songs are from contemporary hits to classics, from country to hip hop. New music are added to the collections every week so you will feel that you are always “in tune” with the times. SongPop is also a social game as it facilitates games between friends or other music fans.   3) 4 Pics 1 Song A visual guessing game for music lovers, 4 Pics 1 Song is certainly one addictive game. This highly popular game has been downloaded and played by millions of mobile gamers. It is low on system requirements but is high on the fun and gratification. The goal in the game is to guess the song title hinted by the four pictures displayed in each level. Coins will be accumulated as songs are guessed. These coins can be used to reveal letters if you encounter difficulties guessing the right song.   4) Icon Pop Song Interested in challenging your pop music memory skills? Icon Pop Song is one game you should try. It features clips of acoustic versions of many of the popular and iconic songs from the past and the present. This s a simple guessing game you can enjoy on your own or with your friends during get-togethers. It comes with the options to skip clips and get hints. Additionally, it has social networking considered with the inclusion of the ability to share your game on Facebook. You can also get help from friends on Facebook if you encounter difficult tracks.   5) Song Quiz: Guess Radio Music Yes, this game’s name does not sound exciting but it does not mean it does not offer any excitement. The very concept of the game itself...

Learn how to use Flash animations you already have for game development

This show video illustrates how is this achieved thanks to the Generic Animation Format tool.

Confessions of an Online Gamer – Why Cheating is Irresistible

My name is Marc S. and I’m a video game cheat. Sounds like something one would say in a Video Game Cheaters Anonymous meeting, but it’s true. I do play games the normal way. But if I’m stuck, or if I just want to improve the gameplay, I have no qualms about typing in a cheat code.   I hope you don’t feel aghast with my revelation. Cheating in video games is no biggie, if done responsibly and ethically. To prove my point, let me present to you the joys I get out of cheating in video games: Cheating gets you to the good parts—the end cutscence A lot of people just don’t have the time to play out every level. Games can take countless hours to complete. This can be a drag, especially when you’re stuck in a level and you just want to know how the story ends. Well, cheats work especially well in these situations. Why bother with all the hard work? You can go straight to the cutscenes and witness Mario finally save Princess Toadstool. Cheating lets you brag to friends and family When you cheat you gain access to more coins, lives, weapons, and just about everything the game offers. If you have these things you can then brag about it in social media sites. Let your friends know your current level, high-score, weapons or in-game currency and watch them drool. Just a ‘little bit’ of cheating will improve gameplay There are games that have glitches considered to be cheats. An example is Subway Surfers (which was voted Best Runner Game of 2013 by the way). In this game, you can unlock different characters and boards just by adjusting your device’s time settings. This interference of the settings does not really give you that much of an advantage; that’s why I consider it as cheating just ‘a little bit’. You will find that, by doing this, the gameplay improves without giving you too much of an advantage. Omnipotence is truly seductive God Mode is a type of cheat that renders your character or avatar invulnerable. You literally won’t die. Another variation is when a cheat grants you unlimited lives—you still die but you respawn or regenerate all the time. This cheat gives you a feeling of invincibility, and it can become quite a trip. Try it out and see what I mean. I bet everyone has fantasies of omnipotence. And online cheats are the best way to live out this fantasy. Untold riches and fortune is as easy as typing a code Money, money, money! Or coins, coins, coins! Yes, all these can be yours—if you cheat. You can still grow your game character rich without cheats, but it just takes a lot of time. When you’re impatient about growing your finances, the best way to go about this is to download a cheat code. In the gaming world, instant millionaires are a dime a dozen. So don’t be left out. You get freebies, hidden characters and weapons, and access to Easter Eggs when you cheat   Online games are made more exciting because of ‘hidden’ stuff that you need to find to improve gameplay. These can take the form of freebies, hidden characters, powerful weapons and accessories, and Easter Eggs. Unfortunately, these hidden...

Mobile World Congress Barcelona 2014 – Things to do in the city

At the end of the month is coming MWC14, where Plunge Interactive will have its presence as usual. The trade show is the most important in the world of the mobile industry, so everyone is coming! As a catalan company, some clients, colleagues and friends are asking us what to do those days in Barcelona, where to go, what to eat, etc. We have received many times the same question, so since we are always very happy to help, we have prepared a selection of cool things to do (in our opinion) during your stay in Barcelona when you leave the show. 1 Columbus monument The columbus monument is an old construction at one extreme of the famous “Rambla de Barcelona” in front of the Mediterranean Sea. What is cool about it, and many people don’t know about, is that you can go to the top by an elevator. But the excitement are not only the scenic views, but also the vibrations and instability that you will feel at the top. Not recomendable if you are afraid of the heights.     2 Fairy forest (“Bosc de les Fades”) This place is very close to the Columbus monument, behind the Wax museum in the “Ramblas”. It’s just a bar, but with an impressive decoration that evokes a magical forest. The place uses to be very crowded… you will be lucky if you find a place to seat, but it worths trying it, or at least just walk around, because the place is beautiful. A recommendation: don’t disturb the Elfs…   3 Eat real delicious and cheap tapas! You can’t say you’ve been in Barcelona if you don’t eat good tapas. This is a basque style tapas that I would describe as: creative kitchen, delicious and economic! You can find it very close to the “Estació de Sants”, one of the main train stations of Barcelona, well connected to the Metro. You can find it here.     Those are just a few places… there are many more, just google for: Aquarium Barcelona (you can swim with sharks, but need to book!) Modernism architecture in Barcelona Liceu Theater CosmoCaixa museum (it has its own jungle with free animals, fish and plants!)   That’s all! we hope you enjoy Barcelona as much as we...

7 Undemanding Games that Can Also Be VERY ADDICTIVE

Casual gaming is nothing new. You can find many games on iOS, Android, and Windows devices that don’t require any commitment. These games can be played whenever you feel like playing them. You can stop playing them also when you feel like not wanting to play them, without having to worry that the achievements you have accumulated would be affected or rescinded because you are not frequently playing the game. These games usually have the following features: Level-by-level playing Very simple gameplay Intuitive controls that can be learned in a matter of minutes or even seconds No complicated rules or storylines to remember The ability to quickly move to the final stage. Some good examples of these casual games that are nonetheless capable of hooking players are the following:   1. Bejeweled and other Similar Games The concept behind Bejeweled is nothing new or revolutionary. Yes, it comes with some marginal differences but it is still a puzzle game that requires a player to move elements around to come up with jewel combinations to gain scores. The game does not require a lot of thinking or time to learn how to play it. However, once you start moving your fingers through the game, the addiction kicks in and you will likely not realize how you have already spent hours trying to clear one level after another.   2. What the Doodle This game won 2009’s Android Developer Challenge and has easily attracted a good number of players since its introduction. Similar to Pictionary, What the Doodle is a multiplayer, real-time game wherein player take turns to draw objects to represent words for others to guess. You don’t have to be good at drawing to play and do well with it. As long as you have adequate visual perceptiveness, this game should easily hook you.   3. 4 Pics 1 Word and Other Similar Games As the name implies, this puzzle game is about guessing words based on a set of 4 pictures. It is a straightforward and simple game that offers a multitude of levels. The pictures can be misleading so you likely become challenged and excited to try the next levels and find out how you would fare. You can find other games of this type such as 4 pics 1 Song, 4 Shadows 1 Word, and 4 Pics 1 Movie.   4. Coin Dozer Based on the real coin pushing game you can find in arcades, Coin Dozer is another simple game that does not require a lot of time to learn and enjoy. You can stop playing it whenever you want although you will likely have to deal with some time of getting obsessed with the game. If you encounter difficulties, there are simple cheats you can use. Learn more here about the cheats and tricks you can do with Coin Dozer.   5. Flow Free This extremely simple puzzle game is about filling a grid with lines of varying colors. It offers hundreds of levels to play with the first levels coming with small grids and advancing to bigger, more complicated ones. Being a logic game, it certainly makes for a good brain exercise. This is the kind of game that you think you want to play to pass time without realizing that you have...

7 Flying Games that Will Blast You Off to Thrill and Excitement

Flying games have been around since the start of the console gaming popularity. They are as well-known as the shooter and arcade fighting games. Arguably, they helped define gaming during the days of consoles.   If you want some nostalgia and the vibe of modern gaming technology, you should try the following mobile games:   1. Absolute RC Plane Sim Available in free and premium versions, this flight simulation game provides the feel of flying an actual remote-controlled toy plane. The controls are intuitive and the camera angles change. You should be able to get a grasp of how to play it in a matter of minutes. Naturally, you will not be sharing the view or perspective of the plane. Instead, you will be seeing the toy plane fly from the sides or from the back. The game features four modes  and three flying fields. Enjoy the above average graphics (well enjoyable enough) and physics of the game as you go through different levels of difficulty.   2. Tiny Wings Online Tiny Wings Online is a web-based game that is somehow dubitable as a flying game. The characters you will be playing in the game are supposed to fly but their wings are just too small for them to take full flight. Hence, they need to rely on their  jumping and running skills as they move along hills. This game is mostly controlled by well-timed clicks. There are two game modes: Day Trip and Flight School. You can also play as the mama bird or as one of the offsprings that need guidance. If you want to play Tiny Wings on your mobile device, there is a version for iOS available. Playing mechanics are similar – you just have to tap on the screen to control the birds.   3. X-Plane 9 X-Plane 9 is distinctive in offering realistic graphics. It is arguably one of the best flying games on mobile, particularly on the Android platform. It is a free game so there should be no reason not to try it. It comes with in-app purchasing options (of course!) for monetization. The game offers stunning, realistic graphics complemented by the great sceneries. You can buy more sceneries if you like. There are 10 types of aircraft you can use in the game but you can get 43 more through in-app purchase. Moreover, you can fly at different times of the day (dawn, day, dusk, or night) and experience flying through different weather conditions.   4. Control Tower Control is a rather cartoony Android game with very simple graphics. You can compare it to one of those online Flash games you can find in various websites. Nevertheless, it offers enough excitement to be worth trying. It can even be highly addictive. The goal in the game is to guide aircraft to their landing zones safely. The player has to make sure that planes don’t collide. Strategizing and quick decisive thinking will be necessary to properly manage aircraft movement and landing. There are 6 type of airplanes and helicopters in the game. There is also a record of high scores online to bring out the competitive spirit among players.   5. Air Control If you want something simple and addictive, Air Control is the flying game to try. With it, you...

Making PS VITA games with MonoGame and XNA

As Arturo Adasme Vasquez used to say: “The smart man learns from his own mistakes, the wise learn from the mistakes of others” So, after my first experiences in this area, It’s the time to write a little tutorial. To share my knowledge and avoid that others make the same mistakes that I did. Step 0 – Configuration. The first thing you have to do it’s prepare your development environment. So, you need… Know where it is your XNA Game folder (obviously) Download the PSM Studio from PlayStation Development Portal Download the MonoGame Source from Github   Note: to download the PSM Studio you need an account. If you don’t have it, create a new one.   To deploy your Game, you also need… PS Vita device (commercial device, no special DevKit is necessary)  Buy an USB cable for PS Vita PlayStation Vita USB Cable PSM Publisher License (free)   Step 1 – Create a New Project. There are no MonoGame templates in PsmStudio. So you have to create an empty project. Open up PsmStudio, click “Start New Solution”, expand out the C# option, choose “PlayStation Mobile” and then “PlayStation Mobile Empty Project” Now, add all CS files from your old XNA project by mouse. Right mouse click on your empty project, select “add” and select “add files from a folder…” to add your CS files from your XNA Game folder.     In MonoGame folder, go to ThirdParty/Lidgren.Network/ and import Lidgren.Network.PSMobile.csproj file. In MonoGame folder, go to MonoGame.Framework/ folder  and import MonoGame.Framework.PSMobile.csproj file. Now go to your empty solution. Right click on your game project’s references and choose “Edit References”. Check the Lidgren.Network.PSMobile and MonoGame.Framework.PSMobile projects.   Note:  Check that MonoGame.Framework.PSMobile project has a reference to Lidgren.Network.PSMobile in his reference folder.   Step 3 – Support XNA library. If you has done all, you will check that MonoGame framework works. PSM Studio supports all XNA libraries, but it doesn’t support native Microsoft libraries. Well. Now all depends to your own ability to adjust your own code. Something like: remove Microsoft Libraries and code keep working, adapt your game to new resolution, change your main menu,… Step 4 – Main Class. AppMain.cs is where your application begins executing . So, your AppMain.cs file should look like this, where GamePage will be the first class to run.   Step 5 – Add Asserts I’m sure that now you know how add files in a PSM Project, but add XNB files is a bit different than add CS files. Right mouse click on your “Content” folder, select “add” and select “add files from a folder…” to add your xnb files from your XNA Game. Note:  If you don’t have a Content folder, create new one with this name to save it all xnb files. So far there is no news. Go to your “Content” folder, right mouse click on an xnb file, select “Build Actions” and select “Content”.   Note: Before you ask…. No, there isn’t a short way to do it. You have to repeat this process with all xnb files one by one. I know it. It stinks, but that’s life. Step 6 – Compile Now, if you followed all steps of this tutorial, you have to build a correct solution. Press Ctrl+F5 to check it. So, Congratulations! You...

Integrate boost in iOS / Android

This is a little guide to integrate C++ library boost on Xcode (iOS) and Eclipse (Android). To start with the integration continue reading… IOS Mini guide that helped me: http://www.whiterabbitsoftware.com/index.php/blog/item/boost 1- Download ZIP from here: https://github.com/mz2/boostoniphone 2- Extract the ZIP into a folder. 3- Download your version of Boost (.tar.bz2) from: http://www.boost.org/ 4- Copy the boost downloaded file to the previous folder you created for the ZIP extraction. 5- Edit “boost.sh” file and search and replace all versions to match to the one you downloaded (i.e. 1_51_0 to 1_52_0). 6- Run: sh boost.sh 7- When finish, add to the project in “Build Phases” the “boost.framework “folder generated. ANDROID 1- Download ZIP from here: https://github.com/MysticTreeGames/Boost-for-Android 2- Extract ZIP into a folder and edit “build-android.sh” 3- Change all “53” to your version. 4- Add under the line “extact_parameters $@” this: PARAMETERS=”/path/to/your/ndk/folder” echo “——- Using AndroidNDKRoot = $PARAMETERS” 5- Repeat steps 3 and 4 from “Boost to IOS” (Download from boost.org) 6- Copy the folders inside the generated “Build” folder to the “jni” folder of your project. So the file structure will be: jni –>Android.mk –>Application.mk –>boost/ –>include/ –>lib/ –>hellocpp/ 7- Add this to Android.mk for each library of boost you need to use, in this example I used 3 libraries: # boost_regex # include $(CLEAR_VARS) LOCAL_MODULE := boost_regex LOCAL_SRC_FILES := boost/lib/libboost_regex-gcc-mt-1_53.a include $(PREBUILT_STATIC_LIBRARY) # boost_thread # include $(CLEAR_VARS) LOCAL_MODULE := boost_thread LOCAL_SRC_FILES := boost/lib/libboost_thread-gcc-mt-1_53.a include $(PREBUILT_STATIC_LIBRARY) # boost_system # include $(CLEAR_VARS) LOCAL_MODULE := boost_system LOCAL_SRC_FILES := boost/lib/libboost_system-gcc-mt-1_53.a include $(PREBUILT_STATIC_LIBRARY) LOCAL_C_INCLUDES += $(LOCAL_PATH)/boost/include/boost-1_53 LOCAL_STATIC_LIBRARIES += boost_regex \ boost_thread \ boost_system 8- The order in LOCAL_STATIC_LIBRARIES must be the same as the...

Simulate bad network connection for multiplayer or online games on Mac

When you are developing multiplayer or online games, you sometimes need to emulate the real network conditions that are out there: 3G, DSL, or very bad connections. Fortunately, this is very easy to do on your mac. Just open XCODE, and from its menu: Xcode > Open Developer Tool > More Developer Tools… Login to your apple account, and then download the hardware IO tools. After installing it, execute the Network Link conditioner, and it will be installed into your system preferences section. Then just run it and you are ready to go! Don’t forget to follow us on twitter and FB! http://www.facebook.com/plungeinteractive http://twitter.com/plungeint...

Publish Facebook Open Graph stories with a friend profile

This post involves the use of the use of the Facebook plugin for Cocos2d-x, that is Ezisocial. You must have seen open graph stories from Candy Crush Saga in which they publish about a Facebook user passed another user (who is friend) in the game. It looks like the screenshots shown below: With EziSocial Plugin it is relatively simple to publish such open graph stories. Let’s take a look now. Prerequisite You must read my other tutorials on open graph stories before reading this tutorial otherwise you may get confuse at some point. How to create open graph story? Publish open graph story In this tutorial and sample app, we will try to publish a open graph story that will describe that a Facebook User (that is me) has defeated a another user (my friend) on EziSocialDemo app. It will look like as shown in below picture. Are you interested now? Cool ! Let’s begin the tutorial. Here are steps to build action with a profile kind of story:- Create a open graph story and action with a profile Set EziFacebookDelegate as super class Define virtual method for callback Call function publishOpenGraphActionWithFriend Understanding response in callbacks Viewing published open graph story Step 2, 3, 5, and 6 are same as described in tutorial “Publish Open Graph Stories“. So I would not be repeating here. I will describe only step #1 and step #4 to keep brevity of the tutorial. Step 1: Create a open graph story and action with a profile For this type of story, we need to build special kind of story with a profile. Go to your apps and then go to stories (will be showing in left pane). Lets create a new story. A pop will be shown (see picture below) and create your desired action:pass or defeat or anything you like. Now in second table you must selectprofile. Go ahead and create the story. Edit the story as per your need otherwise it is good to go and lets save the story. Now you can follow the step 2 andstep 3 from previous tutorial. If you have already done with that then lets jump on step 4. Step 4: Call function publishOpenGraphActionWithFriend We have a special function for this: publishOpenGraphActionWithFriend It has only two parameters: 1 void EziSocialObject::publishOpenGraphActionWithFriend(const char* friendID, const char* actionType) friendID – Facebook ID of user’s friend. Make sure it is valid Facebook User ID actionType – In our case action is defeat Let’s see a example code: 1 2 3 4 5 6 7 void HelloWorld::defeatAFriend() {         EziSocialObject::sharedObject()->publishOpenGraphActionWithFriend(“090379379120”, // Replace with user’s Facebook Friend ID                                                                           “defeat”);         EziSocialObject::sharedObject()->logEvent(“Defeat a friend”); } That’s it. If you have configured callback properly then you will see the response within the...

Meet us at Game Connection Europe next December

Jesús Bosch, CEO of Plunge Interactive will be attending Games Connection Europe in Paris and will meet mobile and browser publishers, game development companies, and other people interested in outsourcing game development services. Come and discover our portfolio, and meet a great team you can rely on for your productions. To Schedule a meeting Email us at info@plungeinteractive.com Game...

Cocos2dx talk on BCNDevConf

Jesus Bosch, CEO of Plunge Interactive, will offer a Cocos2dx talk during the BCNDevConf event. On its 3rd edition, the event is held on Design Hub Barcelona on 7, 8, 9 and 10th of November 2013, in the technology district 22@. On its talk, Jesus Bosch will introduce the Cocos2dx technology, and will explain what are the advantages of it, multi-platform strategies, etc. More information in BCNDevConf website.

Game industry events and trade shows in the world

Today we provide a few useful links to stay close to the relevant people in the Games Industry, meet your colleagues, be part of international contests etc. www.tournamentseeker.com Is a games tournament directory. If you want to make your game noticeable, and also make some money, contests are a good place to start. Hard to win, but if you do the success chances for your game increase drastically. www.gamejamcentral.com Here you can join gamejams from all over the world. Game jams attracts many game developers and is a good place to get started into the game industry. Usually the objective is to make a game in a limited period of time, like a weekend. www.promoterapp.com calendar Directory for indie game contests, shows, etc. Good place to meet creative and talented game developers. gameconventioncentral.com This page focuses on pen and paper RPG conventions. www.gameconfs.com Big directory for game industry events www.eventsforgamers.com/ Very cool and updated calendar, and probably the best in terms of containing all gaming events in all over the world. Remember that you can follow Plunge Interactive on the following social media: Facebook Twitter...

We have been in Tokyo Games Show 2013

Plunge Interactive has been present in Tokyo Games Show 2013, showing our games, meeting with partners and clients. We usually attend most important games trade shows all around the world, just contact us if you want to schedule a meeting in the next big international event. We can help you in full game development outsourcing, from art, sound and programming to monetization strategies and...

Game development contest ($50.000 in prizes!)

Microsoft has recently announced it’s annual game development competition: Imagine Cup. The Imagine Cup Games Competition is a global contest for the best new student games and the winning team will take home $50,000 (US). Create a desktop or tablet game using Windows, or a mobile game using Windows Phone, or a browser game using Windows Azure and you could win big at the Imagine Cup World Finals in Seattle 2014. More info and rules in the official competition...

Log all children types of a CCNode in cocos2dx

In cocos2dx based games, the node hierarchy can sometimes become complex. Sometimes it can even be hard to debug several situations because of this hierarchy. In order to avoid this kind of problems, we have written a small function that prints all the hierarchy of a node and subnodes. This is the code: void printAllChildrenTypes(cocos2d::CCNode* node, int level) { std::string spaces(level, ' '); CCLOG("%s %02d : %s", spaces.c_str(), level, typeid(*node).name()); ++level; cocos2d::CCObject* obj = nullptr; CCARRAY_FOREACH(node->getChildren(), obj) { printAllChildrenTypes(static_cast(obj), level); } } And this would be an example of the result in the log console: Cocos2d: 00 : 21DispatchingScrollView Cocos2d: 01 : N7cocos2d7CCLayerE Cocos2d: 02 : N7cocos2d7CCLayerE Cocos2d: 03 : N7cocos2d8CCSpriteE Cocos2d: 03 : N7cocos2d9extension15CCControlButtonE Cocos2d: 04 : N7cocos2d9extension14CCScale9SpriteE Cocos2d: 05 : N7cocos2d17CCSpriteBatchNodeE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 04 : N7cocos2d9extension14CCScale9SpriteE Cocos2d: 05 : N7cocos2d17CCSpriteBatchNodeE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 04 : N7cocos2d9extension14CCScale9SpriteE Cocos2d: 05 : N7cocos2d17CCSpriteBatchNodeE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 04 : N7cocos2d10CCLabelTTFE Cocos2d: 03 : N7cocos2d10CCLabelTTFE Cocos2d: 03 : 21ExtendedControlButton Cocos2d: 04 : N7cocos2d9extension14CCScale9SpriteE Cocos2d: 05 : N7cocos2d17CCSpriteBatchNodeE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 04 : N7cocos2d9extension14CCScale9SpriteE Cocos2d: 05 : N7cocos2d17CCSpriteBatchNodeE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 04 : N7cocos2d9extension14CCScale9SpriteE Cocos2d: 05 : N7cocos2d17CCSpriteBatchNodeE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 04 : N7cocos2d10CCLabelTTFE Cocos2d: 03 : N7cocos2d8CCSpriteE Cocos2d: 03 : 21ExtendedControlButton Cocos2d: 04 : N7cocos2d9extension14CCScale9SpriteE Cocos2d: 05 : N7cocos2d17CCSpriteBatchNodeE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 04 : N7cocos2d9extension14CCScale9SpriteE Cocos2d: 05 : N7cocos2d17CCSpriteBatchNodeE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 04 : N7cocos2d9extension14CCScale9SpriteE Cocos2d: 05 : N7cocos2d17CCSpriteBatchNodeE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 06 : N7cocos2d8CCSpriteE Cocos2d: 04 : N7cocos2d10CCLabelTTFE Cocos2d: 03 : N7cocos2d8CCSpriteE Cocos2d: 04 : N7cocos2d10CCLabelTTFE Cocos2d: 04...

Implementing the scissor test on Cocos2dx

The scissor test is a very useful OpenGL operation that discards fragments that fall outside of a certain rectangular portion of the screen. Example: Imagine you want to implement a scroll, then this is when the scissor test helps. In Cocos2d-x this is really simple. You just need to override the “visit()” method available in any CCNode (this obviously includes CCLayer, CCScene, etc), with something like this: void YourScene::visit() { CCSize winSize = CCDirector::sharedDirector()->getWinSize(); CCPoint bottomLeft = this->convertToWorldSpace(ccp(0, 0)); CCPoint topRight = this->convertToWorldSpace(winSize); glEnable(GL_SCISSOR_TEST); CCEGLView::sharedOpenGLView()->setScissorInPoints(bottomLeft.x, bottomLeft.y, topRight.x - bottomLeft.x, topRight.y - bottomLeft.y); CCScene::visit(); glDisable(GL_SCISSOR_TEST); } You just need to set the scissor area and we are...

Setting Up In-App Purchase Products for Maximal Flexability

This is a guest post by Yaniv Nizan who is the CEO and Co-Founder of SOOMLA – the platform for Creating In-App Purchase Stores for Mobile Games. Yaniv is also a writer with articles featured in publications such as: Gamasutra, Codenameone UX Motel and blog.soom.la and a speaker in different industry events. You can follow Yaniv at @y_nizan This post is inspired by an email thread with one of our customers. It appears that the confusing terminology of Apple and Google never stops to puzzle developer and there are quite a few things to be mindful of when setting up your product IDs for the first time. This guide is specific to mobile free 2 play games. Games that try to build a virtual economy with in-game shopping experience rather than just sell 1-2 upgrades. If you are not developing a game you should probably stop here. If you are developing a game and planning on monetizing it with In-App Purchase with no virtual economy you must read this article showing that 90% of top grossing games are selling coins and letting the user earn in-game coins. So, assuming you are planning on developing a mobile game with an in-app purchase store that has coins, you should follow the guidelines below when setting up your Products. Types of Products Both marketplaces offer many types of porducts: consumables, non-consumables, managed, unmanaged and different types of subscriptions. If this is not enough, google play also has v2 and v3 to make it a bit more complicated. The good news is that there is only one way to go here. If you are building an in-game economy, you want the control on your side. On Apple this means Consumables products and on Google play this means unmanaged with v2. Unfortunately, v3 doesn’t offer proper support for in-game currency yet. The reason you want to use these product types specifically is that they give you the most flexibility. Product Pricing Imagine the following scenario: you have a bundle of 50,000 coins that you are selling for $5, it is selling great and you want to optimize it a bit. The move here is to give the user another offer that has a lot more value. So you will have two offers: 50k coins for $5 100k coins for $6 This is an offer that most users will find hard to refuse and you should see 10% revenue lift from this simple move. However, this requires adding a new product ID, changing the in-game store to have that item and submitting an app update that can take a week to approve and forever for the users to download. This can be easily avoided if you prepare in advance. Instead of creating 5 coins packs of $1, $2, $5, $10 and $20. Create 50 products with prices of $1, $2, $3 … $50. Make sure to give them generic names that doesn’t include the number of coins – Ultimate Coin Pack rather than 50k coins pack. This allows you to sell at any price and determine the number of coins the user get without having to resubmit any new products. Combine this with a way to manage the items in your store remotely (like SOOMLA) and you have all the flexibility you need. Summary Here...

Building an In-Game Store for the First Time? Here are the 4 Keys to Success

So you have a great concept for a mobile game and you have heard that free 2 play games with in app purchase is the way to go but you are not sure where to start. Guess what? You are not alone. Designing a good in-game store is very different than designing the core of the game and many game developers are unsure about how to do it right. This is a guest post by Yaniv Nizan who is the CEO and Co-Founder of SOOMLA – the platform for Creating In-App Purchase Stores for Mobile Games. Yaniv is also a writer with articles featured in publications such as: GameSauce, Gamasutra, UX Motel and blog.soom.la and a speaker in different industry events. You can follow Yaniv at @y_nizan Let me take you through some of the keys to designing a store that users will enter frequently and hangout in for long periods: Put the store where user can find it and make it a natural part of the game loop Create items that players use in your game every day Make the store experience an interesting one Limit continuous game play If you implement these elements in your game you are significantly increasing your chances to succeed. Adding a few of these is good but if you want 3 stars try to get them all. Here is more specific advice about each one of these: Put the Store Entrance Where Users Are Getting users to naturally enter the store as part of the game flow is very important. Let’s check a few methods for achieving this. If your game has levels, it should be easy enough for you to add a button to the store from the screen that notifies the user about a successful level completion. What if your game is a ‘survival mode’ type game or ‘endless runner’? No problem. These games have limited sessions that usually end with a summary screen. This will be the right place to put your store button. Designing other types of games? If you implement the 4th tip you would actually break the game to sessions and would be able to use the session end screen. Alternatively, you can add the store button to screens that notify the user about achievements. You can also use virtual goods that requires users to activate or equip them and use the store as the interface for picking the active character/vehicle/weapon. This will help you get users to the store more frequently. Add Items that Players Need Regularly Ok, so the store is now accessible from every screen in the game but why would user want to enter it? Let’s think about the real world. The store that we enter the most is the one that sells the product we use and consume every day. Let’s create some goods like that and make them easy to buy with game coins. How easy? The user should be able to collect enough coins in 1-3 levels or a few minutes of game play. The good itself should be regularly consumed and should make it easier for the user to collect more coins. If you do this correctly you end up with a consumption loop that brings the users to the store almost every time the user plays the...

Easily post to Facebook and Twitter on Cocos2dx iOS and Android games

SDK integrations is a boring and time consuming task in game development. If we add this in cross platform games made with C++, then the task is even harder. Facebook is specially hard due to a complex SDK that yes, offers many feature, but it has an important learning curve. Now cocos2dx developers life is easier than ever. EziByte, an indian startup, has just released a small SDK for cocos2dx developers that makes it easy to integrate Facebook, Twitter and share by email in our iOS and Android game developments. The SDK has currently a small price between $2.99 and $14.99, depending on the license, but I think the price is very fair, and will save us from Facebook integration, so we can focus on what we should: actual game development. I have personally tried the iOS Facebook integration in one of Plunge Interactive’s projects, and I have to say that the task consumed 10 minutes of my time… I just had to copy the library, configure build settings, implement a delegate, and actually call the code to share to Facebook. You can find the plugin here: http://www.ezibyte.com   Also, remember that you can follow us on FB and Twitter: Facebook @plungeint...

In-app purchases for iOS and Android under Cocos2dx made easy

I have recently discovered an small open source “iapp engine”. What is amazing about it is that it has a Cocos2dx library, so virtually you can create in-app purchases for your game, both for the iOS and Android versions, with the same code, “efortless”, or at least easier than ever. The project is called SOOMLA, and here is some information coming from their own website: The SOOMLA Project is an open source framework for virtual economies in mobile games. Our goal is to allow mobile game developers easier implementation of virtual currencies, virtual goods and in-app purchases. The framework includes: Data model and storage convention for virtual goods, virtual currencies and common game economy mechanics. Plugins for leading game development platforms such as Cocos2d and Unity as well as support for Native iOS and Android code. APIs for simplifying In-App Purchases to a single line of code including increased security and event handling. Templates and themes for virtual economies and store-front based on pre-optimized and user intuitive layouts. Try the SOOMLA Store Designer. Admin console for dynamically updating and optimizing virtual economy attributes and game economy mechanics. Doesn’t it worth a look? Visit the SOOMLA website: http://project.soom.la...

New free game released for iPad: Three Little Pigs interactive story

We have just released another game made with cocos2dx. It is a game designed for children, and has been designed with the Faculty of Sciences of Education Sciences at the University of Lleida, cause making games is not just about programming specially when we are making fun games for kids. Download the game from iTunes (FREE) This traditional tale and all its values have been updated into a motivating and fun application for the youngest members of the family. This type of application promotes interaction between parents and children and develops creativity and fine psychomotor skills. The fable of the three little pigs teaches children about the value of effort and hard work. This story allows children to interact with the three characters and their surroundings, discovering a world full of stimuli and fun. In this well-known story, the three little pigs grow up, leave their family home and build their own houses. One of them goes off and builds a straw house. Another decides to build a wooden house, and the third little pig, the hard worker, thinks that it is better to build a brick house. But be careful! The big bad wolf is lurking…will the houses be strong enough to resist his attacks? The three little pigs on iPad is available in English, Spanish, Catalan, French, Italian, German and Portuguese. Designed for children aged 2 to 6. A multitude of scenes await, with beautiful graphics designed especially for children to explore, discover, create and have fun. Characteristics: • Free download • Translated into Spanish, Catalan, French, English, Portuguese and German. • Easy to use • High quality graphics designed for iPads • Interactive book • Teaches the value of effort and hard work • Encourages creativity and fine psychomotor skills • Background music and sounds that allow for total immersion in the story • Option to enable/disable sounds...

New game released made with cocos2dx: Ragdoll Charlie

Yes! Once again! We just have released another game for iOS made with cocos2dx technology. In this case the game is called “Ragdoll Charlie” (if you like this blog please download and review it :-P). So as usual, I’ll share some details about the implementation. So to implement the game we used the following: Cocos2dx with c++ Cocosbuilder for the UI Cocosdenshion for the audio Texture Packer for the texture packaging SpriteHelper and LevelHelper to design the level (we are not happy with these tools, I don’t recommend them) And that’s it! Now feel free to play it and give us a good review 😛 View in App Store ...

Pixel Colors, an example of a cross-platform game made with Cocos2d-X

Pixel Colors is a simple yet very addicting game. It has a very simple gameplay. Our intention with this game was to test Cocos2d-x capabilities in a cross platform development environment. And the thing is that we are very happy with the results. The game can be downloaded on the following platforms: iOS (iPad/iPhone/iPod). Apple store. Android (mobiles and tablets). Google Play. Windows Phone. Windows Store. Technically speaking, this game is made with Cocos2d-x (C++), but also contains some code in Java and Objective-C to access platform native features that are not wrapped by the cocos2d-x engine. The Windows Phone version is made with C#. Feel free to download the game and to leave us your...

Setting up MonoGame (XNA) development environment for Windows 8

We talked about setting up the MonoGame (XNA) development environment for Android on a Windows computer in a previous post. Now it’s turn for MonoGame to make Windows 8 games. These are the prerequisites: Visual Studio or MonoDevelop. I highly recommend Visual Studio, but I’m not sure if the Express versions (free) support Mono. At any case, it will work with MonoDevelop for sure, and it’s also free. Mono runtime with GTK#. The base framework to make any kind of mono applications. MonoGame framework. The port of XNA to Mono, that will allow us to make XNA games for Windows 8. XNA Game Studio 4.0. At the time of writting this post monogame is on its 3.0 beta version, and doesn’t include the Content Manager packager, so you need to use the one available in XNA Game Studio. If you want to also make Windows Phone 8 games, you should probably install the Windows Phone 8 SDK, but this tutorial will not cover it. And that’s it! Feel free to discuss with us about game development also on twitter: @jboschaiguade and @plungeint...

Open Facebook and Twitter native apps from your iOS App/Game

Today we come with a small code snippet. Sometimes in your games or apps you need to launch your App’s Facebook or Twitters fan page. You can do this by just launching the web browser with the correct URL, but the elegant way of doing this is by just opening the native Twitter or Facebook app. //facebook if(![[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"fb://profile/181239321918026"]]) { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.facebook.com/plungeinteractive"]]; } //twitter if(![[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"twitter://user?screen_name=plungeint"]]) { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://twitter.com/plungeint"]]; }   As you can see, the code is very simple The “IF” block allows us to check if the user has the native app installed or not, if he doesn’t, then we can just open the browser with the link to the Twitter or Facebook page....

CocosBuilder and Cocos2D-X HelloWorld example

After some experience with CocosBuilder and Cocos2d-x we present you the simplest CocosBuilder and Cocos2d-x use case! For this tutorial we’ll use the latest Cocos2d-x version (2.1) and we assume you have a working simple CocosBuilder file named “testLayer.ccbi” with no code connections (custom classes and variable assignments). We’ll start coding a standard CCScene that will hold the CCLayer/CCNode that the CocosBuilder file contains: #ifndef __CCBTESTSCENE_H__ #define __CCBTESTSCENE_H__ #include "cocos2d.h" class CCBTestScene : public cocos2d::CCScene { private: // methods CCBTestScene() { } ~CCBTestScene() { } bool init(); public: // methods CREATE_FUNC(CCBTestScene); }; #endif Nothing special so far, the scene will be created calling CCBTestScene::create(), which will call CCBTestScene‘s (empty) constructor and then the init() method where we’ll load the CocosBuilder file: #include "CCBTestScene.h" #include "cocos-ext.h" // including CocosBuilder implementation using namespace cocos2d; using namespace cocos2d::extension; // We need classes from this namespace bool CCBTestScene::init() { if (!CCScene::init()) return false; // Create a default CCNodeLoaderLibrary. As we won't be using // code connections in this tutorial don't worry about it. CCNodeLoaderLibrary* nodeLoaderLibrary; nodeLoaderLibrary = CCNodeLoaderLibrary::newDefaultCCNodeLoaderLibrary(); // Create a new CCBReader with a default CCNodeLoaderLibrary // This can take a lot of parameters to use code connections and more CCBReader* ccbReader = new CCBReader(nodeLoaderLibrary); // Load the main node from the CocosBuilder file CCNode* node = ccbReader->readNodeGraphFromFile("testLayer.ccbi"); this->addChild(node); // Add the loaded node to the scene (this) // As nobody called ccbReader->autoRelease(), returning now would cause // a memory leak. We can call autoRelease or delete it ourselves. delete ccbReader; return true; } That should be it! If you need to use code connections or any other advanced feature from CocosBuilder this code needs some changes: Line 16: if you’re using custom classes they need to be registered into the nodeLoaderLibrary that we’ve just created (that’s it’s propose after all, know how a type of node is loaded). Line 19: as said the CCBReader constructor can receive a lot of parameters (which equal NULL by default). If you want to use member variable assignment, menu selectors or animation events this is the place to add a pointer to a delegate that handles them. Line 22: when you load a file you can assign a “owner” for their nodes. This allows you to select “owner” for a code connection’s delegate in CocosBuilder instead of using the document root (top most node of the file’s node herarchy). If you need some insight about code connections you can either take a look at our previous CocosBuilder/Cocos2d-x tutorial or dive into the tests code that comes with the framework. It that’s not enough ask and we may end up doing some more tutorials about...

Getting started with Monogame (XNA) for Android on Windows

I have started into the game industry making XNA games, that was some years ago… when I become a professional game developer, I have had to abandon the platform, since the current platforms with the biggest user base (iOS and Android) are supposed to work with Objective-C, Java, or C++. So I went to Cocos2d-x with C++. That’s a good solution, and I’m happy with Cocos. I will actually keep working with cocos since I think is the most powerful option to go cross platform. But it’s good to recognize that today we have an alternative, and it is an option that is very important for developers that already know XNA and/or C#, this option is MonoGame, the technology that allows you to make games for multiple platforms using XNA and C#. MonoGame isn’t new actually, I guess it is out there from several years go, but I think it has reached a point of maturation that worth consideration. The thing is, that you can develop games for Android (and other platforms, but this tutorial is centered on Android), using Windows + Visual Studio 2010 + XNA (based on C#). You don’t have to deal with Java or Eclipse anymore! And the best of all: everything works easily and smoothly, you can easily debug and deploy your games directly on an Android device. So for me MonoGame is a good option to port games that are already done with XNA or when the developer only knows XNA or C#. In other cases, or for new games, I will keep working with my lovely Cocos2d-x The only negative point is that you need to purchase a license of MonoDroid, that costs $399 (indies license), but I really think it worth the price, and you also have 30 day money back guarantee by Xamarin so… An evaluation version of MonoDroid can be downloaded for free, but in that case you can’t deploy to a real device, you will have to use emulator only (in Android the emulator is horrible, but it’s an option…). Ok, so let’s start… to get started with MonoGame for Android I recommend you to follow this process: Install Visual Studio 2010, that can be downloaded for free Install Microsoft XNA Game Studio. Install Mono Droid, that costs $399, or get the free evaluation. Install Mono Game And that’s it… now just go to Visual Studio and create a new project based on the MonoGame Android Project template. Try to compile it. If you don’t have any compilation error you are done. If you get a compilation error, go to the references folder and check if any DLL is missing, if that is the case, you might need to download the MonoGame source code from github, and compile it, then reference the brand new DLLs and you are done. Compile, and should work like a charm. Now you will notice that you have an Assets/Content folder in the project. It contains a spriteFont1.xnb file. The XNB format is a binary format generated by the XNA’s content pipeline. MonoGame currently doesn’t offer a Content Pipeline to generate the XNB files by itself (under development at the time of writing this post), so we need to add a XNA project to the Visual Studio solution. That way we will have...

Using CocosBuilder on Cocos2D-X games

CocosBuilder is a great tool that will save you hundreds of hours of development. It is useful to create game UI’s, but also to design animations and even to create gameplay scenes for some kind of games. It’s a productivity tool that will speed up your development and will allow you to focus on important things. The best of all is that CocosBuilder is a free Open Source application. This is NOT an introductory tutorial to CocosBuilder, I’m not going to explain how to create animations or screens, I’m just going to explain how to connect CocosBuilder with our Cocos2d-x games. This is something that we could learn in the TestCPP projects provided by the Cocos2d-x engine, but the code there is quite complex and too weird in my opinion, and it’s confusing to many developers, so here I’ll show a simple example on how to integrate a CocosBuilder scene in your Cocos2d-x game. UPDATE: If you are a newbie with cocosbuilder, please read this article first. Here it is our little sample, a small screen where we have several animated characters, and some interactive elements (a CCMenuItem with several CCMenuItemImage). The first thing we need to do is to assign a class name to the main CCLayer of the cocosbuilder project. In our case it will be called “Page1Layer”: That Page1Layer custom class is expected to exist into our cocos2d-x project so we need to create it. It will handle all the menu item clicks, among other events. This is our declaration and implementation for the Page1Layer class: #include "cocos2d.h" #include "cocos-ext.h" class Page1Layer : public cocos2d::CCLayer, public cocos2d::extension::CCBSelectorResolver { virtual bool init(); virtual cocos2d::SEL_MenuHandler onResolveCCBCCMenuItemSelector(CCObject * pTarget, cocos2d::CCString * pSelectorName); virtual cocos2d::extension::SEL_CCControlHandler onResolveCCBCCControlSelector(cocos2d::CCObject * pTarget, cocos2d::CCString * pSelectorName); void appleClicked(CCObject *pSender, cocos2d::extension::CCControlEvent pCCControlEvent); public: CREATE_FUNC(Page1Layer); }; class Page1BuilderLoader : public cocos2d::extension::CCLayerLoader { public: CCB_STATIC_NEW_AUTORELEASE_OBJECT_METHOD(Page1BuilderLoader, loader); protected: CCB_VIRTUAL_NEW_AUTORELEASE_CREATECCNODE_METHOD(Page1Layer); }; #include "Page1Layer.h" using namespace cocos2d; using namespace extension; bool Page1Layer::init() { if (!CCLayer::init()) { return false; } return true; } SEL_MenuHandler Page1Layer::onResolveCCBCCMenuItemSelector(CCObject * pTarget, CCString * pSelectorName) { CCB_SELECTORRESOLVER_CCMENUITEM_GLUE(this, "appleClicked", Page1Layer::appleClicked); return NULL; } void Page1Layer::appleClicked(CCObject *pSender, CCControlEvent pCCControlEvent) { CCLOG("button clicked"); } SEL_CCControlHandler Page1Layer::onResolveCCBCCControlSelector(CCObject *pTarget, CCString*pSelectorName) { return NULL; }   Notice that we have created a CCLayerLoader class called Page1BuilderLoader. Wee need it in order to load the Page1Layer.  Now we need to prepare a scene class, where we will load our CCB nodes, in our case, it will be called Page1Scene. This is it’s declaration and implementation: #include "cocos2d.h" #include "CCBAnimationManager.h" class Page1Scene : public cocos2d::CCScene, public cocos2d::extension::CCBAnimationManagerDelegate { cocos2d::extension::CCBAnimationManager *animationManager; virtual bool init(); virtual void completedAnimationSequenceNamed(const char *name); void setBlendFuncToAllChildren(CCNode* node, const cocos2d::ccBlendFunc& blend); ~Page1Scene(); public: CREATE_FUNC(Page1Scene); }; #include "Page1Scene.h" #include "cocos-ext.h" #include "Page1Layer.h" using namespace cocos2d; using namespace extension; bool Page1Scene::init() { CCNodeLoaderLibrary * ccNodeLoaderLibrary = CCNodeLoaderLibrary::newDefaultCCNodeLoaderLibrary(); ccNodeLoaderLibrary->registerCCNodeLoader("Page1Layer", Page1BuilderLoader::loader()); cocos2d::extension::CCBReader * ccbReader = new cocos2d::extension::CCBReader(ccNodeLoaderLibrary); animationManager = NULL; CCNode* node = ccbReader->readNodeGraphFromFile("page1.ccbi", this, &animationManager); animationManager->setDelegate(this); animationManager->runAnimations("ArmPigForeground"); ccbReader->release(); ccBlendFunc normalBlend = (ccBlendFunc) {GL_ONE, GL_ONE_MINUS_SRC_ALPHA}; if(node != NULL) { setBlendFuncToAllChildren(node, normalBlend); this->addChild(node); } return true; } void Page1Scene::setBlendFuncToAllChildren(CCNode* node, const ccBlendFunc& blend) { CCArray* children = node->getChildren(); CCObject* current = NULL; CCARRAY_FOREACH(children, current) { CCNode* child = dynamic_cast(current); if (child) { CCSprite* sprite = dynamic_cast(current); if (sprite && sprite->getTag() == 50) { sprite->setBlendFunc(blend); } setBlendFuncToAllChildren(child, blend); } } } void Page1Scene::completedAnimationSequenceNamed(const char *name) { } Page1Scene::~Page1Scene()...

This site uses cookies to store information on your computer. Some cookies on this site are essential, and the site won't work as expected without them. Read more about them

ACCEPT