Difference between revisions of "BeagleBoard/GSoC/2023 Proposal/MakecodePocketBeagle"

From eLinux.org
Jump to: navigation, search
(delete page)
(Tag: Blanking)
 
(32 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category: BeagleBoard]]
 
[[Category: GSoC]]
 
[[Category: GSoCProposal2023]]
 
  
= Makecode Arcade Target for PocketBeagle Gamepup=
 
''Student'': [https://elinux.org/User:Mrigankpawagi Mrigank Pawagi]<br>
 
''Mentors'': Vaishnav/Andrew Henderson/any other mentor<br>
 
''Code'': https://github.com/mrigankpawagi/repository<br>
 
''Wiki'': http://elinux.org/BeagleBoard/GSoC/2023_Proposal/MakecodePocketBeagle<br>
 
''GSoC'': [https://summerofcode.withgoogle.com/ GSoC entry]<br>
 
<div style="clear:both;"></div>
 
 
=Status=
 
This project is currently just a proposal.
 
 
=Proposal=
 
The pull request to my entry task can be accessed [https://github.com/jadonk/gsoc-application/pull/177 here]. This demonstrates my ability to cross-compile and test my compilation with QEMU.
 
 
==About Me==
 
''IRC'': mrigank<br>
 
''Github'': https://github.com/mrigankpawagi<br>
 
''School'': Indian Institute of Science, Bengaluru<br>
 
''Country'': India<br>
 
''Primary languages'': English, Hindi<br>
 
''Typical work hours'': 8AM-11PM IST (GMT+5:30)<be>
 
<br><br>
 
'''Why I want to participate in GSoC'''<br>
 
My first encounter with open source was with Google Code-In, where I got the opportunity to work with organisations like JBoss, Publiclab and Drupal. Not only did I develop the skill to write better code by understanding conventions and learning to write good comments, but also improved my skills to communicate with other developers through documentation. Most importantly, I learned to use git! These skills helped me for years to come, and made me realize that open-source development helps not only projects and organizations, but also assists the growth of individuals as developers. Recently, while learning about flaky tests, I scanned through the International Dataset of Flaky Tests (IDoFT) and using GitHub Actions, confirmed flaky tests in multiple over-source repositories with NonDex. I was also able to fix the flaky test in one of these projects (30 Seconds of Java 8). Google Summer of Code will give me the opportunity to continue my endeavors in the open-source space and continue to sharpen these skills which will benefit me for the entirety of my academic and professional career. In particular, I am highly interested in educational technology and have worked on several experimental projects to create interactive learning interfaces. I also received a grant from MIT Solv[ED] to explore the need and impact of such tools, with a focus on drag-and-drop interfaces like Makecode. The opportunity to work on one such tool myself by increasing access to PocketBeagle is truly exciting to me.
 
 
==About your project==
 
''Project name'':  Makecode Arcade Target for PocketBeagle Gamepup<br>
 
 
===Description===
 
Microsoft Makecode Arcade is a free game development environment that makes it possible for people who are new to coding, especially young students, to program games for the web and for handheld devices using a block-based programming interface. It also has an in-browser board simulator for running the game as one develops it. My project aims to develop and deploy a Makecode Arcade target for PocketBeagle boards with the Gamepup cape. This will make it easy for beginners to harness the power of PocketBeagle by making learning to code an enjoyable experience. Since Makecode Arcade allows sharing projects, tutorials, courses, etc. with everybody on the platform, PocketBeagle users will also be able to utilize these resources to their advantage as they get comfortable coding with the board. I will also create some demonstrations and tutorials to help people get started with Gamepup on Arcade.
 
<br><br>
 
I will use TypeScript/JavaScript to create support for PocketBeagle Gamepup in Arcade, which is essentially based on PXT. I will be using BoneScript to send commands to the UF2 daemon running on the board to program it. I also plan to create specialized Arcade blocks for the board to perform advanced tasks related to multiplayer capabilities, game currency, etc. 
 
 
===Timeline===
 
 
{| class="wikitable"
 
|-
 
!width="100pt"| Date
 
! Plan
 
|-
 
| Mar 24 || Applications open, I register with GSoC, work on proposal with mentors.
 
|-
 
| Apr 4 || Proposal complete, submitted.
 
|-
 
| May 4 || Proposal accepted or rejected.
 
|-
 
| May 28 || Community bonding, reading up on documentation, building repositories and ensuring my environment is properly set up, reading up on topics I am unfamiliar with, setting up meeting timings with my mentor, getting feedback on the project's concept from the Beagle community.
 
|-
 
| May 29 || Coding begins.
 
|-
 
| Jun 5 || Creating support for GPIO. Adding specialised blocks for components like pushbuttons, switches, LEDs, and LED matrices.
 
|-
 
| Jun 12 || Create specialised blocks for some sensors: force, light, distance.
 
|-
 
| Jun 19 || Complete work from previous two weeks. Create documentation and some tutorials (videos or write-ups) for all features added so far.
 
|-
 
| Jun 26 || End-semester examinations at University. Add support for motors, servo motors, and dials.
 
|-
 
| Jul 3 || Continue work from previous week. Add support for real-time I/O.
 
|-
 
| Jul 10 || Create more documentation and tutorials. Test, ask for feedback, and iterate.
 
|-
 
| Jul 14 || Midterm evaluation submitted.
 
|-
 
| Jul 24 || Integration with Gamepup cape buttons.
 
|-
 
| Jul 31 || Brainstorm additional features (like multiplayer capabilities, etc.). Start working on these.
 
|-
 
| Aug 7 || Continue working on additional features.
 
|-
 
| Aug 14 || Complete work on additional features, and start creating documentation and tutorials.
 
|-
 
| Aug 21 || Testing, feedback and iteration.
 
|-
 
| Aug 28 || Final work product submission
 
|}
 
 
I will be open to extending the deadline if the project goals demand so.
 
 
===Experience and approach===
 
In 5-15 sentences, convince us you will be able to successfully complete your project in the timeline you have described.
 
 
===Contingency===
 
What will you do if you get stuck on your project and your mentor isn’t around?
 
 
===Benefit===
 
If successfully completed, what will its impact be on the BeagleBoard.org community? Include quotes from BeagleBoard.org community members who can be found on http://beagleboard.org/discuss and http://bbb.io/gsocchat.
 
 
==Misc==
 
Please complete the requirements listed on the [[BeagleBoard/GSoC/Ideas#General_requirements|ideas page]]. Provide link to pull request.
 
 
===Suggestions===
 
Is there anything else we should have asked you?
 

Latest revision as of 02:59, 8 March 2024