Java game development

From Got Opinion Wiki
Jump to navigation Jump to search

My Java game development notes.


Getting started

libgdx forum

Some libgdx games

Economics in games

I've always had an interest in games that have a realistic feel to them. A game's economic system is just one part of that experience. A great economic system can make games more interactive. I want to create immersive environments for players where players can make a difference.

I ran across an article titled BazaarBot an Open Source Economics Engine with a link to a LARC technical report entitled Emergent Economies for Role Playing Games (EE4RPGs) that basically outlines a basic free-market system. I found the EE4RPGs paper interesting and decided to write a pure Java implementation with EE4RPGs as a guide.

My game economic engine (EE)

My initial design thoughts

  • Use EE4RPG as a basic guide
  • Write a pure Java implementation
  • Very low computational footprint
  • Multi-threaded or "thread safe"
  • Agents can be separated by time/distance
  • Agents within a market have access to instant communications
  • Support 1+n markets
  • I'd like to support two types of agent life cycle, one is perpetual (never dying) and one is dynamic (agents can be created/eliminated)

After stand alone testing of the EE I would like to do more extensive testing. Maybe I will drop EE into a large chunk of space then I'll design a system of handling transportation of goods/services (commodities) in space. Initially I thought of using a Earthly-based simulation but why limit myself to one galactic object known as Earth? So a "space hauling simulation" sounds like a good test bed.

My initial design thoughts on the space hauling simulation

  • Write pure Java implementation
  • dedicated server option
  • 1+n client/player support
  • Create a freight market (basically a bulletin board showing all open commodities to be shipped, accepted on contract basis)
    • open commodity shows
      • buyer basic information (at least name, maybe some other data like political/economic affiliations)
      • buyer location of commodity drop-off basic information (at least address, maybe security level of destination or other tidbits)
      • buyer contract offer (transportation price)
      • distance between pick-up and drop-off (shortest route, maybe option for shortest/safest)
      • seller location of commodity pick-up basic information (at least address, maybe other tidbits)
      • any other detail that facilitate the acceptance of hauling contracts
  • Create freight haulers (freight space ships)
  • Create freight companies (collection of many freight haulers)
  • Create pilots
    • pilots are human / alien
    • pilots age, have personalities, change over time, morale, lifestyles, eating habits, and many other factors
  • Create a pilot market (basically a bulletin board showing all pilots for hire)
  • Easy option to enable logging to disk of game data for export
    • support export data to text in HTML or SQL.
    • support export of a player pilot
    • support export of a player freight hauler
    • support export of a player freight company
  • random space events
  • add immersive relationship model
  • add space positioning system for system addressing
  • create randomly generated galaxies (seed based to share those cool galaxies) full of space objects
  • add ship to ship combat
  • add customization of ships
  • add leader boards (different metrics)
  • add retirement options (game ends voluntarily by player or retirement age addressed)
  • add RPG elements (pilots grow and age)

That's my initial thoughts, with family and other priorities let me see how far I can get on spare time here and there.