Join us on Discord!
You can help CodeWalrus stay online by donating here.

UCC3 [ucc3]

Started by _iPhoenix_, November 18, 2017, 01:35:35 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

_iPhoenix_

This contest's topic is: ASCII Games! To be eligible for a prize, you must make a VANILLA JAVASCRIPT game,  that exclusively uses monospaced ASCII art. To be eligible, you must make a topic showing your progress, with the "[UCC3]" tag in the title
The contest will end on January 1st, 2018 at 11:59:59 EDT (hopefully on-time). No late entries will be accepted.


You cannot release source publicly until after the contest, to avoid plagiarism.


*keep your entry SFW, please*


Note: due to the laws of the universe, it is not possible/is extremely difficult to contribute an entry if you turn into a black hole during this contest. Sorry.


You will be judged on these criteria, although your entry can be penalized at the discretion of the judges, to some extent:
- overall project detail and completeness, including functionality and design.
- interaction with other users, including the reception and distribution of feedback.
- overall ingenuity.
- number of walruses involved (just kidding, this will not affect your score)
Contest judges (i.e. me, but you can request to be one if you have over 100 posts, just ask in this thread. Only 2 more judges will be accepted.) are not allowed to participate, and cannot win prizes.


As for prizes, printable walrus "diplomas" will be issued to the top three winners, signed by the contest judges under their usernames. (If you are accepted as a judge, PM me a pic of your signature, signing as your username)


legal crud
Neither myself; the contest judges; the CodeWalrus site, admins and users; or contest participants are liable for any damage or legal c you come up with
The opinions expressed by the judges in the choosing of a winner may not represent the entire views of the CodeWalrus community or admins.
All decisions are final
[close]


Have fun!


If you have any questions about this do not be afraid to ask in this thread!


Previous winners:
Spoiler
[ucc1: weather]
1: Juju + kotu
2: -
3: -
[ucc2: 8-bit animation]
1: Jarren Long
2: Juju
3: -
[close]


Here are all of the different characters you can use:
Spoiler
A-Z
a-z
0-9
[]{}#%^*+=_/\|~<>.,?!'-:;()$&@"
[close]
You can request more in this thread, if I missed some. I internionally disallowed some characters, though.


I will be testing all entries on a html page:
<!DOCTYPE html>
<html>
<head>
<script src="path/to/file.js"></script>
</head>
<body>
</body>
</html>



As you can see, there's not much there. You will need to use the JS to create all of the elements and styles you need. (Keep it grayscale, though, for bonus points)


Bonus points for multiplayer (same device multiplayer, no backend allowed) see below.


Winning entries might be featured on a website I am making. (successor to UniChat, but with games, karma, a small help forum, etc)

Edit:
Here's one huge thing you need to know: the font!
A monospaced font, Inconsolata will be used.

If you are creating an entry, insert the following code at the top of your main JS file (the one that will be loaded first), or add the code to your existing window.onload event handler thing. Feel free to change the code as you need. Remember that no CSS files are allowed; it all has to be done in JS using <object>.style.<tag> = <style>

//I figure you will want to use the <body> tag later, so I put it up here. You probably don't need the <head> tag for much, so I made it a local variable.


var body;


//when the content is loaded.
window.onload = function() {
   //get the <body> tag from the document.
   body = document.getElementsByTagName("BODY")[0];
   //get the <head> tag from the document.
   var head = document.getElementsByTagName("HEAD")[0];
    //create a <link> tag.
   var fontLink = document.createElement("LINK");
   //adjust the properties of the link tag to looks like this: <link href="https://fonts.googleapis.com/css?family=Inconsolata" rel="stylesheet">
   fontLink.setAttribute("href", "https://fonts.googleapis.com/css?family=Inconsolata");
   fontLink.setAttribute("rel", "stylesheet");
   //add the tag to <head>
   head.appendChild(fontLink);
   //set the style of everything in the <body> tag to use the font from the <link> tag.
   body.style.fontFamily = "'Inconsolata', monospace";
   //the following code is optional CSS formatting to make the screen look cool. You do not need it.
   body.style.backgroundColor = "#000";
   body.style.color = "#ccc";
};



If you are using multiple JS files, you should specify in your thread in what order they should be added (and where they are located), or add to the above code in order to load the others in the order you need.

Edit:
I've changed the rules so that you can do multiplayer IF AND ONLY IF you can get it to work with Google Firebase.  <3
(and yes, I will include the required <script> tags for firebase)
  • Calculators owned: Two TI-84+ CE's
Please spam here: https://legend-of-iphoenix.github.io/spam/

"walruses are better than tuxedo chickens, all hail the great :walrii:" ~ me
Evolution of my avatar:

Yuki

Sounds like fun. Do the Javascript need to be all in the same file? Can we use libraries like jQuery? Can it fetch data from a server?
  • Calculators owned: TI-83+ (dead?), Casio Prizm (also dead???)
  • Consoles, mobile devices and vintage computers owned: A lot
Read Zarmina!
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron

if you wanna throw money at me and/or CodeWalrus monthly it's here

_iPhoenix_

Quote from: Juju on November 18, 2017, 02:10:15 AM
Sounds like fun. Do the Javascript need to be all in the same file?

No. :)

And, (I forgot to add this in the OP) you CAN submit multiple entries this time around! (Up to 2)
  • Calculators owned: Two TI-84+ CE's
Please spam here: https://legend-of-iphoenix.github.io/spam/

"walruses are better than tuxedo chickens, all hail the great :walrii:" ~ me
Evolution of my avatar:

_iPhoenix_

#3
Here's one huge thing you need to know: the font!
A monospaced font, Inconsolata will be used.

If you are creating an entry, insert the following code at the top of your main JS file (the one that will be loaded first), or add the code to your existing window.onload event handler thing. Feel free to change the code as you need. Remember that no CSS files are allowed; it all has to be done in JS using <object>.style.<tag> = <style>

//I figure you will want to use the <body> tag later, so I put it up here. You probably don't need the <head> tag for much, so I made it a local variable.


var body;


//when the content is loaded.
window.onload = function() {
   //get the <body> tag from the document.
   body = document.getElementsByTagName("BODY")[0];
   //get the <head> tag from the document.
   var head = document.getElementsByTagName("HEAD")[0];
    //create a <link> tag.
   var fontLink = document.createElement("LINK");
   //adjust the properties of the link tag to looks like this: <link href="https://fonts.googleapis.com/css?family=Inconsolata" rel="stylesheet">
   fontLink.setAttribute("href", "https://fonts.googleapis.com/css?family=Inconsolata");
   fontLink.setAttribute("rel", "stylesheet");
   //add the tag to <head>
   head.appendChild(fontLink);
   //set the style of everything in the <body> tag to use the font from the <link> tag.
   body.style.fontFamily = "'Inconsolata', monospace";
   //the following code is optional CSS formatting to make the screen look cool. You do not need it.
   body.style.backgroundColor = "#000";
   body.style.color = "#ccc";
};



If you are using multiple JS files, you should specify in your thread in what order they should be added (and where they are located), or add to the above code in order to load the others in the order you need.

Edit:
I've changed the rules so that you can do multiplayer IF AND ONLY IF you can get it to work with Google Firebase.  <3
  • Calculators owned: Two TI-84+ CE's
Please spam here: https://legend-of-iphoenix.github.io/spam/

"walruses are better than tuxedo chickens, all hail the great :walrii:" ~ me
Evolution of my avatar:

_iPhoenix_

I redid the scoring system for this contest, because there are some extra things I feel are important:

Universal scores (things your entrie(s) will definitely be graded on, regardless of it being singleplayer or multiplayer):
1) Following of Rules. (you have to do this, or DQ)
2) Execution. (75pts, how well your entry functions, things like speed, loading time, etc)
3) Style. (50pts, based on visuals and ascii art quality :))
4) Controls. (25 pts, are the controls easy to use and beginner-friendly? Bonus points if there is an in-game tutorial, if your game is not centered around players learning for themselves)
5) Code Quality. (5pts, simple things like understandable variable/function names, indents, and legible code. If your code is intentionally obfuscated, and you do not provide a deobfuscated version, DQ)

Multiplayer games:
1) Usage of Firebase data (75pts, the less data you need to store, the better. Please look into compression)
2) Reliability/code resilience (30pts, if can easily cheat your game in < 10 minutes without editing Firebase directly, you have problems. If I can do it in < 30 seconds after looking at your code, DQ. I wrote MC hacks for 4 years, I'm half decent at this.)
3) Enjoyabity. (50pts, is the game fun for all parties)

If you create a multiplayer game, then the average score for the "multiplayer game" section and the "universal scores" section will be averaged to create an overall score
  • Calculators owned: Two TI-84+ CE's
Please spam here: https://legend-of-iphoenix.github.io/spam/

"walruses are better than tuxedo chickens, all hail the great :walrii:" ~ me
Evolution of my avatar:

Powered by EzPortal