Making a Game with Java with No Experience

Goodgis
5 Aug 202408:40

Summary

TLDRIn this video, the creator embarks on a journey to make an RPG game from scratch using Java, a programming language that has fascinated them since childhood. After revisiting Java with an introductory course, they dive into creating a simple RPG, complete with a tile map system, character sprites, NPCs, and dialogue. The process is both rewarding and challenging, showcasing the joy of building something from the ground up without relying on game engines. With a passion for retro NES RPGs, the creator shares their progress, offering valuable insights for fellow beginners and enthusiasts.

Takeaways

  • 😀 Java is not only a fascinating programming language, but it is also the basis for popular childhood games like RuneScape and Minecraft.
  • 😀 Java was designed with the principle of 'write once, run anywhere,' making it easier for programmers to write code that works across different operating systems.
  • 😀 Despite an initial attempt at learning Java at age 12, the speaker's renewed interest in the language led to the creation of an RPG project from scratch.
  • 😀 The speaker used a mobile Java course to familiarize himself with the basics of Java syntax before diving into a larger project.
  • 😀 Eclipse was chosen as the Integrated Development Environment (IDE) over NetBeans, based on its current popularity among Java developers.
  • 😀 The speaker successfully created a simple 'Hello World' program and transitioned into developing an RPG game with a focus on simplicity and old-school charm.
  • 😀 An essential part of the RPG development was building a tile map system using a text file to define tiles and loading it into an array for rendering.
  • 😀 Implementing a camera system in the RPG involved moving the tile set rather than the player, optimizing performance by rendering only visible tiles.
  • 😀 The speaker explored creating pixel art for the RPG, using an NES-inspired color palette to capture the quirky charm of old-school RPGs.
  • 😀 Sound design was also addressed, with the speaker generating door sound effects and creating a simple beatbox music track for the game.
  • 😀 The RPG structure began to take shape with a world map, room transitions, NPCs, and a dialogue system, but combat functionality was saved for future development.
  • 😀 The speaker found creating a game from scratch in Java both difficult and rewarding, noting that while using a game engine could speed up the process, building the game manually offered a deep sense of accomplishment.

Q & A

  • Why did the speaker choose Java for their game development project?

    -The speaker chose Java because it has fascinated them for years, both for its unique and appealing name and its historical significance. They were also drawn to its ability to 'write once, run anywhere,' meaning Java code can automatically work across different operating systems without needing to be recompiled.

  • What was the speaker’s experience with learning Java at a young age?

    -At age 12, the speaker tried to learn Java through a book called 'Programming Video Games for the Evil Genius.' However, they became frustrated and gave up quickly after only skim-reading a couple of chapters.

  • How did the speaker reacquaint themselves with Java after years of absence?

    -After almost 15 years, the speaker decided to revisit Java by taking a short course on their phone to get familiar with the syntax. They then moved on to more practical coding in Eclipse, an IDE specifically designed for Java development.

  • What was the first program the speaker created in Java, and why was it significant?

    -The first program the speaker created was a simple 'Hello World' program. This is a traditional starting point for learning any new programming language, helping the speaker confirm that they understood the basic syntax and setup in Java.

  • What type of game did the speaker decide to develop, and what influenced that decision?

    -The speaker decided to create an RPG, specifically an old-school grindy RPG similar to NES games like 'Dragon Quest' and 'Earthbound Beginnings.' They were inspired by the quirky charm and simplistic design of these retro games.

  • How did the speaker approach drawing the game’s window using Java?

    -The speaker used Java's built-in `JFrame` class to create the game window. This class provides the container for the graphical user interface (GUI), and the speaker was able to set parameters and draw the window for their game.

  • Why did the speaker create separate 'Entity' and 'Player' classes?

    -The 'Entity' class was created to represent general game entities like the player and NPCs. This allowed the speaker to reuse the same code for multiple types of entities, such as drawing sprites or checking for collisions.

  • What did the speaker learn about creating a tile map system in their game?

    -The speaker found creating a tile map system surprisingly easy. By using a text file filled with numbers representing different tile types (e.g., 0 for water, 1 for grass), they were able to load the data into an array and render the map using a simple for-loop.

  • What challenge did the speaker face when implementing the camera system, and how did they solve it?

    -The challenge was ensuring that the player could move around a larger map while only rendering what was visible on the screen. The solution was to move the tile set instead of the player, improving performance by rendering only the tiles within the player's view.

  • How did the speaker tackle the game's art design, and what influenced their choices?

    -The speaker initially aimed for a vector art style inspired by Byron Be's illustrations of Pokemon world maps. However, they realized that high-resolution vector art wouldn't work well for pixel-based RPGs, so they switched to pixel art while retaining the retro charm they admired from NES games.

  • How did the speaker implement sound into their game, and what did they create for the music?

    -The speaker used a program called 'Lab Tur' to generate sound effects, including a satisfying door sound when entering a house. For the music, they created a simple beatbox song, though they acknowledged it was a bit clunky.

  • What was the speaker’s approach to adding NPCs and dialogue to the game?

    -The speaker used the 'Entity' class to easily add NPCs to the game. They then implemented a simple dialogue system that allowed NPCs to say quirky lines, contributing to the game's charm.

  • What are the speaker’s future plans for the RPG project?

    -The speaker plans to continue working on the RPG in the future, especially focusing on adding combat, which is a crucial part of the game. They expressed excitement about the project but also noted that they might continue it on their own if there is less interest from viewers.

  • How did the speaker feel about using Java for game development without a game engine?

    -The speaker found it both challenging and rewarding to create a game without using a pre-built game engine. They appreciated the satisfaction of building the game themselves, despite the fact that using an engine would have been faster.

Outlines

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード

Mindmap

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード

Keywords

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード

Highlights

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード

Transcripts

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード
Rate This

5.0 / 5 (0 votes)

関連タグ
Java ProgrammingRPG DevelopmentIndie GamePixel ArtRetro GamesGame DevelopmentLearning JavaTutorial SeriesEclipse IDEGame DesignNES Style
英語で要約が必要ですか?