top of page

Stonk Market Simulator

More Info

Game Summery

Stonk Market Simulator is a cookie clicker like idle game, with a stock market experience. The game features dynamic content inspired by real life market systems and consumer behaviours.

Design Goals

Modular systemic Game

I wanted to make the game modular and expandable, as such, I have implemented a data-driven system, with each portion having its own functionality. With a modular design, I can be flexible in changing different components and making it much clearer to debug. Having a clear pipeline also sped up the content creation process.

Game Loop

Akin to the real stock market, players earn an active income with a basic cookie clicker game loop, and players observe the news to look out for opportunities to invest in the stock market.

Menu Screens

Home Page

Displays all essential Infomation, as well as providing the cookie clicker Gameloop

Features:

- Scrolling News text akin to wall street

- Money Display

- Mining Bitecoin Button

- GPU upgrade button

- Market Holding

News Page

Displays all recent news infomation

Features:

- Articles with Headers and body

- Sorted by date

​

Colour coded news articles:

Red - Actual news

Blue - Speculation news

Grey - Filler news

Market page

Povides the player with an overview of the various companies.

Features:

- Companies split into Sectors

- Company price

- Company's daily growth perentage

- flashing indicators

Market Graphs

Displays the candle information of each of the company, and functions

Features:

- Daily candle graph 

- All time candle graphs

- Buying and selling selected stock

​

Design Choices:

Daily candles allow for players to see the day-to-day transactions and the immediate impact of news events, while all-time charts allow player to see the market movements and the

impact of their investments

Game Infrastructure

In order to produce a modular game, I needed systems working independently from one another and have system for generation has to be seperate from what is displayed. As such, I have divided the system into clear sections each with its own roles and responsibilities. Below is a pipeline for the game's event generation.

Generators

Generates news events with an impact on the stock market

A generator generates Event Templates that consists of both the news articles and the market effect.

Managers

Managers keep track of all the information, as well as controls the timing for their generators

The event template is then broken up into a market template and news template to be stored in the market manager, and news manager respectively.

Displays

Display all the latest infomation provided by the managers

The template data is then interpretated by the managers and further broken down into data that the displays are able to read from.

Company Behaviour

Companies are cornerstones of the stockmarket, with each company being part of a sector and specializing in a particular field. Sectors and specializations affect the type of news the company generates.

​

Companies have generation akin to personality traits, with variables determining the frequency and type of events generated. Example, Technology companies have more frequent company events, and have more likelihood of launching products, while retail companies have less frequent company events, and have a tendency for opening more outlets.

Events Generation

Events are displayed as news that the players can view, while also having an effect on the market. Each event affects the respective company but some events are capable of affecting market or sectors as a whole.

​

I wanted to create a self sustaining system that constantly checks and reacts with itself. As such the events are split into different categories. Real news, speuclation news and filler news. Real news serves to create events for speculation, and speculation news is corrected by the real news depending on it's accuracy achieving a loop that is self sufficient. Filler news serves to fill missing slots on slow news days.

Real News

Real news are objective timed events that happen at predictable intervals, real news has a LARGE influence on the price of the companies. Real events are marked in RED in the news canvas

Company news event

Company news events are real news generated by the respective companies 

​

The generation of company events depends on the innovation of the respective company; innovative companies have more frequent events.

​

Events can include: Product launches, Company Acquistions, and Expandtions of overseas outlets

Company earnings reports

Financial reports to report the state of the company, each company has an inherent valuation that is not affected by speculations.

​

Financial report serves to correct market speculations that are inaccurate.

Market Reports

Financial reports to report the health of the market, and is influenced by speculation as well as inherent market cycles.

Speculation News

Speculation news are generated by influencers, each with their own personality traits. Speculation news are marked in BLUE in the news canvas.

Influencer Generation

Each game, a set number of influencers is made, with different personalities and traits and amount of influence. The personality of the influencer affects the generation of the events. The names of the influencer will be randomised each game.

Each influencer (or Guru in the picture above) have traits to determine the frequency and reliability of their prediction, and the effectiveness of the event generated by the influencer is determined by their influence.

Each influencer will also have a diffrent type, which will determine the type of news the influencer generates.

Buiness Insiders(Guru) are usually trustworthy and predicts infrequently

Online Influencers (Online Guru) are highly untrustworthy and makes frequent predictions

Technology Insiders(Tech influencer) are wild cards in their predictions on the market.

Influencer event generation

Influencers function akin to a Utility AI where it takes into account the events of all the company’s events, to make a decision on which company to speculate on.

​

Each time a company has a company news event, the company goes up in relevance. Influencers pick a company event to speculate about with the relevance variable as weights. The Influencers are more likely to comment about companies with multiple different types of events. The more complex the event, the higher the impact of the speculation on the market.

​

​

​

​

​

​

​

​

​

​

The influencer will also speculate on the market as a whole with a fixed weight, influencers will speculate on the market if there are no relevant companies to speculate about.

Emergent Stories

Influencers’ speculation will have a real impact on the stock market’s health or the actual stock price IF accurate. Influencers’ speculations will not be felt until the next financial report. A example of a generation cycle of a prediction is as follows:

1) Company event announce a product launch

2) Influencer speculate on the stock in relation to the event, claiming the stock will go up.

3) Follow up earning reports proves speculation to be true.

Filler News

Filler News are inconsequential in the markets, and used to fill up news slots on slow news days.

I needed to generate alot of funny "The Onion News Network" like news articles to fill up news slots on days with little or no news, with the purpose of entertaining the players.

​

Filler news is generated using grammars, with each part of the news being made up of key words. A basic grammar structure allows for generation of infinitely more type of news. Each keyword in the sentence structure is replaced by a phrase according to the dictionary of phrases and 1 is picked randomly.

​

With this system, I could generate exponentially more content, and the random generation resulted in funny and unexpected results.

​

Generation structure:

POST MORTEM

Taking time to think and plan a sustainable system before adding content into the game was a blessing and was able to facilitate swift implementation of content. However a dynamic system is extremely time consuming and might not fit every project especially smaller scale projects.

​

No system is superior, each system have different usages and no specific form of generation would work everywhere, a mixture of personality based generation, utility AI, grammars and random generation was used throughout the project, and the way each of the different generation types interacting with each other created another layer of depth to the game.

- End -

Thank you for reading

bottom of page