Skip to content

Instantly share code, notes, and snippets.

@NilsIrl
Created December 22, 2019 10:41
Show Gist options
  • Save NilsIrl/6d3a3dd991a3087cc9f7e4d59f8edaa8 to your computer and use it in GitHub Desktop.
Save NilsIrl/6d3a3dd991a3087cc9f7e4d59f8edaa8 to your computer and use it in GitHub Desktop.
What compile_time_serde::deserialize_json!() expands to
::staticvec::StaticVec::new_from_const_array([Game{title: "Blindspot",
tools:
Some(::staticvec::StaticVec::new_from_const_array(["Godot",
"ffmpeg",
"audacity",
"staticvec::staticvec![sox](http://sox.sourceforge.net/)"])),
platforms: None,
authors:
Some(::staticvec::StaticVec::new_from_const_array([Author{name:
"Nils André",
age:
15,
city:
Some("Maidstone"),}])),
year: 2019,
award: "Game Making",
group: "15-18",
quote:
"Blindspot is a game for people with vision impairment as the player has only their sense of hearing to move around and win. This means that someone with vision impairment will not have any disadvantage compared to someone who can see correctly.",
description:
"In the game, you, the player has to reach the endpoint to finish a level. To do so the player will only have to use sound only like a visually impaired person. This means that someone with vision impairment will have the same change as someone without to win at this game.\n\nThis means to play, one will have to have headphone/earbuds since surround sound has to use them. To make it harder, there are also zombies and pits. Zombies will go toward you and if they hit you, you will die. Pits are structures to jump over. The first four levels are just to introduce some of the game concepts. while the last 6 levels are a mix of the previous concepts.\n\nMaking games, I had never made games before and learned to use the Godot Engine as well as all of the areas surrounding game making. I learned about 3D transformations, Navigation meshes, Doppler effect, Radians. 3D transformations were definitively the most challenging part as they do not seem natural at first.\n\n\nBecause of the way navigation meshes are built in Godot I have to reprocess the paths using some quite demanding math so here are the possibilities to fix this which can also be used at the same time:\n* use a better math equation (I know it is possible since I chose one of the equation on Wikipedia with square roots when what I want to do is possible without it)\n* use c++/c/rust. Godot supports these languages using GDNative instead of gdscript. These languages are probably a lot faster.\n* process navigation less. Currently, the navigation API is called each frame when this could be changed to something like each second or each half second.",
winner: false,},
Game{title: "Green Launch",
tools:
Some(::staticvec::StaticVec::new_from_const_array(["Unity"])),
platforms: None,
authors:
Some(::staticvec::StaticVec::new_from_const_array([Author{name:
"Abigail Tan",
age:
16,
city:
Some("Brentwood"),}])),
year: 2019,
award: "Game Making",
group: "15-18",
quote:
"A challenging fast-paced action platformer where you use your \'Solar Launch\' abilities in an alternate reality to overcome hazardous obstacles and discover how to save the environment.",
description:
"In Green Launch, the player runs a computer simulation that takes them into an alternate reality where the world has been devastated by the impacts that humans had on the environment. They have to overcome the challenges of the alternate world to find out what needs to be done to prevent the same thing happening to the real one.\n\nThe game\'s levels incorporate the settings and themes of acid rain, oil spills, and global warming in the form of melting ice caps and rising sea levels. The hazards that can kill the player relate to the setting of the level. The landscape of the \'alternate world\' is devastated in comparison to the world as we know it; hazards threaten the player\'s existence constantly. Players will leap across giant acid lakes, evade dripping ice and spikes, race against time to stay above the rising seas, and more.\n\nThis was my first Unity game so I had to get to grips with how the engine worked, allowing me to gain experience utilising industry standard software. I also learnt to write code in C# as I had only used Scratch and Python before.\n\nMy game incorporates some mechanics that aren\'t commonly used in other games (such as the special jumps using the Solar Launch Pads). As a result, there were no comprehensive tutorials I could follow to code these jumps. Therefore I had to figure out my own solutions and use my knowledge of the code and game engine in order to get the mechanics to work. This made the coding aspect of development an invaluable opportunity to enhance my problem-solving skills.\n\nI also learnt a lot about game design and difficulty progression. As my game is intended as a challenging action platformer, it was important to get the difficulty curve right. I did some research and found that teaching the player a new skill, then testing them on it in later levels, was an important aspect to implement well in a platformer. Therefore I repeatedly tested the game to adjust the difficulty curve so that it would be optimally paced for the player and not be too frustrating.\n\nOverall, one of the most valuable lessons I learnt during the development of Green Launch was turning an idea into a working game prototype, and conveying the themes I wanted to get across. I wanted the game to teach the player about environmental issues in an interesting and accessible way. However, it can be difficult to incorporate a theme like this without taking the focus away from the main gameplay. Through making this game, I have learnt how to balance a focus on core gameplay with maintaining an important overarching theme throughout the game. The implementation of the environmental settings was a major part of this.\n\nI would add in more level sets themed around different environmental issues. For example, I would add levels about air pollution, plastic pollution in the oceans, and wildfires or droughts caused by global warming. In addition, I would add level sets that involved the player actually helping the environment. I\'d also develop the mechanic of the Solar Launch Pads further, perhaps allowing the player to sprint under obstacles or teleport to alternate locations in the level. This would open up more gameplay possibilities without overloading the game with mechanics.",
winner: false,}]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment