chroma-project
chroma-project
CHROMA - Arcade Game Project
22 posts
Don't wanna be here? Send us removal request.
chroma-project · 1 year ago
Text
QUITTING THE GAME AFTER SOME TIME ::
For this project, I needed it to be able to quit after around 60 seconds if nobody touches it. Here's how I did it:
First, I open my game manager script, which contains stuff like saving and reloading.
I create a new Coroutine, this is because I want to be able to use "yield return new WaitForSeconds(...);".
I first check if the player isn't moving, then I start a timer of 60 seconds. After the 60 seconds, I check if the player is in the same position as last time and, if they are, I use Unity's "Application.Quit()" function to quit the game. If the player has moved, I just return out of the function.
Additionally, to make it so the game quits when a button is pressed, I can just use Input.GetKeyDown(KeyCode.[KEY]) instead of checking for if the player has stayed still for some time.
0 notes
chroma-project · 1 year ago
Text
BUILDING THE GAME ::
In unity, building a game is extremely easy and, as long as your game has no errors, you can build to any device (that is capable of running it). For example, I first built CHROMA for windows, then I changed some stuff like resolution and built it for WebGL (CHROMA by thejinxedartist (itch.io))
0 notes
chroma-project · 1 year ago
Text
TITLE SCREEN ::
Here is my current title screen:
Tumblr media
It's not anything special, but it works, ill probably edit it a bit, but its fine for now.
the [x] is currently a placeholder because I don't know how the buttons on the arcade machines are laid out, but ill change it once I know.
0 notes
chroma-project · 1 year ago
Text
SAVING DATA IN UNITY ::
There are many ways of saving data in unity, from using unity's PlayerPrefs, to creating a custom file, they all have their upsides and downsides. I chose to use PlayerPrefs as all I'm storing is a high score variable, but for most other games you would probably want to store other things like a player's position or inventory (something I will eventually have to do for my personal project, ETHERIA). If you're saving more complex data, a better thing to do would be to use json files, unity makes this quite simple to use, but has the issue of json files being relatively easy to edit. The final method (and, by far my favorite) is to create a custom file type to store the data. this makes the file almost uneditable (I think) and means that you're never going to have any issues with mismatched files. but still, if you're just doing a game like mine where the only thing you're storing is a high score, then just use PlayerPrefs.
0 notes
chroma-project · 1 year ago
Text
FIRST PLAYTEST ::
Getting other people to playtest games is crucial when developing a game, it helps you understand what players dislike and like and allows you to make your games even better. Here is some of the feedback I got:
Make the text more visible (because people weren't reading it and getting confused).
The random blue and pink enemies made people think that you could go past them (I've removed this feature and have changed it to just blue).
Maybe add a dark mode (I'll just invert the colours).
So far, I have made the text more visible and removed the randomness, now I should just have to add the dark mode and finish the level (and add a main menu, but I was going to anyway).
0 notes
chroma-project · 1 year ago
Text
WHAT I DID TODAY ::
Ok so, I said that I would try and get the "Cores" implemented.... well I ended up just removing them. They didn't really feel like they fit in my game, so I instead updated the triangle enemies so that they are randomly pink or blue, and killing one will increase either the pink score or the blue score. I also spent way to long programming a saving system and so now there is a high score. I would like to have all scores shown, but I'll add that later. I also added a portal object that teleports the player to a position, I want to have an exit area as well, but that's another thing to do later. Finally, I started work on these "Turrets" which can spin or shoot "bullets" (they're just circles) in a specific direction.
Some Screenshots:
Tumblr media
The UI so far, its a bit messy but ill fix it.
Tumblr media
Randomly Coloured enemies.
Tumblr media
I've probably showed this before, but the blocks that can only be seen when you are blue.
Tumblr media
The portal.
Tumblr media
The turret.
0 notes
chroma-project · 1 year ago
Text
MY GOALS FOR TODAY ::
Today I would like to get the main goal of my game working: To destroy these things I call "Cores".
Tumblr media
Above is a (probably temporary) sprite for the blue core. When these are destroyed, one of two scores will increase: the pink score and the blue score. If the difference between these cores becomes too different then you loose, the goal is to get the highest average score.
0 notes
chroma-project · 1 year ago
Text
SAVING HIGH SCORES IN UNREAL
High scores are probably one of the most important things in creating an arcade game, they are in almost all of them and there's nothing quite like dying (in game) and having your score slowly increase and make funny noises. Of course, I haven't made anything special for this and it most definitely needs optimization (instead of updating the high score every time the score changes you should only do it when the game ends), but it works.
Tumblr media
Check if the save exists ^^^
Tumblr media
Increment score and set high score to the score if it is higher ^^^
Tumblr media
Display Score ^^^
Tumblr media
Display High Score ^^^
Tumblr media
Player Score variable in the save ^^^
0 notes
chroma-project · 1 year ago
Text
GAMES I COULD HAVE MADE
So, I had, of course, had some other ideas for what I could create for this project, the first of which being what I showed at the beginning of this: the game where you paint tiles on a square and try to get the amount that aren't painted and are painted to be near enough equal. Originally for this I wanted there to be an enemy that chased you and would also paint tiles, but that felt way to hard to play and just annoying so It ended up as the game I am making now.
I also had the idea to have a doom-style dungeon crawler/roguelike where you would go through different rooms and each room would either be puzzle, agility or attack based and, once completed, you would gain a point in the room's theme. In the end, you would have to get the average level of each as high as possible, but have the levels not too different from each other. I didn't get very far with prototyping this idea and only really got the 'look' right, but even that was just a pixelate filter.
And finally, as I think everyone in this project has thought of doing or is creating: a game where you balance on a platform and some objects fall from the sky. Yes, it is simple, and yes, it would work, but I wanted to do something different for my project and make something that not only was unique and fun to play, but also fun for me to make. and that is why this idea was very very quickly scrapped. I'm not saying it's a bad idea, I'm just saying I don't like it.
0 notes
chroma-project · 1 year ago
Text
What Is An Arcade Game?
An arcade game is a game that is played on an arcade machine, but there are a few more things that some people may say defines an arcade game, such as:
Bright flashing lights to draw people in.
Gameplay that makes the player want to play more.
Coin operated (or ticket or whatever the arcade uses) so that it generates money.
As in-your-face as possible.
loud music (at least, that's what I'm used to).
Basically, arcade games need to make you want to play the game and not stop playing, whether by potentially giving them a stroke from all of the flashing lights or bursting their eardrums from all of the over-the-top sound effects.
0 notes
chroma-project · 1 year ago
Text
Moodboard Stuff
THIS is my moodboard for the art and stuff for CHROMA. It's basically just a bunch of geometrical linework and stuff and then a bit of rougelike added because they generally tend to be set in rooms and you have to restart once you die, like my own game. Also I added some Just Shapes and Beats stuff because that's the main inspiration of my game's movement.
Just in case, here's the link again
0 notes
chroma-project · 1 year ago
Text
GAME CHARACTERS BASED ON SHAPES
Game Characters, and characters in general, can be designed around certain shapes so that people who see them will be able to have somewhat of an idea of what that character is like, even if they haven't actually done anything yet.
First of, Square based characters. When you think of squares or cubes, you generally think of something heavy or unmovable like a rock or a crate, and those traits are seen with characters based on cubes too, generally being the stronger characters with rigid movements and large muscles, for example:
Next, Triangle based characters are generally cold, evil... sharp, characters who you might not want to be around. These characters would generally be quite skinny, with sharp pointed features like the nose, fingers and chin. Some good examples (including movies and games) could be:
Magnus Crome (Mortal Engines, the book)
Silco (Arcane)
Finally, Sphere or Circular characters may be kinder or sweeter, or perhaps quite posh or pompous, I'm not quite sure why spheres have been associated with kind people or posh people, but it definitely works for their designs. Some examples:
Kirby
[THIS IS NOT FINISHED YET, I STILL NEED TO FIND SOME MORE CHARACTERS]
0 notes
chroma-project · 1 year ago
Text
ANIMATING UI IN UNREAL
Unreal's Animation system is quite good, I was able to make this text fly across my canvas with relative ease by adding keyframes with the position that I want and then using the curve editor to finalize the look.
Tumblr media Tumblr media
This little blueprint will allow me to play an animation whenever the spacebar is pressed, the spacebar is not needed and can be replaced with anything else, it was just for testing.
Animating UI can be great for arcade games, adding impact to things that are usually quite static. Usually it would just be scaling a button up and down, rotating text, making things glow whenever the cursor is over it, etc... it just makes it look more alive.
0 notes
chroma-project · 1 year ago
Text
Tumblr media
Above is a quick logo I created based on two words, it has absolutely nothing to do with my project or anything but I gotta do it so here it is.
0 notes
chroma-project · 1 year ago
Text
CIRCLE : TRIANGLE : SQUARE
Circle :
When I think of circles (in terms of gameplay), I generally think of things like infinity, replayability and just generally coming full circle. In terms of graphics, I would be using them to show something that is happy or kind, and not just using circles, but also heavily beveled shapes.
Triangle :
In terms of gameplay, triangles work well for adding a focal point, or generally anything concerning direction or position. Triangles can also be used in anything to do with speed, due to aerodynamics. In terms of graphics, triangles are used everywhere, from rendering anything on a screen, to creating low-poly style art, triangles are sharp and would hint to generally quite deadly or sharp objects.
Square :
Squares, in gameplay, usually make me think of sturdy and heavy objects, like large crates in a puzzle game, or strong-looking characters who are based on the square shape. In graphics, Squares would generally be used to show the same as gameplay, using them for showing that something is heavy or strong, people using box-shaped rocks to show that you aren't able to go somewhere.
I have added some art to do with these themes to my CHROMA moodboard
0 notes
chroma-project · 1 year ago
Text
WORKSHOP :: UE5 4-DIR MOVEMENT AND 2D CAMERA
I know I said that I wouldn't be using Unreal Engine, and I don't plan to, but I do still have to show these little 'workshops' as a part of my course, so here is some simple 4-directional movement in Unreal Engine... and a little camera bonus.
Tumblr media
This might look quite a lot like Unreal's default 3rd person movement (because it basically is) but there is a little bit at the start that forces the movement to snap directly to 90 degree angles, with a bias of moving up and down before left and right.
Tumblr media
As the comment of this small function says, this will force the camera to look directly at the player's pivot point, no matter either's location.
To create a top-down or isometric camera, it is quite simple:
Create a camera blueprint and reference the player object.
create a vector variable and call it 'offset', using values of (0, -200, 200) for top down and (-200, -200, 200) for isometric. (you should probably replace the 200's with something else)
set the camera's position to the player's position + the offset value.
Use the same blueprint as above to make the camera look at the player constantly as to not have to manually rotate the camera.
The instructions above will make the camera move with the player and stay top down or isometric (depending on your offset value). you could also use it as a side-scroller camera, or any camera really as it is just offsetting the camera from the player and forcing it to look at the player. If you want to be able to rotate the camera like in a third person game or something then I don't know what to do, but in top down and isometric games the camera doesn't really rotate so its fine. Obviously the camera should be set to orthographic as well.
Using a top-down or isometric camera has a few problems, the main one being that there is no longer any sense of depth, meaning the player could be moving forward or upwards but you'd never know because forward is now also being represented as up. you could mitigate this with a really dense fog, but then your game would probably have to be based around the fog because it's really hard to just have a really dense fog and ignore it. These cameras also make it so, if you move behind an object, the player is invisible. you could fix this in a shader by getting the player's position in screen space and then getting the distance between that and the screen's uv coordinates and then placing a dot on the screen, but you could also just extend the collision to what is being hidden. basically this problem is kind of unresolvable unless you are willing to give up on some aspect.
0 notes
chroma-project · 2 years ago
Text
HOW IT LOOKS NOW ::
As I said before, I was disappointed with the visuals that I had come up with before, so here is an updated look at what it looks like:
youtube
You can see now I've gone for more of a vector art style, and the game is less "get annoyed because my terrible AI just undoes what you just did" and more puzzle like. I'll have to explain the theme in another post, but I think it's looking quite good!
0 notes