Java game development
My Java game development notes.
libgdx
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
- open commodity shows
- 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.