P5.js代写 | Art & Interaction in New Media


Art & Interaction in New Media
ANU College of Engineering & Computer Science
» Deliverables » Major project
Major project
Due: 9pm Friday October 25 (week 12)
Mark weighting: 40 marks
Submission: submit your assignment through Gitlab (full instructions below)
Policies: no late submissions accepted; for other policies (e.g. academic integrity) see the policies page
In COMP1720/6720 your major project is an interactive p5 artwork for a new-media art exhibition. Here’s the scenario: gallery attendees are able to walk
around and observe the various works (including yours) at their leisure. If they wish, they can pause at your sketch and interact with it, but they will receive
no additional guidance/instruction on what to do. Your goal is to provide an engaging user experience of roughly three minutes, but the exact nature of that
experience is up to you. It might be an interactive generative artwork, it might be an interactive movie/storytelling experience—you get to choose.
Each year, we choose a theme for the COMP1720/6720 major project. You shouldn’t feel limited by this—you have heaps of freedom to interpret and explore
the theme however you like. Your artist statement (which must be more substantial this time than for your assignments) is your chance to explain how your
interactive artwork relates to and explores the theme.
This year’s theme is:
“ listening in/listening out
You can interpret this theme however you wish, as long as you fulfill the requirements below.
Gallery exhibition launch party
Since your major project is a p5 sketch, then any room with a computer in it can become an art gallery! Still, it’s nice to have a launch party where we all get
together in the same physical room and show them off. The details for this launch party are:
date TBC
time TBC
location TBC
We’ll provide drinks & pizza, so it’s the sort of thing you can invite your friends to—so make something you’ll be proud to show off!
Getting started
The process is exactly the same as for all the other assignments:
1. fork & clone the major project repo
2. make an interactive p5 artwork which explores the theme “listening in/listening out”
3. as you go, commit and push your progress to the GitLab server
As in the other assignments, the major project template repo sketch.js has some (minimal) starter code, and the template index.html file includes a
“back to gallery” button (because your major project will be exhibited in a virtual “gallery exhibition”).
As usual, there’s a submission checklist below to help you make sure you’ve completed everything you need to in your submission. Remember to take
advantage of the Git help in the FAQ.
Your major project is a p5 sketch which must:
1. allow interaction using either the keyboard, mouse, microphone, camera, or some combination of those
2. provide an engaging interactive user experience of roughly three minutes
3. relate to the theme in a meaningful way
4. be suitable for public presentation, viewing and interaction—it can’t be obscene!
5. have well-organised source code, displaying the appropriate use of functions, arrays, objects, and the techniques discussed in lectures
6. include an artist-statement.md (max 1000 words) describing your artwork
7. include an interaction-statement.md (max 500 words) which describes how a typical user will interact with your artwork
8. include a statement-of-originality.yml describing any inspiration/code/assets you got from other places. It’s ok to use these external sources,
but your major project must contain significant new work by you—you can’t just cobble together stuff from these other places (you’ll fail if you do)
9. include a thumbnail.png image file with the resolution 1280×720 in the top-level folder of your submission repo to use in the “sketch selection”
10. run smoothly in fullscreen at the test URL at any canvas size from 1920×1080 (in the CSIT labs) to 2560×1440 (in the PK iMac labs) make sure you
test it out in the labs
11. include a “back to gallery” button in the bottom right-hand corner (this is provided in the template—so as long as you don’t remove it then you’re fine)
The artist statement
Your submission must include a short (max. 1000 words) artist statement. Here are some questions to help you get started:
how have you interpreted/explored the theme? was there a particular aspect of the theme that you focussed on, and if so what was it?
how have you structured the experience (e.g. beginning-middle-end, or something else)?
what are you trying to make the viewer think?
what are you trying to make the viewer feel?
what do you hope the viewer tells their friends about your artwork after they leave the gallery?
Your artist statement shouldn’t just be a list of “the first screen is this, the second screen is this…”; that’s what your interaction statement is for. Instead, the
artist statement is your chance to explain the deeper story you’re trying to tell and the questions you’re trying to raise through your work.
There’s no strict template for the artist statement—instead, you’ll be marked on how clearly you articulate your what you’ve tried to achieve artistically in your
major project.
The interaction statement
Your submission must include a short interaction statement (max. 500 words) which describes how a typical user will interact with your artwork. This means
a step-by-step discussion of your planned interaction experience from its beginning, to its middle, and its end. For each step in the interaction experience,
you should describe what a user sees, what they should understand about the meaning of what they see, how they know what to do next, and what happens
when they complete this step. When we assess your interaction statement, we will compare it with your sketch and decide whether or not it is realistic.
Submission process
Here’s the process (again, remember the Git help screencast videos)
1. fork the major project template repository from the CECS GitLab server
2. clone & work on your fork of the major project template repo, regularly committing & pushing your changes to the GitLab server
3. at the submission deadline, the latest commit pushed to the GitLab server (not on your local machine!) will count as your submission
One thing to note is that there are some “checks” which the GitLab server runs to help you out. So if you get a pipeline failed email, then have a look at
the FAQ.
Submission checklist
The major project is worth 40% of your total mark, so this stuff really matters! Make sure you check (and double-check) your submission.
1. my project satisfies the requirements
2. my completed project has been pushed to the master branch on GitLab server, and all the required files (including any assets) have made it to the
3. my statement-of-originality.yml file includes all the necessary references/acknowledgements, and everything not mentioned in there is my
own work
4. my sketch works when viewed in Chrome/Chromium on the lab machines at the testing URL
(http://comp1720.cecs.anu.edu.au/uXXXXXXX/comp1720-2019-major-project/, with uXXXXXXX replaced with your UID)
You can ask a question on the COMP1720 forum in the COMP1720 > Major Project subcategory and if it’s popular enough I’ll put it up here.
Also, remember that there’s lots of helpful info on the FAQ page which applies to the major project. You should check it (and the rest of that page) out—I
think it’ll really help.
I’ve realised that there’s a bug in my major project after the submission deadline—can I at least fix it
for the exhibition?
Yes, you can. In fact, the major project gallery exhibition just points to the test URL you’ve been (hopefully) using all along to check whether your sketch
works properly.
One of the nice things about using git for the submission process is that you can push new changes to your project after the deadline – because we’ll still just
mark the last commit before the deadline. If you do another push after that you won’t break anything, and sometimes it’s nice to fix things (even after the
deadline, because there’s more to life than marks).
So if you see that your sketch isn’t working at the test URL, you can fix it and push up the changes to the GitLab server as normal. After a couple of minutes
your changes will be reflected at the test URL, (and therefore in the gallery exhibition interface).
What’s the thumbnail.png for?
The main gallery website interface will be a bunch of images—one for each person’s project. Viewers will be able to browse (and search) through the
exhibition on any web browser.
The purpose of the thumbnail.png image is to provide a still image for your major project artwork on this main page which the viewer would click on to go
to your (full-screen) sketch. It could be a screenshot from your sketch, but it could also be a new image you made specially for that purpose. It doesn’t have
to have any text on it (your name will be added below the image).
If you do want to use a screenshot from your sketch you could do it using the same technique from the name tag assignment—put something like this in your
keyTyped function:
Remember to grab the thumbnail.png image from the Downloads folder, resize/crop it to 1280×720, move it into the top-level folder of your submission
and commit it to your Git repo with that exact filename (make sure it’s spelled correctly or it won’t work!). This is super-important; it’s the “gateway” to your
artwork on the main gallery page, so there’s a 10% penalty (i.e. 4 marks out of the 40) if you don’t include a thumbnail.png in your submission. Also, don’t
forget to take the saveCanvas() code out of your final submission—you probably don’t want the user to take the a screenshot every time they bump the
I didn’t include a thumbnail.png in my final submission—can I still add one after the deadline for
use in the gallery interface?
It won’t change your mark, but if you want to add a thumbnail.png file to make your project stand out in the gallery interface you can make one anytime
before the exhibition (Saturday Nov 10 from 4pm). If you push it to your major project repo then it will be used in the gallery interface “sketch selection”
When/where can I get feedback on how my major project is going before I submit?
Since it’s such a significant part of the overall course mark there will be plenty of opportunities for you to get help. The lab sessions from week 10 onwards
don’t have set lab material, instead you should come with your work-in-progress major project and get assistance from your tutor (and possibly Ben as he
floats around and makes guest appearances like some sort of celebrity). You could also ask a question on the COMP1720 forum using the major-project
Can I make a sketch with “special display requirements”, e.g. non-standard input/output devices,
particular requirements around placement/timing in the exhibition, etc.?
Possibly (depending on cost/logistics). We can’t make promises, but we do want you to think big/creatively and will do our best to make it happen if we can.
However, if you want to go down the “non-standard requirements” route you must send me a forum message by Friday Oct 4 specifying:
exactly what (if any) extra hardware will be required
how will these special requirements affect our ability to mark your major project (e.g. how will the marker(s) get the necessary extra gear?)
if you need to borrow gear, how will you make sure it’s returned safely?
if it’s a special timing/placement requirement, how exactly will it work in a computer lab gallery exhibition?
Even if you do this and get permission, making sure that it all works reliably in the gallery show is your responsibility, though, so if you have a great idea but it
crashes or doesn’t work, you’ll get a low mark (and you’ll fail if it doesn’t work at all). Don’t let this put you off, just make sure you factor in this extra work.
Can I make a game for my major project?
This is a question which comes up a lot—so it gets an entry in the FAQ.
The answer is that your major project has to be an interactive artwork which explores the theme. It can certainly incorporate game-like elements, but if you
just make a game then you won’t get a great mark (even if the game is really good). As an example, if you make an pacman-style game and “skin” the
characters with things to do with your theme, then that’s not really engaging deeply with the theme (and you’ll be marked accordingly).
So the answer is no, you can’t just make a game, but it’s ok to have game elements. Talk to your tutor about your ideas to make sure you’re finding the right
balance here.
What does it mean for my project to be engaging?
That’s a tough question to answer without knowing more about what your project is and what story you’re trying to tell, but here are a few hints:
show, don’t tell
your goal is to make an artwork, not just show some information, so don’t just have lots of text
there are enough powerpoint ( .ppt ) presentations in the world , don’t make another one for your major project!
can you come up with some interaction techniques other than “click this button to proceed”?
Most of all, attend all the labs in the last few weeks of the course and get feedback from your tutor—we want to help you out, but you have to ask!
What do you mean by “don’t make a .ppt ”?
if (key === ” “) {
Don’t make something with a bunch of text & (mostly) static image “pages”, where the user just clicks through from one page to the next. Seriously, you can
be much more creative that that!
Will my major project be visible to the public?
Yes—as we’ve said all along, the major project is an art gallery exhibition, so your work will be visible to the public .
My sketch works fine on my machine using the live server, but when I use the test URL it can’t find
the assets?
As it says in the assets/README.md file in the template repo:
‘ This folder is where you should put any assets (e.g. image files, audio files) which you use in your sketch. Make sure you commit the asset file in
git (otherwise it won’t get pushed to the server, so it won’t work at the test URL)
The reason for this is that the CI job which copies your files to the test URL server (by default) uses this command:
If you’re familiar with the cp (copy) command you can see that it copies three things:
1. assets : the whole assets folder
2. *.html : any file with a .html file extension in the top-level of the project
3. *.js : any file with a .js file extension in the top-level of the project
If you’ve got files somewhere else, then they won’t get copied to the test URL server, and so your sketch won’t work.
At this point, you’ve got two options:
1. move your files (e.g. any assets not in the assets folder) so that they do get copied by the script (you’ll have to update the paths in your sketch as
2. modify the script so that it copies the files that currently “misses”
Both options are fine—although if you’re not familiar with the command line and cp command then you might find the first option easier.
Finally, if you’re going to modify the .gitlab-ci.yml file then have a look at the FAQ.
Do I have to do weird extra/extension stuff to get a good mark?
No! The point of this course isn’t about what techniques you use, but about using them to create an effective and engaging artwork. You can totally do that in
“vanilla” p5 using just the ideas & features we’ve covered in the course.
What’s the difference between the 1720 and 6720 major project?
The spec & deliverables for the major project are the same for both undergraduate (1720) and postgraduate (6720) students. The difference will be in our
expectations—we expect a higher level of achievement in a masters-level course, and will grade the 6720 projects accordingly.
Can I re-style the “back to gallery” button?
You can’t remove it, you can’t re-position it (it has to be in the bottom right), and you can’t re-size it, but you can re-style it if you like (e.g. change the colours
to match your sketch). It must still be clearly visible, though (again, convenor’s decision is final).
Unless you really have a good reason to, though, you should probably leave it as-is.
Why isn’t the “back to gallery” button working?
The button doesn’t do anything when you’re just working on your project (either using the live server or at the test URL). It will, however, work as planned
when your sketch is exhibited with all the others for the major project exhibition.
I don’t know where to start?
I’m sure that your ideas are better than mine, so I don’t want to stifle that creativity. The best advice I can give is to start thinking about your major project
now, and we can discuss your ideas in the labs and on the COMP1720 forum. Still, here are a few ideas/things to think about:
You need to engage the viewer for roughly three minutes, so you need to think about the “interaction trajectory” (beginning, middle, end) of your
artwork. Don’t use up all your best ideas in the first 30 seconds!
You want the gallery visitor to notice your artwork out of all the others in the gallery—how are you going to draw them in?
How will the user know what to do when they come to interact with your artwork? Make sure you give them cues, but you also want to encourage
them to explore and discover things for themselves.
What do you want the lasting memory of your artwork to be? What do you hope the viewer will remember afterwards?
What size should the sketch be?
The template uses windowWidth and windowHeight to set the canvas size based on the size of the display (so that it can run in fullscreen mode). Your
sketch needs to adapt to whatever size display it’s running on—so use width and height instead of hardcoded numbers (e.g. 200 ) wherever you can.
There’s an easy way to test this—just re-size your Chrome window and refresh the page. If things break, then your sketch doesn’t work properly. Have a look
at the responsive-design section of the week 10 “toolbox” lab for some tips on how to fix it.
I don’t want other people to see my major project work—can I opt out?
cp -r assets *.html *.js /srv/gitlab-ce-pages/staging/$CI_BUILD_ID/$CI_BUILD_REF_NAME/$CI_PROJECT_PATH
Yeah, you can opt out of the exhibition—just send me an email and I’ll make it happen. You’ll still get a mark & a grade for your major project, it just won’t
show up in the “gallery interface” we use in the exhibition.
I hope that you won’t opt out, because exhibiting your work is a crucial part of being an artist, and is also pretty fun. Make something that you’re proud of and
show it off. But I also realise that stuff doesn’t always turn out like you’d hoped and if you want to opt out that’s ok.
Also, if anyone is ever harsh or mean to you about the work you submitted in this course, then let me know. We’re all at different stages of our journey in
learning to art+code, and if someone tries to tell you that you’re not good enough or that you don’t belong in this course (or in CS courses in general) then:
1. don’t listen to them
2. remember that everyone started somewhere, including them
3. let me know, because belittling the work of others is just not on
Can I use stuff I’ve already submitted in my assignments for this course?
This is an interesting one—this is called recycling and it’s allowed in COMP1720 as long as you refer to your assignment in your statement of originality. If
you don’t do this, it’s plagiarism like any other “unreferenced” code from elsewhere (even though you wrote it yourself).
However, you should be really careful about re-using assignment code in your major project—in fact I’d advise against it. The major project is your
opportunity to show how you can put all the skills you’ve learned in this course together to make a significant new piece of interactive art. If you just re-use
your assignments, then you’re not doing that—and you’ll be marked accordingly. It’s entirely possible that you’d fail (get less than 20/40) the major project
assessment item if it’s based on an assignment submission you’ve already received a mark for (even if your project is quite good overall).
How will the major project be marked?
As I’ve said all along (in the first lecture, on the FAQ page, etc.) this course isn’t like the other courses. There are no unit tests to pass, and your mark will be
based on the quality of your artwork, using the following general ANU marking guide (you can find it in Table 2 on this page).
Grade Letter Grade Numerical Mark (%) Standards
High Distinction HD 80-100 Work of exceptional quality, as demonstrated in the attainment of
learning outcomes at or above the relevant qualification level
Distinction D 70-79 Work of superior quality, as demonstrated in the attainment of
learning outcomes at or above the relevant qualification level
Credit C 60-69 Work of good quality, as demonstrated in the attainment of learning
outcomes at or above the relevant qualification level
Pass P 50-59 Work of satisfactory quality, as demonstrated in the attainment of
learning outcomes at or above the relevant qualification level
Fail N 0-49 Work in which the attainment of learning outcomes at or above the
relevant qualification level has not been demonstrated
Will I get marks & feedback for my major project like all my other assignment submissions?
The major project submission happens at the end of the course, and Ben, Kieran and your tutor will all have a look at it independently (just to make sure you
get a fair mark). So, just like for your final exam, you won’t receive a separate mark or feedback for your major project work. You’ll just receive your grade for
the course when all the final grades are released on Thursday 30 November.
However, if you do want to get feedback on your major project, then contact Ben over the summer and we can organise a time to catch up and discuss your
1. make sure you clone your own fork (i.e. the one with your uni ID in the url) to your local machine, not the template (because obviously you aren’t able to change
the template for everyone—GitLab won’t let you)

2. it’s the master branch which counts as your submission—which is the default anyway (if you’ve just followed all the instructions then you’ve been working on the
master branch all along)

3. i.e. it should be at comp1720-2019-major-project/thumbnail.png

4. actually there are way too many .ppt presentations in the world, but my point stands 🙂

5. If this is a problem for you, then contact Ben and we’ll try and figure something out.



本网站支持淘宝 支付宝 微信支付  paypal等等交易。如果不放心可以用淘宝交易!

E-mail: [email protected]  微信:itcsdx