Not much. Just a couple youtube videos, a few tweets, and an article on a local site.
Congrats! What are your expectations now that it released?
Not much. Just a couple youtube videos, a few tweets, and an article on a local site.
^ What I've been hoping to do is to render 3D voxel characters as though they were 2D pixel art, but with lighting information preserved. This would allow me to animate a voxel model using a skinned mesh but have it "appear" as though it were pixel art. If you imagine a voxel character but imagine each voxel is colored and lit uniformly, as opposed to per face/per triangle, then you'd have the right concept.
I found a french team that made a tool to do pretty much just that, and the outcome looked like this:
Looking through their blogs (and at other algorithms) it's clear that they're using ray tracing at a fairly low resolution to get the pixel look shown there. You'll notice that it also is reacting to light (as seen on the back of the character, which is shadowed despite not being shadowed in the voxel model itself). They were also able to rotate the model to any angle and have the image update, so it wasn't just creating a spritesheet or anything.
I want to do the same thing, essentially. So I'm trying to figure out if there's a sensible way to do it in a pixel shader, or if I should try writing a Unity script component that will essentially do the raytracing onto a 2D plane. I don't want to do it for the whole scene, only for the characters themselves -- which is probably a requirement because computers are generally too slow to do realtime raytracing.
this is what happens when you forget to check the tag of the surface you land on when dodging. lol
this is what happens when you forget to check the tag of the surface you land on when dodging. lol
this is what happens when you forget to check the tag of the surface you land on when dodging. lol
It's not a bug, it's a speedrun feature! :-D
I had posted about the projectile recoil already, but it's even funnier with some projectile rebound beforehand:
This is now turning into "mess with projectiles, the game", and I'm okay with that
Was hard to see at first but thats pretty neat :)
Im just going to share a clip from an older build (you can tell by the hands raised, which is now lowered to off screen in new builds)
Haha, you mean the blue line transparent enemies aren't the best thing ever to happen? :-D
Those skeletons look pretty intimidating!
Wait, theres an enemy there? ;P Is this parry reserved for just this form?
yeah, i felt the skeletons were a bit bland previously so wanted to give them a bit more aggression.
Both forms can parry and rebound - in fact, parrying with the Warrior gives a lot more options, since angle of reflect is based on the attack you use, and, well... the Warrior has a lot more different attack possibilities :-D
I like how the skeletons breathe fire towards the end of the gif! They look slow, but then they start acting up, I think this can be pretty spooky. The classic contrast of going slow, then suddenly turning fast for one move/attack :-D
Not much in terms of sales, maybe a couple hunded lifetime, but i'm already onto the next thing.
Regarding the game demo, it has 3 levels and 3 bosses, you have to collect every coin and defeat the boss before passing to the next level, i hope you like it (let me know if you have any errors or bugs, thanks!): http://blog.jahepi.net/game/index.html
I love the colors of the sky! Also jumping on giant bones is always fun. I'm getting so much nostalgia from looking at this haha.Spend some time over the weekend working on Iceratops again, I figured throwing in some scene-setting life made sense; meet Terry Dactyl!
That snowfall is really atmospheric, well done!Spend some time over the weekend working on Iceceratops again, I figured throwing in some scene-setting life made sense; meet Terry Dactyl!
I've got 5 more jump transitions to make and I may just have a good base going on before I move on with all attacks and specials:
http://stuff.absinthegames.com/jumpTests.mp4
I've got a basic jump from ground and tuck to flips, running off an edge to tuck to flip and wall landing/pulling in for the hang. Still need 3 landing animations (to idle, to run and hard landing), wall bound transition to flip and double jump transition. I don't want to go too crazy with transitions as everything needs to look as responsive as it feels but I'm pretty satisfied with how it's coming along. At least from a perspective of my first time doing art and animation.
Aye. I just wound up reworking my object heirarchy so I can offset and rotate sprites as needed per animation last week. But I haven't really done much on Unity's side outside of hooking up animations. The jump flip was the reason I made my sprite renderer a child for easy rotating and transform fixes hahahaha. It's on my list among a few other fixes. I haven't done anything player-side like set move/fall speeds or jump heights outside of starting numbers. I gotta see everything in first or my brain can't resolve how it needs to feel against what you see XDIn my opinion, the flipping looks too much like a static sprite just being rotated. It's a bit jarring after the smooth running animation.
Yo that cat looks good :DSo, been working on a cat character for the past few weeks, learning a lot about rigging and animation, and I think I am getting close to bringing it into UE4 to work on game play mechanics (the fur material is temporary). I just downloaded the Hairworks SDK from Nvidia's site and am going to give that a go to see how it works in UE4.
http:///6H9c.jpg
Tracing an object like that is certainly possible in a pixel shader. You
basically just need to make a quad and call a pixel shader calling a ray-box
intersection test on all your boxes and a shading function if hit anything....
Edit:
But with a deferred rendering engine you can let the main engine do the
rastering solving the hidden surface problem with you taking all the
information gathered per-pixel in that G-buffer tracing just secondary rays
(shadow etc.).
That's a start, mate! Nice. :D Once you start with the secondary rays you'llStep 1: Raytracing the model! Here's what I've got.
I'm not using a shader, I'm just raytracing the entire screen and only pulling the texture color of the coordinate I hit if it's the voxel model of the girl there in the front. It looks like a sprite! I'm not doing any bouncing to lights or anything yet though, and I'm already hitting some performance issues (as you would expect). I'm not sure how to accomplish it in a shader (I'm an idiot when it comes to shader programming) so I'm going to see if I can do it on another thread or something. And maybe look into deferred rendering in Unity.
first time seeing this level. Loving the colours!!Spend some time over the weekend working on Iceceratops again, I figured throwing in some scene-setting life made sense; meet Terry Dactyl!
That's a start, mate! Nice. :D Once you start with the secondary rays you'll
never go back. ;) Performance will always be a problem, but for your special
case there are lots of improvements.
Well, I would stick with the raw raytracing method you have until you know and
understand what you are doing resp. got what you want before trying to use
any shader. The deferred approach is also worth considering for it gives you
the closed hit point much faster than any ray-tracing (but only for linear
projections and objects). However, a simple method to speed up the raw
intersection test for these boxes is to make an intersection with the whole
box instead of doing one for each of its faces. There is a method which just
checks the whole box at once for any possible intersection, and if any
computes the closed hit point (resp. ray parameter t), which is much faster
than checking against its six faces.
I love the colors of the sky! Also jumping on giant bones is always fun. I'm getting so much nostalgia from looking at this haha.
So, been working on a cat character for the past few weeks, learning a lot about rigging and animation, and I think I am getting close to bringing it into UE4 to work on game play mechanics (the fur material is temporary). I just downloaded the Hairworks SDK from Nvidia's site and am going to give that a go to see how it works in UE4.
http:///6H9c.jpg
I knew it! I was going to say either that or Misty Island.
Haha, you know me too well!I knew it! I was going to say either that or Misty Island.
It's so characterful. That's the kind of thing I love doing. Like I made this crusher trap earlier today, and it could have just been a stone pillar going up and down, but I wanted to add something more to it to give it identity. Hence the ghoul.
Cool. No, the gif still works for meMostly, yes. They're also usually a combination of a cubemap (made in GIMP/3DS max) and then some 3D assets off-scene. I have a separate camera for the sky objects, that renders behind the main camera. This means I can have things like moving clouds, or more level specific things like a flying Chinese dragon in the Hare Today, Gong Tomorrow level.
Also, is it just me or has Era broken the GIF link in my original post?
Hi Minamu, good to have you back! :) And good luck with these guys!Hey guys, I finally managed to find a way to join the site. Good to be back!
I've been working hard making prototype environments for our new hobby project. It feels great to have a new game and genre to focus on for once :)
This time there're five members, though most are completely new to development. It'll be an uphill battle but also a very interesting challenge. We're in deep water, making a sort of procedurally generated horror game in first person perspective xD With some skill trees and rpg elements of courde because why not?
So nice. What will be the playtime of the game?Thanks! I figured as far as snow levels go, usually the palette is pretty washed out, so my goal with this one is to keep the cold feeling whilst introducing enough colour to set it apart! Speaking of which, I did a little more work on the primordial soup yesterday, including some nice gassy particles and some animated surface bubbles:
...
Pleasing to watch. I always have stop looking. Ha! xD
Yeah I mean voxels when I say boxes. Box is a more common term in
Which is the same as I've described, but more expensive if your voxels areI think I'm doing it the opposite way around ... I'm doing raycasts from the camera into the scene, and then if it hits something I pull the color of the thing it hit, and draw it on a texture. ...
Put a bounding box around your voxel character and let Unity project it onto... If by "box" you mean like... a box around the character, I'm trying to do that but not having a lot of luck. I want to only do the raytracing algorithm around the pixels on screen where the voxel girl appears, but I'm so far not really getting an accurate box of pixels for the character on the screen. I put a quad on the screen in her place (I just turned off her renderer, but the collisions are still on for the ray tracing) but the unity worldToScreen coordinates thing isn't doing what I expect.
Maybe a better explanation... I want to only do a raytrace for the areas inside the orange box below:
Obviously by doing that I avoid doing rays for the majority of the screen, and that would speed things up dramatically... but I'm not getting the screen coordinates for that orange box accurately.
Thanks man! Hmnn, interesting question. Each level should take 20-30 mins to fully complete for a skilled player, there are 10 levels plus bosses and cutscenes so give or take 7 or 8 hours? It depends on skill level and how much of a completionist the player will be. Come to think of it, it'll also depend highly on how many Watches/Stones I settle on for gating progress; that'll come down to play-testing I reckon.
So, been working on a cat character for the past few weeks, learning a lot about rigging and animation, and I think I am getting close to bringing it into UE4 to work on game play mechanics (the fur material is temporary). I just downloaded the Hairworks SDK from Nvidia's site and am going to give that a go to see how it works in UE4.
http:///6H9c.jpg
Ooh, this has certainly come a long way. I look forward to seeing him/her with some fur shading!
if you can manage to get the movement down, this will look quite good
I´m trying to make everything in the game have more than one reason to be, as well as work with other elements of the game in different ways. For these reasons I´ve added a stronger type of bongo platform:
This one can shatter walls, but it will also wake up all nearby bats, so be prepared to run! Or you can use them to help with some tricky jumps!
It can also free loose blocks, which in turn can impact with enemies and disable them for a short while...Which then allows you to use the knocked out enemies to reach new heights:
Also I´d like to share one design principle I´ve developed and which I´ve called Triple Telegraphing. When designing a challenge the necessary information should be clearly conveyed in advance to the player. In order to to do this, we can use several techniques:
Triple Telegraphing means that we must not stop at using a single technique for a certain challenge and instead shouls always be trying to use 2 or more different techniques. Note that this is not the same as using the same technique of the above ones in 2 different ways, like say, using 2 different background elements should only count as 1 technique and not as 2. If we aren´t able to create a 3T for a challenge, we should break that challenge into smaller ones and present them independently. This will allow us to use the second technique (building on concepts the player already knows) when we finally the present our original complete challenge.
- Distant examination: The player can safely watch the issue from a distance until he decides to take it on.
- Building on concepts the player already knows.
- Audio cues.
- Coin/Collectible telegraphing: Like in Mario games when coins signal the optimum path to follow and what trajectories the jumps should follow.
- Background elements: Like in DKC Tropical Freeze, where fruits rolling on the background signal the timing for platforms to pop up from the bottom of the screen.
- Storytelling/setting/including the mechanic in a visual dressing that makes evident the way it works: For example, making slippery surfaces be ice blocks.
- Camera: Use the camera to signal when or in which direction the player should be advancing/looking.
- ...
We can see this principle in Tropical Freeze´s 5-3 level, in the fruit platform sequence (https://www.youtube.com/watch?v=91fdf7x5mvs#t=02m05s):
I´ve called this 3T for Triple Telegraphing. Where´s the missing T? That´s part of the concept itself: we should always strive to add another telegraphing technique, instead of just reaching 2 and leaving it at that.
- The background fruits signals the timing of the platforms.
- The small pieces of fruits flying from the bottom of the screen signal the location where the next platform will jump from.
- Some collectibles also hint at the platform locations.
- Other similar challenges are built on top of the previous one, expanding the previous one every time.
- Distant examination: The player can watch the whole sequence before actually jumping on the first platform (at least in the first challenge, not sure about the rest, but those use the first challenge to build on it so it´s OK).
- Camera: The camera frames the challenge completely.
Do you guys agree with this? What other telegraphing techniques can you think of?
Thanks XD I'm not actually that familiar with raytracing so I was getting a little confused.Yeah I mean voxels when I say boxes. Box is a more common term in
raytracing parlance, but will use voxels if it fits you better.
Which is the same as I've described, but more expensive if your voxels are
made out of triangles. What I meant was for speeding up the ray-voxel
intersection test. Guess your voxels consist of 12 triangles (6 quads having
2 triangles each). To compute the intersection with such a voxel you would
need to intersect the ray with 12 planes spanned by each triangle and make a
check whether the intersection point actually lies within the triangle. This
is something you have to do for all voxels and for each pixel. However you
could compute the extend of each voxel and check the whole voxel at once as
I've described before (I have some old code laying on my HDD which does this,
but it's based on axis-aligned boxes, so you would have to transform the ray
into a box-aligned coordinate system when you want to have arbitrary orientation).
I have to figure out how to do this :DPut a bounding box around your voxel character and let Unity project it onto
the screen. The maximum extent of this projected bounding box will be your
window to shoot the ray towards.