Adobe
Products
Acrobat
Creative Cloud
Creative Suite
Digital Marketing Suite
Digital Publishing Suite
Elements
Photoshop
Touch Apps
Student and Teacher Editions
More products
Solutions
Creative tools for business
Digital marketing
Digital media
Education
Financial services
Government
Web Experience Management
More solutions
Learning Help Downloads Company
Buy
Home use for personal and home office
Education for students, educators, and staff
Business for small and medium businesses
Licensing programs for businesses, schools, and government
Special offers
Search
 
Info Sign in
Welcome,
My cart
My orders My Adobe
My Adobe
My orders
My information
My preferences
My products and services
Sign out
Why sign in? Sign in to manage your account and access trial downloads, product extensions, community areas, and more.
Adobe
Products Sections Buy   Search  
Solutions Company
Help Learning
Sign in Sign out My orders My Adobe
Preorder Estimated Availability Date. Your credit card will not be charged until the product is shipped. Estimated availability date is subject to change. Preorder Estimated Availability Date. Your credit card will not be charged until the product is ready to download. Estimated availability date is subject to change.
Qty:
Purchase requires verification of academic eligibility
Subtotal
Review and Checkout
Adobe Developer Connection / Developer spotlight /

Jobe Makar: Developer spotlight

by Jobe Makar

Jobe Makar
  • electrotank.com

Created

2 August 2010

Page tools

Share on Facebook
Share on Twitter
Share on LinkedIn
Bookmark
Print
Flash Professional Photoshop

Requirements

User level

All

What (Adobe and non-Adobe) technologies are you currently using?

On a typical day, I use ActionScript 3 to program multiplayer games or virtual worlds. I use Adobe Flash or Adobe Photoshop for preparing most of the assets for the games I build. My code IDE of choice is Flash Develop and I use SOS Max by Powerflasher for viewing runtime logs. I can't forget ElectroServer (a product of Electrotank)! It is the socket server technology that powers all of the multiplayer projects that I develop.

What is the most recent project you've built and what (Adobe and non-Adobe) technologies have you used?

The latest project I worked on (that has been publicly released) is Fruit Smash Organic for the iPhone. Fruit Smash Organic is a match 3-style puzzle game that includes some unique secondary game play elements. As you play the game, you earn virtual money. You can use that virtual money to buy fruit seeds, pots, soil, and some other things. Using the resources you purchase, you can plant the seeds, fill the pots with soil, and water them using the accelerometer. The seeds grow over time into plants, trees, or bushes. When they're ripe, the fruit can be harvested by shaking the iPhone.

This game was originally created using Flash Professional CS5 with the Packager for iPhone. Due to the recent updates to the Apple terms of service, this game will probably not have a bright future on that device. Fortunately, Adobe invited me to participate in the AIR for Android prerelease program. I was able to get Fruit Smash Organic working on an Android device in a matter of hours!

What is the most commercially successful project you have worked on and how did you get involved? What is the least commercially successful one? In your opinion, what made it a success/failure?

At Electrotank, we earn revenue through a mixture of technology licenses, work-for-hire projects, and casual game sales. The most commercially successful project is one of our technologies, EUP (Electrotank Universe Platform).

EUP provides both an architecture and a framework for building MMOs, virtual worlds, and large-scale social games with complex features like crafting, questing, and a lot more—and it can run on both Flash and Unity 3D. EUP grew out of the belief of myself and others at Electrotank that there's an increasing need for flexible, high-performance game development architecture as online gaming strives to meet end-user demand for engaging game-play and graphics accessible on multiple devices. EUP currently powers a number of leading virtual worlds, which is pretty impressive for such a young technology. So, that's a success, but it's one that we're looking to build on. We also have some pretty big announcements and launches coming up that we're excited about.

The least commercially successful? Well, I've been doing this for more than a decade and so I've seen my share of failures. If I had to pick just one, I think it would be a jigsaw puzzle casual game that I created. It has been out for years and has probably sold only a few hundred copies. As for why it was a failure...probably because it was a jigsaw puzzle!

In your work, what are some of the biggest technological challenges you've faced and how did you overcome/solve them?

There are many technological challenges that I've encountered over the years. Some of the biggest obstacles were solved as a team. One issue that we ran into as we started doing more virtual-world work in Flash is rendering performance. Our project required rendering and smoothly scrolling isometric scenes that are dozens of times larger than the screen, while simultaneously displaying 20 avatars on the screen at a time. We wanted to develop a generic solution so that it could be applied to more worlds in the future with differing avatar types. Achieving this goal was difficult and took months of work. I'm oversimplifying it a bit, but we essentially tried three approaches:

  • Using only sprites and movie clips (and intelligent use of cacheAsBitmap). This approach worked well enough for smaller games with a limited amount of sortable game elements. But it did not come close to the performance we needed at a larger scale.
  • Using just a single display object, a bitmap, and then blitting the assets onto this bitmap as needed. This method showed a marked improvement over our first attempt but had some of its own issues, which I don't have enough space to get into here. The performance was still not on par with the level we needed.
  • Using sprites in certain areas and bitmaps/blitting in other areas. This struck a balance between the first two strategies to achieve a hybrid approach—and that did it! This technique easily renders a smoothly scrolling world in the browser at full screen and 50fps.

Another big challenge relates to working with larger teams. Electrotank experienced rapid growth a few years ago. We were working on projects with teams of between three and ten people. There were problems with some developers being able to compile the projects and others who could not. There were also issues because some developers could reproduce a bug, while others could not. Only one or two people could actually do a full project build for both client and server code. This was a huge time waster. So, we brought Maven into the mix. After heavily configuring Maven and writing some Maven plug-ins, we devised a system that allows any developer on the team to compile the entire application with next to no setup. That was a huge breakthrough for us! After having that system in place, we were able to add continuous integration—every time code is checked in, the project is compiled and test cases are run against it on the server. If a problem is encountered, an e-mail is automatically sent out to the team.

What are the top three things developers should look at to monetize on their apps and skills?

I'm not sure of the top three strategies for monetizing projects, so I'll just speak to this generally from two different perspectives.

Wearing my technology provider hat, I think it is critical that the software fill a need in order for it to be a success. In the case of ElectroServer and EUP, we ourselves had the need for the technology. We filled that need, and then thought that others would also benefit from it. If there are competing products, it's likely that you'll have a tougher time, but you can still succeed by differentiating your product from the competition.

Wearing my game developer hat, there are a few more points to make. First, it is really difficult to know exactly how to make a successful game. There's no special recipe for that. If you are trying to make a successful (money-making) casual game, then check out the top-selling games on the big casual game portals right now. Strive to make a unique, quality game that has similarities to games that are popular now. You'll have an easier time publishing your game and the consumers will have a better understanding of your game before actually playing it.

What excites you, inspires you, or makes you say, "Wow that's really cool" about the technologies that you work with?

I don't get quite as excited about the technology by itself. For me, the excitement comes from how I can apply the newest technology to the work I do. I tend to wake up a littler earlier and work a little later when I'm right in the guts of a new type of game that I've never worked on before. Frequently, this occurs when I'm working with a technology that I haven't worked with before, such as the iPhone, Android, or frameworks/APIs like Papervision or Box2D.

Where do you get your information about technology?

I've never spent much time reading blogs or technology news sites. I get most of the hot news about technology through Twitter. Also, a few times per week, the developers at Electrotank send out e-mail announcements on newsworthy developments to the group.

What are some of your favorite websites or blogs?

One of my favorite sites is Polygonal Labs by Michael Baczynski. He always posts highly technical and very interesting experiments or useful utilities to share and talk about. I've done a little work with Michael's physics engine and I've used a few of his data structures in my games.

Outside of your work, what inspires or excites you most and why?

As much as I love working on video games, I rarely play them. When I'm not working, I'm usually playing tennis (or following it on TV) or hanging out with my wife and pets. My wife loves to play RPGs. Sometimes I'll watch a game she's playing for a while and it inspires me to experiment on things like AI or particles. I remember spending about two weeks playing with flocking algorithms after watching my wife play Pikmin.

What's the one thing you'd love to see in web technologies in the future?

I look forward to the day when we can really develop something once and interact with it on all popular, relevant devices at the same time. It seems like we aren't too far from that right now.

If you could build something you considered revolutionary, what would it be?

I'd build a Flash application that could love me back.

What inspired you to use the technologies and do the work that you use/do today?

My original inspiration was physics. My educational background is in physics, so when I left school and started developing, I naturally began experimenting with some physics-related projects. They led me to build several basic games like pool, air hockey, and miniature golf. I used Flash because I had no programming background and ActionScript was super easy to jump into. This was a long time ago, before classes—and even before functions were supported in Flash!

What's next for you? What opportunities to you see in your field?

For the last several months, I've been working on the latest release of ElectroServer (version 5). I'm focused on building the ActionScript 2 and ActionScript 3 APIs, documenting everything, and creating a series of examples to help get developers up to speed quickly. Version 5 will be released in July 2010. After ElectroServer 5 is out the door, I'll probably work on one of a few ideas we have for real-time multiplayer games that can run simultaneously on all major platforms.

 
max_banner_220x160

More Spotlight articles

  • Jobe Makar: Developer spotlight
  • David Lenaerts: Developer spotlight
  • Developer spotlight: Todd Williams
  • Kevin Schmidt: Developer spotlight

Products

  • Acrobat
  • Creative Cloud
  • Creative Suite
  • Digital Marketing Suite
  • Digital Publishing Suite
  • Elements
  • Mobile Apps
  • Photoshop
  • Touch Apps
  • Student and Teacher Editions

Solutions

  • Digital marketing
  • Digital media
  • Web Experience Management

Industries

  • Education
  • Financial services
  • Government

Help

  • Product help centers
  • Orders and returns
  • Downloading and installing
  • My Adobe

Learning

  • Adobe Developer Connection
  • Adobe TV
  • Training and certification
  • Forums
  • Design Center

Ways to buy

  • For personal and home office
  • For students, educators, and staff
  • For small and medium businesses
  • For businesses, schools, and government
  • Special offers

Downloads

  • Adobe Reader
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player

Company

  • News room
  • Partner programs
  • Corporate social responsibility
  • Career opportunities
  • Investor Relations
  • Events
  • Legal
  • Security
  • Contact Adobe
Choose your region United States (Change)
Choose your region Close

North America

Europe, Middle East and Africa

Asia Pacific

  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States

South America

  • Brasil
  • Africa - English
  • Österreich - Deutsch
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Hrvatska
  • Česká republika
  • Danmark
  • Eastern Europe - English
  • Eesti
  • Suomi
  • France
  • Deutschland
  • Magyarország
  • Ireland
  • Israel - English
  • ישראל - עברית
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • الشرق الأوسط وشمال أفريقيا - اللغة العربية
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Polska
  • Portugal
  • România
  • Россия
  • Srbija
  • Slovensko
  • Slovenija
  • España
  • Sverige
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • 台灣

Southeast Asia

  • Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam - English

Copyright © 2012 Adobe Systems Incorporated. All rights reserved.

Terms of Use | Privacy Policy and Cookies (Updated)

Ad Choices

Reviewed by TRUSTe: site privacy statement