#unity 2d platformer
Explore tagged Tumblr posts
dmdarius · 4 months ago
Text
Let's Play Nine Sols |28| Everything Is At Peace
A strange signal coming from the Cortex Center? A lovely, kind woman by the name of Lady Ethereal? A serene landscape of hot baths and sweeping landscapes? It’s too good to be true, considering what we’ve encountered thus far. #taopunk
#ninesols #metroidvania #redcandle
youtube
2 notes · View notes
linuxgamenews · 1 year ago
Text
Saviorless: The First Major Indie Title from Cuba with an International Publisher
Tumblr media
Saviorless captivating story driven 2D platformer game is coming to Linux, Mac, and Windows PC. Thanks to the skilled folks at Empty Head Games for their hard work and creativity. Due to make its way onto Steam soon. Saviorless is due to release on April 2nd, 2024, and it's developed by Empty Head, a Cuban indie studio. Published by Dear Villagers, this release marks a huge milestone. Why? It's the first major indie title from Cuba to team up with an international publisher. Let's dive into what makes Saviorless stand out on Linux. First off, the visuals are all hand-drawn, bringing a dark, fantasy vibe that's both unique and intriguing. You're going to be exploring the Smiling Islands, which, despite the name, are anything but cheerful. Think nightmarish monsters and eerie landscapes – the kind of stuff that makes for a memorable experience. You'll play as Antar, The Savior, and Nento, delving into a story that's as broken as it is fascinating. It's more than just progressing through levels; you're piecing together a tale that's scattered across the game. This isn't your typical story approach, and that's what makes it so much more engaging.
Saviorless - Release date announcement
youtube
Here's what's even more impressive – the journey to get Saviorless out there. We're talking about eight years of hard graft, through ups and downs, like budget issues and even a trademark conflict. The team even faced the loss of a key member, which could have derailed everything. But they pushed through, with Dear Villagers' support, to create something that's not just a new title – it's a labor of love. You're not just playing a new title here; you're unraveling a mystery. Those nightmarish monsters? They're in your way, and you've got to deal with them. The story isn't handed to you on a plate either; you'll find bits and pieces as you explore. Due to add more depth to your adventure. The impact of Saviorless goes beyond entertainment. This story driven 2D platformer is a symbol of resilience and creativity, showing that even under tough conditions, remarkable things can happen in the gaming world. So, whether you're on Linux, Mac, or Windows PC, dive into the Smiling Islands. It's not just another title to add to your collection; it's a whole new world to lose yourself in. Keep an eye out on April 2nd on Steam.
8 notes · View notes
gamecodelibrary · 2 years ago
Text
youtube
Newest video is a fun one! Writing some dynamic enemy AI for our platformer game. I didn't want to do traditional pathfinding or waypoints - but instead have our lil guy actually thinking for himself!
13 notes · View notes
csalt3d · 1 year ago
Text
Calamity Chord Weekly Devblog #2
Hey friends! It's me again and I don't have much to offer right now since I've been busy but here is a cool combo I made using the new chord Gravity Chord.
With this funny little chord you can play a Time and Space breaking note that suctions enemies right to you like a magnet and allows you to pull them back to you. With this chord you can give incoming baddies an extra beating without dropping your combo!
You can use this for all kinds of crazy things but this is all I'll show for now.
With Kate's moveset being fully complete be prepared to see enemies and some new lowpoly art coming from me in the future!
Catch y'all next week and have a great day! <3
3 notes · View notes
frekkicreative · 2 years ago
Text
I haven't opened this project for ages but it works! Mostly anyways. There's some error messages to sort through but if anyone was curious as to what the inside of the Unity engine looks like (errors and all) here it is! My lovely pandemic project that got shelved for far too long. I'm trying to remember where I even left off with it...
Tumblr media Tumblr media
3 notes · View notes
clema-game · 2 years ago
Text
Prototype platforming
Hi, here is a sneak peek of the prototype we're making with Unity. Getting loopings to work was harder than we thought 😅
[VF] Bonjour, voici un petit aperçu du prototype qu'on est entrain de faire sur Unity. Faire fonctionner le looping était plus dur que ce qu'on imaginait !
5 notes · View notes
ann-y-art · 1 month ago
Text
I did a small game, might add new levels and updates in the future but ain't sure about it. Feel free to leave feedbacks and comments!
Cheers,
Annie-Claude
0 notes
adamtheamazing5 · 11 months ago
Text
Super Mario Clone (Adams version)
Want to play this game? click here: https://adamh5.itch.io/supermariocloneadamsversion
password is : SMC85
Normally I prefer not making clones of games that already exist on shelves and I also prefer making something original that sets itself apart from similar games, however, it wasn't until recently that I found an online course that contains a Mario Clone tutorial by Awesometuts on Udemy. Originally I started with the Mario Clone lecture (and some other lectures) in the course expecting to learn familiar Super Mario mechanics that are part of the norm of Sidescrollers like coyote time and responsive jumping (the longer the key it held, the higher the jump) for one of the upcoming original games I planned, unfortunately when I found out the game idea would be too complicated for this time round and the responsive jumping mechanic was nowhere in the Mario Clone lecture, I scrapped it and left it too rust in my computer and started with my other projects.
Until recently, I thought: What if the project could help me strengthen my game design, programming, and Level design skills? So I started to get back on the course and proceeded to complete the Mario Clone lecture.
After I completed the lecture, I was unsatisfied with the end result since the project had bugs, unfair difficulty, and unpolished mechanics. So I decided to take roughly more than a month to fix these issues as much as possible without making a full game with many levels since it is not a game I would make money by selling on Steam or Itch.io, that’s why I only made 1 level, used the only sounds in the package rather new sounds, and just generally focused on Quality instead of Quantity.
On the bright side: I learned a lot about managing sprites and Side scroller mechanics, It isn’t the first time I have prototyped a side-scrolling game, but it is the first time I started building the side-scroller game on my own except for the art assets are not mine and I was taught by AwesomeTuts which gave me a head start on building the game.
I was originally going to have it displayed only as a practice project which is unplayable by the public and only displayed on my Portfolio, but because I put so much work and effort into it, I thought of having it as a private product so only certain people can play my game and give me constructive criticism.
I don’t exactly know who made the original sprites and other assets, but I was provided by AwesomeTuts for the project.
WHAT WENT WELL?:
I managed to have little bugs in my game. Some bugs I had to let go like the player going stuck in between edges of snail shells and tree trunk edges because they weren’t too severe since this is not a full commercial game. At least the game does not crash or break mechanics to cause it to be unplayable for the Player.
I managed to stay organized with prefabs this time making folders with different sets of them like Lego bricks. E.g. “Ground” folder contains prefab sets “4x1 ground”, “1x1 Ground with 1 Trunk”, and “1Tree_2x1Ground_1Stump_1flower”. This made finding the exact prefabs for the level easier.
I successfully managed to put up a camera collider that stops the Player from going backward just like the original Mario games without the collider pushing other game objects with physics such as enemies and powerups. However, the Player's fireballs do collide with the camera collider on purpose.
I successfully used a public enum that I called “Item” which allows me to select which powerup the Player gets by jumping underneath the Bonusblock, by default I set it to “coin” which is self-explanatory and gives the Player coins. I figured most of the Bonus blocks in the game would give the Player coins.
I managed to make the Player lose the ability to throw fireballs upon enemy collision after the Player gets the Fireflower just like in the original Mario games.
Managed to get the game to freeze for a few seconds and play at normal speed in an instant. This is done when the Player has run out of lives and than falls off the level yet again just like in the original Mario games.
I set public bools such as “downfirst” and “FlipYDirection” to tell the spider to go down first and to flip its Y position sprite each direction it changes respectfully. If down first is false, it goes up first. This allows me to add character to each spider and to add challenge to the Player with its AI behavior.
Managed to get the spider to only die when the Player jumps on it and is also midair, so if the spider comes underneath the Player on the floating blocks, it will damage the player and still move up and down as normal.
I fixed a bug where if the Player hits underneath the Bonusblock and stays colliding there, multiple powerups will instantiate. Since the bug fix, only one powerup instantiates no matter how fast the Player hits the Bonusblock underneath.
I coded a mechanic where if the Player falls under a certain limit based on his/her Y.transform.position, the camera will stop following the Player, the Player movement script is disabled, play game over audio plays, and then restarts the level without using colliders to cover the empty pits where the Player can fall from.
I have made Player and Enemy scripts a bit tighter with being alive or not. If the enemy or Player is dead, they cannot respond to anything else from the code, for example when the Player dies and gets thrown back falling off the screen: he/she can not collect powerups, Though I did leave the Player accidentally falling on Beetle than bouncing off it while falling off screen because I thought it was a funny harmless glitch that didn't break the design or gameplay. Another example is birds won't drop eggs if already killed by the Player and the Player also cannot bounce off snails or beetles if already jumped on or died respectfully.
Creating the script for the Snail was a real challenge because it needed to execute code for not only the Snail itself, in its shell form but for the Beetle that shares the same script.
WHAT I LEARNT:
--Sprites--
Using the sprite editor to cut out the sprites I want and animate them in a new animation clip. While also changing samples of each animation for the player from 60 to 12 FPS to animate very similar to the 8-bit style.
Flipping Sprites X and Y by code (not transforms).
Changing Order in Layer in inspector by code (like Photoshop layers).
Can enable the sprite's sprite renderer on and off without turning off the Parent game object.
Getting the world width and height than divide them together with Main Camera Orthographic Size and divide them again with Screen height times screen width which are the screen size in screen space of the game view. Then scales the width and height of the background a little bit to match the full aspect of the camera frame.
Having fewer sprite sheets reduces the game's memory use.
--Player--
Using Yield return new WaitForSeconds inside a For loop with some public variables to make the Player flash a certain amount of times and time before the next flash every time the Player has been hit by an enemy. If the enemy attacks the Player while still flashing, the Player will not lose health unless flashing has stopped.  
To add velocity on the Player going upwards after jumping on the enemy's head like in the original Mario games.
Able to Fire fireballs from the Player by instantiating at Quaternion identity from one transform.position and set the scale.x +1 or -1 depending on which direction the player is facing.
Getting and Setting the Movement speed value of the fireball script to be multiplied with the PlayerShoot script on transform.localScale.x from where the fireball is instantiated.
Velocity is speed over time for the Player's movement since we are adding speed to the player on inputs.
Changing the Player's sprite facing direction based on whether the Player is moving left or right with changing the X-Axis leaving the Y-Axis on the Rigidbody untouched.
If storing temp variables is not done correctly for Player movement directions, you will get an error telling you to store a temp value.
Converting the Players anim speed with Math.abs into an int to then convert it into the rigidbody x-axis movement either left or right depending on which direction the player is facing.
--Enemys—
For the Boss, using an IEnumerator to not take damage from Players' fireballs for a certain amount of time once hit by one until time is up and can be damaged once again, repeating the process again until it's dead.
 Can use the “SendMessage(MethodName)” method to deal damage to the target (Player) propertie of OnCollisionStay2D who collides with the Boss while still alive.
Can change the Player RigidBodyType into dynamic along with turning on its BoxCollider2D trigger so the Player can fall through the level when lost all his/her health.
Using Vector.3 up and Vector3.down for the Spider as private variables to determine where the spider climbs first depending on the direction it's set too. Also to change directions in a certain time by a public variable.
Creating Collider2D’s with a Pyshics2D sphere from each position, size radius, and which layer for enemies to detect player collision depending on where the position.transform is placed. For e.g 1 Collider2D on each left and right side of the snail detects and damages the Player while moving. But the collider2D collision on top of the snail is its weak spot, which if the Player jumps on it, it goes into its shell and stops moving.
Experimented how powerful the Layer mask detection public variable is when detecting different layers of game objects such as which enemies are affected by the Snail shell after it was kicked by the Player.
Able to make a Snail shell be kicked by the Player after he/she jumps on its shell all in Snail Script, just like with the Koopas in the original Mario games. This is done by rigidbody velocity.
Creating RaycastHit2D detection on the Snails from the front and behind the snail while also using Vector2.left  and Vector2.right respectfully detecting from a small distance and only the Players collider with the Player damage script. If The Snail is moving, it damages the Player, but if inside its shell after the Player jumps on it, it gets kicked in a direction depending on where the Player kicks it from and does not damage the Player unless the shell comes back towards the Player.
 Able to check if the enemy has the appropriate functions to execute certain code. For example, the Beetles share the snail script with the Snails, if the Beetle has a Beetle tag, it will execute certain code, unlike Snails that go in their shells after the Player has jumped on them, the Beetles instead get squashed and die instead when jumped on the Player. 
Able to get the Snails and Beetles to change opposite directions if it doesn’t detect any ground from on the edge or collides head first with walls and other enemies (Snails,Frogs and Beetles,) respectfully. These use Transform. positions each with short raycasts and bools for detection. Birds also have one raycast but it is to raycast infinity down to check if the Player is below them before dropping the egg damaging the Player if hit.
For the Bird, I was able to instantiate the egg from the Bird gameobject without an empty transform variable. Only instantiated – y position underneath the bird.
Able to get the bird to change directions with If statements if the Bird moves too far from its original position and change move direction both by Vector3’s.
Able to change the x.scale (-1 or +1) of the Bird depending on which direction the Bird is facing.
Can change the Bird rigidbodytype2D from kinematic to dynamic in code once the player jumps on Bird's head. This causes the bird to fall down.
The Frog is a child of its parent transform, I managed to code for the parent transform position to move to its child position to move the frog forward with every single jump it has made.
--Camera—
Camera options Aspect: gets the aspect ratio of the camera. Orthographic: gets half the size of the camera.
Able to code a camera script that determines the size of the collider for the camera and then resizes the collider for the bounds using a Vector2 for the Main camera’s aspect times the main camera OrthographicSize.
The variable “Bounds” represents the Axis aligned to the bounding box of the sprite background.
Able to get the camera following the player by first storing the Player's last transform position, then offsets the camera following the Player's current position on the Z axis.
Able to get the camera to not move back with a Vector3 whenever the player turns around and tries to go back rather than forward.
Vector3.SmoothDamp moves along the Vector3 to its end position smoothly. It takes 4 refs for player position, current position, current velocity, and camera speed.
 The Ref method parameter keyword is to refer to the same variable that is passed into another method. Basically, currentVelocity variable is a ref and will be changed while the camera is moving and storing it there to follow the Player. So if the Player is too far from the camera, the camera will move fast smoothly towards the Player until at its current position and continuously moves behind the Player.
Screen.height is the current height of the screen window in pixels while Screen.width Is the current width of the screen window in pixels. These are the actual screen sizes in the screen space of the game view.
World space canvas are best for 3D games, not 2D games.
Anchors are really important to anchor UI that will adjust to different screen sizes so Players can see the UI easily and clearly.
Rect transform is the UI equalivent to the Vector3 transform.
100 pixels is 1 unit for the camera.
Screen space: The camera allows you to render in the camera view.
Scale With Screen Size: match width and height will closely match with the resolution with Reference Resolution.
Screen space Overlay: Will overly the canvas on the screen space. Used to position in UI elements.
The higher the number of sorting layers, the order of the game object sprites and text will be rendered first to last.
--Other/misc--
Calling Coroutines by public strings rather than by public function names.
Creating Physics2D.OverlapCircles by code to determine what position it starts at, its radius, what layers to detect to do things like damage Player, activate bonusblocks, and Player to detect if on the ground.
Using concatenation (converting int to string) for updating the Player score. Updating text from code like “coinTextScore.text = scoreCount;” won't work. However concatenations like “coinTextScore.text = scoreCount.ToString();” and “coinTextScore.text = "x " + scoreCount;” will work as intended.
The code outside of If statements will be executed regardless of If statements above are true or false.
Yield return new WaitForSecondsRealtime allows for the countdown to happen in real-time even when Timescale is 0 (when the game is frozen). It is independent of Timescale.
How I can set Bonusblocks from a start and end position to move up and back down to the start position smoothly by transform.translate, bools, and  If statements once the Player has hit underneath it without moving it by animation.
Able to use parameters in code to determine each OneShotAudio audio clip volume rather than relying on the Audio source volume in the inspector.
FixedUpdate is good for calculating physics and rigidbody code, however, there are times it may need to be executed in an Update function.
Fixedupdate won't be called as often as the Update function. This compares to the Update function which is called in 60 times in 60 frames per second.
GetAxis and GetRawAxis. - Raw means whole number like 1. - GetAxis(not Raw)takes time to get to be a whole number in decimals. - GetAxisRaw goes to 1 as soon as the input has been pressed.
Z axis is not used for 2D game objects, only 3D game objects.
Localscale is a vector 3.
How I can freeze 2D rigidbody constraints such as the X position by code.
SmoothDeltaTime: Smooths out Delta time
Collider components work differently between 2D and 3D, This includes their respective rigid bodies.
Kinematic is not affected by gravity but is affected by physics such as applying force.
Rigidbody and transform don't usually match up well together.
The list of scenes in the build is actually an array list.
1 in animation speed = 100 in Unity.
WHAT WENT WRONG AND WHAT COULD I HAVE DONE BETTER?:
I didn’t organize the code to be cleaner and easier to read. I was full speed ahead testing different codes until one of them worked mostly for the Snail script because it was complex to act like a Koopa shell in the original Mario games, detecting edges, changing directions, dying by Players' fireballs and being hit by Snail shell including each enemy and Player in the game that respond upon collision. I need to stop at an appropriate moment, clean up code, and make comments to reduce running like a headless chook finding the right code I need to edit and make changes before I make catastrophic mistakes to the game.
I couldn’t add the Player Jump sound because I already programmed that you can hold the jump key to bunny hop without pressing the jump button each time you are on the ground. When you jump and the jump sound is played, the jump sound plays almost 3 times in a row each jump in an OneShotAudio which is annoying, I tried to change the input type so you not holding the jump button to keep bunny hoping and you hear the sound once each jump. Still, it leads to some unknown animation issues. I decided to let it go with no sound and hold the Jump key to bunny hop because if I changed it, I would have to redo the entire Player movement mechanic all over again. So next time when I’m making a platformer, I will start with the press once each jump with sound played mechanic.   
I couldn’t program a mechanic when two snail shells (after the Player kicks both of them) ram together they both die, I couldn’t figure out why it wasn’t working, but it didn’t help that I did not clean the code to read better, so I decided not to include a game moment where the player can actually collide two snail shells together. I need to stay in the habit of making comments above code, clean code to read, and not repeating the same code in different lines but only one function.
I had to get certain pairs of ground tiles and mid-air blocks to share one collider before I had each tile have its own collider, but for some reason it stopped the player in its tracks despite having a physics material. If I am going to have tiles with colliders snap to each other like Lego bricks, I need to make sure it has the intended mobility for the Player without stopping him/her for no reason.
Regarding the lack of sounds, I could have found royalty-free sounds to fill the gaps of missing sounds like shell impact, or Player shoot fireballs, but since this project was more of a side project than a commercial one, I decided to let the sounds go and use the ones that were given to me by AwesomeTuts.
I tried to swap two detection transforms left and right whenever the Snail turned directions, but the detection transforms just went elsewhere and nowhere near the Snail, so I just simply left them there not to be switched around, and just simply flipped the sprite which did not affect the detection transforms.
I would think its best for the Frog to jump forward using velocity like how the Snails and Player use velocity to move, jump, and push away rather than using moving animations, that way I can easily control how far and high the frog jumps and if midair by the time player jumps on its head, it can just fall down midair like the bird does rather than go back to its previous landing position squashed and died.
I could have made one of the Bonusblocks respawn a Fireflower at the Boss area so the Player can continually fight and kill the Boss, but that ended up being very difficult to do, so I had to let it go.
I could have text feedback like 1Up like in the original Mario games to tell the Player they got an extra life after collecting a mushroom so they know rather than just guess what happened when they first play the game.
Could have had checkpoints around the level to reduce punishing difficulty for the Player, but it would have been extra work and yet again this was a practice product, not a commercial game, so I will keep that in mind next time I create a sidescroller/ platformer.
OVERALL:
Even though Sidescrollers and platformers are not my cup of tea and I prefer not to make clones of existing games. I’m still happy with the end result that I did the best I could to loosely replicate a Mario game from the assets given to me and taught respectfully. Someday I want to make a sidescroller runner, so this was a good start to learning Sidescroller mechanics to make a similar game in future.
It was also good to warm up my level design skills, I needed to do that so I am prepared to organize prefabs of set tiles so it's easy for me to find and use them.
Stand by for the next post on my level design of the game.
1 note · View note
goldieclaws · 1 year ago
Text
Game dev but it's the most important part: Checking if the rocks work correctly and the player can go back on themselves (eg. moving the hitbox so it doesn't block you) if they miss a jump.
Reblogs appreciated, thank you! 💖✨
Patreon | Tw//tter | AO3 | Itchio | Commissions | Webcomic
1 note · View note
saffronaa · 2 years ago
Text
Moving with Magnets - MagnetiK Devlog
I finally got the movement in MagnetiK to a state I am happy with!! I wanted to go over how it works because I am very proud :')
Opposite Force Movement
Tumblr media
First, there's the force that pulls the player into the magnet (when they are opposite forces).
In the old version, it was pretty basic: the closer you got to the magnet, the stronger the force. HOWEVER, this was a big problem!!! When the player got TOO CLOSE, they would just be stuck. In the new version, the force is strong on the outside (so it pulls you in right away) and weaker on the inside (so you can still move around fluidly). The gif above shows the difference. The new version is still a little wobbly, but we'll get to that!
Same Force Movement
Tumblr media
Now we have a problem when the magnet pushes away the player (when they're the same force). Because it's weaker on the inside, the player gets a gentle nudge rather than the aggressive PUSH the player is expecting. This is fixed by making the same force strongest at the center of the magnet. So the opposite and same forces have different strength curves!
Angle Movement
Tumblr media
Now everything works great expect for one very important thing... When the player falls onto a magnet, they expect the magnet to pull them in and catch them. However, the force of the magnet pulls the player downward (towards the center) first, and the downward velocity of the player increases to the point that the player just falls through the magnet.
This is fixed by varying the strength of the magnet depending on whether the player is moving in the same direction as the magnet's force or not. Basically, if the player is moving away from the magnet, it will pull even harder. (Note: this only applies to opposite forces, because you do want the player to be pushed away even if they're moving that direction anyway)
And that's it =)
If you'd like to try the movement out yourself, you can right now!
There's still a lot to be done, but I am so happy the movement is there now!
0 notes
dmdarius · 4 months ago
Text
Let's Play Nine Sols |20| Weapon of War
This old man just doesn’t know when the hell to just give up, does he? At least the level is a pretty good time to go through, with the mistakes being my own damned fault. Still, Hope we find the merchant’s brother before too long.
#taopunk #ninesols #metroidvania #redcandle
youtube
3 notes · View notes
linuxgamenews · 3 months ago
Text
Ninja Ming: Jump and Teleport through Levels
Tumblr media
Ninja Ming 2D precision platformer game is due to release on Linux, Mac, and Windows PC soon. Thanks to 1 Poss Studio for constantly cooking up great new ideas. Which is working to find its way onto Steam this month. If you’re into fast-paced 2D precision platformer with a twist, Ninja Ming is one to watch. Made by a solo dev from 1 Poss Studio, this sleek indie game is hitting Steam on April 11th at 4AM GMT. That’s cheaper than lunch, and honestly, it might be more satisfying. To celebrate the launch, there’s gonna be a 2-week community event where you can win over $450 in Steam gift cards. Not bad, huh? So what’s the gameplay all about? Picture this: 241 levels of tight, precision platforming where you don’t just jump �� you teleport. That’s right, instead of typical dashes or double jumps, you blink across platforms like a proper shadow warrior. The movement is smooth, fast, and fun once you get the hang of it.
Ninja Ming - Official Release Date Trailer
youtube
You’ll be playing as Ming, an everyday dude turned ninja, running through the Path of Trials. There are 8 chapters, each with their own unique terrain, puzzles, and skill challenges. As you level up, you unlock new abilities that let you move with absolute style — mid-air teleport chains, slick wall runs, you name it. And it’s not just about reaching the exit. Each room has hidden Scrolls to collect, if you’re the type who like 100% completion or just flexing those skills. Here’s the best part: Ninja Ming was inspired by Naruto’s teleport move, Flying Thunder God. The dev — Jackutea — had zero coding experience when he started in 2020. Fast-forward 10,000 hours, and boom: 241 handcrafted levels. Respect.
Features:
Assist Mode – Slow things down to 0.3x speed if you're stuck.
Speedrun Mode – Unlocks after you finish an area. Wanna beat the current Forest world record of 102.73s?
Instant Respawns – No waiting after death. Die, retry, repeat, keep playing Ninja Ming.
Dynamic soundtrack – Killer beats by 4 Channels Club keep the energy up.
Hidden Achievements & Easter Eggs – For the treasure hunters.
Oh, and if you’re wondering, the Scroll Portal unlocks the final 4 chapters once you beat the first 4. That’s when the real test begins. But you can play the game demo on Linux via Proton. So yeah — Ninja Ming 2D precision platformer is looking slick. Teleport, conquer, repeat, which is launching on April 11 and it’s going for just $8.99 USD / £7.79 / 8,99€ on Steam. That’s cheaper than lunch, and honestly, it might be more satisfying on Linux, Mac, or Windows PC.
0 notes
gamecodelibrary · 2 years ago
Text
youtube
The first video in our platformer tutorial series! This is just a intro video where we go through our game plan and set up our Unity environment - so episode zero :-)
Follow along to make this whole platformer together!
14 notes · View notes
centrally-unplanned · 9 months ago
Text
I watched two documentaries recently that were very "2000's nerd culture" which I thought were very fun! In like a meta way as cultural commentary, of course, it is me after all. The first was Indie Game: The Movie, a 2012 documentary on the making Braid, Super Meat Boy, and Fez. It is a "creator-focused" documentary and in particular for the latter two games the film crew actually filmed them mid-production & release, which does make for some authentically heartfelt scenes.
So in a certain sense all eras of documentary will contain this, but the 2000's going into the 2010's was absolutely rife with a new wave of films, often supported by crowdsourcing funds like Indie Game was, primarily concerned with the self-legitimization of niche subcultures. By creating something cohesive, academic, and prestigious like a documentary, the film can codify the subculture as "real" and "worthy", and additionally lend credence to narratives about the subculture that have grown prevalent. And to be clear, this is not a criticism, even if there are parts that are - all meaning and identity is forged in similar ways. But for nerd culture in the 2000's, there was a particularly intense need for this process, because this was the era of nerdom going mainstream. That level of culture shift generated demand for all the above, which films like this aim to supply. There were lot of films of this type - we made a brony "documentary" propaganda film guys, nothing was exempt.
Indie Game is overwhelmingly the story of outsider artists bleeding and dying for their art, which will triumph above all odds. And it leans, heavily, into the bleed; at one point Phil Fish (creator of Fez), openly states he might commit suicide if his game fails. Much screen time is spent on personal sacrifice, financial poverty, the "doubters", etc. This is of course a classic tale for artists, but if I may be so bold that is something of an easy sell - emotionally, narratively - for someone writing the Great American Novel. It is maybe harder to sell if you are making this?
Tumblr media
(Cover art by Bryan Lee O'Malley btw - very era appropriate!) How do we make "dude in hat solves puzzles" worth the Starving Artist life?
We do that by positioning these games not as games, but as paradigms. These games, by dint of being the independent vision of unitary creators, are making games that Big Gaming never could. New digital means of distribution are allowing artists to cut out the middleman of publishers, groups that corrupt the real vision of creators. And with no barriers to development, now anyone (maybe...even you?) can make games that can compete in the big leagues. Indie games through this lens are a different product than mainstream titles, and these creators are opening doors. And their suffering is going to be financially rewarded with success and money to boot! That is the narrative Indie Game is selling to its audience of gamers, to understand why the indie games they bought and loved are meaningful.
And to be clear, as much as I am about to deconstruct this, it isn't like totally false or anything. Starting in the late 2000's digital platforms like Steam, more accessible development tools like Unity (released in 2005), and so on did in fact make smaller games appealing to more niche markets more viable, and by virtue of their nicheness yeah they can do things big budget games maybe can't. These creators absolutely had passionate visions for their games, sacrifice for your passions is fine (not bashing that part here), hats off to them. Indie games in this era would absolutely "change gaming".
But not really in the ways this narrative wants them to, nor with the "meaning" people of the time expected it to have. For one, there is a conflict in this documentary of them wanting to highlight "bold new visions" and also wanting to highlight...popular indie games. This is Super Meat Boy, for example:
Tumblr media
Yeah, never had a 2D platformer blob guy dodging traps before in gaming! "No see its retro" yeah retro to what, old games? Like those Nintendo made back in the 90's, which you explicitly mention in your documentary? You know, niche indie studio Nintendo? This isn't a bash, at all, at the game itself, but instead the idea that "AAA Studios would never"; they totally would, and always did. There has never been an era where the large gaming studios weren't also making creative games, but for this narrative they need to be propped up as static for it to make sense. And the actual niche indie stuff that big studios wouldn't touch don't sell well enough to justify being in this film!
And the idea of the "solo developer" is also, hm, let us say a bit sus. Not that these developers weren't solo or small teams, they were (though ofc a solo core creator will often have dozens of helpers on supporting roles that get sidelined in this "unitary vision" narrative); but that such a model is all that new? How big do you think development teams were in the 90's for so many classic games? The original Pokemon Red/Blue game had less than a dozen core developers (the total staff list, including American localizers, is ~30 people - Super Meat Boy meanwhile seems to have 16 for comparison). You wanna bring up the dev teams for PC-98 visual novels? They were made in an Akihabara cave with a box of pixel art scraps by like 6 people! You think those games didn't have "unitary creative visions"? Small gaming companies have always been a part of the ecosystem, getting niche titles funded & published using insane magic and pure luck. The "indie boom" is better seen as a change in the numerator.
Though what did change is that, by being self-published, development was approachable by outsiders in new ways. Though even then, this is a bit of a lie - Jonathan Blow of Braid was an industry veteran, and everyone here plays the "convention circuit" and networks with people like the PAX crew and Xbox representatives. But with the games being published by an individual over a studio, even a studio of a half dozen people, it is far easier for the audience to see the creators as "one of them". No office, no suits, just a man in his gamer den banging out his dream. That aesthetic is core to why this narrative was potent at the time, and why making a documentary to codify it was seen as compelling. It takes an already ascendant idea, polishes it, packages it as nonfiction, and then sells the idea back to the people who invented it. LIke so much media, to be clear! I always enjoy seeing it, it is the dialectic of culture in action.
I also find it very funny to see a documentary made in 2012 playing tropes that will become far more ~problematic~ just around the corner. Burnout and work-life balance - in a documentary where a developer, crying, discusses suicide if his game fails, to remind you - is pretty much never mentioned, and a successful game launch is absolutely presented as justifying endless crunch. You would never see that today. The only women in this documentary are wives and parents - which is very amusing, because the co-creator of the film is a woman! No one thinks gender is relevant to mention. Boy would that change in a few years.
Indie games today, of course, are just a segment of the gaming market. They are incredibly common now, so much so that most people lose money making them, people discuss oversaturation, big studio companies have "indie wings" to cover consumer preference ranges, etc. There is no magic in it anymore, it is just dev strategy. So yeah, very enjoyable as a representative time capsule in a strain of culture that is pretty much gone now! The Capital-R Romantic Era of indie gaming; what a time.
In the next post, we are going much more niche, so stay tuned for that. Or don't, I don't know you, and like this was a loooot of writing. Maybe i'll, idk work on that for the next one? ...I probably won't -_-
106 notes · View notes
sunlit-mess · 6 months ago
Note
Since your in multimedia arts is it okay if you could show one of your projects? It's totally up to you ofcourse I'm just really curious
UHM.... I UH.. I KIND OF.. I'M NOT REALLY.. GOOD.. AHHAHAA BUT I'M TRYING 🎀
Projects I'm proud of I guess?
1st year:
Tumblr media
Was an art director, storyboard artist, background & character designer, lighting/colorist, and clean-up artist in a short 2D animation project for finals
Had done project exhibits
2nd year:
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
Part of Indy Films team as sound designer
Worked on storyboards and art lead ( VFX, E-games, World-literature )
Had done 3D modeling, rigging, and 3D animation (blender), as well as game dev/ minimal coding (GDevelop, unity, Visual Studio)
Lead Game Designer (project: puzzle platformer game)
Had done projects for photography & interactive media/novels
Passed the official license exam for Adobe InDesign
One of the Graphic designers for the school's Esports organization
3rd year 1st sem:
Tumblr media Tumblr media
Storyboard Artist for an ad, Creative Assistant & Digital Media Tech for branding (advertising and brand communication project)
Had done mid-fidelity wireframes
Designed a mobile application for the school's merchandise store
2nd sem (PRESENT)
Tumblr media Tumblr media
Currently working as a storyboard Artist and Makeup Artist for a music video for an Indie Singer.
PS: Yes, we work on real brands, local artists, clients, and more.
110 notes · View notes
thelettergii · 6 months ago
Text
Sugarplum Cafe FAQ
I held an AMA about my upcoming game Sugarplum Cafe on Instagram and figured these Q&A's would be helpful for you to know as well!
If you have questions of your own, my inbox here is open!
Tumblr media
Q: What is Sugarplum Cafe? A: Sugarplum Cafe is a merge crafting game that I'm solo developing! In this game, you run a sweets cafe and make desserts for fashionable ladies inspired by sweets. I wanted to make a game with frilly pastel shoujo aesthetics, and yes, there will be tea parties!
Q: What platforms will Sugarplum Cafe be on? A: The goal is to publish on PC and mobile (Apple included), but PC will come first because it's easier to fix bugs on PC.
Q: When will this game be out? A: Not for a few years, it's still pretty early in development. But paid members on Patreon can play an early version of this game now with about three hours of content! Support starts at $2 USD/month.
Q: How good do I have to be at games to enjoy this game? A: Sugarplum Cafe is meant to be a super casual game, so you can be the worst gamer in the world and still play this haha. It's more about collecting pretty ladies than any sort of strategy or skill.
Q: How many characters will there be? A: At least 50 Ladies! I have ideas for about 70 Ladies, but whether I get to all of them depends on interest in the project. So 50 feels like a good benchmark.
Q: What are your inspirations for this game? A: For one, The Nutcracker Ballet of course! Aside from that... For the longest time I was obsessed with Cookie Run: Ovenbreak because they had so many clever character designs! I don't play as much anymore (the UI is too cluttered now and I don't love the new characters as much) but I want to recapture the spark I felt when I used to play. I also really love Sakizo's illustrations of Victorian/Rococo sweets-inspired ladies, and I wanted to capture her aesthetics while mixing in my own fashion sense so I'm not ripping her off entirely haha
Tumblr media Tumblr media
Q: Will you still be drawing fashion? Are you moving to gamedev permanently? A: I don't know about a permanent pivot, but this game will be my main focus. TBH I wasn't very happy with just drawing stuff and I'm really excited to build my own world where my designs can live. I will still be designing fashion, but it will just be part of something bigger. My goal is to make the world of games a little more fashionable! I may still draw the occasional illustration though, so never say never!
Q: What game engine are you using? A: Sugarplum Cafe is made in Godot! It's a free open-source game engine and I highly recommend it for 2D games. I think the scripting would be easier to learn than something like Unity. There are a few quirks but the community is so active that it's easy to find answers to your questions. I am using Godot 3.5 - I believe the latest version is Godot 4, but I heard 3.5 was better for porting mobile games. Will let you know how true that is!
Q: Can I cosplay/draw fanart of characters from Sugarplum Cafe? A: YES PLEASE!! Please tag me if you share cosplay or fanart! And if you need to know details of certain characters' designs, please don't hesitate to ask.
38 notes · View notes