Ich halte dein Ziel für zu hoch gegriffen. Das Erstellen der Assets dürfte dich bereits einiges an Zeit kosten und dann käme eben ein hoher Aufwand in die Einarbeitung sowie Recherche in Java (komplexer als Scratch/Kara) und zusätzlich einer Engine/Bibliothek hinzu, bei der du erst einmal schauen müsstest, wie du deinen geplanten Stil überhaupt einarbeiten kannst.
Ich würde dir empfehlen, stattdessen einen einfachen 2D-Platformer zu gestalten, bei dem deine Spielfigur nach links/rechts laufen und evt. auch springen kann.
Überlege dir eine kurze, einfache Story (vielleicht muss die Figur Objekte sammeln, um nach und nach verschiedene Wege/Aktionen freizuschalten, die zum Endziel führen) und welche Funktionen, Objekte, Assets (bei animierten Sprites sind die unterschiedlichen Zustände zu berücksichtigen) du dafür benötigst. Wenn du weißt, wie viel du für die Gestaltung von einer Grafik benötigst, kannst du ungefähr hochrechnen (evt. mit einem zusätzlichen Komplexitätsfaktor), wie viel du für weitere Grafiken brauchst. Mehr als 15-20h würde ich dafür erst einmal nicht einplanen. Sollte später doch noch Zeit sein, lassen sich immer Verbesserungsmöglichkeiten/Ansätze für Erweiterungen finden.
Konzentriere dich nach der Planung auf die Implementation der Basisfunktionen (laufen, springen, sammeln, Zeichnen von Grafikelementen/Sprites und Hintergrund, etc.), aber nutze dabei entweder Platzhalterbilder oder erstelle vorerst nur 1-2 Sprites, mit denen du ausreichend testen kannst. Grafiken u.ä. kannst du später immer noch erstellen/austauschen. Es ist daher nicht tragisch, wenn am Anfang des Projekts noch Rechtecke durch die Welt springen.
Für die Umsetzung wäre Processing geeignet. Es handelt sich dabei um eine eigene Programmiersprache, die auf Java basiert und für Einsteiger gestaltet wurde. Der wesentlichste Unterschied zu Java liegt darin, dass sie an sinnvoller Stelle Setup-/Boilerplate-Code reduziert, der für einen Anfänger eh nicht relevant ist bzw. erst vollends verständlich wird, sobald er sich über die Grundlagen hinaus mit objektorientierter Programmierung beschäftigt hat. Nichtsdestotrotz können Sketches bei Bedarf um Java-Klassen erweitert werden und andersherum kann man die Kernbibliothek von Processing ebenso in ein Java-Projekt einbinden, um ihre Funktionen mit reinem Java zu nutzen. Ersteres ist allerdings meist nicht nötig und auch Zweiteres würde ich vermeiden, wenn möglich. Generell gibt es in Processing ebenso Klassen und Objekte.
Sollte seitens deines Lehrers eine Vorgabe bestehen, dass ihr explizit mit Java arbeiten müsst, dann sprich es im Vorfeld mit ihm ab.
Neben der offiziellen Dokumentation kann ich diese Seiten als Lernquellen empfehlen:
- Learning Processing
- Einführungskurs von Prof. Dr. Kipp
Andere Optionen wären Greenfoot (sehr einfach, daher oft in Schulen genutzt) oder (schwerer) libGDX.
Bevor du überhaupt mit dem Projekt starten kannst, halte ich es für unausweichlich, dass du zumindest ein kurzes Tutorial zu den Sprachgrundlagen (Variablen, Operatoren, Kontrollstrukturen, Funktionen, Arrays) durcharbeitest. Ob nun zu Java oder Processing.