Superluminary:Simulation Game Design Overview

From Superluminon

Jump to: navigation, search

A Game Design Overview.

Contents

Gameplay

Players will construct components in a manner to meet certain goals within the allotted game space. There will also be a good amount of resource management that is unique to this game.

Gamespace

Loading objects into game space is done similar to the method employed by Google Maps.

Terrain and height space will be handled in respect to the window. Using DOM window methods, we will determine how many blocks are within the view of the player's window. Using both the window size, as well as the player's position within the world, elements will be dynamically loaded and offloaded.

The currentScale and currentTranslate methods will be useful for panning and zooming across the window, by modifying the root svg element.


The terrain & floor layout will be presented in an isometric manner in the same perspective as SimCity 4: 16 degrees clockwise from the X-axis, 30 degrees clockwise from the Y-axis, by my measurements.

SVG lends itself very well to isometric design. An SVG rectangle element can be skewed by the approximate angle of a line with the 1:2 pixel ratio (e.g. two pixels over, one pixel down) that is characteristic of-- and fundamental to-- isometric pixel art, which is 26.565 degrees.

Component Consolidation-- compocon()-- is very important for performance, as bricks adjacent to other bricks, or bricks obscuring other bricks, will be concatenated into a single path.

The getBBox SVG DOM method can be used to get the bounding box of objects in gamespace. This is may help us create the Component Consolidation function.

Settings

Settings will be available to the player to help improve performance and offer a degree customization.

  • Resolution, full screen
  • Distance from the window objects should be paged, to aid scrolling on high-latency connections

Interface

The game will be developed as browser game, thus there will be quick-access links and menus to shorten times; attacched to the side of the screen, the primary, most important functions will allow the player to use:

  • Tools menu
    • Deconstruct -- Self-explanatory; Becomes a Recycle button once modern recycling facilities are created
    • Ascend/Descend Level -- Moves your cross-section of the tower up or down, so you can see different floors; floor exteriors beneath the current level will be displayed, but not above
    • Zoom -- Three levels of zoom, just like in Yoot Tower
    • Rotate Left/Right -- Rotates the view of the tower 90 degrees
    • Exterior View --
  • Construction Menu
    • Structure -- Lobby, Floor, Skybridge
    • Residential -- Condos, Apartments
    • Commercial -- Shops, Offices
    • Industrial -- Power, Materials, Remediation
    • Support -- Medical,
    • Outside -- Advertising
    • Special -- Dependent on Environment chosen, includes such structures as Botanic Gardens & an Airport
  • Mini-map -- Map goes on the center

Components

Game objects are first built from scratch using bricks. Those bricks can then be grouped in blocks that correspond to tiles on the Deck. Blocks can consist of multiple tiles, but cannot be smaller than one tile. Once an object is built, it is stored and displayed in concatenated form, outside of the editor.

  • Pixels: Zoomed-in view, using small, pixels that allow the user to build custom bricks.
  • Bricks: Small, basic building bricks ~(1,1)
    • Brick Colors: There will be two views; a crosshatch-shaded view to display functionality, and a color-shaded view to display block colors.

Blocks: Groups of bricks that can be positioned over tiles, spread over the area of the block ~(10,10) Decks: Group of blocks; a deck can be the size of one room, or many rooms, spread across a story. A Deck can be grouped and packaged into a single unit, but Decks that are copied are not immediately constructed, and must be edited and approved for final integration into the structure. ~(1000, 1000) Structure: A structure cannot be duplicated. ~(1000, 1000, 100)

Editor

Marketplace

Players may not always be willing to design every object, room, and vehicle they will use, or may wish to use the work of others.

Market credits will be used by the player as a currency to buy objects other players have created, and add them to their personal repertoire.

Market credits can be earned through the sale of objects.

Market credits can also be bought with money using Google Checkout. A substantial amount of credits are yielded, enough to be around a month's supply. The player's mileage may vary.

There will also be a small, daily government stipend that is automatically added to a player's account. This will encourage older players to pick their account up again if they lose interest, and help get back into the game.

People will be able to join an organization with a set common goal. They can also develop and sell their blockset.

Development

The technical aspects of implementing the game are addressed here.

Platform

The game will be developed using the SVG specification, manipulated through the XML DOM using JavaScript. The client used will be Mozilla Prism, and the server will be the Google App Engine.

Client

To simplify support, use of the Prism client will be recommended to new users, and a web client may not be all that necessary.

SVG is supported natively in the latest versions of Firefox, Safari, Opera. [1] Unfortunately, even prerelease versions of Microsoft Internet Explorer do not show signs of SVG support.

Server

The ideal choice as a server platform for this project is the Google App Engine.

Roadmap

Development of the program will take place in stages.

Sputnik - Experimental-series

The Sputnik-series is a series of experiments, as well as incremental improvements, pushing the boundaries and exploring new territory with each iteration of the program.

  • Sputnik-1: A cube's color values are randomized and a new cube is created.
  • Sputnik-2: Drag 'n' Drop implemented using code from an SVG-Whiz sample.
  • Sputnik-3: A grid is created using matrix transformations courtesy of the Sylvester JavaScript library. A toolbar and debug panel is also introduced. The debug panel uses text elements that can be written to as a more civilized debug output.
  • Sputnik-4: Using the color function of Sputnik-1, multiple blocks will be created, with a color picker as well as random colors. The grid will snap the blocks to its elements.
  • Sputnik-5: Blocks will be stackable by creating a new placement grid, then shifting the display order of the grids. The program will also be able to save and load states to/from the database courtesy of the Google App Engine. It will also implement a better UI, with the diagonal menu bars.
  • Sputnik-6: Objects will be consolidated using an algorithm that will create four isometric views of the model, then saved to the database.

Voskhod (Ascent) - Alpha

  • Floors/levels
  • Object/room scaling
  • Construction
  • Resource management, functional blocks

This version will not be public.

Soyuz (Union) - Beta

  • Vehicles

in the Soyuz-series (that's going to be the public beta) there will be an MMO element as well. People will be able to buy and sell their virtual creations. Soyuz will implement basic strategy functionality, such as resource gathering, transport, and processing, as well as some tactical stuff.

Vektornye (Vector) - 1.0 Release

  • Population, politics, commerce, economy
  • Social aspect

Mir (Peace) - 2.0 Release

  • Space vehicles
  • Return to Earth and subsequent remediation of oceans and land.

Music

For the time being, it will be necessary to call on a JavaScript-accessible Flash audio player.

Ultimately, the <audio> tag of the HTML5 specification will be used to play the soundtrack once the specification is finalized and implemented across the Firefox and Prism browsers.

Music by Holst or Khachaturian might be appropriate for this game, with the proper arrangement.

Game Premise

A cross between SimCity & SimTower, this game attempts to allow a player to create and simulate a thriving self-sustaining community within the confines of a vertical structure-- an Edifice-class Colony.

Setting

A brutal war over resources and politics escalated to put into motion a collective global war machine, relentless in pursuing mutually-assured destruction. In the year 2099, we, as the remaining survivors of humanity, look down to Earth from our geostationary SkyHaven to face the aftermath of our reckless destruction. We have destroyed over 90% of the earth's surface in a war using biological, nanotechnological, and nuclear weapons. A task force has been organized across the remaining SkyHavens to land upon the planet below in order to put right our transgressions against our planet.

Extended Setting

The war began through a single act of terror. Whether it was purely ideological, or the first shot fired by proxy, is a moot point by now. It started in a landfill, of all places. Overtaking the city of Denver, this indigenous enemy spread faster than we could respond-- faster than we could even think. We sent firefighters, for goodness sake. By the time we used the bomb, it was already too late. Hot on the heels of our mushroom clouds, the nanotech quickly adapted and multiplied, fed by our folly. By the time it had spread to Albuquerque, the world had learned of our mistake, and... The rest is history.

Environments

Each setting will have two different technological progressions, and a crowning achievement for either. Crowning achievements will be based on population goals (such as in SimCity) as well as evaluated goals (such as in SimTower).

In version 1.0 of this project, the following environments will be available to the player to construct their community.

  • Sprawling Suburbs -- Demolish existing, aging tract housing in desperate need of the green architecture only you can provide.
    • Scenario Challenges: As the player expands construction horizontally, they will find sites such as industrial complexes that will require remediation, else your environmental score drops. This will necessitate the development of new technologies that are unlocked only as you expand and meet goals.
    • Crowning Achievement: Botanic Gardens (organic), or Cathedral (minerals)
  • Ocean Platform (Seastead) - Assemble ocean platforms that are either mobile (benefiting tourism) or stationary (benefiting industry).
    • Scenario Challenges: Being based on the sea, it will be expensive to import materials, as well as having to build certain support structures as tethers to limit movement, or systems to promote movement.
    • Crowning Achievement: Space Elevator (stationary) or Airport (mobile)
  • Mars Dome -- A dome habitat for
    • Scenario Challenges:
    • Crowning Achievement: Crater Dome (enormous dome extending the full diameter of the crater)

Martian terrain will be represented

Economy

  • Desirability -- The higher you build your tower, a modifier comes into play for height.

Ecosystem

  • Carbon Sequestration and Environmental Remediation
  • Clean & Renewable Energy Economic Directive (CREED)
  • Renewable Energy -- Many varieties of solar power can provide heating and electricity.
  • Renewable Materials
    • Inspectors will evaluate all aspects of your community

Resources

  • Surrounding tower area will can be 'zoned' for production of resources. Resources include:
    • Algae (on water or in ponds) - Produces organic raw materials such as hydrocarbons and polymers.
    • Garbage & E-Waste imported from other regions to be decomposed into component materials and reused in construction
    • Processing of surrounding mineral features through various methods, including automatic low-impact drilling; also, thermal vents, when located on the ocean
  • Roads and other zone infrastructure automatically constructed; the player needs to concern themselves only with zoning-- what's built. Some structures enhance the output of others, such as a source of carbon that can be piped to an algae farm.

Population

A simulated population will have various statistics that can be monitored on an individual basis, as well as in a demographic overview.

As in the game Tropico, simulated individuals will have certain ideological priorities. Individuals will be attracted to certain aspects of your tower. A list of some of these ideologies:

  • Environment - Democracy, Terraforming/Remediation, and Conservation are emphasized
  • Production - Communism, Manufacturing, and Productivity are emphasized
  • Commerce - Capitalism, Tourism, and Efficiency are emphasized

None of these ideologies conflict, and can be implemented in various combinations. while others compliment each other. It is possible to have a combination of socialized services in a capital-based system established with democratic organizational responsiveness. It is possible to remediate the surrounding environment into parks for tourists, and produce products for those tourists. It is possible to produce as much as is necessary for the population, while not making excess, and do this in an optimized manner.

Of course, it may be desirous to focus on only one set of ideologies to make a more focused tower, which, in the same vein as SimCity Societies, will develop its own character, including that of graphics sprites as well as the appearance of individuals.

There is no global setting for these ideologies. Instead, they are governed by the player's actions in construction.

Social Gameplay

The player begins the game by creating an Engineer from the headquarters of the EDIFICE

Players will have the choice of starting locations. Initially players will only be able to play on land, however, they can choose whether they want to be further away from other players, thus benefiting industry & expansion, or choose to form a more social aspect to benefit commerce & cooperation.

Organization

Name

Originally, this project grew out of the EDIFICE proposal, which was meant to be a SimTower clone, with a special twist; the player would build an environmentally-aware, self-contained structure.

The actual name of this project will be determined at some later time, however, some possible candidates:

  • Solar Symphony / SolarSym (www.solarsym.com)
  • Planet ... something

Domain

To be determined, dependent upon the name of the project.

Software License

The license will be GNU GPL and distributed under a Google Code repository. This means that if a third party changes our code, they must make their code available. It doesn't mean that we cannot make an income, however, either by running the software as a service to the players (to be charged monthly), or by the marketplace model.

Items in the marketplace are not open source, but instead are copyright to their players. Money made even through player-made items goes to the company, however, as the player is compensated with market credits.

Credits

  • Alex Trujillo - Chief Designer
  • Giulio Bai - Technical Consultant