Amazing Game

Watch our trailer then see below how we did it!!

 

 

 

image10

The GDD

Game  Development  Diary  

We are a Darwin based youth tech group, a part of a uniSA funded program for people with ASD (Autism Spectrum Disorder). We meet weekly during the school term in a local library and the program is run through Corrugated Iron Youth Arts.

We post a lot of material on our website: dedarwin.net

image15

We decided in May that we would work towards a group entry that would show off our skills and ingenuity but most importantly make us collaborate on a significant project

We created the game “An Amazing Adventure” (which is a lot like the the process!)

Challenges

What challenges have you faced?  How have they been overcome? What is left to address?

The biggest challenge was to come up with a game that was designed and created by a disparate group of people with different skills and ideas.

  1. We first devised a talk about the gaming industry and our favourite games, we talked about how many people are employed in game production this was to show that creation of a game is a team effort, complex and expensive
  2. Weekly tech sessions where we skilled up and created components for the game, graphics, video, coding
  3. Interested people were assigned to tasks based around their skills (coding/3D modelling/graphics/sound etc.). The assigned roles:

        Matthew: game design (concept game play)

        Daniel: coding (love2D/ .lua)

        Nick : sound

        The whole class : science facts / graphics / testing / trailer promo making

        

Keeping people on task

It’s easy to get excited by an idea but harder to stay on track and maintain focus through the sometimes tedious production phase, making complex things is hard and requires planning, follow through, perseverance and resilience. We devised classes in pixel art (we’re having a separate exhibition later in the year) spending a lot of time in paint.net, our prefered open source graphics program. Persistence paid off everyone now has great graphic production skills

Daniel our 15 year old coder has limited time at home to work on the project and classes are often too busy, noisy and social for him to get much work done. We gave him a laptop to take home to make it easier as well as talking to his parents about what he’s up to so they’d give him more time to do the work.

Group feedback

We had a few periodic sessions where we’d play the game in its current development and ask for feedback, as you’d expect everyone wanted more and different. People were unhappy when their components didn’t make it into the game. we had to explain that it is a group project and compromise was needed. Through this process we came up with the idea to collect science facts, everyone could make a sprite, create a visual and research something they are interested in.

Another particularly Darwin issue is the 4 week break in June / July. We lost all momentum and needed to work very hard especially on the sound over the last few weeks to get a finished product. As we only meet for 1 session a week for 1.5 hours we decided to open up a successful Saturday morning class to have some extra hours (which we’ll keep going!)

We are a group of young people who have ASD and as a part of this condition have a collection of traits that can sometimes make working in a group more difficult but it’s an important process to be a part of and see in action.

References

Have you used material from other sites, repositories, or resources? Why have you used them, where are the originals located, and what are they bringing to your work?

Our whole system for the Digital Enterprise project is based around using the web as a resource. We have a philosophy of  “you already know everything” if you spend the time and look it up. All our learning is predicated around this and we’re always running classes asking participants to tell us specific information by ‘looking it up’

We were also determined to make all components from the game from scratch, that includes the code / graphics and sound. This was so we wouldn’t have any issues with copyright (although we have shown how to get images and sounds that are not copyrighted) But more importantly an opportunity to learn by making things from first principles.

We used love2D and did a number of smaller projects on their website and constantly used their informative wiki and tutorials

With ideas it is harder to be totally original; we are all products of our culture and our game design shows elements of other games. Yet the original concept for the game developed by Matthew was extremely complex and unique. The game ideas were adapted by the group and pay homage to their favourite games

All programs used in the creation of the game are open source and free. We have a philosophy of using software so there are no barriers to learning and it’s accessible to all

Gameplay
What kind of game are you making? How does it play? What have you been doing to create gameplay?

As we are a disparate group we decided to initially give one person the job of creating and designing an original concept for the game. In May we started discussions with Matthew who has a burning ambition to create a game and is extremely creative, he was taken aside and asked about designing a game

  • a game where there were devils (enemies) and angels (the player)
  • a world that wasn’t revealed, you could only see the immediate space around you the ‘devils’ can show you way but will also kill you if you got too close, so you need them
  • a space that you needed to navigate to get out of

We decided to set a few parameters early on:

As we have been doing lessons in love2D we decided to make the game with this accessible and relatively (easy) game engine.

So it was a 2D based game and as a group we decided on a maze. This represented a constrained world in the original idea. It became “David Bowie’s Labyrinth Adventure”, a kitsch title created by the mentors. We wrote up a rough concept and sent it out

http://dedarwin.net/stem-video-game-challenge/

“david is trying to escape the suits that suck his creativity and he can get power from lipstick and guitars”

image17image07image05

None of the young people knew who David Bowie was and were told to get their parents to play as much David Bowie as possible over the school holidays

When we came back it was evident that we needed a rejig of the title and game design. The concept didn’t gel and they all hated David Bowie “an old guy who plays music”

We settled on “An Amazing Game” which is the current title and decided to add a layer of complexity, you need to find something before you can solve the maze

We had done some classes on memes (I learnt that the term was coined by Richard Dawkins in the 1970’s and is a cultural gene, this was told to me by a participant after I asked them to tell me what a meme was) We are always asking participants to show us cool stuff on the internet. We encourage people to come up with stuff for the “repository of cool”

So we decided to get everyone to look up and show us a cool fact, make a 16 pixel sprite and a 640 pixel meme using a meme generator or paint.net

image13image14image08image03

So the game play including having to first get to the science fact. Now you MUST collect the fact before you can complete the maze.

Final weeks:

We got the younger group to beta test our game. They found some bugs (player glitching, fact sprites stuck in the walls etc.). They liked the game – it was much harder than they thought it would be! We wrote down the bugs to solve with Daniel, our lead coder.

We spent the last week making a game trailer promo, another chance to do some graphics and video editing (as well as using smart pixel to record themselves playing the game)

image12

https://www.youtube.com/watch?v=Gb7RX06Rr1I

The group came up with these captions:

“1400 lines of awesome code” – Daniel

“Just do it” – Shia Lebouf

“9/11” – Osama Bin Laden

“41000 kHz of sound” – Panos

“Better than eating humans” – Jeffrey Dahmer, Ted Bundy, Albert Fish

“Almost as good as eating a baked potato” – Sasha Braus

“More useful than my federal government” – Tony Abbott

“Better music than mine” – dahvie vanity

“Better code than ours” – Makers of ET (atari)

“Recomend this game more than I get a arrow to the knee” – Skyrim Guard*

“Almost as good as KFC, watermelon and grape soda” – Tyrone

*no idea what this means……

Visuals

What have you been working on? What have you been using? Are you planning or building?

We purchased a 32 16 led board earlier in the year and have been making pixel art since the start of the year so we had a good skill base to start making sprites for the game. We plan a separate exhibition later in the year with our pixel art

image01

image04

We used Paint.net to create sprites and backgrounds

We are really into online tools for our projects and decided to use a ‘Meme Generator’ to create fact screens, https://imgflip.com/memegenerator. Although the original image needed to be prepared in paint.net first.

The protagonists

Daniel coded the sprites to be 16 by 16 pixels not enough to get any real details

original “David Bowie”                        original “enemy” or “suit”

image05                            image02

As these were so small in the game play we decided to make something simple and recognisable

a + and a were decided on

Sound

What have you been working on? What have you been using? Are you recording? Composing?

Panos (our sound mentor) has established a specific sound program as part of our weekly meetups. Nick and Raemund are creating the music, VOs and SFXs. Panos has been introducing us to a bunch of open source sound programs.

For the game we realised we will needed a variety of sounds and all of them are original made from first principles. We workshopped this as a start:

  • Background sound
  • VO for facts
  • Sprite moving sound
  • Enemy approaching sound
  • Getting killed sound
  • Reward sounds

Final week: We already have the background soundtrack. Nick is using the game as a reference to make sure we have all the sounds we need. Nick and Panos are creating the final SFXs.Our promo video has totally original music made by Nick

Our science facts chosen by the class were popped into an online translator

and were meant to play the mp3 sound file when the science fact meme appeared. We decided not to implement this on the final version as people thought it distracted from the game

Writing

What have you been writing? Have  you  been  writing  story  or  dialogue?

We haven’t written much mostly talked in group sessions about the game and then done the work required

We did a few exercises in science facts, where we collaborate

https://docs.google.com/document/d/1SaIFTBpHLbUqOQR1_UcSnISm1_B3jX7Kfy80ZuSJmBQ/edit?usp=sharing

Make it more STEM but keep the maze story.

Because we were now working with a MAZE OF KNOWLEDGE, we brainstormed what we should use to represent the main character, the bad guys and health. We thought about having generic baddies (monsters) but decided it would be more consistent to have the good guy represented as a plus sign, the bad guys as a minus sign, and health as a question mark. That gave us a simple narrative within the game: a positive figure being chased by negative figures, trying to attain knowledge. You have to learn facts before you can move on to the next level. The tyranny of negativity, and the power of learning!

We each came up with a STEM fact for the game. We had to edit our facts to make them short and punchy to appear in a meme on the game. We each had really different interests so we got a good variety of facts. For example, Omri spent a long time trying to find a Gaming fact that excited him, whereas Zoe created multiple facts about really diverse interests (lightning, cats ears etc.) 

 

Authoring

What are you coding your game in? How is the coding process going? Have you encountered major bugs? Is the game able to be played yet?

In this youth tech class a big part of what we’re trying to teach is that code is behind everything you see and do on a computer screen. We have introduced a few computer languages: HTML,  C++, Javascript and .lua. As we were running exercises coding in .lua using the love2D game engine we decided to write ‘pure’ code rather than use a visual based program like ‘game maker’. A big part of our teaching is that code is behind everything on computer and game screens

We were fortunate as we had an extremely nimble coder Daniel Watson in our group. He was introduced to love2D in March and he coded the whole game on his own, an amazing feat (pardon the pun)

see code in main.lua file in ‘maze game final’ folder

Features:

Maze generation

The program randomly draws a maze but tests that it is solvable before allowing the start of the level. Sometimes it needs to draw 20 mazes before a solvable one as formed this causes a ‘lag’ at the start of the game

 see

function pathfinding

Enemies approach

The enemies ‘-’  (are coded as ‘suits’ as that was in the original concept for “David Bowie’s Labriyth Adventure’) are spawned, a maximum of 5 and are attracted to the main character ‘+’ rather than just randomly roaming the maze

if suitscount < 5 then

                   

    local witchbot = love.math.random(1,table.getn(bots))

                                           

                           

    table.insert(suits, {x = bots[witchbot].x, y = bots[witchbot].y, cx = bots[witchbot].x, cy = bots[witchbot].y, health = 2, timealive = 0, path = pathfinding(bots[witchbot].x,bots[witchbot].y),nextmother = mothertemp})

                           

   print(‘created suit’)

                   

   end

                   

Science Facts

You must collect the science fact to get through the level

There’s also a table on the side which details which facts you have collected.

function love.draw(dt)

    –25 pixels between lines

    love.graphics.print( “facts found: “, 650, 10, 0, 2, 2 )

   

    love.graphics.print( “lightning fact: ” .. factFound[1], 650, 45 )

    love.graphics.print( “nitrogen fact: ” .. factFound[2], 650, 75    )

    love.graphics.print( “volcano fact: ” .. factFound[3], 650, 105 )

    love.graphics.print( “hamster fact: ” .. factFound[4], 650, 135 )

    love.graphics.print( “cat fact: ” .. factFound[5], 650, 165 )

    love.graphics.print( “oxygen fact: ” .. factFound[6], 650, 195)

    love.graphics.print( “ocean fact: ” .. factFound[7], 650, 225 )

    love.graphics.print( “light fact: ” .. factFound[8], 650, 255 )

    love.graphics.print( “bat fact: ” .. factFound[9], 650, 285 )

    love.graphics.print( “diamond fact: ” .. factFound[10], 650, 315  )

Cheat

if you press the ‘insert’ button it will reveal the entire maze but give you 10 player health so everyone will know you cheated!

line 743

        if key == ‘l’ then

            if openscreen == false then

                    openscreen = true

                    player.health = 10

                    factFound[5] = ‘true’

            else

                    openscreen = false

            end

We made a few basic errors early on like making the player icons 16 by 16 pixels, this was far too small to get detail. It would have required too much work to re author all the code to remedy this so it stayed!

Weekly we would get participants to make graphics and talk about the game design. These snippets and direction were uploaded to our communal google drive where Daniel could grab and use them. It was a great exercise in collaboration and cloud project management. It’s a part of the way the group operates that we always

you can see our google drive

dedarwin1@gmail.com

Darwin!@#

The group would see and play the latest version of the game as it became available each week

FINAL WEEKS: We are able to play the game in its entirety ! It’s looking great. We are adding sounds and ironing out a few bugs (the main character keeps disappearing and coming back, you can see too much of the map around the enemy).

Everyone downloaded played the game and got some screen grabs using smart pixel of themselves playing, we plan to pop that in our promo.

Individual/Team name 

Darwin Youth Tech Club

Team members                         Team roles 

Daniel Watson

coder

Matthew Bridges

game design

Nick Lee

sound

The DE group (full class list in appendix)

graphics / feedback / testing /tinkering

School

Corrugated Iron Youth Arts (Digital Enterprise program uniSA)

Game Title 

An Amazing Game

Game Description 

You need to get through an obscured maze picking up science facts along the way. Enemies approach revealing useful bits of the maze but don’t let them get too close!

**there is a cheat button press ‘insert’

controls

WASD controls (up left down right)

navigate the maze, find the science fact, make it to the bottom right of the screen without dying

Game STEM Content 

STEM content is used throughout the game:

The greatest STEM feat is the hand coding by 15 year old Daniel Watson who single handled wrote every line of code (no game engine code was used)

There  is a STEM theme in that you need to collect a science fact to get through the level, the way these facts were devised from referencing the internet is a constant process we use for finding out information

All graphics and sound was created on programs we downloaded and installed on computer we maintain.

Platform 

Eg : Windows, OSX, iOS, android

we run it on windows using love2D

https://love2d.org/

it can be run on windows / OSX / Linux

You need to install the game engine then run the .exe in the folder if you’re on windows (mac you’ll need to drag the folder ‘maze game final’ onto the love2D icon)

the code we wrote is in this folder

main.lua

Focus

Eg : Visuals, Sound, Writing, Gameplay,  Authoring

A project is an opportunity to learn. We took this opportunity to develop everything from scratch: Concepts, visuals, sound and coding. But specifically we wanted people to collaborate as this is an underrated skill required to get things done!

Content examples

Copy and paste some examples of your work – images from the game, images of characters, development sketches, sample text, or design notes are all acceptable.

Original hand drawn sketches by matthew

In devising the game Matthew created dozens of sketches to explain how the game would work, while we adapted and changed the graphics we remained faithful to the ideas

image16

game play testing (using smart pixel)

Many people’s game play has been uploaded to our youtube channel (have a look)

https://youtu.be/is60cjsvihI

image11

Sprites

image06

Dozens of pixel sprites were made, they can be viewed on our google drive

image00

On the Google ‘Drive’ are many examples of early version of the game

you’re welcome to play them to see our progress from making basic things happen to the final game