over budget
Littlecube Valley (game project)
Current Project Status
Unfunded
Amount
Received
$0
Amount
Requested
$50,000
Percentage
Received
0.00%
Solution

Create meaningful single-player experiences with stories that live on a persistent virtual world, storing historical events on blockchain.

Problem

Virtual worlds such as Metaverses can often be lonely and boring, lacking a meaningful single-player experience with daily user engagement.

Addresses Challenge
Feasibility
Auditability

Team

1 member

Littlecube Valley (game project)

The solution we propose is an adaptation of a concept developed back in 2009 by Bart Stewart, known as The "Living World" Game [1]. This concept explores the blending of single-player RPG experiences inside a persistent virtual world that is commonly found in massively multiplayer online RPGs.

Simulations in a Living World

Our solution will use a simulation of a living world, where the game world will be dynamic and can change due to the passage of time. Settlements of various civilisations could rise, grow and become prosperous over time due to immigration and colonisation. These settlements could also fall due to factors such as disease, famine and war. Non-player characters and creatures will live and die, their behaviours can change and shape the game environment.

These dynamic and persistent game worlds will live and develop regardless of the actions of the player. Players will get to explore the game world and identify non-player characters from which they will form emotional connections with. While players will be able to change small portions of the game environment from which they interact with, the game system will adapt to the changes and rebalance the environment, replacing any content that had been previously depleted by a player.

The game project will be focused on using a medieval fantasy theme with magic, so there will be some limitations in the living world, where medieval age civilisations will not progress into the renaissance or industrial ages. The reason will be attributed to the existence of magic. Hence, the game solution itself is also a sandbox.

Our solution will also require extensive simulation capabilities to be built into our tools, before committing to the game server. These include macro-level physical phenomena such as continents and tectonics, landforms and oceans, lakes and rivers, weather and climate, day and night cycles, populations of flora/fauna and other physical geography.

The ecological simulation will also involve the lives, movement and reproduction of the living entities in the game world. Plants and animals will vary throughout the land and any changes in their habitat conditions may force them to migrate into another region. Humanoid populations will do likewise in search for food and water supplies.

A localised simulation for a settlement would involve construction of new buildings, occupation by the owners and releasing the gameplay content associated with them. Likewise, certain events may occur and some buildings may be burnt down or abandoned, even when no players are active around that area.

The social simulation would involve the opinions of the people residing in these settlements. The people living in one settlement may view other settlements differently, even if they are of the same faction. This can be escalated to larger settlements and between factions themselves, where it would also become possible to model other large-scale economic, military and cultural behaviours.

Storytelling with NFTs

Once there is sufficient simulation infrastructure, it will become possible to add complex storytelling into the game system, where many players will be able to discover and participate. The progress of the stories can possibly affect the physical and social structures of the game and the players, even if they are not participating in them.

Players who participate in major storylines will be rewarded with NFTs that record these historical events with their associated artwork. These NFTs will be used as an entry requirement for priority access to subsequent or upcoming story events.

Hence, our audience will be the players whom prefer games that have simulation, exploration and storytelling similar to those that are found in single-player games. The integration of the persistent world will allow such living world games to be played for years and the blockchain helps to store the history of the events of the game world that the players have participated.

This will be highly memorable for these players and they could show their NFT achievements on their social media. Players can return to the game at any time and feel a sense of belonging.

Players will also not be impacted by the negative experiences found in MMORPGs, such as griefing, cyberbullying and harassment as the game content for a living world game, is focused on single-player experiences.

References:

[1] The "Living World" Game, Bart Stewart, 2009

<https://www.gamedeveloper.com/design/the-quot-living-world-quot-game>

Our proposed solution addresses the challenge by focusing on user acquisition, engagement and retention. These will be the factors in determining whether players choose the Cardano blockchain as their preferred blockchain for gaming.

User Acquisition, Engagement and Retention

User acquisition can be easily done through the sale of NFT-artworks on jpg.store. Our project is aiming to launch our first NFT collection on jpg.store's launchpad for an upcoming cohort. Marketing of the NFT collection will be coordinated with the team at jpg.store.

Prospective players need to collect at least one NFT-artwork in order to gain access into the game world. These NFT-artworks will be in the form of profile-pictures, which depict two characters and a pet animal.

User engagement can be achieved through players participating in the storyline content. We can measure the engagement by analysing the participation and completion rates. The amount of rewards distributed and the number of minted NFT-events for storyline completion are other indicators for user engagement.

User retention can be achieved using a high quality graphics rendering solution such as realtime raytracing, which allows the players to have a sense of pleasure. The image attached to this proposal is a cottage scene that is rendered in Magicavoxel using path-tracing. That illustrates our visual concept of what it should look like under real-time raytracing conditions.

Platforms and Devices

Unfortunately, not all players have the necessary graphics hardware or devices that can run realtime raytracing solutions. In order to allow these players to run the application successfully with good performance, we will also have to identify existing graphical solutions that can approximate features of global illumination, such as precomputed radiance transfer (spherical harmonic lighting).

The game application will be implemented on mobile platforms(iOS & Android) first before porting over to desktop platforms. This is because our current infrastructure and applications are currently built for mobile(iOS). We use the mobile platform as a baseline implementation, before porting the application over to desktop platforms(PC & Mac).

Usage of NFTs

Our solution will use Cardano-based NFTs for additional authentication into the game server, so only investors in our NFT-artworks will have access into the game world.

The NFT-artworks we intend to create include world & regional maps that are to be generated from our procedural world map generation tool. This can be used to determine which game world the player wants to participate in and it can also be used to unlock access to specific storyline content that is related to the map.

Another category of our NFT-artworks is character professions, which will allow players to access a range of character skills and specific content that are related to the profession as specified in the NFT's metadata.

Since there is limited supply of these NFT-artworks, players will be able to trade them on the NFT-marketplace if they want to change their access to a different world/region or change their character profession or simply resell them to another buyer who wants to play the game.

With respect to the event-based NFTs that we mentioned earlier, these are for recording historical storyline events onto the blockchain, so they will not be sold directly on the NFT-marketplaces.

As mentioned before, these NFTs will be used as a prerequisite for access to subsequent or upcoming story events.

In order to differentiate with Metaverses which commonly allow land ownership using NFTs, we can allow ownership in the form of mercantile licenses using NFTs. This is because the game project uses a medieval fantasy theme where the nobility owns the land, similar to medieval history in our real-world.

Play-to-Earn

With regards to play-to-earn features, we will use only one deflationary fungible token that has a limited supply, that allows for staking and voting. In order to encourage players to invest in the fungible token, we can incentive it using staking rewards, dependent on the level of their NFT-characters.

These fungible tokens will be issued as rewards for major storyline completions. A fixed supply of these tokens will only be issued as rewards for a particular storyline and they will be rewarded to players who own specific NFT-characters. The fungible tokens are also used for unlocking premium character professions and to level-up the NFT-characters.

One of the main challenges is that our project is currently a solo project that is a work-in-progress. Development progress tends to be much slower when there is a lack of manpower. Furthermore, our project tends to be research-oriented and certain parts of our solution requires extensive reading of existing scientific literature. The project also require extreme programming with regards to the implementation of certain unique concepts that are not found in existing pre-bundled game engines.

To mitigate this problem, we can search among the numerous open-source projects and frameworks that focus on specific algorithms that we may require implementation. We can research on how the solutions from these projects are implemented and how we can integrate them into our own game engine. This will help to eliminate the reliance on specific manpower expertise for those areas.

Analyse Existing Projects & Literature

Next, we can also look at other projects that are not open-source and obtain some valuable information from their research blogs, such as the procedural generation of fantasy maps in Dragons Abound by Dr Scott Turner.

We can also obtain other valuable information from existing scientific literature found in books, such as GPU GEMS, GPU PRO, Graphics Gems, Game Programming Gems, AI Wisdom and others.

After that, we can also look at how other indie game projects have implemented their solutions, such as Cube World by Dr Wolfram von Funck. And its related open-source project known as Veloren.

Client-Server Networking

Another challenge is that our existing knowledge starts with Computer Science & Computer Graphics as opposed to Networking. So we will have to spend a considerable amount of time researching how server-client networking is being implemented for a persistent virtual world.

We can start from looking at existing frameworks that implement networking protocols such as Agones and Yojimbo. We will also need to setup and run a dedicated game server using Kubernetes from Digital Ocean. There will be an associated cost of running a persistent virtual world. Hosting on Digital Ocean seems to offer the lowest operational cost.

We can also research on how Veloren organises its networking solution for their server-client architecture, since their project is open-source.

Financial Resources & Sustainability

With regard to financial resources, a common challenge is raising sufficient capital over time in order to sustain the company's operational costs. To address this problem, we have identified that selling NFT-artworks will also be able to provide some amount of capital in Ada. As mentioned earlier, we will be aiming to launch our NFT-artworks on jpg.store's launchpad in one of their cohorts.

We intend to combine the revenue obtained from the sales of the NFT-artworks with the grant money from Project Catalyst and stake them together in one of the stake pools. The reason is that this strategy is more sustainable for the long term for indie projects as opposed to spend it all on manpower resources at one go.

We will also be able to launch subsequent NFT-artworks on jpg.store with an existing art collector base once the first collection is sold out. So we will get to accumulate Ada and increase the size of our stake in the pool over time. We will only do this in incremental phases.

The rewards from the staking will be used to pay the company's yearly operational costs and the Goods & Services Tax (Singapore) at 7%, which will be incurred from the sales of NFTs should the total sales revenue reach $1 million Singapore dollars within a 12-month period. Hence, we have to account for the taxes first before manpower costs.

Music

Another challenge is that the game project will require music. We will have to make use of music tracks with non-exclusive licenses first, before engaging a music production company to produce exclusive music tracks for the game project.

Interoperability

Lastly, the game project will also require a Haskell-Swift interoperability bridge. We will be searching for this functionality in the open-source community as well.

Main deliverables are the game server application for persistent virtual world and the game client application on mobile(iOS). Other outputs include tools for procedural world-map generation with cascades, living world simulation and storyline generation.

The timeline is about 20 months, between April 2022 and November 2023.

Procedural World Map Generation Tool (4 months)

  • Base layer of world map generation has been completed and documented on the development blog.
  • Improve current implementation of Centroidal Voronoi Tessellation using Lloyd's algorithm and for different sized maps.
  • Upgrade solution for cascading purposes, reuse and refine algorithms developed from previous cascading solution.
  • Procedural generation of base layer of world map at various cascade levels.
  • Procedural generation of major civilisations and their histories with location names and descriptions.
  • Procedural generation of remaining civilisations and other points of interests.
  • Add miniature models that represent landforms, forests, settlements, map-border and other points of interest at various cascade levels.
  • Allow navigation for each point of interest on the world map from the user-interface.
  • Examine the scaling of various civilisations and their region of influence.
  • Optional graphics improvements such as ambient occlusion and soft shadow volumes.
  • Export world-map data for use in server & client applications.

Living World Simulation & Story Generation Tool (5 months)

  • Research existing Artificial Intelligence & Machine Learning algorithms.
  • Implement and run simulation solutions for various cascade levels.
  • Develop a storyline generation solution based on results of simulation.
  • Export simulation algorithms for use in server application.
  • Physical simulation: tectonics & volcanoes, landforms & oceans, lakes & rivers, weather & climate
  • Nature simulation: forests, wetlands, trees & plants, land & sea animals, fantasy creatures
  • Civilisation simulation: nations & governments, cities & settlements, diplomacy & relationships, economy & trade, deities & religion, military & magic, immigration & exodus, settlers & colonisation
  • Settlement simulation: local council/government & guilds, population & demographics, reproduction & death, agriculture & production, construction & expansion, commerce & trade, health & disease, day/night cycles
  • Society simulation: non-player characters, personalities & behaviours, occupations & skills, needs & survival, opinions & thoughts
  • Economic simulation: commerce & businesses, guilds & merchants, inter-city trade, trade routes
  • Military simulation: militia & protection, territorial control & expansion, armies & war, schools of magic, wizardry & magnocracy
  • Cultural simulation: society & behaviour, society & religion, society & magic, lifestyle & fashion

Server-Client Networking & Blockchain Research (3 months)

  • Read and understand networking literature.
  • Explore and do unit tests on Yojimbo network protocol throughly.
  • Explore the usage of Agones framework in relation to Yojimbo protocol.
  • Explore how to setup email 2FA authentication.
  • Learn Haskell programming and search for Haskell-Swift interoperability solution.
  • Explore how to connect with Cardano-based wallets and search for NFTs.

Game Server Application (2 months)

  • Use Agones & Yojimbo frameworks and setup dedicated server hosting by Digital Ocean.
  • Setup standard authentication using email 2FA and NFT authentication.
  • Player management and connection.
  • Import world-map data and setup simulation algorithms for small section of game world.
  • Run simulation solution and process all server-only entities.
  • Send & receive messages and process client-connected entities.
  • Perform server-side gameplay processes.

Game Client Application (3 months)

  • Start from previously completed procedural grass generation solution.
  • Setup authentication with game server using email and NFTs.
  • Setup Yojimbo networking protocol. Send and receive data from game server.
  • Import world-map data and art assets.
  • Setup character controller and allow character customisation.
  • Load all chunk entities implicitly based on data from server and world-map.
  • Perform client-side gameplay processes.
  • Update procedural grass generation solution.
  • Setup any additional client-based procedural generation solution.
  • Optional graphics improvements such as ambient occlusion, soft shadow volumes and spherical harmonic lighting.

Art Assets & Animation (3 months)

  • Character art assets with animation
  • Animals & creatures art assets with animation
  • Building art assets
  • Environment art assets
  • World-map art assets

Manpower cost per month: US$2500

Number of months of development: 20

Number of hours per week: >60

Hourly rate: US$10.42

Total budget: US$50,000

Name: Edwin Zeng

Career: Research & Development Engineer

Skills: Computer Science, Computer Graphics, Computational Geometry, Artificial Intelligence, Machine Learning

Roles: Game Engine Technology & Development, Voxel Art Design & Animation

Twitter: https://twitter.com/doogyhatts

<u>Past Research & Development</u>

Procedural World Map Generation, Oct 2021

Summary:

This is the current state of our procedural world-map generation tool and it is a revision of a prior solution, based on the accumulation of previous research efforts.

The solution uses Centroidal Voronoi Tessellation. It simulates tectonic plates to generate continents and oceans. It classifies landforms from mountains to plains. It also simulates real-world attributes such as latitude, drainage, wind forces, temperature, moisture and rainfall. It also classifies biomes for land, wetland and water and determines the salinities of lakes.

The solution also features a river generation system that uses a modified A* search solution and K-means clustering for river sources and destinations. Next, the solution uses machine learning based on decision trees for classifying voxel tiles to simulate river meandering and braiding. The voxel tiles also allow the river generation solution to establish their connections to the oceans and lakes. This solution also achieves the implicit generation of river deltas and estuaries with landmass fragmentation near the rivers.

After that, the solution uses decision trees to classify the shorelines of coastal regions, beaches and lakes for jaggedness and the transition from shallow seawater regions to deep ocean regions. The solution also uses a similar classification to make jagged borders between different neighbouring biomes.

Blogpost:

<https://www.littlecubevalley.com/single-post/procedural-world-map-generation-revised-1>

Video:

<https://www.youtube.com/watch?v=wS4jiExlTyU>

Procedural Voxel Grass Generation, July 2020

Summary:

This is the current state of our client application with no dependency on a game server, which is meant for demonstrating procedural grass generation using voxels with character animation and grass deformation.

The solution first establishes different types of soil based on the land biome, with the appropriate material colours. The soil patches have been jagged along the borders of different soil types for better transitions.

Next, grass patches have different groups for representing their density and height and are used in conjunction with drainage and moisture attributes of the soil. The grass models are precomputed with varying combinations of densities and heights within each group to establish their growth stages. The health state of the grass is also modelled on the colour of the grass patches and it is being used in conjunction with the height to determine the type of the grass.

The grass solution simulates grass growth by starting from large connected flat regions due to better anchorage of grass rhizomes. It also segregates grass types from those with protruding blades and those that are of surface height. The borders of different grass patches are also being jagged similarly to how it is done for soil.

A flood-filling solution is used to fill up the grass regions with the appropriate voxel tiles and using its connectivity to larger prior tiles as an additional criterion. The grass models have also been precomputed with shorter heights to represent trampled grass. These are used for deformation purposes when a character is stepping on them.

Lastly, the solution uses precomputed ambient occlusion for the grass models, with additional quad-fins to be generated along vertical surfaces alongside the contours of coarse voxels. All coloured and ambient occlusion models are auto-generated using a custom-built mesh assembly tool during pre-processing.

Blogpost:

<https://www.littlecubevalley.com/single-post/2020/07/07/procedural-voxel-grass-generation-and-game-engine-updates>

Video:

<https://www.youtube.com/watch?v=RlL5ogHdFBw>

Procedurally Cascade Rivers and Biomes, August 2018

Cascaded World Maps & River Network, April 2019

Summary:

These were the first two attempts at procedural world map generation with a river network and map cascading. The inspirations were primarily from Dwarf Fortress.

Initially, the solution started with a standard Voronoi cell network with continents derived from simple shapes with jagged borders. The rivers were being generated from an earlier A* search solution. The elevation was derived from a pixel-based height map before being updated to one that uses Voronoi cells directly. The climate attributes used were similar to those used in Dwarf Fortress and were used to determine the different land, wetland and water biomes that make up the world map.

The map cascades were done in a quarterly manner into a quad-tree. The cascading solution is first done on land, wetland and water regions before the river network. River lines from the parent network were propagated into the child network. After that new river lines are created.

The second attempt improves the classification for aquifers and added river widths, branching and flow directions. The solution was improved to include multi-sampling of rivers. The elevation within each map was also updated to use a min-max range for each Voronoi cell.

A simpler height field generation system based on repeated iterations of averaging and scaling with precomputed terrain geometry and constructive solid geometry techniques to form the local terrain topology.

Kindly note that the cascading, local terrain topology and aquifer solutions will be reworked eventually to remove redundancies and improve simplicity.

Blogposts:

<https://www.littlecubevalley.com/single-post/2018/08/27/procedurally-cascaded-rivers-and-biomes>

<https://www.littlecubevalley.com/single-post/2019/04/02/major-update-on-world-map-rivers-and-elevation-generation-and-character-animations>

Cascaded Map Images:

<https://imgur.com/a/T4ezzPb>

We will measure the progress and the development of our game project using our research and development blog.

Alternatively, we can also make use of concept art and make increment development steps towards getting the overall development progress closer to them.

For example, we can aim to have player characters living in small villages with day/night cycles when the client application is ready for testing.

<https://cdnb.artstation.com/p/assets/images/images/045/632/841/large/edwin-zeng-cottage-garden-01-exp10.jpg?1643181071>

<https://cdna.artstation.com/p/assets/images/images/045/847/144/large/edwin-zeng-cottage-garden-07-exp45.jpg?1643684412>

Success for this game project can be viewed by the completion of a vertical slice, which will allow our community and investors in our NFT-artworks to have a sufficient understanding of the features and functionalities of our game, which is based on the concept of a "Living World".

Another way to define success is to simply determine if the project has sufficient features and functionalities to be able to satisfy the project's description.

Littlecube Valley is an under-development voxel-based sandbox-RPG, set in a medieval fantasy-based living world, made of many colourful little cubes. Players get to explore a magical world that is full of life, procedurally generated, filled with civilisations and wilderness, adorable characters, perilous adventures and dangerous monsters.

This is my first proposal.

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00