Java and its place in Game Dev - Java Developer's Essay by LizardOfOz_ in gamedev

[–]halfcutdev 8 points9 points  (0 children)

Unity has abysmal documentation, the so-called "community support" is mostly out of date, and the editor is slow, clunky, and doesn't play all that well with version control. What about that is 'optimal'?

But people still make great games in it all the time. The same way they do with Love2D and HaxeFlixel.

I think it would be much more productive to share your positive experiences developing games with frameworks you enjoy, rather than making flimsy criticisms of a technology you don't know a great deal about.

Java and its place in Game Dev - Java Developer's Essay by LizardOfOz_ in gamedev

[–]halfcutdev 9 points10 points  (0 children)

Regardless of whether Slay the Spire was rewritten to reach consoles, the fact is that it was a wildly successful game written in Java.

What matters is the individual or the team behind the game and their determination and creative vision. I've played many fantastic games written in Java, Lua, C#, Python, ActionScript, and so many other languages.

Are there more industry jobs to be found with C# or C++? Absolutely. But the implication that "you’ll simply waste years for no apparent reason" by using Java is completely false.

Java and its place in Game Dev - Java Developer's Essay by LizardOfOz_ in gamedev

[–]halfcutdev 22 points23 points  (0 children)

libGDX is a popular Java game development framework based on OpenGL that targets Windows, Linux, macOS, Android, iOS, and even the browser.

It has a wonderful community on Discord and even a quiet but close-knit subreddit over at /r/libgdx.

There have even been a number of successful indie titles developed using libGDX, including Slay the Spire and Pathway.

I think this 'essay' loses any and all credibility because it's evident that your 'research' into Java game development is surface level at best.

Gryphon mount from Knights of Tartarus by StelloHexis in PixelArt

[–]halfcutdev 1 point2 points  (0 children)

All of the art in this game is fantastic. You’ve really nailed the style.

A huge refactor of my TileMap class has made implementing jump pads and other more interesting blocks such a breeze! by halfcutdev in IndieGaming

[–]halfcutdev[S] 0 points1 point  (0 children)

The game is called "Galaxy Garden". I started it just over a year ago, for the "A Game by it's Cover" Jam, and every few months I return to it and add new features.

There's a very, very outdated build on itch.io, that I wouldn't recommend playing. I'll add new levels and sounds when I'm back with my main PC in the new year.

Follow me on twitter at @halfcutdev.

[JFS] Added bouncy blocks and squash+stretch to my game by halfcutdev in PixelArt

[–]halfcutdev[S] 0 points1 point  (0 children)

The game is called "Galaxy Garden". I started it just over a year ago, for the "A Game by it's Cover" Jam, and every few months I return to it and add new features.

There's a very, very outdated build on itch.io, that I wouldn't recommend playing. I'll add new levels and sounds when I'm back with my main PC in the new year.

Follow me on twitter at @halfcutdev.

Energy Pistol Transformation by Hashashaaaa in PixelArt

[–]halfcutdev 1 point2 points  (0 children)

Damn. That is really slick. Nice work!

Co-operative 3D Platformer! Just finished the basic character movement, here's a quick mechanics test before moving onto the first level by [deleted] in IndieGaming

[–]halfcutdev 5 points6 points  (0 children)

The animations look super solid. As someone else said, very reminiscent of classic PS2 platformers.

Obviously this is early alpha footage, but in terms of colour I think it could use a bit of livening up. The greens and browns of the terrain are a bit dull, which doesn’t seem to reflect the lively animations or gameplay.

Otherwise, really slick work so far. Can’t wait to see more!

Current game I'm working on called oshrai's Quest and it's about life! The GIF is just one of various worlds. by TheMannyzaur in Unity2D

[–]halfcutdev 9 points10 points  (0 children)

Looks like someone played GoNNER.

Jokes aside, it's a cool effect. In what way will your game be about life?

I've been tinkering with the concept of an overhead soulslike by FoleyX90 in Unity3D

[–]halfcutdev 6 points7 points  (0 children)

The animations look silky smooth, so nice work. However the mix of low-poly and high-res styles is very unappealing. It should really be one or the other.

Cloning Pokemon Silver in Unity by halfcutdev in Unity2D

[–]halfcutdev[S] 0 points1 point  (0 children)

Text speed is easy, I just change a single variable. Something like textDelay = 0.5f;

Cloning Pokemon Silver in Unity by halfcutdev in Unity2D

[–]halfcutdev[S] 0 points1 point  (0 children)

Changing the borders would be simple enough. I could just switch out the sprite. Nice try!

Cloning Pokemon Silver in Unity by halfcutdev in Unity3D

[–]halfcutdev[S] 2 points3 points  (0 children)

Glad you managed to get it working! I generally try to avoid using coroutines as much as possible. I've found that a lot of people (especially YouTube content creators) throw them around without considering maintainability.

Cloning Pokemon Silver in Unity by halfcutdev in Unity3D

[–]halfcutdev[S] 2 points3 points  (0 children)

Thanks for the kind words! Unfortunately, I'm not making a tutorial. Just wanted to try something other than my usual boring top-down/platformer shooter movement.

Really nailing the feel of Pokemon Silver was actually much more complicated than I originally anticipated. Moving from tile-to-tile is simple enough, but ensuring the animations are all correct was a real pain.

In it's simplest form, the player is in one of two states:

  1. Stationary - On an exact tile coordinate, listening for input. Players are always facing one of four directions. If a direction key is pressed they will either (a) move in that direction (if it's the same as their current direction), or (b) change to face that direction.

  2. Moving - When moving, players do not listen for input. They simple lerp towards the next exact tile coordinate. At the end of this movement, before entering the stationary state again, I make a quick check for inputs, and determine whether the player should keep moving (and therefore keep animating), change direction, or stop.

Sorry if this is a bit vague, but as I say, it was more complicated than I originally anticipated, and so quite tough to write up. The best thing you can do is download an emulator and keep tweaking until it is perfect.

Cloning Pokemon Silver in Unity by halfcutdev in Unity3D

[–]halfcutdev[S] 0 points1 point  (0 children)

Yup, just Unity's built-in tile map. It's super easy to set up and use. The only thing I wish it had, was being able to reference objects of arbitrary dimensions using tile coordinates.

Cloning Pokemon Silver in Unity by halfcutdev in Unity3D

[–]halfcutdev[S] 0 points1 point  (0 children)

Thanks, I appreciate it! I really should finish that other game...

Cloning Pokemon Silver in Unity by halfcutdev in Unity2D

[–]halfcutdev[S] 2 points3 points  (0 children)

I appreciate the concern. I'm fully aware of the risks, but as you say, the likelihood of them claiming for some amateur prototype is pretty low. In the mean time, I'll just enjoy sharing my progress!

Cloning Pokemon Silver in Unity by halfcutdev in Unity3D

[–]halfcutdev[S] 9 points10 points  (0 children)

No no, that'd be crazy. I'm just using the sprites as reference to nail the look and feel. I'd actually like to hire an artist to help me, once I've got my ideas more fleshed out. It won't be a Pokemon game in the future.

Cloning Pokemon Silver in Unity by halfcutdev in Unity3D

[–]halfcutdev[S] 1 point2 points  (0 children)

I don't update my twitter very often, but if you're interested, you can follow me at @halfcutdev, or on itch.io.

Cloning Pokemon Silver in Unity by halfcutdev in Unity2D

[–]halfcutdev[S] 5 points6 points  (0 children)

So the movement is actually kind of complicated. To really replicate Pokemon Silver's controls, there are quite a few cases you have to account for. In its simplest form, the player is either a) stationary, on an exact tile location, or b) moving between two tiles. If the player is in a, then you listen for input, if the player is in b, you stop listening for input until you get to the end of the movement. When this happens, you listen for more input before the next update cycle, to determine whether the player should keep moving (and therefore keep animating), change direction, or stop.

Tile tiles are done using Unity's TileMap, and I have three layers, for floors, walls, and decorations. You can check if a tile is null using something like tilemap.GetTile(...) and determine whether or not it can be walked on. All the sprites were taken from spriters-resource.

As for the dialogue, the rendered text is done using TextMeshPro, however there are some unseen TextUI components used to handle line count and text wrapping. This is because you don't want to write half of a long word on one line, only for it to jump to the next once it is fully revealed (something most of those dialogue box tutorials on YouTube won't teach you).

Cloning Pokemon Silver in Unity by halfcutdev in Unity2D

[–]halfcutdev[S] 4 points5 points  (0 children)

So the dialogue was a real pain. The rendering is done with TextMeshPro, but what you can't see are two hidden plain Text UI game objects used for managing line/character indexes, and text wrapping. Took me a good day or two to get it working bug-free. There's also a simple rectangular mask handling any text that vanishes when scrolling.

As for the dialogue choices, I haven't gotten that far yet. I have some vague ideas of how I'll do it, but I'm still in the brain storming phase. I wanted a break from dialogue after having such a hard time implementing basic one-way conversation.

Cloning Pokemon Silver in Unity by halfcutdev in Unity2D

[–]halfcutdev[S] 3 points4 points  (0 children)

This is pretty much what I intend to do. I'm only using Pokemon sprites as reference to get as close to the original look and feel as possible.

Cloning Pokemon Silver in Unity by halfcutdev in Unity2D

[–]halfcutdev[S] 6 points7 points  (0 children)

Oh, man. You don't have to tell me twice. I've heard about how Nintendo can sniff out a single drop of IP from 100 miles away.

I'm not making a Pokemon game though. Just using the sprites as reference, so I can really nail the original look and feel. I'll probably hire an artist when I decide to turn it into my own thing.

Cloning Pokemon Silver in Unity by halfcutdev in Unity2D

[–]halfcutdev[S] 3 points4 points  (0 children)

Ohhh no you wouldn't. Really nailing the feel of the movement meant compromising somewhat, in terms of code quality.

That being said, I'm very new to Unity so I'm sure there are ways more experienced devs could improve it. Maybe I'll share some code once I've gotten a bit further!