3D Artist (Blender) — Low-Poly Characters & Animation for Indie Game

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Any

SALARY

$500–600/month for 20 hrs/week

HOURS PER WEEK

20

DATE UPDATED

Aug 23, 2026

JOB OVERVIEW

About the project

We're using a pipeline similar to Dead Cells: characters and props are modeled, rigged, and animated in low-poly 3D in Blender, then our tools render them out to 2D sprite sheets automatically. So even though the final game is 2D, all of your work happens in 3D.

This means your files need to be clean and consistent — sensible naming, consistent scale, tidy rigs — because our scripts process everything programmatically. If you're the kind of artist who keeps organized scene files, you'll fit right in.

What you'll do
Model low-poly characters, enemies, props, and environment pieces
Rig and animate characters (idle, run, attack, hit, death — the usual game animation set)
Export/render following our pipeline conventions (we'll build the tools with your input)
Help define and document the game's visual style
Give us honest feedback when our ideas won't work visually — we want an artist with opinions
Requirements
Strong Blender skills: modeling, rigging, and keyframe animation
A portfolio that includes low-poly or stylized 3D work (this matters more than years of experience)
Good written English and proactive communication — if something is unclear or you're stuck, we want to hear about it early, not at the deadline
Reliable internet with a backup plan for outages
Nice to have (not required)
Experience making game assets or working with a game team
Any familiarity with rendering 3D to 2D sprites
Godot experience
Comfort with technical constraints (poly budgets, texture atlases, consistent pivot points)
Paid trial

We hire through a short paid trial so we can both see if it's a good fit. If your application stands out, we'll pay you $30 to complete a small test: model and rig one simple character in an agreed style, and animate a basic idle + walk cycle. It should take roughly 4–6 hours. You keep the payment regardless of whether we continue, and we won't use trial work in the game unless we hire you.

Job type: Part-time to start (approx. 10–20 hrs/week), with the goal of growing into full-time for the right person

Salary: ---------- $/m part time depending on experience, tell us your expected rate when you apply

Schedule: Flexible hours. We just need [2–3] hours of overlap with PST for feedback calls and reviews.

About us

We're a small indie team of programmers building a 2D action game in Godot. We can code, but none of us can draw a stick figure, which is where you come in. You'd be our first artist, so you'd have a real say in what the game looks like.


How to apply

Start your application with the word TANGERINE so we know you read this far. Then answer these three questions (no formal resume needed):

Link to your portfolio, and point out the 1–2 pieces you think are closest to a low-poly game style.
Briefly describe your rigging and animation experience. Links to animated work are a big plus.
Have you played Dead Cells or Webfishing seen its art style? In a few sentences, how would you approach creating a character.

We read every application that follows the instructions above. We're looking forward to seeing your work!

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0013
Controller Execution Time ( Jobseekers / Job )  0.0159
Total Execution Time  0.0185
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,502,144 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/3D-Artist-Blender-Low-Poly-Characters-Animation-for-Indie-Game-1714854
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0076 seconds)  (Hide)
0.0005   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0005   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1714854
 LIMIT 1 
0.0007   SELECT *
FROM `employers`
WHERE `employer_id` = 965758
 LIMIT 1 
0.0005   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1714854
AND `misc`.`idIS NULL 
0.0006   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-09-08',ej.date_added) duration_daysDATEDIFF('2026-09-08',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-09-08',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1714854' 
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1714854 
0.0011   UPDATE employer_jobs SET hit_counts '***Aug-23-2026=1673***Aug-24-2026=116***Aug-25-2026=35***Aug-26-2026=30***Aug-27-2026=21***Aug-28-2026=30***Aug-29-2026=28***Aug-30-2026=16***Aug-31-2026=17***Sep-01-2026=20***Sep-02-2026=23***Sep-03-2026=19***Sep-04-2026=34***Sep-05-2026=5***Sep-08-2026=1' WHERE job_id'1714854'  
0.0008   UPDATE employer_jobs SET monthly_hits '***Aug-2026=1965***Sep-2026=102' WHERE job_id'1714854'  
0.0005   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1714854' AND status LIKE 'sent%' ORDER BY id DESC  
0.0006   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1714854 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '965758'
AND `date_added` >= '2022-06-08' 
0.0007   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)