The GuilleAcoustic's Game Design thread

Discussion in 'Concepts and Ideations' started by GuilleAcoustic, Feb 2, 2016.

?

Usefulness of in-game mini-games

  1. Cards games

    0 vote(s)
    0.0%
  2. Dices games

    0 vote(s)
    0.0%
  3. Board games

    0 vote(s)
    0.0%
  4. Collectible trading card game

    2 vote(s)
    66.7%
  5. No thanks

    1 vote(s)
    33.3%
Multiple votes are allowed.
  1. GuilleAcoustic

    GuilleAcoustic Chief Procrastination Officer
    Thread Starter Moderator LOSIAS

    #1 GuilleAcoustic, Feb 2, 2016
    Last edited: Feb 2, 2016
    [​IMG]
    Description:

    This is an ambitious project that involves programming (distributed computing, IA, web) and chassis building (chassis, electronics). Below are its 3 main parts:
    • µTopia
    • Tower of God
    • Domain of God
    [To be writen]

    µTopia:


    Well, first of all, this must be read microTopia but using the greek character µ makes it look more like Utopia.

    What is µTopia ?

    µTopia is a persistent autonomous world. Autonomous is the way that you can't control any of its inhabitant, could they be children, women, dragons, etc. They will live their own live and make their own choice.

    What makes it special ?

    µTopia is a digital world housed on a cluster. The aim is to enable heterogenous architecture, could it be ARM, x86, MIPS, etc. Once started, the world will evolve on its own, civilizations will grow or disappear, there will be transactions or wars between cities.

    What's my role ?

    You are a God, and as such you can affect the world itself. Casting disasters or granting your benediction to your beloved people. Maybe a Hero will arise somewhere and you'll have to design his/her stats and skills.

    Features:
    • Real weather from forecast services
    • Expandable and heterogenous architecture
    • Web UI to manage your world
    • You're a God and will be given the same power
    Tower of God:

    µTopia is the digital part of the project. As mention, it will work on a cluster that will itself need a dress.

    Why this name ?

    You are a God and deserves a nice place to live in. People who know me also know how much I do love monolithic chassis design: Monolith + house = Tower. Tower of God is the name I choosed for the cluster chassis.

    Won't it be too big ?


    I'm aiming at pico-ITX size motherboard. Ther are plenty of choice in this form foactor (x86, ARM, etc.) and will give a great size / performance ratio. Anything below pico-ITX will fit too (Raspberry, Odroid, Jaguar, Pine64, etc.).

    Features:
    • up to 8x pico-ITX nodes
    • Built-in non-interruptble power supply unit
    • Built-in 8x gigabit switch
    Domain of God:

    As mentioned, everything will be accessible from a Web UI (world status, detailed status, godly events, etc.) This is your place, the domain of a god !
     
  2. iFreilicht

    iFreilicht FlexATX Authority

    Interesting idea, do you have any plans what kind of language to program the backend in and what sort of style you'll be pursuing for the UI? Or is this all in really early concept phase?
     
  3. GuilleAcoustic

    GuilleAcoustic Chief Procrastination Officer
    Thread Starter Moderator LOSIAS

    Thanks a lot. Backend will be C++, as this is my language of choice. Thinking about LUA or Python for scripting.

    While the idea of the distributed "game of life" is not new, the UI is a very early concept and features like "Heroes", "God" and RPG rules are less than 24h old. I was going for text mode only at the beginning, like an advanced game of life, but thought it could go way further.

    Posting things here helps me to keep motivation high while having feedbacks. I increased my RAM recently to create a virtual cluster until the I have Tower of God running.
     
  4. Soul_Est

    Soul_Est SFF Guru
    Silver Supporter

    This is quite interesting. Have you also considered using Erlang or Elixir as well for the backend?
     
  5. GuilleAcoustic

    GuilleAcoustic Chief Procrastination Officer
    Thread Starter Moderator LOSIAS

    #5 GuilleAcoustic, Jul 28, 2016
    Last edited: Aug 15, 2016
    A Voxel Story

    Sorry for the lack of updates, had serious health issues and lacked time for that.

    A new idea matured and merged with the utopia project.

    This is my very first try at mind map and I have no knowlede about it:

    [​IMG]

    As you can see, there's 2 game genres:
    • Sandbox
    • Role Playing Game
    Sandbox:

    The game takes place in Voxel world, each voxel having sub-levels of details that allow:
    • Carving and inlays
    • Sculpture
    • Finest details (trees, particles)
    You'll be exploring this randomly generated world, gathering materials to then craft tools or build your house.

    Unlike Minecraft, this won't be based on big cubed. Being able to sudivide big voxels can lead to awesome graphics.

    The following pictured are ones I found on Google, they are the proprietary of their respective owners:

    [​IMG]
    (From the MonumentValley game)

    [​IMG]
    (Unknown source)

    [​IMG]
    (Unknown source)

    [​IMG]
    (Unknown source)

    Mining & crafting:

    About mining, instead of harvesting cudes, you gather fragment.

    A fragment is the smallest size a voxel can be. You can then use a machine to fuse those fragments into tools, fabric, materials, etc. Kinds like a 3D printer.

    Trading / vending:

    I'd love a real trading system, unlike what Minecraft and the likes provides.

    Engineering:

    The feature is something I have in mind ever since I used redstone in MC.

    Imagine you could house a full logic (logic gates, compators, timers, etc) inside a box, connect sensors (light, movement, buttons) to its input and actuators (led, motor, piston) to its output.

    Now imagine you could use gears, pistons, chains etc ... What would you built ? Transport ? Traps ?

    Roleplaying game:

    I'd like to had an RPG part to this game through different mechanics:
    • Attributes
    • Skills (passive and active)
    • A strong emphasis on mythologies
    • A coherent bestiary
    • Cults & religions
    • NPC
    • Quests
    The NPC serve several purpose:
    • Vendors
    • Quests
    • Mercenaries
    • You can employ them
    Fighting:

    Fighting will be based upon RPG rules using your attributes.

    You can use different type of weapons:
    • Mêlée: sword, axe, pole weapon
    • Ranged: bow, crossbow, javeljavelins
    • Spells: fireball, etc.
    Let's talk about our enemies now:
    • Lone monsters
    • Hordes
    • Mythical creature
    • Chimaera
    • Bounty hunters
    I'd like tto make a dumb-mobs less game. I wish I could see monsters attacking me with a strategy, ambushing me, feeling than be hunted.

    Environment:

    The environment will have the following features:
    • Biomes, each of them with their own fauna and flora.
    • Day & night cycles, maybe it'll have effects on people or animals.
    • Weather like rain, snow, sand storm, etc.
    • Constructions, like village, dungeons or lost civilizations.
    Something I'd love would be a constantly evolving world. Climates could change, NPC could be decimated by a Troll.

    That would, of course, only concerns area that have been discovered.

    Technical stuff:

    The whole code MUST be modular and extensible.

    Heavy use of threads when possible.

    Scripting:
    • Artificial intelligence
    • Rules
    • Events
    Renderer will be:
    • No texture
    • Ambiant occlusion
    • Global illumination
    • Radiosity
    • Particles
    Beside the renderer, the following eengines are planned:
    • Fluid dynamics (water and gaz)
    • Neutonian mechanics
    • Electronic basics
    AI or engine instance could be offloaded to remote machines:
    • An RPi driving an horde of Trolls
    • An RPi cluster computing weather
    This is where I'm at the moment. Typing it on a phone is a nightmare, but I wanted to share this with you.

    Hope you like it.

    Edit: I'm opened to any comments, positive or not, as long as it is constructive.

    By the way, I thought I could call it "A Voxel Story"
     
    Colinreay, NRG, Phuncz and 2 others like this.
  6. GuilleAcoustic

    GuilleAcoustic Chief Procrastination Officer
    Thread Starter Moderator LOSIAS

    #6 GuilleAcoustic, Jul 29, 2016
    Last edited: Jul 31, 2016
    Updates:

    I'm going for a daily update, as it forces me to move forward.

    This thread will live until I reach a stable state. Then I'll make a more professional dedicated thread.

    Please feel free to make any argumented comments, positive or not, as it helps me to improve myself.

    Mindmap:

    For those interested, I'm using the paid version of SimpleMind on Android. The free one is great but I needed the export feature. It works on Android, iOS, Windows and OSX (a single licence for all versions) : Simple Mind

    [​IMG]
    Note: Please excuse this poor map, still a rookie.

    World data server

    This is the core of the game. It stores the world data and send them to the clients or engines.

    Engines

    Engines are responsible of all calculations. They can run on the Data server or on a dedicated machine (x86, ARM, etc).

    Engines list:
    • Fluids dynamics (water, gas, etc)
    • Newtonian mechanics
    • Engineering
    • Weather
    Fluids and Newtonian speak for themselves.

    Engineering

    I've always been frustrated by redstone limitations in Minecraft.

    What I'd like is a real engineering system:
    • Binary logic (logic gates)
    • Wiring
    • Sensors
    • Actuators (piston, pump, gears)
    • Coding
    Coding ? Yup, coding, in-game scripting capabilities !

    Weather engine

    The weather engine will compute climates, which affects biomes accordingly:
    • Air stream (cold and hot)
    • Rain, snow, fog, tempests
    • Humidity, moisture, dryness
    Game mechanisms

    This is the game master. You might find treasure or you shall not pass !

    Rules will be coded using scripting languages (python, lua, etc)

    Note: I mentioned RPG and skills in the previous post. I'll explain this in details later, but their will be a world history generator.

    Been a classic paper & dices RPG player as well as a Warhammer game master for 20 years. Time to put that experience to fruition!

    Clients

    Player will enjoy the game thanks to a client, which will receive data from the "World data server" and send information's to it (actions, etc).

    Artificial intelligence ... Through a client ? Yes, that's no typo ! As I envision it, you could run an headless client to manage villagers, enemies, NPCs, transports & machines. That king of client can run on the data server or on a dedicated host.

    This is an attempt to release some load from the data server. This is also a good opportunity to reuse all your Raspberries that are lying here and there.

    The server would also keep living while you're away, maybe a village will have its inhabitants turned into zombies because you were too lazy to repair the fortifications.

    AI will be coded using scripting languages (python, lua, etc)
     
    Colinreay and Phuncz like this.
  7. NRG

    NRG Cable-Tie Ninja

    I'm going to have to re-read this again, but from my light skim, Safe to say you've perked my interest :)
     
  8. GuilleAcoustic

    GuilleAcoustic Chief Procrastination Officer
    Thread Starter Moderator LOSIAS

    Thanks, I'm honoured :)

    Note: Little title change...

    I renamed this thread into "The GuilleAcoustic's Game Design thread" as this is more accurate.
     
  9. GuilleAcoustic

    GuilleAcoustic Chief Procrastination Officer
    Thread Starter Moderator LOSIAS

    Update: Been working on AI

    [​IMG]

    Non-playable characters

    Note: This applies to villagers, allies and ennemies.

    In addition to the basic scripted AI, I'd like to implement the following features...

    Programmable:

    By programmable, I mean in a graphical way.

    Note: This is solely for allies like mercenaries, but in a way is the basis behind the scripted AI.

    Imagine boxes and triggers that you could connect the way you want to program the way you allies work:
    • Target supportive ennemies first
    • Do no use ice on fire type monster
    • Cover me when HP < 10%
    This, of course, in not available on unique characters. Those will have their own intelligence.

    Commandement :

    This applies to organised groups only, allies or ennemies.

    The leader of a group can give order to its troups. This works the same than the "programmable" feature, it overwrites the scripted AI with new rules depending on the situation.

    Troups under the influence of "commandement" will have penalties once its leader has been killed.

    Machine learning:

    This is quite a big one, but in my opinion an AI should be able to learn. For example, it could analyse your attack pattern and foresee your attacks if you repeat them too much.

    Engineering

    Machinery:

    This is the mechanics engine mostly, responsible of gears, sensors, motors, pistons, etc.

    It should be able to work for some of them even when the players are not close (e.g: transportations)

    Electronics:

    Just like we have mechanics, we have electronics, the purpose is the same. This is based on an engine but could be loaded as an AI (e.g: traps)

    Programmable:

    Again, similar to the two above but with in-game programmation.

    Ultimately, the three of them could be combined in a single system.
     
    Soul_Est and Phuncz like this.
  10. GuilleAcoustic

    GuilleAcoustic Chief Procrastination Officer
    Thread Starter Moderator LOSIAS

    Update: Massive revamp of the original midmap

    [​IMG]

    Sandbox

    Only addition is the building system that will allow to make structure models (stairs, columns, roof, house, etc), then have a slave / drone build it.

    Roleplaying

    I'm adding the advanced rules here. This will impact how silent you are when hunting / spying, how talented you are when doing artisanat, how fast you swim / climb, etc.

    Alse adding alignment. You are neither good or evil, only your actions will reflect your personnality. Alignment will influence how you interact with others.

    Acts in accordance to your god rules and you may have a bonus. Act against them and you may be punished.

    Universe

    Added mythologies, religions and background story.

    Background story is a randomly generated history of the world. It does include lost civilizations.

    Mythologies are based on our ancient myth (Nordics, Gilgamesh, Egyptians, Mayans, etc). Each civilization is based on a mythology. This will influence buildings, monsters, etc.

    Religions affects people actions. They are not based on current religions.

    Software architecture (unchanged)

    Still the same modular, cross-platform, distributed and scriptable approach.

    Artificial intelligence (unchanged)

    Simulation engines (unchanged)



    I'd also like everyone's opinion on possible mini-games. Do you think it is a good idea to add ingame mini-games ?

    What I have in mind:
    • Card games
    • Dices games
    • Board games
    • Collectible trading card game
     
  11. GuilleAcoustic

    GuilleAcoustic Chief Procrastination Officer
    Thread Starter Moderator LOSIAS

    #11 GuilleAcoustic, Aug 15, 2016
    Last edited: Aug 15, 2016
    Update: last update before the prototype.

    Here is what I'm considering for the prototype:
    • Data server (basic)
    • Client with renderer (basic)
    • No engine
    • Artificial intelligence (basic)
    • Multiplayer (basic)
    The data server will generate the world from a well known 3d math formula, thus I can easily verify that the data received are ok.

    The client will use an old graphic engine I started just before my first daughter's birth ... Never finished it of course. The camera model works though, which is all I need at this step.

    A basic AI will be added as a second step, only following the player at a slower speed.

    Multiplayer as a last step to validate that the server can send data to several clients.

    No engines nor world edition at this stage.

    All connections are made over SSH.

    This is the last post about A Voxel Story in this thread. I'll create a dedicated thread once the prototype can be showed. This thread is just a game ideas dump of mine, lol.

    Important: can you please answer to the poll ? Thanks.

    Note: my rendering engine was called Valhal engine, in reference to the Valhalla. It was supposed to power a Nordics mythology based RPG.

    In memory of that, and this it is quite the good match, Yggdrasil the Tree World will become the official logo of this project. A pixatex version of it with a classic JRPG style...

    [​IMG]

    [​IMG]
     
    Soul_Est, Aibohphobia and Phuncz like this.
  12. GuilleAcoustic

    GuilleAcoustic Chief Procrastination Officer
    Thread Starter Moderator LOSIAS

    @Soul_Est Nim pointed me to an awesone Zelda 3D voxel art. That illustrates very well what a voxel RPG could look like and especially the fact that Textures are not needed: (free 8-bits voxel editors ...https://ephtracy.github.io/)

    via Sketchfab

    [/QUOTE]
     
    Phuncz, iFreilicht and robbee like this.
  13. robbee

    robbee Airflow Optimizer
    Silver Supporter

    I agree! With the right shading, it looks beautiful. The examples on that github are really nice as well!