Smash Effect
Kaarel Rüüsak, Helen Õunapuu, Karl-Walter Sillaots
Description:
We are making some visual effects for when heavy objects smash against hard surfaces. Current plans are to have some cool particle effects and a material that is transformed in a wave from the point of impact. We're also planning to add some sparks and trying to implement these systems with collisions in mind.
Roles:
Particle effects - Karl-Walter Sillaots
Wave effects and other funky distortions - Kaarel Rüüsak
Using and showing off the effects - Helen Õunapuu
Links:
Link to the repository: https://github.com/KaarelRyysak/SmashEffect
Instructions on how to launch the project in Unreal Engine
Link to the Final Build
How to play the game
Controls:
W, A, S, D - Move
Left mouse button - Shoot the current projectile
1, 2, 3, 4 - Switch bullet type
The player is on a platform floating on water. There are cubes of different types approaching the player and in order to destroy them, the player has to use the corresponding type of bullets and shoot them. Otherwise the cubes will push the player off. The player loses when they fall in water.
Summary of the first deadline
We were all trying to learn or remember Unreal, which hindered our progress at the start. Everyone was busy, so the work got delayed until the last minute. The wave effect was ready for its first and most primitive implementation, but there was no time to implement it. We did manage to get some particle systems working though, which created rocks when the box collided with an invisible block.
First deadline progress demonstration
Particle effects
Particle effect progress video
Wave effects
Our progress leading up to the coach meeting
This time around we're trying to make a big effort to work on the project every week and get something done. The wave effect now starts off without transformations instead of cutting to an indentation. Its code has also been restructured and is now used thrice, to create three spreading waves as opposed to one, and it has been implemented into the world as a simple example loop.
The particle effects have also been worked on extensively. We now have not only the rock effect, but also some dust and spark effects, some of them utilizing vector fields to make the particles move in more interesting ways. These have not been fully implemented into the demo yet, but we're working on it.
Final Version - Summary
At first we had a plan to just create particle effects and a wave material. The idea was that we have some heavy objects that hit against the ground and create waves and particle effects. After very useful and eye-opening coach meeting, we decided to move a bit more towards creating a game, not just effects.
All our created effects can be seen in our simple game. We used particle effect for creating hit effect for cubes, making difference between projectile types and also for wall lightings. We used our wave material for water.
This game is like Tetris – one cannot win this game. You play it until you die and then you can see if you managed to get the new high score or not. The goal of the game is to stay on the platform as long as possible without dying. For this, player must destroy different cubes that are moving towards the player. There are four types of cubes – fire, ice, stone and iron. Player also has four types of projectiles – fire, ice, stone and iron. Only correct type of projectile destroys the cube. Projectiles can be changed with keyboard numbers 1 (fire), 2(ice), 3(stone) and 4 (iron).
In the creation process, everybody had their own tasks - Karl-Walter Sillaots worked on particle effects and some materials; Kaarel Rüüsak created the material with waves; Helen Õunapuu put particle effects and wave material into the game level.
Karl-Walter Sillaots:
Mostly developed new Particle Systems and Materials that compliment them. This involved using the built-in Unreal Engine 4 environment called Cascade, where it's possible to manipulate Materials in various ways to create many Particle based effects, such as dust, snow flying, fire and so on.
The most difficult part was understanding, what the other team members wanted to be created, since each person had a different idea on what should be in the game. For example, I created various Particle Systems with the preconception that they were going to be attached to the ammunition fired so that they would leave a trail. Instead it turns out that they are attached to the gun to indicate which type of ammunition is selected, which is why certain effects might not look as good as they should in their original intention.
Helen Õunapuu
Mostly I united different components that other team-members created into one level design. Most important parts of my contribution were: Building the level, creating moving cubes, implementing particle effects, implementing wave material.
I learned a lot about Unreal Engine since I had never used it when we started with our project (even UE labs in this course hadn’t started yet at that point) so most of my time was spent on watching unreal engine tutorial videos, reading forums, learning the actual environment and seeing/testing what it is capable of. I realized (yet again) that, in general, I do not like visual programming very much (I prefer text-based programming languages).
I also think that our whole team learned a lot about teamwork because it seemed to be the weakest part of our project. The coach meeting helped us a lot with that and we got some really good ideas from Jaanus Jaggo. But our project quality suffered a lot because everybody seemed to be on a different page with the project and we had some serious communication and understanding issues. I also learned from this course (and from parallel Computer games design and development course) that creating a computer game is not as trivial as it might seem to one that has never done it before. For me, the most difficult part was learning and understanding Unreal Engine (there is still a long way to go) and communicating with my team – for some reason it was very hard for us to stay on the same page.
Kaarel Rüüsak
I created the wave material effects that were used as water later on. In addition, I made the base for the UI and score system, which Karl-Walter also helped with.
I learned a lot about Unreal Engine, since I hadn't really even worked in the material editor before and throughout this project I had to make a pretty complicated material. I don't really have much previous experience with Unreal Engine, so I spent a lot of time trying to understand the different systems I had to use in order to get where I needed to be.
For me the hardest part was how difficult it was to properly structure complicated code in Unreal's visual programming mode and then explain it to other people. My code ended up being so cluttered, I needed to create two custom functions within each-other in order for it to be readable.
Other than that, communication was pretty difficult. The project seemed to be coming along nicely, until at one point we all realized we all had different ideas about what the end result should be like, since we hadn't set very clear goals or talked about it together much. I definitely learned that in group projects, we need to be very thorough with communicating our goals and make sure we stay on the same page as the project comes along.
Final result preview
Gameplay preview
Higher quality gameplay preview