Coder Social home page Coder Social logo

shards-examples's People

Contributors

ccfontes avatar chelseachx avatar guusw avatar kryptos-fr avatar satendrapalsingh avatar shahfragcolor avatar vantemoon avatar yttruire avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

shards-examples's Issues

Review Processing Tutorial

  • Go through a few Processing tutorials and analyze how they were written
  • View some Processing video tutorials
  • Write thoughts down in Google Docs

Shards primer - write the sections

Pitch
As a game creator new to Fragcolor, I want to learn how to program in Shards so that I may be able to write my own Shards scripts for use in my game projects.

Sections - 6

  • Introduction - what is code, what is Shards
  • Elements of Shards - functions, shards, wires, and mesh
  • Anatomy of a Function - data flow, parameters, execution
  • Anatomy of shards - data flow, input/output, parameters
  • Manipulating data - operations on variables and data structures
  • Controlling the flow - overview of operations on wires

Appendices
Appendices have moved to issue #18

Fix incoming links

Following issues document the functions and shards covered in this primer:

  • #257 - Aliases and details for variable manipulation shards
  • #320 - Shards' types
  • #323 - Missing and pending Shards functions
  • #324 - Alias for Hashed, Await, Once
  • #260 - GFX shards

Rendered markdown with currently finished topics here.

Acceptance criteria
A beginner-friendly getting-started guide for programming with Shards (language primer).

3rd Draft of the "Shards Flow" Chapter

  • Refine the chapter based on feedback given
  • Try to make the examples less complicated while highlighting key points
  • Add in a segment for Branch and StepMany

Make the Snake tutorial easy enough to understand for beginner programmers

Pitch
As a beginner programmer, I want the Snake tutorial to be easy enough to follow, so that I may be able to work through the whole tutorial on my own.

Acceptance criteria

  • The language of the tutorial should be easy enough to be understood by beginner programmers
  • Complicated programming terms and techniques should be explained in beginner-friendly terms

Additional Context
Also use improvement notes/observations taken a few months back.

Update the README

Pitch
As a developer new to the Chainblocks-Examples repository, I want to quickly understand and set it up, so that I may start contributing if interested.

Acceptance criteria
Update this project repository's README file to satisfy the parent Epic's Acceptance Criteria, and additional criteria given below

Additional context
Refer to guidelines at Github, freeCodeCamp, Make a Readme, & Awesome READMEs.

Reworking the Shards Primer

  • Rework the primer so that it is friendly to those unfamiliar with coding
  • Focus on rewriting the introduction to Shards and ensure it conveys the idea of Shards clearly
  • Fix spelling and grammar mistakes

Msg Shard documentation should be updated to reflect its intention for only String rvalues

Describe the bug

Current documentation suggests that "The message to display can be passed to this shard either as a string or as a variable holding a value. In case a variable is passed the shard displays the variable's value.".

This is not intentional, and Msg should only accept rvalues and not variables nor arguments. The documentation should be updated to reflect accordingly once the behaviour of the Msg shard has been rectified

Markdown issues for code snippets in glod-game tutorial

  • Example of markdown issue in step 3.6:
image
  • Various markdown issues mainly from step 3 onwards.

  • Table of contents is broken for mainly step 5 onwards. E.g. Step 5.6 and 5.7 are missing in the Step 5 page.

  • Another example of markdown issue for code snippets (From step 6):

image

How to Build Shards Tutorial

  • Write 1st draft of how to build shards tutorial
  • Let Shar try to build it following tutorial
  • Work on comments/edits

Partial code is missing from the full code for the Glod game tutorial step 3.6

The following code should be added to the full code si far for step 3.6 of the Glod game tutorial.

(LoadTexture "GlodImages/Character1_Jumping_Left.png") = .character-jumping-left
(LoadTexture "GlodImages/Character1_Jumping_Right.png") = .character-jumping-right

3 (-> .character-direction
(Match [0 (-> .character-jumping-left (UI.Image :Scale (float2 0.2)))
1 (-> .character-jumping-right (UI.Image :Scale (float2 0.2)))]
:Passthrough false))

Planning of a UI-based game

  • [] Discuss with Nico to learn more about the UI shards
  • [] Plan a simple game that teaches the core UI shards and how to utilize them

Review Dreams Tutorials

  • Buy Dreams
  • Review the "Getting Started" and "Logic" tutorials
  • Create a Google Docs to consolidate thoughts

Inconsistency in assigned values in glod-game tutorial code

Issue 1: In step 4, the value of 310.0 is assigned at first, making the character appear in the middle of the game. A "floor", or boundary is later set at the bottom of the screen so that the character does not fall off the screen. This results in the character starting at the middle of the screen on an invisible platform, jumping, then landing at the bottom of the screen which is a bit odd. In step 5.4, this value is silently changed to 620.0. This value can just be 620.0 from the start
image

Issue 2: Values 50 and 5 are used for the damage limits.
image
They are then subsequently overwritten in the later part of the code to use a margin of 120 and 15.
image

Reviewing Current Materials

  • Review primer material (5 pages)
  • Review "How to build Shards" Tutorial
  • Review "Snake" Tutorial
  • create google docs to consolidate thoughts on material

Clean up grammar-errors and typos in the Snake tutorial

Pitch
As a programmer learning Chainblocks, I want the Snake tutorial to be free of any obvious grammar errors and typos, so that I may be able to easily follow the tutorial.

Acceptance criteria

  • There should be no obvious grammar errors or typos in the text of the tutorial
  • The language used in the tutorial should be simple and easy to understand

Inconsistent naming convention in code for glod-game tutorial

List may not be exhaustive

  • Step 4 uses .x and .y variables, where as Step 5 uses .X and .Y
  • LoadTexture is used in step 3 when the shard name is load-texture. In subsequent steps, the shard is then renamed to LoadTexture. All should use load-texture to keep to the naming convention (kebab-case)
  • Step 5 uses .score in one part of the tutorial, then uses .Score in another

Shards primer - write the appendices

Complete the Shards primer appendices.

Appendices - 3

  • Appendix A - Developer toolbox : code editor, loading scripts, hot reloading, code debugging, error-handling, unit testing
  • Appendix B - Handling multiple wires : WireRunner, Detach, Spawn, Wait, Branch, Pause, Start, Stop, Step etc.
  • Appendix C - Working with graphics: GUI/ Windows, GFX, Shaders, composable graphics rendering, etc

Additional Context
This issue is a continuation of the original Shards primer issue, #12

Create a Shards Game Tutorial

A Bishi-Bashi-like game to teach users about conditional sentences, arrays, showing images and variables.

  • Develop the barebones of the game
  • Meeting with Nico/Gio to check syntax for Shards
  • Write a tutorial for the making of it

Unable to compile full yes-no sample code due to calling wire with different input types

Inconsistency in the code for calling the end-round wire as well as the result of true > .input-received being a Bool output causes the first When shard depicted to have an input type of Bool whereas the second When shard has an input type of None, resulting in an error "Attempted to call an already composed wire with a different input type"

Note: WireBase::verifyAlreadyComposed in wires.cpp in Shards will have to be smarter in identifying wires that can ignore inputs and ignore differences in input types when called again after composition. Separate issue to be raised there

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.