Pygapp

Table of Contents

  1. Introduction
  2. Making Money
  3. Scrabble Game
  4. Grid World
  5. Financial System
  6. Main Portal
  7. Animation
  8. Social Networking / Tablets
  9. Links

Introduction

I'm Mike Hahn, the creator of Pygapp. The "Py" is short for Python and the "G" stands for Google or Games (it's pronounced "pie gap"). Pygapp is a tool used for developing multi-user applications for the Google App Engine (typically games). These applications are written in the Python programming language. The low-level rendering of graphics and handling of mouse clicks and keystrokes is implemented in JavaScript/HTML5 (normally the app-writer does not need to modify the JavaScript code).

The app-writer must install Python (which is free), and uses the Pygapp GUI Builder to design the app's UI (user interface). All Google Apps run inside a web browser, and these apps are hosted by Google. Google charges a fee to the app-writers for those apps which use a lot of network traffic. Pygapp.com pays 40 percent of those fees to Google, and the app-writers pay 60 percent.

The main goal of Pygapp is to make it easy to create multi-user web-based apps. Eventually Pygapp will allow non-programmers to create simple drag-and-drop games, and Python programmers can add functionality to those games. Professional game programmers can use Pygapp as a prototyping tool.

Making Money

Pygapp users pay a subscription fee of $20 per year to become members. Those users who aren't members are not allowed to store any data on Google's servers, except for a single user-app configuration record (which is stored on the server of Pygapp.com). This record stores configuration data for a single user-app combination.

Other revenue sources for Pygapp.com include advertising and transaction fees. Whenever money changes hands between 2 users, or between a user and an app-writer, a transaction fee of say 5 percent is payable to Pygapp.com. Non-members are not allowed to use apps in which money changes hands.

The app-writers receive 60 percent of the gross revenue of Pygapp.com, in proportion to the popularity of their apps. Popularity is measured in sessions per month. Whenever a user logs on to Pygapp in order to use an app, that counts as one session. Let's say a given app has 100 users who are members, and each of those members use an average of 3 different apps. Then, on average, the app-writer would receive 60 percent of 100 users x 20 dollars per user per year divided by 3 apps per user, or $400 per year ($33 per month). It would actually be more than that as there is also advertising revenue and transaction fees on top of the subscription fees.

My ambition is to create a popular web site with hundreds of happy app-writers, and thousands of users. My hope is that Google will pay me a large sum of money to acquire the rights to the Pygapp software. The computer game industry is big business, and I want a piece of the action.

Stage 1: Scrabble Game

The first step in the implementation of Pygapp is to finish my Scrabble game. I am currently working on making it multi-player (it already works as a single-player game). After I finish coding the multi-player aspects, I must test it by playing a game with my sister as well as with my niece. My niece likes to play online Scrabble, according to her blog.

After the Scrabble game is working, I must rewrite most of its code in Python, instead of JavaScript which is the way it is now. Then I have to make the board editable by the end-user. Initially all premium squares on the board will be the same color. After the user paints the premium squares in the desired 4 colors, the board is saved on Google’s server for that particular user. The purpose of the editable board is to avoid being sued by the company which owns the rights to Scrabble.

Stage 2: Grid World

When Pygapp is first released, the World Builder included with Pygapp will enable the app-writer to create multi-user apps, in which users roam a grid-oriented world. Male users are square and female users are circular (each user can customize the interior of his/her avatar). All users and game objects are confined to the centers of cells. Each cell can contain a stack of users and/or game objects. Cells are contained within grids (every cell is the same size and shape) and tables (row heights and column widths may vary; cells may be split/merged).

Before the World Builder is developed, the world-definition file will be in JSON format (plain text). The JSON format is used to define JavaScript objects. The app-writer must use a text editor to edit the world-definition file. Prior to the development of the World Builder (but after I have working software), I intend to publish a post on the PyGTA mailing list (a local user group of Python programmers). This post will advertise for a collaborator, and will contain a link to pygapp.com. That web site will initially consist of nothing but the information in this document. After the World Builder is developed, the app-writer uses it (instead of a text editor) as a point-and-click world editor.

Stage 3: Financial System

Every Pygapp member has a balance (amount of money) stored on the Pygapp server. Financial transactions take place between 2 members, or between a member and Pygapp.com. These transactions involve money changing hands. App-writers are allowed to charge fees to their users. Some apps allow users to give/receive money to/from other users. Every financial transaction is subject to a transaction fee of say 5 percent, which is payable to Pygapp.com. Every member must have a credit card or a PayPal account, which is billed on a monthly basis (or quarterly if not much money is involved).

Stage 4: Main Portal

The Main Portal is itself a Pygapp app, and contains links to all other apps. There exists a database of apps on the Pygapp server, and app-writers can use this database to develop their own portals. Once the World Builder, the Financial System, and the Main Portal are up and running, Pygapp will be released to the general public.

Stage 5: Animation

Upon the initial release of Pygapp, animation is at first not supported. The first type of animation supported by Pygapp will be missile animation. All objects except missiles are confined to cells, but missiles are animated and can move anywhere. Collision detection is handled by the server-side Python code for each app (hosted on Google’s servers).

The next type of animation supported by Pygapp will allow game objects, including user avatars, to move anywhere, not just confined to the centers of cells. This type of animation is overhead-view. After overhead-view is implemented, side-view will be implemented, giving users multiple views. The final type of 2D animation to be implemented is isometric-view, in which the user’s viewpoint is from an angle of 45 degrees to the grid, and also elevated at an angle of say 30 degrees from the horizontal. Isometric-view is more advanced than overhead-view, and is used in popular games such as Sim City.

The final type of animation to be supported is full 3D animation, enabling the creation of modern games such as first-person shooters. This type of animation is pushing the envelope for existing apps compatible with Google App Engine, and may be impractical for present versions of GAE.

Stage 6: Social Networking / Tablets

After missile animation is implemented, a conversion utility will be implemented to convert Pygapp apps to Facebook apps. Also, support for Google Friend Connect (Google's version of social networking) will be added to Pygapp. This will help target ads at users, who use GFC to send messages to their friends (the message content can be used to fine-tune the ads displayed). Finally, conversion utilities will be developed to convert Pygapp apps to work with tablet computers and smart phones.

Links

My Scrabble game is currently under development. To play, you will need a Google ID, which you can easily set up by visiting google.com. You will also need a browser other than Internet Explorer 8. My Scrabble game is called Clixword. I have also downloaded the source code of a tic-tac-toe demo, which can be played by 2 people, each on a separate computer. They also need Google IDs and a browser other than IE8. This demo is called ClixTacToe. To learn more about previous incarnations of Pygapp, click on Old Stuff (see list below). Click on About Me to view my bio.

Contact Info

Mike Hahn
2495 Dundas St. West
Ste. 515
Toronto, Ontario M6P 1X4
Canada
Tel: 416-533-4417

Back to Top