SyntaxBomb - Indie Coders

General Category => Worklogs => Topic started by: Qube on November 11, 2018, 03:45:44

Title: [WIP] A nightmare on Christmas Eve ( provisional title ) - game comp Nov 2018
Post by: Qube on November 11, 2018, 03:45:44
Game idea :

An evil elf has rebelled against Santa. With just 30 minutes before Christmas Day the evil elf threw all the presents and the magic of Christmas out of the slay. The only one able to save the magic of Christmas and retrieve the presents is you, Santa himself.

You and you alone have just 30 minutes before Christmas Day strikes to save the magic and the joy of Christmas. Find the presents, solve the puzzles and fix the magic of Christmas before it's too late.

Blog blog blog :

Years ago I bought a Santa model for Daz3D and also paid the extra for usage in games, brilliant, I'll use that I thought to myself. I loaded the model into Daz3D, exported it and loaded it into Cheetah3D. I look at the stats of the model and my jaw hits the floor. Nearly 40,000 polygons and multiple 4096x4096 textures. Eh, no, this is not going to be any good for games.

So I went about reducing the poly count and now have it down to around 9,000. I also repainted the model polygon by polygon ( don't ask ). After all that hard work I thought, hang on, this thing isn't even animated. So I dived in and watched a few YouTube videos on Unity's mecanim system. Yippee, another beast of a system I have to learn ( or for now just the very basics ).

After applying some mocap animations I went into coding the movement of Santa. I wanted him to go from standing to running at an incremental pace and for the animations to match his speed. The video doesn't show that side but at the very end you can see he slows down rather than immediately jumping to a standing position. I've spent quite a while coding up the movement of Santa and I could easily spend a few more days on that side alone but time is of the essence. After all, it's almost Christmas :P

Very early super pre alpha video - An exciting 1080p 60fps video ( in case it doesn't auto to that )

Title: Re: [WIP] A nightmare on Christmas Eve ( provisional title ) - game comp Nov 2018
Post by: Steve Elliott on November 11, 2018, 09:42:42
Some nice smooth and fluid animation there.  The snow flakes look huge though.
Title: Re: [WIP] A nightmare on Christmas Eve ( provisional title ) - game comp Nov 2018
Post by: RemiD on November 11, 2018, 10:19:54
looks cool, you certainly know how to put different components made by others all together in a game, which can be sometimes complicated (file format, orientation, scale, excessive surfacescount / polyscount, etc...), so well done already :)
Title: Re: [WIP] A nightmare on Christmas Eve ( provisional title ) - game comp Nov 2018
Post by: Xerra on November 11, 2018, 10:26:50
Holy fucking shit. That looks fantastic. You should make a game out of that. Oh, wait.......
Title: Re: [WIP] A nightmare on Christmas Eve ( provisional title ) - game comp Nov 2018
Post by: Derron on November 11, 2018, 11:31:00
Bend the knees! it looks as if he stopped inbetween a russian folk dance and is walking in a "nearly sitting position".



@ poly count
There are a lot of poly-count-reducers out there. Think you can even lower the polycount by another 50% without loosing much detail in a 3rd person view.


@ game
Hope you add a bit of fun to the game, serious games do not suit well to christmas and the "lightweight family mood".
For now it does not look as what I expect from an "adventure" but I am a bit biased for just having played "point and click" instead of dungeon crawlers, JRPGs (Zelda on the SNES doesn't count) or text adventurers (at the time of the text adventures we told us the stories without the help of computers ... born in the GDR).

You will surely have some fun working with the HUD (and click/mouse interaction). So tackle that first to see if you run into trouble.


@ BHV files
In a "free to move" environment they work well but if you have some kind of "tile/grid"-movement it can become a hassle to make a "bhv jump" being a jump from grid 1,1 to 2,1 - scaling does not work in all cases. I had for Maze Raider some BHV files to try but ... nope I at the end was way quicker to animate them on my own just taking the BHV animations as a reference on how a "classical mummy awaking" looks ;-)

Ah and first step to get into the right codig mood should always be to heat up some hot red wine (just filled a dozen and more bottles of home-grown red wine) ... /derailment end.


Have fun coding - and keeping us informed.


bye
Ron
Title: Re: [WIP] A nightmare on Christmas Eve ( provisional title ) - game comp Nov 2018
Post by: Qube on November 11, 2018, 14:37:14
Project scrapped... won't have time to do any more on it :(

Good luck to everyone else who enters.
Title: Re: [WIP] A nightmare on Christmas Eve ( provisional title ) - game comp Nov 2018
Post by: BasicBoy on November 11, 2018, 16:37:51
Quote from: Qube on November 11, 2018, 14:37:14
Project scrapped... won't have time to do any more on it :(

A pity, as it was already looking visually interesting and atmospheric.
Title: Re: [WIP] A nightmare on Christmas Eve ( provisional title ) - game comp Nov 2018
Post by: Steve Elliott on November 11, 2018, 20:46:55
Quote
Project scrapped... won't have time to do any more on it :(

A shame.  But on the positive side you aquired a new skill in the engine you're using.
Title: Re: [WIP] A nightmare on Christmas Eve ( provisional title ) - game comp Nov 2018
Post by: Qube on November 11, 2018, 21:00:45
QuoteThe snow flakes look huge though.
The post processing causes that and so the snowflakes would just of needed reducing in size so the glow effect wouldn't be so "huge"

Quotelooks cool, you certainly know how to put different components made by others all together in a game, which can be sometimes complicated (file format, orientation, scale, excessive surfacescount / polyscount, etc...), so well done already :)
Purchased media saves a lot of time so you can concentrate on the coding and setting things up. There was 130+ lines of code just for controlling Santa and his animation motion alone. But of course people think in Unity everything is automatic :P

QuoteBend the knees! it looks as if he stopped inbetween a russian folk dance and is walking in a "nearly sitting position".
It's not that bad! - Have you seen your freaky animated characters?

QuoteThere are a lot of poly-count-reducers out there. Think you can even lower the polycount by another 50% without loosing much detail in a 3rd person view.
Couldn't have reduced the poly count any more as you would have seen him up close at times.

QuoteHope you add a bit of fun to the game, serious games do not suit well to christmas and the "lightweight family mood".
For now it does not look as what I expect from an "adventure"
Well no, it's not what you'd expect to see from an "adventure" as it's just a flat floor with a few buildings I was using to get Santa's movement and basic atmosphere setup. Odd comment to make when I stated it was just a WIP Very early super pre alpha video.

QuoteYou will surely have some fun working with the HUD (and click/mouse interaction). So tackle that first to see if you run into trouble.
I'm OK with HUD / GUI stuff in Unity.

QuoteIn a "free to move" environment they work well but if you have some kind of "tile/grid"-movement it can become a hassle to make a "bhv jump" being a jump from grid 1,1 to 2,1 - scaling does not work in all cases. I had for Maze Raider some BHV files to try but ... nope I at the end was way quicker to animate them on my own just taking the BHV animations as a reference on how a "classical mummy awaking" looks ;-)
I think you mean BVH files?. As far as scaling goes for jumping from tile to tile ( in  you example ) then you would get that if you just play the animation straight. You would either really need to time your animations manually. My Santa doesn't just play the animations, he was coded to go from standing to walking to running manually controlled and not just to play the animation.

QuoteHave fun coding - and keeping us informed.
That is all it'll be unfortunately as I've got other work to do and thus no time to spend on it.
Title: Re: [WIP] A nightmare on Christmas Eve ( provisional title ) - game comp Nov 2018
Post by: Derron on November 11, 2018, 22:10:36
I hope you do not seriously feel offended - you know what you are capable of, so no need to feel attacked by some small "nudges".

QuoteIt's not that bad! - Have you seen your freaky animated characters?
Every mummy I've seen walks this way, proof the opposite ... ok, never have seen Santa, so you _might_ be right here ;-)



@ flat ground and buildings
Nah, it just looked as if you have to go from house to house and collect stuff which opens other doors or so. With "adventure" I expected more of "Monkey Island" and the likes. 2d or 3D click-and-point-adventures. People here seem to prefer the text-adventure style ("move left" - "you stand in front of a rusty iron door"). Asset-wise this is of course way smarter :p


@ santa model
Maybe you can use it in an odd way during another compo - "Surfin' Santa" (his clothes never get wet!).


QuoteI think you mean BVH files
Yes. Did I name them differently and you edited/corrected my post meanwhile? If so, yes, I meant these motion capture files you can find on the internet. For games you most often need "loopable" animations or "walk cycles" - or some clever "morph" thing which seemlessly can do transitions between multiple animations - without looking odd (magically moving legs or so). Also you need to adjust "object movement speed" so that it works nicely with the motion captured movement - not always possible if you eg. have a "muscle dwarv" (short legs) or so. Something to tackle next time


@ HUD
I was more talking about dragging and dropping items of the hud into a scenery (eg on an NPC) or to handle all the "on mouse hover" interaction (right click to talk to/use/...).


As said, do not feel offended by some nitpicking. Think everybody is aware of what [former] "WIP" means. Still I think people could comment about stuff posted here - else there would be no sense in posting it at all.
Same I expect for stuff I post.


bye
Ron
Title: Re: [WIP] A nightmare on Christmas Eve ( provisional title ) - game comp Nov 2018
Post by: Qube on November 11, 2018, 22:39:02
QuoteI hope you do not seriously feel offended
Of course I'm not :o

QuoteNah, it just looked as if you have to go from house to house and collect stuff which opens other doors or so. With "adventure" I expected more of "Monkey Island" and the likes
They were just dunked there very rapidly for test purposes.

QuoteYes. Did I name them differently and you edited/corrected my post meanwhile?
I've not touched your post, it still says BHV and not BVH :P

Quotenot always possible if you eg. have a "muscle dwarv" (short legs) or so. Something to tackle next time
It was my understanding that providing the rigging of the character was correct then it wouldn't matter if they are tall or small, long or short legged etc. The main issue with the pre-made animations is for characters that have large exaggerated features.

QuoteAs said, do not feel offended by some nitpicking.
I wasn't, so don't think I was :P
Title: Re: [WIP] A nightmare on Christmas Eve ( provisional title ) - game comp Nov 2018
Post by: Derron on November 11, 2018, 23:28:22
Just try the BHV-BVH-HVB animation on a short-legged creature, I did not test it but I assume these motion capture files store coordinates for bones - not "relative movement of bones". So this means a 1m step is still a 1m step for a dwarf or a basketball-giant.

bye
Ron
Title: Re: [WIP] A nightmare on Christmas Eve ( provisional title ) - game comp Nov 2018
Post by: Qube on November 11, 2018, 23:33:40
Quote from: Derron on November 11, 2018, 23:28:22
Just try the BHV-BVH-HVB animation on a short-legged creature, I did not test it but I assume these motion capture files store coordinates for bones - not "relative movement of bones". So this means a 1m step is still a 1m step for a dwarf or a basketball-giant.
I think Unity's system doesn't work like that. They have a system they call Mecanim (https://docs.unity3d.com/Manual/AnimationOverview.html)
Title: Re: [WIP] A nightmare on Christmas Eve ( provisional title ) - game comp Nov 2018
Post by: Derron on November 12, 2018, 08:29:17
Ah so they have some kind of "morph target system" or "intermediary bones". Think it still might look odd for certain characters (similar to a 180kg human using the sprint animation of a 80kg athelete). Also the mecanim-system needs additional preparation steps. You cannot rig a character in your fav 3D tool and then just export the rig + char + animation into Unity. You need to bind yourself to the Unity-way-of-doing. Understandable but tie-ing to a tool is always a bit hmm not to desire. As long as it does what it should for you, everything is - of course - ok. Just hope this avatar-system is setup'd pretty fast and does not take an additional evening per creature.


bye
Ron

Title: Re: [WIP] A nightmare on Christmas Eve ( provisional title ) - game comp Nov 2018
Post by: Qube on November 12, 2018, 09:23:51
QuoteAh so they have some kind of "morph target system" or "intermediary bones". Think it still might look odd for certain characters (similar to a 180kg human using the sprint animation of a 80kg athelete)
Yeah, well any base mocap animations won't fit to all situations but I'm quite impressed with how Unity does it. Of course it won't work for all situations but it's pretty clever in what it does cover.

QuoteAlso the mecanim-system needs additional preparation steps.
What?!?! Are you saying there is no magic click button to make your game? :o :P

QuoteYou cannot rig a character in your fav 3D tool and then just export the rig + char + animation into Unity. You need to bind yourself to the Unity-way-of-doing
Actually you can... So long as you follow the generally accepted standard of rigging a T shaped character then all is good.

What was the anim system like in Godot?
Title: Re: [WIP] A nightmare on Christmas Eve ( provisional title ) - game comp Nov 2018
Post by: Derron on November 12, 2018, 09:35:15
Quote from: Qube on November 12, 2018, 09:23:51
What was the anim system like in Godot?

Is "Lol" an accepted answer?

I tried to use everything Blender provided. There might be some armature-code in there - but the "godot blender exporter" claimed to be able to handle this stuff already. So I just rigged and animated in Blender and exported this to Godot. In Godot this then means the animation player contains animations which move the bones according to the rotation/movement defined in the animation. Together with weightmaps the bones then move the vertices of the model. Pretty standard I think.
There is - imho - no "transition" helper like the mecanim approach Unity provides.

Godot claims to be "3.x" but I tried a simple 3D scene yesterday (to check if it _could_ get used for a 2D-in-3D adventure thing but... as I presumed already... it borked up here and there).


This is a blender scene (walls upped a bit as I assumed it is a bug because of a "closed" block leading to broken lightmap baking or so):
(https://www.syntaxbomb.com/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FQlyfjQV.png&hash=ec3319343c4a7a8adee0bab5cac7ae1a24ed00f4)

And this is how Godot imports it:
(https://www.syntaxbomb.com/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FyrRlQyn.png&hash=16ee042e254ad43468754e5ac036652f308a461e)

no roof/upper wall (but therefor 2 pairs of boots - one without material), no "lamp shade" next to the wardrobe. And yes - if I export again it updates the assets and sometimes the roof etc are there - sometimes it needs scene closing, original export opening and "instancing" and if that was ok, the newly opened scene contains the updated asset.
I expect I am not the only one put off by this.
Of course it is a mixture of "Godot issue" and "Godot blender exporter issue" but arggghhh.

For an adventure game asset creation is most time consuming (especially if you skip "walking around" player characters or NPCs - so more of a "hidden objects game"). But if one of the first things here is getting annoyed by bugs or odd "global illumination" (shadows at the corners - except on the straight line of the border, this one gets unlid...woah!).
In Unity it seems to look way more "smooth". Never thought that such things can create such big hassles (for _me_).

Edit: just fyi - the "red boots" are named "roof" in the node tree of Godot :)

bye
Ron
Title: Re: [WIP] A nightmare on Christmas Eve ( provisional title ) - game comp Nov 2018
Post by: Qube on November 12, 2018, 10:07:04
QuoteIs "Lol" an accepted answer?
If it fits :P

Hmm, I see you experienced a similar situation to me. Unity lists Cheetah3D as part of it's "Work flow", super lol's, no it isn't. I can not export a JAS ( Cheetah3D file ) with textures into Unity directly. I have to export the model in DAE or FBX format first, so that side is complete bollocks.
Title: Re: [WIP] A nightmare on Christmas Eve ( provisional title ) - game comp Nov 2018
Post by: Derron on November 12, 2018, 10:17:27
That blender exporter claims to be "Godot Engine's native Blender exporter add-on". I am sure that a "dae" export will do too - but I tried to have it as straightforward as possible - doing all the grunt work in Blender and just importing a whole "room" into Godot then. Means all collectable objects would be in the scene already, no laying out objects in Godot or so - just having simple get_node("Boots").visibility = false to hide a collected item from the scene.

Using the 2D approach (eg. BlitzMax or so) would of course look better but need a huge bit of work asset wise (render all needed combinations of collected-or-not items on the background for proper shading/shadows). 3D just updates accordingly and voila...done (at least in my imagination).

Facing such simple issues as above just cries to me: stop, do not continue trying to create this adventure. And just yet I got 2 weeks (or maybe more) to write a scientific thesis thing.


bye
Ron