Discuss Scratch

SansStudios
Scratcher
1000+ posts

❃ Metacognitive — An RPG [Closed :( ]

Metacognitive

A upcoming large RPG game built in Scratch.

Links

Story
You wake up to a ransacked cottage with no memory. You soon learn that your memories have been stolen by “The Idem”, a powerful group that strives for world domination. As you travel from town to town searching for your memories, you meet unique people who join you on your journey.

Why?
I love scratch! I've used this site for the past 8 years (not on this account), and I want to make one final culminating project. However, while I am pretty good at coding (I'm also humble), I am not the best at writing expansive stories or making good art. That's why I'm opening up this project to the scratch community that I've been a part of for so long!

Last edited by SansStudios (Jan. 7, 2024 23:23:56)


scratchcloud
Click above to check it out! I've worked on it for over a year!























Just like sudden sadness comes hangin' on the breeze
SansStudios
Scratcher
1000+ posts

❃ Metacognitive — An RPG [Closed :( ]

Involvement

All tasks in this collaboration will be managed via ScratchTasks. To join the collaboration, you can apply for of the following roles!
Picking a specific role does not lock you to tasks specific to that role.

Coder: Code the engines, backends, and APIs!

[No more coders needed, all applications will be denied. Please apply for something else!]

Prerequisites:
  • Have a basic understanding of all base scratch blocks.
  • Have a good understanding of custom blocks and recursion.
  • Understand the difference between “Pass by Value” and “Pass by Reference”.
Application Additions:
  • Link a project that shows your understanding of scratch.

SFX/Music Producer: Make some sick beats or sounds!

Prerequisites:
  • Understanding of any DAW
  • Experience with exporting audio to scratch
  • Experience with non-chiptune music (if applying for music producer; there will be no chiptune music in this project)
Application Additions:
  • What DAW do you use?

Artist: Craft some beautiful and stunning artwork!

Prerequisites:
  • None
Application Additions:
  • What types of sprites are you best/worst at drawing? Can be a category (ex. “people” or “trees”) or can be a part of the process (ex. “shading” or “movement”)
  • Link a piece that best describes/shows off your specialties.

Writer: Fill out the story and write dialogue!

Prerequisites:
  • Creativity
Application Additions:
  • What previous projects have you written for?
  • Link a piece that shows your best writing.

Application Form:
  • Position you want:
  • Hours on scratch per week*:
  • Favorite RPG game*:
  • What are your alts*:
  • Preferred pronouns*:
  • Do you meet the prerequisites for your position:
  • What makes you qualified for this role:
  • Why do you want to join this collaboration:
    + any role-specific questions.
Fields marked with * are optional and don't have to be answered.

Last edited by SansStudios (Aug. 1, 2022 17:25:54)


scratchcloud
Click above to check it out! I've worked on it for over a year!























Just like sudden sadness comes hangin' on the breeze
SansStudios
Scratcher
1000+ posts

❃ Metacognitive — An RPG [Closed :( ]

Future Logistic Goals / Project Guidelines

Code:
  • Top down built on my Static Tile Engine
  • Turn based battle system utilizing JSON
  • Storyline Tree API
  • “Event flag”-based coding
  • Object manager

Art:
  • Pixel-art style
  • Cutscenes
  • Battle animations

Storyline:
  • Main story with normal and symbolic meaning
  • Character story trees
  • Optional character quest-lines / side stories

Audio:
  • Loopable music with central lofi-hiphop feel
  • SFX! Lots and lots of sfx.
  • No voicelines.

Last edited by SansStudios (July 3, 2022 23:06:38)


scratchcloud
Click above to check it out! I've worked on it for over a year!























Just like sudden sadness comes hangin' on the breeze
SansStudios
Scratcher
1000+ posts

❃ Metacognitive — An RPG [Closed :( ]

Roles


Executive Roles:
  • Project Director: Makes executive decisions about what the final project looks like.
  • Artistic Director: Makes all decisions relating to art, animations, and project aesthetics.
  • Game Designer: Makes decisions on game mechanics, gimmicks, and balancing.

Member Roles:
  • Coder: Codes different tasks throughout the project.
  • SFX/Music Producer: Produces different sfx, music, and uploads audio.
  • Artist: Creates sprites, tilesets, and art for the project.
  • Writer: Expands the story, creates character dialogue, and writes scripts for the project.

Other Roles:
  • Contributor: Added something to the project without being a member.
  • Bug Finder: Found a bug in the project.
  • Game Design Consultant: Comes up with game mechanics, gimmicks, and balancing.

Credits


  • Project Director: SansStudios
  • Artistic Director: bluedragon8633
  • Game Designer: DurdleT

  • Coders: ACE_Software, BrodBlox09

Last edited by SansStudios (Dec. 17, 2022 03:34:21)


scratchcloud
Click above to check it out! I've worked on it for over a year!























Just like sudden sadness comes hangin' on the breeze
SansStudios
Scratcher
1000+ posts

❃ Metacognitive — An RPG [Closed :( ]

Last edited by SansStudios (July 4, 2022 00:27:16)


scratchcloud
Click above to check it out! I've worked on it for over a year!























Just like sudden sadness comes hangin' on the breeze
SansStudios
Scratcher
1000+ posts

❃ Metacognitive — An RPG [Closed :( ]

bump

scratchcloud
Click above to check it out! I've worked on it for over a year!























Just like sudden sadness comes hangin' on the breeze
SansStudios
Scratcher
1000+ posts

❃ Metacognitive — An RPG [Closed :( ]

bump

scratchcloud
Click above to check it out! I've worked on it for over a year!























Just like sudden sadness comes hangin' on the breeze
ACE_Software
Scratcher
46 posts

❃ Metacognitive — An RPG [Closed :( ]

Position you want: Coder
Hours on scratch per week*: Prob 5-10
Favorite RPG game*: The Legend of Zelda
What are your alts*: 7j45_2 is my dead account
Preferred pronouns*: He/Him
Do you meet the prerequisites for your position: Yes
What makes you qualified for this role: https://scratch.mit.edu/projects/596180584/

Hi, I am ACE_Software and I make engines and stuff.
Currently working on an RPG named Metacognitive.
Check it out or else >: )
SansStudios
Scratcher
1000+ posts

❃ Metacognitive — An RPG [Closed :( ]

ACE_Software wrote:

Application

Accepted. Welcome to the team!

To start off, check out the Role Guidelines project! This will be helpful to understanding how this collaboration works, and how to normalize your code for collaborating.

After that, you can select a task via ScratchTasks. There was a bug in the ScratchTasks project, but it's back up, and you should be able to select a task or two!

If you don't know where to start, a good starting task is the animation engine! Other tasks like the Object Engine and Battle Engine require a pretty good understanding of the tile engine we're using, but if you want to work on those, feel free to give it a try!


scratchcloud
Click above to check it out! I've worked on it for over a year!























Just like sudden sadness comes hangin' on the breeze
ACE_Software
Scratcher
46 posts

❃ Metacognitive — An RPG [Closed :( ]

Will the text be pixel art or vector?

Hi, I am ACE_Software and I make engines and stuff.
Currently working on an RPG named Metacognitive.
Check it out or else >: )
SansStudios
Scratcher
1000+ posts

❃ Metacognitive — An RPG [Closed :( ]

ACE_Software wrote:

Will the text be pixel art or vector?

All art will be pixel. If you want to know more about art, feel free to ask bluedragon8633 about it.

scratchcloud
Click above to check it out! I've worked on it for over a year!























Just like sudden sadness comes hangin' on the breeze
SansStudios
Scratcher
1000+ posts

❃ Metacognitive — An RPG [Closed :( ]

Instead of bumping the topic, from now on, I'm just going to update on what I've been doing. Feel free to do this if you're a collaborator!

I've finished the base version of the object engine, which will allow clones to appear on the map. These clones can be used as individual tiles, props (objects that take up multiple tiles), effects, or even npcs! The object engine uses a feature called “tags”—each clone (or object) is declared with unique tags. There are two types of tags: standalone and keyword. Standalone tags are simple words that can have meaning. For example, if an object has the “visible” tag, it will show up on the screen. Keyword tags allow for specific values. For instance, the size tag can have any value, and that value defines how large a sprite is! These different “tags” are similar to subclasses in object oriented programming—each tag modifies how the object acts without having to rewrite a lot of code.

I'm going to start working on the GUI for making and deleting objects next

scratchcloud
Click above to check it out! I've worked on it for over a year!























Just like sudden sadness comes hangin' on the breeze
SansStudios
Scratcher
1000+ posts

❃ Metacognitive — An RPG [Closed :( ]

Update:

I've been working on concepts for the battle engine with DurdleT, the game designer for this project. So far, we have come up with a battle system that is turn based, but based on a collective. You try to take down the opponents “collective” before they can take down yours. While nothing is finalized, this should allow for battles to be more planning-focused, hopefully rewarding players for understanding both the game's mechanics and how each individual party member contributes to the team.

Also, I've been working on the GUI for objects. Since tags are the main component of objects, I've been trying to come up with a easily-understandable way of reading and writing tags, and unfortunately, it seems like I'm going to have to resort to showing a scratch list Hopefully I can come up with something better than that, but it might not be worth the effort.

That's the update for now

If you're interested in joining this collaboration, please fill out a application form! They can be found in the Involvement section of this post.

scratchcloud
Click above to check it out! I've worked on it for over a year!























Just like sudden sadness comes hangin' on the breeze
SansStudios
Scratcher
1000+ posts

❃ Metacognitive — An RPG [Closed :( ]

Another Update / Bump:

I'm still working on the Object GUI. Contrary to the tile engine, objects are stored dynamically. This means that there isn't any stacked list format (that would require iterating through the whole object list to retrieve a single object). Instead, chunk references are used to only search a specific chunk for objects to render. This ends up making search times up to 180x faster!

In the battle system design, DurdleT and I have come up with a very early concept! DurdleT may have a flowchart that shows how the battle system could work soon! I'm not going to spoil much, but the system is super modular, and your team builds “thoughts” to attack!

That's my update for now

If you're interested in joining this collaboration, please fill out a application form! They can be found in the Involvement section of this post.

scratchcloud
Click above to check it out! I've worked on it for over a year!























Just like sudden sadness comes hangin' on the breeze
SansStudios
Scratcher
1000+ posts

❃ Metacognitive — An RPG [Closed :( ]

Update/Bump:

I finished the object gui! It isn't as nice as the tile gui, but it works The GUI has 3 modes: Place, Select, and Tag. Tag mode lets you assign and remove tags from your object. If you want to make your object hidden, you could add the “hidden” tag here. Select mode lets you copy and delete other objects. Place mode lets you place different objects around the map. All objects have a unique ID, and if your object has an ID that already exists, the GUI will ask you if you want to change the ID, or just use a number extension. You can check out the GUI here.

The GUI was about 1,000 blocks. I'm not sure if I'll work on text engine BBCode or JSON serialization next, but there will be another update tomorrow!

scratchcloud
Click above to check it out! I've worked on it for over a year!























Just like sudden sadness comes hangin' on the breeze
SansStudios
Scratcher
1000+ posts

❃ Metacognitive — An RPG [Closed :( ]

Update/Bump:

I implemented both JSON serialization and BBCode in the text engine!

JSON serialization turns all of the objects into saveable JSON. This is nice because it makes it super easy to collaborate on building objects with other people. The JSON format looks like this:
"objects": [
    {
      "id": "king rock",
      "tags": "costume=rocks2,direction=90,solid",
      "x": 21,
      "y": 25
    },

BBCODE!!! I added a simple tag-editor to the text engine. I also added the tags, [u], [s], [color], [bright], and for fun, [spin]. Adding tags is super easy, as the text engine decompiles BBCode to a scratch list. Unlike the forums, I've also added backslash “\” as an escape character, so typing \[ will allow you to write square brackets. Check out the BBCode engine here.

scratchcloud
Click above to check it out! I've worked on it for over a year!























Just like sudden sadness comes hangin' on the breeze
SansStudios
Scratcher
1000+ posts

❃ Metacognitive — An RPG [Closed :( ]

Update/Bump:

Hey! This is a pretty big one. I've finished the design and interface for creating… (drum roll here) … dialogue trees! Dialogue trees are how this project will store interactions with NPCs.

If you don't know what a dialogue tree is, it's basically how you map out possible responses to a conversation. Its how any text-adventure game works, if you've played any of those. Metacognitive's dialogue trees are stored in JSON, and use individual “nodes”, so any node can reference another one. This lets you have multiple nodes referencing the same one, or lets nodes further from the root node reference earlier nodes. Here's a snippet of the JSON:

{
  "current node": "root",
  "nodes": [
    {
      "id": "root",
      "text": "A very large turtle approaches.",
      "speaker": "",
      "responses": [
        {
          "text": "Run Away!",
          "send": "runaway",
          "conditions": ""
        },
        {
          "text": "Become besties!",
          "send": "besties",
          "conditions": ""
        }
      ],
      "x": -9,
      "y": 138
    },
  ]
}

In the above node, the text “A very large turtle approaches.” would show up first, and you would have the options of “Run Away!” and “Become besties!”

You can also build these dialogue trees using Dialogue Tree Interface.

Eventually, I'll (or someone else will) make it so that you can import interactions (completed dialogue trees) into the main project, and then we'll be able to do more stuff with character interactions! This will hopefully make prototyping really fast for our (nonexistent-please apply) writers!

If you're interested in joining this collaboration, please fill out a application form! They can be found in the Involvement section of this post.

scratchcloud
Click above to check it out! I've worked on it for over a year!























Just like sudden sadness comes hangin' on the breeze
SansStudios
Scratcher
1000+ posts

❃ Metacognitive — An RPG [Closed :( ]

UPDATE + BUMP

New update: dialogue trees are now in the main project! But first:

New tags! Objects can now use the “ghost” and “interactable”. Ghost sets the ghost (duh), interactable makes the objects say “Z” when the player looks at them. There is also one new text engine tag, “ghost”, which is self explanatory.

Now for the cool part—dialogue is now in the main engine! By assigning the dialogue tag, and adding a dialogue interaction in the dialogue sprite, you can now easily trigger conversations! I've added a nice temporary UI, but eventually the text boxes will be pixel art. Also, every option you have has a nice animation when it enters the screen. To trigger dialogue, simply interact (Z) with an object with the dialogue tag! Try it here: https://scratch.mit.edu/projects/710338812

Another cool thing: We have a new member! rudie_rudeboy is a friend of mine who will be doing a lot of music and possibly SFX for this project. They've already made two (amazing) lofi songs, and I'm looking forward to what they make next! We may release some of their music on here later

Thanks for reading this update (if you read these lol).
If you're interested in joining this collaboration, please fill out a application form! They can be found in the Involvement section of this post.

scratchcloud
Click above to check it out! I've worked on it for over a year!























Just like sudden sadness comes hangin' on the breeze
SansStudios
Scratcher
1000+ posts

❃ Metacognitive — An RPG [Closed :( ]

Update / Bump:

Persistent dialogue! If you talk to an NPC, they'll only repeat their last bit of information when you talk to them for a second or third time. You can also change this to repeat ANY node of dialogue, and these dialogue points will be saved.

I've started to implement a memory system. This system will store data that's relevant to the current game, like game flags, inventory, or dialogue node locations. It's similar to RAM in a computer. By relying on this system, there is a bit more overhead code, but saving games because SO SO easy—just save the memory data and load that.

Here's the demo of the persistent dialogue: https://scratch.mit.edu/projects/716989190/

If you're interested in joining this collaboration, please fill out a application form! They can be found in the Involvement section of this post.

scratchcloud
Click above to check it out! I've worked on it for over a year!























Just like sudden sadness comes hangin' on the breeze
BrodBlox09
Scratcher
100+ posts

❃ Metacognitive — An RPG [Closed :( ]

Position you want: Coder
Hours on scratch per week*: Don't know but each day I am on for at least one hour
Favorite RPG game*:
What are your alts*: Don't have any
Preferred pronouns*: He/Him
Do you meet the prerequisites for your position: Yes
What makes you qualified for this role: https://scratch.mit.edu/projects/716153153/

when green flag clicked
set [you v] to (username)
set [12 years v] to (((((60) * (60)) * (24)) * (365)) * (12))
set [Emotion v] to [Neutral]
wait until (you) is born :: control
wait (12 years) secs
forever
if <[Followers v] contains (you) ?> then
set [Emotion v] to [Happy]
else
set [Emotion v] to [Sad]
end
end

Powered by DjangoBB