Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy
This is something I've been working on since the beginning of this year, but most of what you can see has been from the start of September.


It's an open world RPG. It's procedurally generated so you never run out of world to explore. It's also fully destructible.


It has a FFX-style turn-based battle system.


Anything you do to the environment is saved and can be seen during battle. It's like the world maps in the classic games, so when you go into battle the camera zooms in and you see the world at its real scale.


There's also a separate world you can enter that's just for creation. You can build a house here and just take it with you.

Broken Loose posted:

Update:

My game comes out today.

https://www.youtube.com/watch?v=h2c9FAfW-b4

At sunset (5:35 PM EST), the planets will align with the new moon in the southwestern sky, and Xross Dreams will release on Steam.

It is a crossover tag battle fighting puzzle game. Imagine a fighting game where all the characters are puzzle games, you pick 2 (and can switch between them at will), everybody deals their own type of damage, and you must defeat the opponent's team to win.

I have been working on this for 5 years and it has been a massive undertaking. I am doing everything but the music. Publishing is a gigantic milestone and it has not been easy.

Congrats! This looks amazing. I love puzzle games like this.

What was it like publishing on Steam? I'm planning on putting this on Steam first then Android and iOS later.

Adbot
ADBOT LOVES YOU

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy




  • Cloud rendering: Clouds have much softer edges. They appear lower down so you can see them intersect with the mountains.
  • Screen space reflections: Reduced distortion when the camera is near the water surface.
  • Distant terrain rendering: More accurately influenced by the colour and brightness of the sky.
  • Shadows: Depth Normal Bias reduced to prevent light leaking at sunrise and sunset.

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy



I've switched to the water rendering from Unity's Boat Attack sample. It comes with a choice of cubemap, planar or screen space reflections.
These screenshots are using SSR but with a cubemap fallback. The cubemap is updated after a certain amount of time has passed or you've travelled a certain distance, which is why the clouds in the reflections are sometimes behind where they should be.



There's a minimap and compass now, as well as slight changes to the fog and grass rendering. Volumetric clouds are an option but there are currently issues with the water reflections and battle transitions.

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy



No postprocessing is being used, just tonemapping, colour curves and a vignette.
The fog is affected both by distance and altitude.





The surface properties of the water change depending on the weather.



The battle HUD has been rearranged.

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy

LoboFlex posted:

I like the atmospheric perspective and the colors on the furthest away hills, but the landscape in general strikes me as somewhat.. pitch black? Not really sure what your intention with that is.

It only gets that dark during sunrise and sunset. You can always see the area around your character though and the enemies have a red glow around them too. At night there's a bit more light since the moon is a light source.

I like how well your game hides the blockiness of the voxel terrain. I can't think of any games that do it better, besides ones that use marching cubes or something similar like No Man's Sky.

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy

Corbeau posted:

Been a long time since I last posted something I was working on... but I'm super pleased with the first step on the voxel-style terrain system I'm putting together (hopefully to underpin multiple future projects). Tired of working with heightmap meshes.



It surprised me with a certain chunky retro charm at this early stage. Next implementation step will render angles in increments of 15 degrees rather than being stuck at 45. Then it's adding the option for normal blending, and the whole thing will look completely different... which I'm almost sad about.

Corbeau posted:

And now the same type of voxel terrain but with 4 times as many angles:



Pretty dramatic difference.

If you hadn't said it was your own voxel system, I think most people would assume that the second one was the standard Unity terrain system with flat shading. Although, like you said, your voxel system would be able to do a lot more than just height maps.

The stylised terrain in the first image looks great and can make very nice landscapes. However, depending on the scale of the world and your player character you might be better off with the second so you're not always climbing such steep angles. I've been having to do a lot of work with the camera in my cube-based voxel world so it doesn't snap close to the player when going up or down 45 degree staircases.

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy

Corbeau posted:

The main game types I'm hoping to use this for are a first-person exploration/traversal game and a 4x-style game. Got a long, long way to go on implementing features of the terrain system itself before I can seriously consider the "game" part though. Chunk consolidation (each intersection is it's own GameObject atm, which is not what Unity likes performance-wise), the option of smooth normals, modular options for vertex noise, and support for multiple materials on a voxel-by-voxel basis are all highly relevant features still on my to-do list - and I'll likely think of more before I'm done with those.

I started off using the voxel system from this course but I wasn't able to get smooth performance from it. Although chunk generation was multithreaded, every time a new chunk was needed the game hitched because the main thread was waiting for the result. I even tried having the game pause when you cross a threshold so new rows of chunks could be generated, like scrolling the screen in 2D Zelda, and having the distant chunks use larger voxels so they wouldn't need as much time to create.

Voxel Play 2 from the asset store has been really good for me. I'm not sure if it's ideal for angled terrain though. You can create custom non-cube voxels for different angles but you may want to ask on their discord for the best way to do it. You can spend months writing or even just tweaking a voxel terrain system so I'd recommend making use of what's available so you can start working on the game itself. I'm just assuming you're using Unity from the skybox though.

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy

Corbeau posted:

That... feels like an incomplete deployment of multithreading. The main thread really shouldn't be stuck waiting. Late last year for a game jam, in order to learn the C# Job System that Unity added, I put together a heightmap-based system to generate appropriate LoD meshes for procgen terrain as the player roamed around in real time. The main thread would occasionally send out a request to the terrain system when the player crossed a boundary and would then check once per frame to see if the request had been fulfilled, happily chugging away in the meantime until the thread flipped a flag saying it was time to apply the finished data to a Mesh object (used by an object-pooled GameObject). I didn't end up submitting the result to the jam, but the system worked smoothly. I plan to re-use it on this voxel system once the latter is fleshed out.

Yeah, I knew it wasn't ideal. At least working on it gave me an understanding of how to optimise meshes, generate terrain, etc. Looking forward to seeing more of your voxel engine.

Phigs posted:

The big thing about a voxel game performance in Unity is you should never create or delete chunks. Instead you should move and change chunks as the player moves.

This is really good advice. It's one of the things I implemented after finishing the course. There are also some tools that handle pooling of GameObjects automatically for you.

Using origin shift to reset the coordinates back to (0, 0, 0) after a certain distance is also useful for infinite terrain. Despite what a certain space game developer thinks, even using 64 bits isn't enough to have entire galaxies without precision issues :). Or don't, and have weird terrain be a feature and not a bug

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy
Something I tried experimenting on my old voxel engine with was changing the normals on the voxels to give smooth lighting.

http://www.tinysg.de/techGuides/tg5_normalGen.html

Going from this:

to this:


It's easy to do on individual cubes but more complex for chunks. You also need to account for neighbouring chunks too.


E: ^ That's really interesting. There's a lot of optimisation you can do when you know that the world follows a grid structure.

TW0 fucked around with this message at 20:47 on Feb 13, 2023

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy


TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy


Battles now have detail objects, which are loaded automatically based on the terrain type. They're placed in a ring so they won't get in the way of the battle, and every battle will have a different arrangement. There only needs to be one battle scene in the game because everything is set up the moment the battle starts.

I've switched to Unity's built-in terrain system for the battle scene, which handles the ground texture, instanced/batched grass and the detail objects. This means I could have the terrain change throughout the battle, such as having a fire spell remove a patch of grass and add a texture to the ground, or have a meteor leave a crater.



For the voxels, I also created a C++ tool to convert the 48x48 pixel sprite tiles to 64x64, which are more efficient for mobile. Instead of scaling them, it copies and arranges the16x16 sub-tiles so that each voxel face uses 4x4 of them instead of 3x3. The tiling isn't perfect but the pixel art looks much sharper since they aren't being upscaled any more.

To create the top face, I used the S-V2E2 blob pattern described here. When you add or remove voxels, the surface updates so the pattern is still being followed.


This looks amazing! I hope you're able to make it into a full game. I'm also trying to get a demo ready, but there's still a lot of work to do on the battle system and UI.

TW0 fucked around with this message at 15:39 on Aug 13, 2023

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy

KillHour posted:

You should pixelate the UI too - it looks too high res.

Other than that, getting very strong oldschool JRPG vibes so good job!

Thank you! I'd like to have a more authentic UI, but this works a lot better for supporting different aspect ratios and resolutions. The main problem with a flat UI is making it clear what are actual buttons and what's there to just display information.

SerthVarnee posted:

It might look too high res, but I'm fairly certain that, from an accessibility standpoint, making things harder to parse for blind or visually impaired players would be the wrong kind of retro.

Yeah, I also want to have options to increase the font size and accommodate for colour blindness. I'm able to play it on an iPhone SE2, but I can't assume everyone can. Another issue is that the buttons can be too small to press.

It's been a fun challenge making something that works with a controller, mouse and touchscreen. Usually I'd rather connect a controller to my phone than deal with touch controls, but here I don't even want to.

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy
This is Spiral Fantasy. I'm working on releasing a demo soon.




I've also just launched my website. Please let me know what you think.
https://www.tw0catsgames.com/


For the accessibility features, I'm thinking of using Apple's Unity plugin. A lot of its features should still work on other platforms, but it would be great to use VoiceOver to narrate the battle.

A lot of people first played Pokemon in a language they didn't understand or before they could read. I even had an imported Japanese copy of Pokemon Silver. I want my game to be enjoyed by anyone, just like those games were.

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy


I've written an article on how to create billboard characters in Unity that achieve the same quality as Square Enix's HD2D games.
Perfecting Unity’s Billboard Shader for HD2D - Part 1

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy


Perfecting Unity’s Billboard Shader for 2D Characters – Part 2

This article is about how I wanted to bring pixel art into 3D, as well as some advice on how to improve the way the shadows work and fix clipping issues.

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy

Your Computer posted:

i've finally managed to do it! running on a REAL game boy emulator



i just wanted to see if it was possible and i am kinda proud of myself :sax: i've never written anything proper in assembly before so the code can surely be optimized by heaps and bounds but i'm just stoked that my insane idea actually worked and i was able to implement it

That's incredible! I'm always amazed by people who can code in assembly.

You could use this engine for so many types of games, like breakout, billiards or mini-golf. I love pinball games though, and if you want to try something a bit different you should look at Pokemon Pinball for the Pokemon Mini. It doesn't use flippers at all and it had a great puzzle mode.

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy

Hammer Bro. posted:

Not sure what genre I'm prototyping but it was clear I've been thinking about Hades / Vampire Survivors / Match 3 games (thanks, thread) / Galaga lately.

https://vimeo.com/898767079

Katamari just kind of snuck in there (as it does).

Even had a bit of Meteos last build but I don't like clicking all that much anymore.

My DS and 3DS both show scars from all the Meteos and Picross I played on them (and still do)

Your game looks really fun! I'd love a shmup with more of a focus on puzzles than avoiding bullets.



https://imgur.com/a/eIZNCvM

Here's my new article on how to create the dissolve effect Final Fantasy uses when enemies are defeated. It can also be used for semi-transparent enemies like the Spectre in DOOM.

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy

Onimwad posted:

I'm still hard at work on Grabbus! In fact, I just quit my job! (Don't worry, I have a supportive roommate and family, my art commissions fetch a decent price, and I saved up a lot from the job)

My goal is now to release whatever I have by the tail end of the year as a playable demo!
Today, I finally perfected the optimization overhaul of my old, very bad Perlin noise script. It now runs twice as fast! This has instantly allowed the map screen to fill far more space without affecting performance.

I've been no slouch since the last post. I added a new item type, relics with passive effects that can synergize for your convenience.
Lots of little fixes and tweaks. A new hitshield and bullet-ripening mechanic. Enemy AI and combat calculation refactor to allow for more enemies and damage volume types soon. New sprites for weapons made of mixed and recolored pieces... and probably a hundred other things I forgot.



Congrats on going full-time! Definitely look into any grants you might be eligible for.

If you're in the UK, then the Prototype Fund is there for small developers.

Your timeline sounds good because that's where I am right now :D I've been working on my game for 2 years now, but half of that was as a hobby alongside my job. Last month I finished a demo for Windows, iOS and Android that should help me get funding.

NJersey posted:

I need some advice from some of you more well informed and experienced people here.

I was messing around with Unity as a small hobby before the big blow up, which of course happens just as I was beginning to get organized and a plan together to start on a full project. I'm a beginner so nothing crazy but big enough that I knew I could finish it.

My question is, because I have no programming experience outside Unity and the little C# I learned there, I've looked at all the alternatives and none of them seem to fit what I want to do, either overpowered, under powered, not much documentation, etc. I'm thinking of going back to Unity.

Maybe I was reading all the Unity problems and thought it might affect me when that isn't the case so but my goal is to just make small games and if I sell a couple copies, I'd be happy. Should I just stick with it? Finish some projects and then see where I'm at in a year or two and look at other options? UE5 looks good but really overpowered for what I want to do now, for instance.

Thanks all, and love everyone that posts content in here. Really keeps me motivated to keep going.

The main advantages to Unity are the wide platform support and the asset store. If you only want to publish on PC and are confident you can program it all by yourself, then Godot would have everything you need. However, assets let you make games that are a lot more ambitious than a single developer could normally make.

By Assets I don't just mean models or animations. Editor tools are very useful and many of them are free on GitHub. OpenUPM allows you to add packages to your Unity project and easily keep them up to date.

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy

bredfrown posted:

I've been working on this game for about 3 years now and I just BIRTHED it yesterday.
The launch went smoother than I thought. I can finally afford to upgrade my SA account ;)

Enjoy! Good night goons. I'm taking it easy for a bit!

https://twitter.com/TheCrystalStory/status/1745959342505934937

Congratulations! This looks amazing! I love the art style

That last shot reminded me of one of the unused assets from Mother 3's ending. Was it inspired by it?

Bronze Fonz posted:

Made a bit longer video showing more of my game's internet and gameplay/interactions with the overworld... check it out:

https://www.youtube.com/watch?v=uEm4VgX6YiY

Seeing retro OS interfaces and web pages reminds me how much fun just messing around with computers was. Even without any programs it was fun to discover all of the weird screensavers or design your own mouse cursors and icons.

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy


New volumetric clouds as well as shadow rendering on the distant terrain.

I was really impressed with what Red Dead Redemption II was able to achieve on the hardware it ran on. It even looks beautiful on my laptop with a 680M. Like Rockstar, I want the world to look like a landscape painting rather than reality.

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy
Thanks everyone! The connected textures were causing some issues because they're stored in a texture array, and I found that some devices have a different size limit. The 680M even has a different limit in DirectX 11 and Vulkan, 2048 and 8192 respectively.

This was fixed over the weekend so a new texture array is created when the current one is full, so I should be able to add the rest of the artwork now.

Shoehead posted:

I just got done working on this asset pack I started putting together while I was waiting on people to show up for appointments in work. Some repurposed old stuff and some/alot of newer stuff for people to check out


https://shoehead.itch.io/shoes-action-adventure-tiles

These would be perfect for an 8-bit world :megaman:

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy
A couple of sunrise timelapse screenshots.




TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy

Hadlock posted:

Can you make it like flight simulator, where it polls live weather data

Might be a bit unfair depending on where you live :)

I loved how games like Animal Crossing and Pokemon Gen 2 felt like they were in sync with real life. The game world didn't feel like it was frozen in time when you weren't playing.

However, since the time and weather are supposed to add challenge and variety to the battles, I don't want players to be stuck with the weather for a long time or make anyone feel the need to change their system clock or use a VPN to avoid it.

cumpantry posted:

maybe clouds should be higher? i won't say theyre ruining the shots but i bet theyd look better with clouds raised or outright gone

They can be changed to the flat clouds from earlier screenshots in the settings menu.

Adbot
ADBOT LOVES YOU

TW0
Oct 31, 2022

The figure that still lies asleep in the Fantasy

I can't see anything wrong in your script, although there may be something affecting the transform of one of them in either DieWithShip or ShipStencilTracker.

Definitely keep looking through your ship assembly coroutine to make sure it matches the behaviour of the original function. Since the work is now being split across multiple frames, the order some functions are called in might now affect the result. Maybe try setting the parent transform in the Instantiate() function rather than afterwards with SetParent().


I assume your hierarchy looks something like this:
pre:
ship
  -> ocean cutout stencil
  -> water shadow stencil
You could also try making them both children of a GameObject called hull.
pre:
ship
  -> hull
    -> ocean cutout stencil
    -> water shadow stencil
If you only change the transform of hull, that should reduce the chance of them becoming misaligned.


Also, check if your version of Unity supports the InstantiateAsync() function. It's very useful for spawning objects at runtime without blocking the main thread and causing stutters, although it has to be done in a Coroutine or UniTask.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply