the-krisney-way

Find my designs on awesome products by clicking here!

iTimeOut: NEW GAME!

Play Now by clicking here!

30 Days of Disney Jobseeking Advice

When jobseeking seems a little too boring. (April 2021)

The SLA Experience

Upcoming: A day in the life of an SLA.

It's a Kristen thing...

You probably wouldn't understand. :)

Tuesday, August 24, 2021

Unity Project: World Craft

World Craft

This project was done as a part of the Creative Technology course dissertation, 2021.   You can find the Unity project by clicking the Github icon. ->GitHub

Introduction


Geolocation has become a growing technology and is widely appreciated in the industries, especially gaming. When paired with technologies like Augmented Reality, it can amount to an immensely useful for everyday use as well, like navigation or calendars. 

While technology can be a necessity to make lives easier, it can also be an engaging and curious tool for education, simulations, training and even tourism. The aim of this project is to get introduced to what could be done with geolocation and augmented reality, while exploring concepts like occlusion.


Augmented Reality


Imagination bred innovation and technologies such as AR has proven to be a beneficial kick that businesses need to capture the attention of their audience. Augmented Reality (AR), a flourishing revolution within the growing technology industry. With its wide range of uses and features, it is often grouped with one of the technologies that transform the entertainment world, the gaming industry, education, and many other industries, including advancing electronics and simulations.

Read more about augmented reality and the "bigger picture" here.

Implementation


For a starter application, I thought about simulating an application similar to Minecraft. This is already an existing application with many more features. This was the base of that application. It was simple enough and worked without complications. Without much thought for the UI, the app was simple enough and was too much fun to not use, as you can see below. 

Testing WorldCraft application

This was to test the accuracy of placing things on the ground through touches and taps on the phone screen, and also being able to walk around. With the exception of collisions and occlusions, the application works as it should, detecting corners and edges.

Evaluation


Of all the "work-able" applications that were part of GlobAR, this was the most fun to test. Creating various random scenes and moving around the furniture, or even placing blocks outside was fun.

Final video project: GlobAR


Wednesday, August 18, 2021

Fun With Racket: Guess My Number

Guess My Number Racket Style

This project was an independent personal coding project (with GUI) undertaken by the author.   You can find the project by clicking the Github icon. ->GitHub

Author's Note


Racket was the first language I learned to code with - unless you count HTML, but let's be honest, nobody ever does. With Information Technology being one of my favourite subjects at school, it was a bit disappointing coding and programming were never part of it.

Read more about an introduction to Racket in my previous post: click here.

Concept



There was this one trick where you think of a number and you'd be shown the cards below asking you if your number was on the particular card. After going through all six cards, your number would be guessed accurately.
Guess My Number Cards

I was initially obsessed with finding out how this works and after I learnt the trick to it, I started applying it everywhere.

The trick behind guessing the numbers are the first numbers on the card - the top left numbers (circled in red above). If the number you're thinking of is on the card, add the circled number of the respective cards, and you'll eventually have your number.

For example, if you're thinking of 11, it appears on cards 1, 2 and 8 (top-left, top-middle, bottom-left). If you add those numbers together, you get the number you thought of: 
1 + 2 + 8 = 11.

This is also a close representation of working with binary numbers. We can represent the six cards as six consecutive zeroes (000000) as the default state. Again using the example of 11, for every card the number appears on, change the 0 to 1, starting from the right.

001011 is what we end up with, which also translates to 11.

Design and Development


While learning to program in Racket, I thought it would be cool to implement it in Racket. I used the same concept of the cards and used a list for the numbers. 

If the number you're thinking of is on the card, append the "card value" to the list. After the six cards, add the values and display the answer. Simple!

Evaluation



Racket GUI: Guess My Number






Tuesday, August 17, 2021

Fun With Racket: Hangman

HangMan in Racket

This project was an independent personal coding project (with GUI) undertaken by the author.   You can find the project by clicking the Github icon. ->GitHub

Author's Note


Read more about an introduction to Racket in my previous post: click here.

Concept


Hangman - an old school favourite. The goal of the game is to simply guess the letters in the word(s) or the word(s) itself. If you guess a wrong letter, the "hanged man" is drawn piece by piece, until the picture is complete. It allows for about ten incorrect guesses, though it depends from version to version.

If you've played my game, iTimeOut, you're no stranger to this game. Although it's played a little differently, it follows the same concept.

Design and Development


Starting with the basic concepts, I mapped out a simple 2-player game in Racket. One person enters the word to guess and the other person guesses. There's even a help page to indicate this.

Hangman start game screen

After entering the word and clicking start, the game begins. Clicking the letter buttons counts a guess. If the letter is in the word, it automatically displays. If not, the image is affected. 

Playing the hangman game

The second person must guess the word before the full image appears. The "image" is just a series of images that play out as you guess incorrect letters. Win or lose, your word will be displayed.

Evaluation



Racket GUI: Guess My Number

A little validation could be added to the game, checking for things like spaces and blank strings. However, the game is supposed to be simple, so the objectives were met.




Thursday, August 12, 2021

Ruthless Raspberry Pi: NSS Charity Project

NSS Pick A Charity

Client project for NSS; Game show buttons plus display setup.   
You can find the project by clicking the Github icon. ->
GitHub

Objective


The NSS (National Student Survey) wanted to do something in collaboration with the university to keep students excited about completing their survey. They would be setting up a kiosk and would love a display and setup to not only attract students, but engage them.

The idea was once a student completes the mentioned survey, they would pick one of three charities and the NSS would donate £5 on their behalf.

National Student Survey


The NSS is your opportunity to give your honest feedback about what it has been like to study on your course at your university or college. It is published every year and is a rich and influential source of information about higher education. The survey is a key component of the quality assurance and wider regulatory landscape in UK higher education.

Design and Development


As part of a group project, our Creative Technology class took on this project. While they handled the woodwork and overall design, I partook in the development of code and some of the hardware elements.

We started with discussing the equipment and technologies to be used.

Requirements:-
  • Controller
  • Database
  • Display
The final technologies agreed upon were the
  • Raspberry Pi - to control all the interactions between the buttons and the display/database
  • Google Firebase - A real-time, cloud hosted NoSQL database to store the (daily) values
  • Python/Matplotlib - preferred scripting communication on the Raspberry Pi
Using Python, a simple script to display a message on a button push was created. This was further implemented (as trial and error) into connecting three buttons. Next, this was connected to a database to store the updated values as well as get them from the database.

Rather than creating a script to draw up a graph, Python's matplotlib library was used to plot a simple bar chart with the three charities.

The game show buttons were then connected to the raspberry pi and nested into a wooden box.

Final product with connected buttons

The three represented charities:
Noah's Ark - "We stand side by side with families as they face the unimaginable. We cannot change the diagnosis, but we can do everything we can to help them make the most of their time together."

Mind - "We provide advice and support to empower anyone experiencing a mental health problem. We campaign to improve services, raise awareness and promote understanding."

Homeless Action in Barnet - "Our mission is to work with vulnerable people so that they gain access to housing, health and other services in order to achieve dignity; to make effective choices; and to express themselves as independent members of society."


Evaluation



Project video; development


The technologies listed above were all new and working with the raspberry pi, although intimidating and annoying, was very interesting, especially working in a Linux environment. Given more time, it would've been of interest to further explore the technology.

Tuesday, August 3, 2021

JavaScript and Web: MarshieNet

Project MarshieNet

Building my first project with Node.js and MySQL, a simple social media site.   You can find the project by clicking the Github icon. ->GitHub

Abstract


My single page web application for this coursework was initially presented as MarshieChat and was supposed to be a simple chat app, but instead I decided to go in a different direction and do a small scale social media site, MarshieNet. It isn’t as big as I hoped it would be, but it allows users to post any text (up to 200 characters) or photo and allows other users to view them. 

It consists of the login page, the home page, the user’s profile page and a search page. These are the only four screens of this website and are shown in the next section. Along with Node.js and Express, there were a few other modules that were used, such as cookie-parser, body-parser, mysql (to link with the database). The database is explained in more detail below.


Design and Development









Testing with Selenium


The below test tests the number of characters that are counted. It starts with 200, types in ‘hello’, and the expected result should be 195, which it is.


The below test checks if the ‘text’ and ‘photo’ buttons on the post tab are doing their job. Starting off with text, it makes sure that the textarea is present and click at photo, verifies that the choose file option is available.


The below test does a search and matches the number of search results. The search of ‘test’ will provide ‘3’ search results.


The below test checks if the login has worked. I tried to do an ‘assert alert’ and ‘assert confirmation’, with the alert output, but that didn’t seem to work. So, instead, I showed an instance of where it shows the user details once logged in.


The below test checks the logout. Once you click the logout button, it shows that the login page is available again. Again, I have tried the ‘assert alert’ and ‘assert confirmation’, with the alert output, but it didn’t seem to work.

Database


This database, done with mySQL, has two tables USERS and POSTS. The relationship is as shows below.

Entity Relationship Diagram

Evaluation



MarshieNet: project video


Additional Elements


These are just a few elements I thought of adding, and given time could’ve been worked on.
  • Editing of user details (this is input into the page, but does not work) 
  • Viewing of other profiles
  • Adding friends
  • Searching for posts (and viewing more than the brief of search results)
  • Messaging
  • Following
  • Likes
  • Comments




 
Loading...