Project Report - DexA1948/Golos GitHub Wiki

Note to readers of this wiki page (Scope)

Hello readers, this wiki page is to document the overall process and phases for the development of Golos project based on chosen development methodology for this project - iterative and incremental. Also this report aims to keep the work in check and keep me motivated.

This page aims to provide contributors information about start of the project, various phases and work done along those phases for the project and current situation of the project. Hence, these pages will be updated regularly.

Similarly this document is prepared to be developed into a formal project report since I'm hoping to submit this as an subject project to my university.

Abstract

// This section will be needed only after completion of project and will summarize whole thing from project introduction to completion.

Table of content

// This section is auto generated by github wiki and will be inserted later for other uses.

Introduction (Project)

Golo Jodne ( called Golos so it would be easier) is a game played by developer as a kid in school. It was a popular game in Nepal among school kids during 1990s-2010s. It is a multiplayer game in which a matrix of small circles/dots is first drawn on copy/paper which serves as a playground. Normally 2 or 3 players are best preferred. Each player then takes turns drawing a line starting from one circle to another. Turn by turn as edges are drawn from one circle to another some player will finally enclose a square. When a player draws the last edge of the square they score a point. Such square must be formed with unit edges or adjacent circles. When a point is scored, the scoring player initials or symbols are inscribed inside the square for the later count. Once all of the edges are finished, scores for each player are counted based on the count of their symbols or how many squares they managed to enclose.

I am Deshant Devkota, a Computer Science and Information Technology student and I thought it would be pretty fun to develop Golos into a multiplayer online game. I know HTML, CSS, js, bootstrap, and PHP(CodeIgniter), so I have decided to use these skills to develop the game. I have decided to open-source the project so that interested programmers might join in. The project will be started and improved incrementally. -2022/06/08 Wednesday.

Methodology

Development methodology help divides whole development from start into different phases to help arrange each task in certain places during the whole development cycle. The standard and primitive waterfall methodology, on which most other development methodologies are based, gives a clear view of these phases which include:

a. Initiation b. Planning c. Analysis d. Design e. Implementation f. Maintenance

This project is based on the iterative and incremental approach. First, the project is initiated and planned. Then, requirements are collected for the project. After that, the whole development task is divided into sub-tasks and each subtask will go through design, implementation, testing, and review. After review, new changes are proposed and then again the development of new changes goes through design, implementation testing, and review. After finishing a subtask a new subtask is begun. For example, whole game development is divided into front-end and back-end. First, the front-end goes through design, implementation, testing, and review, and if the review for the design suggests changes the front-end is changed again by cycling through design, implementation, testing, and then again review. After review suggests the required changes are made and the front-end is completed work for back-end starts.

image

Initiation

Initially a different project was planned by the developer while searching for a fun project idea. Then on June 7, a friend proposed the idea of developing a game that have been played by us as kids into an online game ( called Cricket Game, planned to be develop later ). Rather than that, developing Golos was thought to be more interesting first due to the need for visual components like the matrix of circles. Also, it is a game played more than the Cricket game by the developer. Thus on June 8, 2022, this project was officially started.

Planning

The plan is to start on June 8 and develop a skeleton for the project.

The project is going to be open-sourced from the beginning and will be available on GitHub along with different documentation to keep track of the project and help other contributors understand the project.

The iterative-incremental approach will be used in the development of the project by dividing the project into subtasks and iteratively improving upon those subtasks. The project will be publicized after a certain period of time to invite contributors to join the project.

After finishing the initial plans and uploading the required starting documentation on GitHub, the analysis and design phase will begin. After finishing a workable skeleton for the project, implementation will start with iterative changes.

The first phase will last around 2 weeks in which the initial project will be completed which outcome will be a playable game on the local device( My Laptop ). The time for inviting other contributors hasn't been yet decided and will probably start after completing initial development.

The total time frame for the project is yet to be calculated which will be done after I sit to start actual coding for the project.

The final goal is to upload the game to be played online on golos.com or a similar domain. The project will be considered a success if it meets the initial requirements set by developer as a enthusiast as well as overall positive reveiws from player.

Requirement Analysis

Requirement Analysis began after intiation, planning and creating documentations on GitHub. It began with initial imagination of how the game shall look and behave and the game's overall flow and vibe. To elaborate requirements further two similar games: Ludo and skribbl.io were analyzed for their design, game flow, and various components. A wiki page has been created containing the analysis of this systems/games. Similarly, front-end designs were created on canva to understand game's environment which has also been added to a wiki page.

The analysis of system and mock up designs helped to create possible use cases for the system. It also helped divide requirements into expected and exciting requirements hence helped in Quality function deployment for the system. The process helped gather various requirements including functional and non functional requirements. It also helped to add explore new requirements.

Similarly some requirements were implicit to the game.

All this requirements were collected and first draft of Software Requirement Specification was created.

............to be continued