I am making a parser that allows you to create:
a) Dialogue - parameters for storing text as reusable data and self-referencing such as accepting arguments ie. defining an image, description, value or token.
b) Lore - places, events, quests, npcs, resources, factions.
c) Map - defining locations, events, enemy spawning on a map (x, y)
For example you can define parameters that are associated with a place and defining vocabulary and possibly even auto-complete sentences as you are writing them to match 'locations', 'events', 'items'.
In all seriousness I'm half joking, but that seems to be the common thread, something that allows you to interpret a paragraph of text, and a location mentioned would be reference-able, etc.
So if you look up information about a place or event, only "known" information would be available, but different NPC's would have different levels of knowledge, etc. would be pretty interesting.
you would have to teach the game to parse the text language and commands, and code the associated behaviors. Your character's "perception" could directly influence the amount that you can observe, or your "intelligence" effects the amount of knowledge you remember or understand about the world. Also by interacting with an NPC, that NPC could learn about your backstory or personality type; that would also be interesting.
Well at a narrative level, what do we want to interact with to progress the story, what are the main things you would want to be doing when you can basically put in any command, what would be the purpose. if it's too complicated, any sort of advanced text processing obviously wouldn't be accomplished anytime soon; But attempts can be made at least. 😂
I would focus more on the commands that the player can use in game, such as navigation, inventory, combat systems and the tooling, ie describing syntax such as the descriptions of things: items, equipment, places, npcs, buildings, creatures, or skills, etc.
Yes i can spend days looking at MUDs and understanding them or i can just spend the time to do the less complex stuff for now. I intend to look more at MUDs, but I don't really have time to learn all there is to know about the medium. I would like to learn more about the creation tools on one hand, and design the tooling myself.
I don't mean the player will make the story, more like they are a part of it and they can dictate their role somewhat, which faction they join, what locations they prioritise going to, how much time has passed, a quest system that is not fetch quest oriented (task-based) but heavily focused on conflicts and decisions, that opens up as you become associated with factions or etc.
I want to create the tooling for map and world creation, such as organising locations, events, factions, npcs, quests, lore, history, etc.
I am making a multiplayer world yes, as in you can exist on the same co-ordinate space as another person, eventually i would like to have a fully immersive and evolving world where players can create their own content, but not initially. Your choices can influence your character's role as far as a chess piece on the board is concerned but not as much control over the world itself. You would also have questlines that evolve based on player interaction, and as the game world expands over time. These quests could also be influenced by the players feedback about the current game systems, and their choices in the game.
This will be done through patches or updates though, so i don't see this as happening anytime soon. More like I need to create the tooling and gameplay from a narrative perspective. This is to enable content creation to be easy to do yourself without coding.
The gameplay systems are important but not finalised until later, once basic navigation of the world and content creation is possible and in a ready state, ie enough of the world is built out.
Moderation is possible once a playerbase has been established though, you would need a committee to govern the world and determine the main plotlines, and anyone could join if they can prove they can contribute to the story efforts.
Let's say you and I are the co-creators of the story, you can have free rein over decisions and all you would need is for me to accept your contributions as the owner, but certain decisions could be agreed upon by the community. If it's something like a narrative storyline you may not want to reveal important information, so a lot of the decisions will be made within the core team that is building the world.
I am not going to code a text processor that can learn responses from players and invent new dialogue sequences upon activation of the awesome-super-ai-robot-crab-kaiju-monster-that-knows-all. The player is the 'character' once they've created their character name, beyond that if there is any customization that is determined through commands or ui, is initiated by the player. What they do beyond that is completely up to them, they can just everyday go from town to town and make gold and kill bandits or monsters (if they repopulated) or they can navigate their way to the capital city and join a faction that exists in that time period, some quests would be time limited from the point of character creation, from joining the faction or from the start of the time period (Act). It is essentially a sandbox world.
Maybe you own a particular world or land, you would have the last say to decide what gets added to the story and what isn't but that might be heavily directed by how players engage with that content and what you determine as the next "scenario" in that world. Some players might get left behind, some places might never get fully utilised but the world would always be evolving.
You would likely have a test server though, to add content and test new features but whenever you do an update or patch, it would update all the new content from the test server that's approved over to the main server.
The idea would be to speed up the creation process. You might make your own if you think the tooling suits your purposes but maybe you don't want to contribute or play my world for some reason, then you can do that. A small playerbase would not necessarily be a bad thing either for each game world and there could be limits to the scope of that world and the length of time required to complete it.
It has been a week since I began the development diary, and it makes me realize how much time is going to waste when we are not accountable to our plans and responsibilities.
So I am making a simple prototype, it's a text-based application that lets users connect with a temporary username and parse simple commands like 'chat [user]', 'where', 'rest', 'hunt [location]', 'attack [target]', 'defend, 'use [item] and 'go [direction]'.
It connects to a websocket server that maintains a list of active characters and stamina consumption that the player has used. Stamina regenerates at a rate of 1 per 15 minutes. Stamina is capped at 100. You can only generate stamina when you are connected. You will have to reconnect with a valid user key that will be given to you when your character is created.
I will discuss with some users to test out the features on Friday most likely.
At time I feel totally exhausted for seemingly no reason. I would like to say today was productive, but that wouldn't be honest of me. I am continuing to spice up the character a day challenge, but it's not something I can confidently go public with just yet.
I will learn about data read and writing in both Bevy and Rust tomorrow to get to grips with understanding the language. The idea would be to write an interpreter for bevy to process a dialogue script and rendering it as a user interface display in bevy. Because displaying this on command line will be easier this will be the initial direction.
Have a great week everyone!
When on the weekend I will still do little updates, these will be no more than 5 lines or a list of action items I will do over the following week.
I've started a character a day art + writing challenge.
Every day I will learn something new in rust, bevy or functional programming.
I will create an input system that manages and displays script files.
create an example project and talk about the process in a dev log.
downloadable test build released by Wednesday 23rd - Friday 25th.
I have created a Trello and Itch.io page for builds. Although there isn't much on there right now you can read about the game and download the demos as it's being developed.
🔥Here's the Itch project page so you can follow builds, development of MCXStack and metachained project for creating shared worlds👀 https://nanon.itch.io/mcxstack
Participating in #bevyjam next week and implement a dialogue system over the next few weeks to create a visual novel for #nanoreno
#bevy #crypto #gaming #github #mcxstack #programming #rust #anime #CreatorDay #rpg
Below is the development schedule.
Vertical Slice
Releasing an early demo to play testers is to showcase each of the games core features and aesthetics without the need to release a completed game. The idea is that the game should represent a finished product.
Weekly Sprints
Setting effective goals each sprint to allow positive and negative results to form early in the development pipeline. Sometimes tasks can take multiple weeks, in this case we should break up the task into smaller parts with the aim to complete at least one task per day.
Planning meeting
This is a session to review the development of the game and share ideas for the following sprint and is usually a longer session. This is a mandatory process as each team member will need to have a clear goal for what they want to achieve that sprint.
Daily stand up meeting
The team will meet every day to share what they have done and what they intend to do that day.
Review
Every week contributions will be reviewed based on playtesting and feedback. It is important to provide helpful feedback so that the team can make appropriate design choices.
Playable build
Every week a build of the game should be created and tested either on the last day of the week by the developers. Or every 2 weeks whenever there is a major update. This build of the game should be a vertical slice so that planning and related feedback can be actionable in the following sprint.
Public Testing
To maintain transparency and engagement with participants, a vertical slice should be released every 2 to 4 weeks. A playable version should be made available to the team every week.
Pre-Production
The early phase of development is a very creative process and it includes building tools or artistic concepts that will help speed up development later in development. It is worth mentioning that all suggested ideas, concepts and development will count towards their contributions.
Production
At this stage of development the design should be clear and the team will have decided to make cuts in the pre-production stage.
Post-Production
This will usually focus on quality of life changes, fixing bugs, implementing sound and improving the feel of the game before an upcoming deadline. It is important to pay attention to the things that are working and the things that aren’t as some cuts will still need to be made.
Marketing material and press release will also need to be prepared ahead of schedule to ensure the game is ready for release.
Today I had a meeting with my team to discuss the team's project (I can't talk about this here but it is very interesting) and to share our ideas with the team. Pitching is very uncomfortable and is not a very efficient or productive process. I discuss everyday with different people about my problems and how to solve them, and something like a development diary is much needed because I have such a backlog of stuff that needs to be organized. That's more or less how MCXStack came to be.
I want to be the guy that makes the problems go away with an eye for marketing and product design and express myself through code or art not words.
Register and monitor participation in playtesting
Earn Credibility
Weekly cyle and engagement
A model i created based on the marketing and sales funnel. The idea is to have a scale in which to judge an effective sales model and business strategy. It is partially based on performative development. An iconic development methodology used by Vlambear. See below.
Functional Programming in Games
Logic Programming in Games
Setup github on ubuntu
Github manual for Ubuntu
Bevy 0.6 update
Test SSH conneciton
https://askubuntu.com/questions/610940/ssh-connect-to-host-github-com-port-22-connection-refused
Git push
Undo git commit
Preface
MCXStack is a development library and API for player-driven real-time virtual worlds and creation of shared worlds on blockchain, a constantly evolving, dynamic and fun investment platform built for testing and deployment of maps, characters, stories and interactive narrative game worlds. It is maintained and built in the Rust programming language. Extensible with the Bevy Game Engine and Web Assembly GUI and optimized for portability, immutability and blockchain development.
Metachained Shards ($MCXS) is the universal currency for Metachained Stack development. It will be made available upon further testing. You can find out more at: What is Metachained Game Studio? and learn more about the ecosystem at Web Development in Django.
Purpose
Developing an application workflow for a smarter autonomous virtual economy.
Features
Github: https://github.com/Metachained-Game-Studio/MCXStack
Twitter: https://twitter.com/MCXStack
Instagram: https://www.instagram.com/sablefantasia/