yoav-zibin / gamebuilder Goto Github PK
View Code? Open in Web Editor NEWGameBuilder
GameBuilder
In the latest update and as discussed in the class, GameBuilder does not display images for boards and pieces to save bandwidth. It was harder to create specs this way. User experience could be improved if we could show all the images again. One solution is to cache images. Professor also discussed another solution where we will save lower resolution images in firebase specifically for this purpose.
In some places, we are calling firebase for queries even before determining whether the user is logged in or not. Use auth's onAuthStateChanged event to determine whether the user is logged in (check if (user)
), and then only start calling firebase.
Currently GameBuilder only allows to upload images one at a time. Some games have quite a lot pieces and thus its very time consuming to upload dozens of pieces one by one. Adding feature to select multiple images and upload them with a single click would greatly improve user experience.
Hi,
I wanted to modified the games I created before.
Unfortunately it didn't allow me to do that.
Then I tried an alternative way to solve the problem by creating a new game.
But the GameBuilder is not working.
With the amount of data that is there in the firebase DB, I am currently making changes to restrict the images shown only to my uploads. Bring back rest of the dropdown menu filters like standard toggleable etc. by implementing lazy loading. This will require implementing pagination with firebase.
It is very easy to mess up the spec when manually editing the spec. As, we have the test spec feature, we should remove manually edit spec section.
This is a direct solution for #25. Currently, everything is loaded in one go (all of the images, all of the board images, elements are loaded at componentDidMount for some elements). This is not ideal as the data is huge. Fetch only what is needed and on demand not before. This will help in showing images also as there won't be memory bloats.
For example: The steps for creating games with toggleable pieces, and these toggleable pieces should be part of piecesDeck:
As user is performing same action again and again, user experience can be improved if above steps can be combined in some way. (Don't have any solution in my mind yet)
At lot of places there is code which doesn't have usage anywhere. Preferably use chrome devtools Memory screenshots to find these left over hanging JS heap variables. This will help in recovering some memory and fix memory issues.
Instead of get an image data from all images sections and loading all of that in memory, instead uses Promise.all to get image data for each element.
This has to be majorly refactored in case when we fetch user uploads for elements. We need to remove all of the dependencies on all images and use only necessary stuff.
As a game designer
I would like to submit a game spec
But an issue within the GameBuilder is preventing me from uploading my spec.
Steps to reproduce:
What is supposed to happen
The spec should be successfully loaded into firebase
What actually happens
The UI presents with a simple error message, "unable to load spec"
Looking into console logs, it is a permission denied error - usually the result of some part of the request not adhering to one of the firebase rules.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.