Main Page

From WorldKi

Jump to: navigation, search

WorldKi provides developers with a powerful platform for the creation, collaboration on, and distribution of native code applications. Currently, it is focused on video games, but it has the potential to expand considerably.

Features Overview: this is an analysis of the features of the platform with links to further documentation on all the systems

Contents

Design Goals

This is a high-level description of the design goals we used when constructing the WorldKi platform. It embodies a philosophy we have. We don't believe we are the only people capable of creating significant innovations. Our philosophy is designed to help build a powerful community by leveraging and rewarding the expertise each of us has.

Performance

  1. Don't force the developer to use performance degrading code.
  2. Use local compiling when possible to tune for the local computer
  3. Compile all code in one compilation unit to allow better compiler optimization

Flexibility

  1. Avoid building in functionality that is only useful to a particular type of program
  2. Build APIs which will empower the developers to create what they need
  3. Enable full customization of all important logic

Collaboration

  1. Break programs into APIs, Code, and packages to allow code re-use
  2. Allow meta-data and attached functionality to make it easier to document, understand, and re-use content
  3. Create infrastructure that allows all content to be distributed and/or sold according to whatever terms the original author wishes

Security

  1. Use digital signatures to ensure that the author and publisher are in fact who are listed as such
  2. Use sandboxing to limit what programs can do
  3. Use a distributed trust model to grant permissions only as needed

Cross-platform

  1. Make it easy to implement and optimize the WorldKi platform on any hardware and operating system
  2. Ensure that code that works on one platform under KiViewer will work under all supported platforms
  3. Provide mechanisms to allow emulation of platform-specific functionality when absolutely needed

Ease of use

  1. Create debugging flags to catch programming errors and report problems
  2. As much as possible, expose powerful features through simple APIs
  3. Keep the API as small as possible
Personal tools