This week we looked some game designs from our ninjas. We ended with four:
Duty to Defend – A tank-based flag-defence game played in first-person.
Monster POV – Play as a monster defending a dungeon against hero characters. Isometric viewpoint.
Red Panda’s Shopping – An exploration and collection game with puzzle elements.
Gardening Simulator – Grow and harvest plants in a top-down game to earn money and unlock new seeds and areas
A vote was held and the winner was Monster POV!
We’ve asked ninjas this week to find some visual references for the look-and-feel of the game (given that it’ll be low-poly) and also to consider some lore or story that would enhance the game and inform the creation process.
We started off this year with the Spirals Project.
We could specify how many lines the code should draw, how many sides the Spiral should have and then finally how many extra degrees we should turn before drawing the next line.
I have uploaded 2 versions of this project to the Scratch Website, you can get all the code and also play with them online.
ClassVersion-Spirals – This is the one we ended up with where it creates the early universe. ClassVersion-SingleSpiral – This is the one that we started with, where you can choose the different values.
to document your game idea. Remember that we don’t need a timeline, just the game concept. These files are just templates, so feel free to add anything you thinks is important and to ignore or delete anything you don’t think is important.
You will need to be connected to Microsoft Teams to download these files. Once you’re successfully connected to Teams, remember to say “Hello” in the 2023 Say Hello channel.
Also try to have Blender installed before next weeks session. This will avoid problems with passwords/IT locks/etc. Blender can be downloaded here.
CoderDojo Athenry will be returning on Saturday 23 Sept 2023 with an information session. Our first normal session will be the following Saturday, 30 Sept 2023.
The information session will be a short session, running from 12-1pm. All subsequent sessions will be two hours in duration, from 12-2pm.
If you have not attended CoderDojo Athenry before, please do your best to attend the information session. For all others it is optional.
We have four groups running this year:
EXPLORERS: for young kids (must know how to read) Learn Scratch! Program your own interactive stories, games, and animations. Scratch helps kids to learn to think creatively and reason systematically.
ADVANCERS: for kids ready to move on from Explorers, features more advanced projects in Scratch and some other technologies.
BODGERS: for kids who have done Scratch and want to move on to a more advanced coding language. We’ll use Python to create our own animations and games similar those being created in both Scratch groups. This year we may also look at using Python to control some electronic hardware.
CREATORS: an introduction to game design and programming using the Unity Game Engine and Blender 3D modelling software.
Ninjas from 7 to 17 are welcome to join us. Children aged 12 and under must be accompanied by a parent/guardian who stays in the same room as them for the full session.
Hi Creators, the final version of Gem Search is uploaded to our GitHub. The HighScore functionality is completed. The InitialiseInventory component has been disabled, but the word “Inventory” on the inventory screen is now a secret button you can use to get some gems at run-time.
Updated 22/05: Credits added.
Looking forward to seeing you all at the party on next Saturday! Thanks for a fun year.
This week we took the completed game and started to look to making it more fun to play and to iron out some of the things that don’t work well at present.
Distance Measured to Buried Gem
The original gem sensor measured the distance between itself and the nearest gem and used this for signal strength. This didn’t always work well, especially on down slopes. This diagram shows why:
The straight-line distance to the gem (blue lines) on a downslope is far greater that it would be on the flat.
The solution to this was to compare just the horizontal distance between sensor and the gem, removing any height differences.
We had to make this change in both ProximitySensor.cs and PlayerDig.cs.
Sensor Signal Strength
The signal strength was calculated as follows:
Signal Strength = Distance related factor * Direction related factor
The first attempt we made at signal strength was purely based on distance, in practice this proved to be super hard to use. Including direction made it a lot easier to find the gems, but the fact that the distance related factor dropped to zero, hence making the signal strength zero, the instance our gem was behind us, even the tiniest amount, didn’t feel correct.
Our adaption was to make it so that the Signal Strength has a strong component that ‘s directional, but a small independent component that’s distance based. Here’s what that looks like:
Signal Strength = Distance related factor (0.2f + (0.8f * Direction related factor)
If we look at this equation, even when the direction related factor is zero, the signal strength doesn’t drop completely to zero, although it does get a lot lower. This feels a lot better.
Tweaking and Polishing
Our final few weeks will consist of tweaking and polishing the game. We have a document here:
to track our ideas. We probably won’t get to do them all.
Code Download
The code for this week’s project is on our GitHub, as always.
Hi everyone,
We completed our Mario game this week. We coded Mario so that he always floated down on to the wall. We added a fraction of a second of a wait so that it appears that he floats as he comes down. This also allows time for you to navigate left or right as needed.
We also introduced a more advanced concept, the Parallax effect, whereby objects further away appear to move slower than objects nearer. We coded mountains and a Sun to demonstrate this.