





Hi evryone, I'm a complete begeiner to pixel art and I wana try making a game in this style, I ve made a sprite but It vas too big for my game (I know I m an idiot), I work on Aseprite, but I make my outlines in affinity with vectorial, im more used to vectorial so i find this more easy but I dont know if that's really helping
First vertion 128x
second 64x
Can some of you give me some critics my technics and evrything and give me some advices to progresHi evryone, I'm a complete begeiner to pixel art and I wana try making a game in this style, I ve made a sprite but It vas too big for my game (I know I m an idiot), I work on Aseprite, but I make my outlines in affinity with vectorial, im more used to vectorial so i find this more easy but I dont know if that's really helping
First vertion 128x
second 64x
Can some of you give me some critics my technics and evrything and give me some advices to progres
and for animation too
Hi evryone, I' m a complete begeiner to pixel art and I wana try making a game in this style, I ve made a sprite but It vas too big for my game(I know I m an idiot), I work on Aseprite, but I make my outlines in affinity with vectorial, im more used to vectorial so i find this more easy but I dont know if that's really helping
First vertion 128x
second 64x
Can some of you give me some critics my technics and evrything and give me some advices to progres
Hi evryone, I' m a complete begeiner to pixel art and I wana try making a game in this style, theses are my first two animations,some are still blockout, also my firsts sprites, I work on Aseprite, but I make my outlines in affinity with vectorial, im more used to vectorial so i find this more easy but I dont know if that's really helping
Can some of you give me some critics my technics and evrything and give me some advices to progres
Im a begeiner to unity and the game making world in general, I try to make my first game,
I keeps stumbling onto this problem, I have this pixel perfect camera setup , it works perfectly, but i want my character to apear much smaller on screen, evrything i ve tryed break the square pixels of my sprites
I' ve tryed changing the sise of my character,
the sise of the PPU of my sprites and camera
and experiment a lot of littles things but it keeps falling apart
Can someone help please
Im entierly new to pixel art and games engine
I ve created this sprite of my MC and i want to implement it in my game to replace a placeholder,the canva is 128x128 px.
Idealy I want my character to be like 1/5 of my screen height
the problem is that I want it to render corectly on all screen resolutions( at least the commons ones) but when I test it it's not working, the pixels are wild,they' re streched or missing or irregulars.sometimes when I try it works fine but it' s zoomed in so much that' s it s unplayable.
Here joint
a pictures of my sprite in aseprite
the parameters of my sprite in Unity
and the parameters of the pixel perfect camera and the result in game with the stretched pixels( I've try many others resolutions but none seems to work)
Someone know how to fix it please?
using UnityEngine;
using UnityEngine.InputSystem;
public class PlayerController : MonoBehaviour
{
// ============================================
[Header("Mouvement")]
public float walkSpeed = 7f;
// ============================================
[Header("Saut")]
public float jumpForce = 16f;
public float fallGravityMultiplier = 3.5f;
public float maxFallSpeed = 25f;
public float jumpHangGravityMultiplier = 0.3f;
public float jumpHangThreshold = 2.5f;
public float jumpHangSpeedBonus = 1.3f;
// ============================================
[Header("Double Saut")]
public float doubleJumpTime = 0.08f;
private bool canDoubleJump;
private bool hasUsedDoubleJump;
private float airTimer;
// ============================================
[Header("Coyote Time")]
public float coyoteTime = 0.15f;
private float coyoteCounter;
// ============================================
[Header("Jump Buffer")]
public float jumpBufferTime = 0.15f;
private float jumpBufferCounter;
// ============================================
[Header("Références")]
[SerializeField] private Transform groundCheck;
[SerializeField] private LayerMask groundLayer;
// ============================================
private Rigidbody2D rb;
private float horizontal;
private bool isFacingRight = true;
private bool jumpHeld;
private float defaultGravity;
// --------------------------------------------
void Awake()
{
rb = GetComponent<Rigidbody2D>();
defaultGravity = rb.gravityScale;
}
// Callbacks Input System ----------------------
public void OnMove(InputValue value)
{
horizontal = value.Get<Vector2>().x;
}
public void OnJump(InputValue value)
{
jumpHeld = value.isPressed;
if (value.isPressed)
jumpBufferCounter = jumpBufferTime; // mémorise l'intention de sauter
}
// Update ---------------------------------------
void Update()
{
bool grounded = IsGrounded();
// Coyote time
if (grounded)
{
coyoteCounter = coyoteTime;
airTimer = 0f;
canDoubleJump = false;
hasUsedDoubleJump = false;
}
else
{
coyoteCounter -= Time.deltaTime;
airTimer += Time.deltaTime;
// Double saut disponible après le petit délai,
if (!canDoubleJump && !hasUsedDoubleJump && airTimer >= doubleJumpTime)
canDoubleJump = true;
}
// Jump buffer
jumpBufferCounter -= Time.deltaTime;
// Logique de saut ------------
if (jumpBufferCounter > 0f)
{
if (coyoteCounter > 0f) // saut normal ou coyote
{
DoJump();
coyoteCounter = 0f;
canDoubleJump = false;
airTimer = 0f;
}
else if (canDoubleJump) // double saut
{
DoJump();
canDoubleJump = false;
hasUsedDoubleJump = true;
}
}// Saut court si on relache tot
if (!jumpHeld && rb.linearVelocity.y > 0f)
{
rb.linearVelocity = new Vector2(rb.linearVelocity.x, rb.linearVelocity.y * 0.5f);
coyoteCounter = 0f;
}
Flip();
}
// FixedUpdate --------------------------------------------
void FixedUpdate()
{
float vy = rb.linearVelocity.y;
bool atApex = Mathf.Abs(vy) < jumpHangThreshold;
// Gravité personnalisée ----------
if (vy < 0f) // chute > accélération exponentielle
{
rb.gravityScale = defaultGravity * fallGravityMultiplier;
// Vitesse de chute maximale
if (rb.linearVelocity.y < -maxFallSpeed)
rb.linearVelocity = new Vector2(rb.linearVelocity.x, -maxFallSpeed);
}
else if (vy > 0f && atApex) // sommet du saut > hang time
{
rb.gravityScale = defaultGravity * jumpHangGravityMultiplier;
}
else
{
rb.gravityScale = defaultGravity;
}
// Déplacement horizontal (bonus vitesse au sommet) -------
float speed = walkSpeed;
if (!IsGrounded() && atApex)
speed *= jumpHangSpeedBonus;
rb.linearVelocity = new Vector2(horizontal * speed, rb.linearVelocity.y);
}
// Helpers --------------------------------------------
private void DoJump()
{
rb.linearVelocity = new Vector2(rb.linearVelocity.x, jumpForce);
jumpBufferCounter = 0f;
}
private bool IsGrounded()
{
return Physics2D.OverlapCircle(groundCheck.position, 0.2f, groundLayer);
}
private void Flip()
{
if ((isFacingRight && horizontal < 0f) || (!isFacingRight && horizontal > 0f))
{
isFacingRight = !isFacingRight;
Vector3 scale = transform.localScale;
scale.x *= -1f;
transform.localScale = scale;
}
}
}
I've created this script for 2d movement in a platformer and tryed to add variable jump height to it but Icant seem to go anywere.
Can someone help please?