User Tools

Site Tools


Sidebar

projects

wcp1 (due 20240828)
wcp2 (due 20240904)
pct0 (bonus; due 20240905)
pct1 (bonus; due 20240905)
pct2 (due 20240905)
abc0 (due 20240906)
dac0 (due 20240911)
pct3 (bonus; due 20240911)
wcp3 (due 20240911)
gtf0 (due 20240918)
pct4 (due 20240918)
wcp4 (due 20240918)
pct5 (bonus; due 20240926)
tpb0 (due 20240926)
wcp5 (due 20240926)
gfo0 (due 20241002)
pct6 (due 20241002)
tpb1 (due 20241002)
wcp6 (due 20241002)
pct7 (bonus; due 20241009)
usr0 (due 20241009)
wcp7 (due 20241009)
bwp1 (bonus; due 20241016)
pct8 (due 20241016)
tpb2 (due 20241016)
wcp8 (due 20241016)
pct9 (bonus; due 20241023)
wcp9 (due 20241023)
wpa0 (due 20241023)
fwg0 (due 20241030)
gfo1 (due 20241030)
pctA (due 20241030)
wcpA (due 20241030)
pctB (bonus; due 20241106)
upf0 (due 20241106)
wcpB (due 20241106)
ldg0 (due 20241113)
pctC (due 20241113)
wcpC (due 20241113)
pctD (bonus; due 20241120)
wcpD (bonus; due 20241120)
bwp2 (bonus; due 20241204)
gfo2 (due 20241204)
pctE (bonus; due 20241204)
wcpE (bonus; due 20241204)
EoCE (due 20241216)
haas:fall2024:unix:projects:fwg0

Corning Community College

CSCS1730 UNIX/Linux Fundamentals

PROJECT: Fun With Games (FWG0)

OBJECTIVE

Obtain the latest stable Vircon32 source code, along with its DevTools source code, collaboratively document how to build it from source, and modify the “hello, world!” demo in some way from the default. Perform this on your UNIX-based personal development system.

As has been the case with many projects this semester, you will also be contributing to the project documentation, detailing the necessary steps to obtain, configure, build, and use the items being focused on. To better ensure everyone plays a part, you will also need to ask a project-related question to the class discord well before the due date (not a DM, not so late that a response won't come in time), and transcribe that in readable fashion to the project documentation under your pertinent section. Include a discord link to the relevant transaction for easier reference.

With further clarification gained from asking the question, you will proceed to craft useful documentation with the rest of the class (the top of the document). The final result should allow anyone to accomplish the project.

Failure to contribute (you don't ask questions to the discord chat, you don't ask a good question, you ask too late, etc.) of the process will be considered in violation of the spirit of the project.

If you struggle with how to form questions, perhaps consider utilizing the college learning commons to receive assistance with forming good questions.

EDIT

You will want to go here to edit and fill in the various sections of the document:

FWG0

The main Vircon32 site is at vircon32.com

The list of releases can be found here: github.com/vircon32/ComputerSoftware/releases

  • You will want to download the most recent emulator source code file, either Source code (tar.gz) or Source code (zip) depending on your system

The list of c header files for Vircon32 is here: vircon32.com/api.html

  • This includes important information about files you need for this project, specifically video.h

A list of tutorial projects are here: github.com/vircon32/ConsoleSoftware/tree/main/Tutorials/RobotGame

  • This project uses Tutorial01A-HelloWorld as a starting point for you to modify and learn from

https://www.vircon32.com/api.html This is a good website to visit to make sure you are editing your personal message correctly for your game. Using the most standard C syntax will get you what you want.

configure

build

Within the source code file there is a Readme.md file that has instructions on how to build from source

Make sure to download all recommended libraries before compiling

install

For installing the software on your local machine you will need to run the command `cmake -G 'Unix Makefiles' ..` after completing the necessary steps and gathering the proper tools to create your source code within usr/local/vircon32 path on your machine.

updated PATH

To be able to compile the code, you will have to specify the path of the Vircon32 emulator/devtools.

  1. By using the command export PATH=“/usr/local/Vircon32/DevTools:/usr/local/Vircon32/Emulator:${PATH}”
  2. You can use “:” to separate multiple paths.

It will also be efficient to add the command to your bashrc file so you won't have to type it every time.

  1. You can edit your bashrc file with the command nano ~/.bashrc
  2. after editing you will then run source ~/.bashrc to update it

modify hello.c

textures

regions

 

SUBMISSION

To be successful in this project, the following criteria (or their equivalent) must be met:

  • Project must be submit on time, by the deadline.
    • Late submissions will lose 33% credit per day, with the submission window closing on the 3rd day following the deadline.
  • Executed programs must display in a manner similar to provided output
    • output formatted, where applicable, must match that of project requirements
  • Processing must be correct based on input given and output requested
  • Output, if applicable, must be correct based on values input
  • Code must be nicely and consistently indented
  • Code must be consistently written, to strive for readability from having a consistent style throughout
  • Code must be commented
    • Any “to be implemented” comments MUST be removed
      • these “to be implemented” comments, if still present at evaluation time, will result in points being deducted.
      • Sufficient comments explaining the point of provided logic MUST be present
  • No global variables (without instructor approval), no goto statements, no calling of main()!
  • Track/version the source code in your lab46 semester repository
  • Submit a copy of your source code to me using the submit tool by the deadline.

Submit Tool Usage

Let's say you have completed work on the project, and are ready to submit, you would do the following:

lab46:~/src/SEMESTER/DESIG/PROJECT$ submit DESIG PROJECT file1 file2 file3 ... fileN

You should get some sort of confirmation indicating successful submission if all went according to plan. If not, check for typos and or locational mismatches.

RUBRIC

I'll be evaluating the project based on the following criteria:

260:fwg0:final tally of results (260/260)
*:fwg0:submitted adequately modified demo code for project by duedate [52/52]
*:fwg0:source file, build script, and cartridge submitted [52/52]
*:fwg0:code compiles, cartridge builds with no warning or error [52/52]
*:fwg0:committed project related changes to semester repo [52/52]
*:fwg0:Vircon32 and DevTools NOT committed to semester repo [52/52]

Spirit of the project incorporates a good-faith effort to collaboratively document and build from source, and to create a custom build script that isn’t based on any tutorial make.sh scripts.

Pertaining to the collaborative authoring of project documentation

  • each class member is to participate in the contribution of relevant information and formatting of the documentation
    • minimal member contributions consist of:
      • near the class average edits (a value of at least four productive edits)
      • near the average class content change average (a value of at least 1kiB (absolute value of data content change))
      • no zero-sum commits (adding in one commit then later removing in its entirety for the sake of satisfying edit requirements)
    • adding and formatting data in an organized fashion, aiming to create an informative and readable document that anyone in the class can reference
    • content contributions will be factored into a documentation coefficient, a value multiplied against your actual project submission to influence the end result:
      • no contributions, co-efficient is 0.50
      • less than minimum contributions is 0.75
      • met minimum contribution threshold is 1.00

Additionally

  • Solutions not abiding by spirit of project will be subject to a 50% overall deduction
  • Solutions not utilizing descriptive why and how comments will be subject to a 25% overall deduction
  • Solutions not utilizing indentation to promote scope and clarity or otherwise maintaining consistency in code style and presentation will be subject to a 25% overall deduction
  • Solutions not organized and easy to read (assume a terminal at least 90 characters wide, 40 characters tall) are subject to a 25% overall deduction
haas/fall2024/unix/projects/fwg0.txt · Last modified: 2024/10/22 14:53 by 127.0.0.1