/agdg/ + /vm/ ~ Amateur Game Development General

Correct thread edition

Post progress.

Resources:
>>>/agdg/
>>>/vm/

IRC: #8/agdg/ on rizon.net

Other urls found in this thread:

web.archive.org/web/20160920195427/http://yanderedev.tumblr.com/post/119788924775/recent-allegations
github.com/devkitPro/3ds_portlibs
p.trumpshare.com/xz2w/xui5.zip
steamcommunity.com/id/ika_
youtube.com/user/endlessreference
easyrpg.org/
drive.google.com/file/d/0B-OGT915nCQPS0ZPRkttTTlkdnM/view?usp=sharing
docs.google.com/forms/d/e/1FAIpQLSdZzZq03Kaj1FMxWuVX_bTX2_ukEA1vYvJbxJaSM1peuwvtoQ/viewform
my.mixtape.moe/ajznxb.zip
gitgud.io/MicroTank/MicroTank/issues
gitgud.io/MicroTank/MicroTank_Enemies/issues
pastebin.com/4EwMEJHt
github.com/trgrote/JPS-Unity
pastebin.com/fhBevefE
pastebin.com/nR2Ru9td
twitter.com/SFWRedditImages

Not the other user but you could have just said "I got your back OP, everyone come here." I am pretty sure he would delete his own thread after that.

I basically said that in a less friendly way.

Duplicate thread:

Is this a Roll feet thread?

You guys should be ashamed for getting so triggered over something as trivial as a shit OP.

Fuck off you cunt.

I think we should holocaust /agdg/, clearly the time of these threads has come to an end.

Because of what? Of a few autist that got lost on their daily shitposting routine?

We should save ourselves before we're ashamed of what we've become

mhm and then go to where? I have 2 other "communication channels" such as shitposter.club and my moddb page and yet I have relative hard time to get general feedback and the likes. It's already bad enough that /agdg/ and the /vm/ board have no activity whatsoever.

Despite my lack of working motivation I don't see the reason either to completely abaddon my project. However my ARWM mod thread at /vm/ was a bit more successful.

i can see it now

Oh boy, and then there would be no point creating /agdg/ threads, one of my few reason to come back at this board in the first place.

wow, looking up images of "small games" didn't give the results I expected

just one light-hearted image for the OP and you guys lose your shit

this thread is all just meta off-topic posting, nobody even posted any progress on here, unlike the first thread, which has VIDEO GAMES on it

Is this the right thread? Anyway, we made a gameplay trailer. Enjoy!

It took a whole gatdamn year of work to get this far, holy fuck.

Have you considered that it is not the image, but the contents of the OP that are fucked in the other thread?

Looks ok.
Her voice annoys me a little

Whats fucked is how people break down over something that isnt very important- the OP doesnt make the thread, just the first post

I've been working on mine with the little free time I have over the past year and I barely have half the features for the character controller implemented. Haha kill me please

Take your pick and hope it isn't the one that gets locked/deleted. Also

Looks nice though. At first her voice sounds kinda annoying, doesn't have a lot of energy to it. But maybe you get used to it.

i've been working on my game for almost a year and i'm still not even close to a demo or even anything playable really

So far I have: an animated 3D character that can run, jump, swim, and grab onto ledges and shimmy along them or pull up. I finally managed to iron out edge shimmying along curved edges last night. Next task is making ladder climbing which should be a hell of a lot easier.

I get that 2D animation and high-res spritesheets are a pain, but Vivian's running animation looks a bit too stiff.

Calm down, guise. Isn't Project SOCJUS a team? Can't expect to make something in this level with one-man teams, heh?

Seriously, aim for smaller projects or getting together with someone, what's the point of wasting your time making something nobody can play

If there's one thing I've learned about gamedev it's that if you're doing it for free you cannot depend on people to keep working on it with you not even yourself

That looks dank also I think her voice is cute

Amen.
Game jams with other people tend to work out though. In my experience anyway.

Just remember, don't suck everyone's cock, don't fucking have so much self pity (looking at you, polish cute girl dev), don't try to make meme games. And most importantly, people like me should shut the fuck up and stop preaching at what others should do, just like make game.

I think that could all just be summed up as "don't be a faggot".

Pretty much.

jesus fuck, he was even worse back then

...

What was wrong with it?

I can't program games but I can assign values.

i have no particular idea what his fighting game was, i'm just basing my info from
but knowing yandev, he probably had a trillion ifs in an update function, and probably made the update function call itself recursively

if string else if string else if string else if string else if string else if string else if string else if string else if string else if string else if string else if string else if string else if string else if string else if string else if string else if string else if string else if string else if string else if string else

Haha wow that's retarded. If I had an experienced dev scrutinize what I did and tell me how I could do it better or give advice to learn better I'd really appreciate it.


Laughed my ass off because it's quite plausible.

no way.

Even if Mike Z was actually wrong, making games just out of spite is NOT a good attitude. You should chase your dream because you like it, and no other reason, period. My game was criticized harshly, a lot of the criticism was actually shit, but there were some very good posts which made me reconsider some mechanics. The solution is not to cry about it and stop working on it.

You either see if that criticism is actually valid, and then you proceed to improve the game. Or you see that the criticism is invalid, at which point you just ignore the bad feedback and keep working on it anyway instead of asking for worshipers.

So I want to make a sort ot D&D application. Basically It would have a tiled grid with character icons you can move around and an editor where you can place tiles wherever you wish.
Now could I make this with say gtk+ or would I need something better?

Pretty much what you said yeah. If you're making a game just for validation from some pro you're an idiot.

Get with the times :^)

...

goat simulator was fun. it even had that dlc that shat on zombie games

The worst thing is that I'm broke and I know I could do some stupid meme game, but I just can't. I can't force myself to produce such shit.

Me too ;_;

Nice spoilers and opinion fagboy. Here's a fact, for a change, you have shit taste in video games.

the problem with meme games is that you can't really figure out the line that separates "good game" from "meme game"
it's hard to differentiate between having to make a game that looks like shit and making shit

but i've never even played it

What am I doing wrong? It should be drawing the object's sprite (the head), and the corresponding body, but the body doesn't change over or animate.

For some reason I remember draw_self() being a shit and just using draw_sprite()/draw_sprite_ext() for everything.

The problem is that when you use draw_sprite you need to input the sprite index, not the sprite name.

Hmm. I was hoping this could just be a simple, automatic thing… Are you sure, though? How is it getting the first body at all, without an error?

I'm a bit rusty with GML, I wish I could tell you. But still, try getting the putting the actual index in the argument using the string from spr. There was a function that got the asset's index from a string but I forgot it's name.

Oh wait, I could use the name to get the index, right? Seems pretty roundabout.

WEW LADS

Now I can get that hat-based economy going.

Well, was that the problem?

Exactly as you said. I just thought it was weird since you can assign a sprite as sprite_index = whatever.

sprite_index is the sprite resource
image_single(?) is the subimage

When you type someting in sprite_index = something it actually puts the index of the sprite, a direct reference to the assets, weird, but it's how it works.

"shit" is not the same as shit. spr_idleF, for example, is an identifier, a piece of code. "spr_idleF" is a string, which is a value, a piece of data.
Behind a resource identifier is a numeric index into a giant array of all the resources (it's probably not actually implemented like this, but you get the idea), while the string which contains its name is just a string.

LOL

i want to find that guy
i want to find him and see his reaction to yandev now

I bet the creator of the comic probably did something like depression quest and then got mad nobody cared about it

I'll never get this "I worked hard so you shouldn't criticize me" mentality.

Work in itself is worthless, it's the outcome of that work that matters.

Because when you sink 1000+ hours of your life into something and it's shit, you get the ultimate stockholm syndrome

Game Maker's GML is weird though.

I imagine it's a mixture of pity and disgust.

That only confirms that you have shit taste in video games, if you consider something you never even played, to be fun.

It's very possible that the guy is MikeZ

Use this:

spr = asset_get_index(sprite_get_name(sprite_index) + "_B";)

Holy shit


web.archive.org/web/20160920195427/http://yanderedev.tumblr.com/post/119788924775/recent-allegations

MikeZ is the mysterious senpai Yandev had a severe case of homolust for

Are there any other comfy armature game dev places. I find myself constantly checking this thread even when I know nobody is going to post

Basic shape is done, unwrapping now, I'll have to paint a nice texture, I think Maya has an utility for that, Cinema 4D proved to be kind of unreliable, do you know any program to paint textures?

Not that I use or know of, outside of engine specific IRC rooms.

Here's a new post for you. Some concept art for a magic user in my game's world. Basically, magic users (ignicians) get progressively 'burnt' the more they interact with magic, resulting in skin degeneration similar to leprosy or a cancer- hence the complete coverage of the body including the face.

It's like drugs

HALP
what's the hotkey in blender to toggle between hard edges and smoothed?

of all the people it could have been, it was a skullgirls dev.

Deep.

Pretty much, I guess. It's not hard to see how magic use could become addicting.


As far as I know there isn't one by default. But you can quickly do it just by hitting Space + Type "Shade" and clicking either one.

Or maybe it's just escapism via video games

Were you in the last thread?

I hit a snag and instead of pushing through it I spent several hours working on an overly complicated magic system that in no way, shape, or form relates to the game. Help.

Either remove it and try again, or change your game to fit around it.

The magic system was something I did to avoid working on the game. It isn't in the game.

Well in that case, then stop slacking off fgt.

You'll never recover from that sort of time loss, might as well give up now.

Working on something else is often more productive in the long run than banging your head against the wall and getting nowhere

Anybody wanna help me with rotations since my brain's crapping out on me?

I have a turret attached to a ship that is clamped by x degrees left and right (in this case, 100 degrees), and it needs to be able to find targets and fire at them if they're in the appropriate firing range. I can do this just fine if the turret is standalone by using code like this:

Angle = RadiansToDeg(Acos(DotProduct(TurretLoc, TargetLoc)

This obviously does not work when it comes to the turret being attached to the ship. What's the math I need to do when it comes to its position relative to the host ships rotation?
If anyone does c++ in UE4 and wants to give my code a read and correct it I can paste the whole thing but there's no point doing it here otherwise since if you don't know the UE4 functions you probably won't know what's going on.

Shit visualisation of scenario included.

Transform the position of the enemy to the host ship's frame of reference, compute the correct angle, set turrets rotation to that. I assume the turret is parented to the ship, so the turrets transform is turretTrans * shipTrans. If not, rework your shit to work like that. If this doesn't make sense to you, learn elementary linear algebra. All you really need is know what a matrix is, what it's inverse is and how to construct a rotation matrix. If there are any exercises, do them. You need to do a few problems to intuitively grasp it, but it's worth it- Trust me.

Actually, you probably wanna use the turrets transform. Transform to turrets trame of reference, compute angle in that, which essentially gives you a delta angle. Have the turret keep track of it's ship-space angle and check if angle+delta falls outside of permitted range.

There is Substance Painter/Designer, which is breddy gud from what I heard.

Thanks, I'll give it a shot when I've got the time. I did matrices years ago and haven't used them since so I've basically forgotten it all. Shouldn't be too hard to pick up I suppose.

> join halfchan agdg server to see what hopoo and the other successdevs do in their spare time

I second . Substance is amazing.

He rarely actually posts in /agdg/. Any chats and groups from halfchan agdg are the worst kind of of /cuteboy/ cocksucker wankfest of nodevs, if the thread itself didn't already fire red flags about that for you.

Half/agdg/ was already bad years ago, with the Steamchat circle jerks being even worse. I can't imagine how terrible it is today.

Fixed the code that was generating convex collider meshes with over 2000 vertices.

Non-AABB box brushes confirmed impossible due to rounding errors. Might have to use a minimum bounding box algorithm to generate angled vis portals.

They all moved to Discord overnight some time ago.

Why won't indie developers add this to their games?

How about you stop being a nodev you annoying little shit.

What is tohoe?

it's illegal to wrongthink in certain states

Worst girls?

We do.

just current add the rotation of the ship

Scratch very possible, that is 100% without a doubt Mike Z. I was in the IRC when this happened but I don't remember shit. Found the demo link for the game in question though. Didn't check whether it still works. It's Unity. evaxephon.com/LunarScythe.rar

I'm not running any code written by Yandev that's supposedly even shittier than his current code, my computer might turn into a rogue AI.

It's a damn shame tbh. 8chn was my first chan so I missed out a ton on the old agdg and I like seeing what other people are doing with the medium.

Monstegrill dungeon crawler is finished as far as dungeon map goes, coming up with good items is the problem now. Artfag made new loli, too

I don't know about the chat, it seemed fine to me. Though I didn't show up very often there.
Last I was there I think most of them don't post in the threads anymore, they know how bad it has become. Some of them are pretty cool folks.

Been a while since I posted actual progress. Most of the stuff I've been doing lately is behind-the-scenes stuff, like writing and planning.

And having to completely redo some of the weapons since they were complete ass.
Here's a new one. It's so WIP that it doesn't have sounds outside of me going "dokkan" and the only graphic is a hasty photoshit, but it functions wonderfully and is surprisingly fun.
Now I guess I should just figure out what the weapon should be/look like.

I fucking love you

Ground stomp throwing enemies away makes a huge difference. HUD is pretty awesome, too.

What do you people think of this animation style?
0/10 hipster pixelshit or actually viable look?

...

How does a scene in general look? Flat colors and black outlines can make it a bit hard to distinguish foreground and background, which would negatively impact gameplay. I do like the rotoscoped look, though.

what did he mean by this?


needs at least a little bit of shading

By what? Your pic related?

Looks to me like he's saying steal everything that isn't nailed down and lit on fire. Anything that works for what you have in mind, do.

No scene yet.
I'm usually doing actually detailed characters and animating them from there. It looks stiff as fuck and takes ages though for not enough payoff. Also I love secondary animation and I feel approaching stuff from that side will give me more chances for that.


OK, I may add one layer of shadow, it would work well with the style. Maybe use it for some extra patterning or something.

...

needs more frames

WIP dude, I just started doing it.

mhm I am going to fix the damn ammo upgrade stuff then the decorate part of it and when I am done with that all crap Git commit follows suit.

For the Incendiary Shells and Light Tank Flamethrower/Laser thingy I will do it tomorrow or so. As they have some few additional variables which is not covered on my spreadsheet. I need to expand it anyway soon somehow since when I am starting adding back the Fuel-Air-Explosive ammo which behaves differently then a typical HE shell. Oh well at least hopefully the Scud Strike should make it up for now.

fuck for some reason editing the text on Slade 3 is quite slow, on LM 17.3 this was not the case, what the fuck.

...

I thought there was a spoiler below, lol

Looks pretty cool

Otpetiye Moshenniki version listening is optional.

Freedoom soldier sprites crack me up

…OK, done for this.
Back to basics I guess. The silhouette seems OK to me, but I cheated the pass-over of the legs like hell, and also there's zero 3D effect/rotation on the shoulders/arms. Next one is gonna be better!

Liking the energy and the hat.

Switch the blue and red background bars and he's running in-front of the Russian flag.

Your stuff looks vaguely familiar. Did you post on halfchan agdg back in the day?

Fuck, that actually was the idea, I just messed up because I'm a tard.

yarp

Took an unfortunate year-long break from art because a project and real life fucked me up good. Getting better though, been back to drawing since a week or so ago.

Oh, I think you're the guy who helped me the other day.

That's some Metal Slug level pixel art right there.

Yeah, that's me.
Great to hear it helped!


Thanks, but let's not exaggerate. I'm focussing on learning better animation and putting actual effort in non-glamor things (i.e. backgrounds). Anatomy is a massive bitch and you still need it even for lolso hipster stick figures.

Holy shit nigger you are good
Like really good.

The funny thing is that I have some old western sprites lying around and my guy looks like a crossover between your gravedigger and fabulous scarf guy.

Fuckin' hell that is incredible, mate.

Hah, I distinctively remember these top down animations from years ago. I was right on the money guessing that was you.
I stole the tophat design from Call of Juarez.

Also, have my spectacular progress into tweeny puppet shit guys

guys

For perspective, I hope to be able to make Dragon's Crown tier puppet animation one day, so yeah.

Bedtime, see you guys.

Sleep snug, chuvak.

Would a collect-a-thon using gondola as the MC, collecting various bobbles throughout various paintings be too cringe?

Nah, make it. And it better be comfy as fuck.

That's the intention.

Reminds me of Rayman and Super Paper Mario.
It's good

Yeah, I was the same guy who drew that gynoid thing.

User variables are interesting. I can randomize the place where the mines latch on to enemies, rather than having them all latch on to one place.

Of course, since this is sprites, they're all hitbox-based rather than art-based, so they'll be latching onto empty areas of the sprite that's still defined as a hitbox.
But, it can't be helped.

Gonna trigger my autism something fierce, though.

Couldn't you have a list of coordinates for possible attach locations?
eg:
# Attach point coordinates# When the sprite is viewed from the front, draw the attached sprite# overtop the ap_front at the coordinates. When viewed from the back,# draw behind. When viewed from the side, draw at the ap_side coordinates# overtop the actor sprite.func get_attach_point(index, direction==0):# the index corresponds to the same '3D location' so the attached sprite# moves with the rotation of the actorvar ap_front = [[0,-16], [0, -8], [0,0], [-8,0], [8,0]]var ap_side = [[6,-16], [6,-8], [8,0], [0,0], [0,0]]if(direction == 0): return ap_front[index]else return ap_side[index]

Then whenever the actor rotates (changes their sprite) update the position of the attached sprite by querying get_attach_point

Rotation isn't really much of an issue, since I have the mine's movement/position based entirely on the enemy's movement/position.
So if they rotate, the mine swings around to match them. Now I just need rotating spites for the mine.

Having pre-defined coordinates to attach, though… That's a really clever idea.
I'd have to make a list for every single individual enemy type and enemy sprite, but that's not terribly difficult. Just tedious.
Once I start replacing enemy sprites and getting original graphics I'll look into that. Thanks, user.

Wrote a renderer for Sigmanon's maps to practice my sick CG skills. Added Quake-style lightmaps and the shadows look like ass. Lights are randomized because I don't have the map editor, would probably look better if I actually put some thought into positioning them.

What OS are most of you guys using?

Linux for Valgrind.

I use Ganoolinux but I'm guessing most people here use win7 If you use win10 you are a faggot cuck

Linux Mint here because my GPU doesn't play nicely with a lot of UEFI operating systems for some retarded reason. Thanks Nvidia and thanks to the lovely NixOS team for not allowing me to edit the kernel launch settings off the liveDVD.
I installed Gentoo successfully but realized too late that march=native and all these processor-specific CFLAGS weren't a good idea for software development so I've begrudgingly moved back to Mint for my development environment.

If nouveau wasn't so shit I'd probably use Alpine Linux to pacify my autism.

:^)

I am using Ubuntu on my laptop. What would you use for a window system? GLFW? I just started using Linux full time this week.


Poo in the loo detected.

I use X11 on my engine, but if I wasn't insane I'd use SDL 2.0.

>tfw Who's your daddy? has made over 1million dollars on revenue and I'm still here stuck learning how to draw properly.

...

Because you are running bash from the windows command line? Harharhar

It's not my system. The joke is that it's an Xfce desktop environment in Windows 10.

Question. How would one even begin to animate a walk cycle for a Gondola

Has anyone discovered the secret for comfyness?

Take a normal person walk cycle and cut it off above the waist.

Comfy Gondola game when?

Something like this. No I didn't make this.

B-But his legs never move…

I got the shits with GameMaker. I only wanted to make simple 2D games but GameMaker just kept being fucking awful. I'd go on about it but I'd rather forget it.

Is Unity2D decent? I'm aware it uses C# instead of a loosely-typed scripting language and, nightmare flashbacks to Java aside, I can deal with that, but will it be worth the effort in the end? Are there any Unity2D tutorials worth checking out, and any Unity2D games I could look at to judge the engine's quality?

I'd suggest not using Ubuntu itself but rather one of the variations like Xubuntu/Lubuntu etc. Ubuntu itself apparently is packed with some spyware shit these days Thanks Canonical jews

Godot's 2D toolset is as good as or better than Unity, with the bonus of > muh freedumbs

I thought Ubuntu removed the spyware? The amazon garbage, right?

Such is the cruel life of gondolakind. :^)
Personally I can't picture them doing anything but that gif or running with their leading leg perpendicular to their back leg. Kinda like shity picture related.

The Amazon scope? Enabled by default in 14.04, disabled by default in 16.04, I think.

What about that 4 image long swag walk?

If you're using a mirrored mesh what likely happened is that there is no left_foot vertex group. But I always paint weights by hand.

Gave it a try but it was so frustrating that I deleted a lot of the frames of the animation yes, I am a massive autist

And yes the knees on the standing one are wonky ass, I could fix them but so could (you)

Also made this qt little idle animation

Like this.

That's terrifying

Gondola is ready to attack you after that comment

Good music, lots of foliage, soft bloom.

Environmental sound effects are also a must. Soft wind, birds tweeting.

I've been playing Thief 2 a ton and I've almost become envious of how well the game is set up. The story, the world and the gameplay mesh so well it's artful.

It also feels like Titans in their rridiculousespective skillsets are at battle

I kind of want to incorporate elements of this into my game, but you'd basically be able to see straight on that I'm just copying Thief.

Nothing wrong with that. If it works, why try to do something else?

Should be respective. Don't know what the fuck happened there

Got the walk cycle down.

...

I personally don't like copying, because I feel if it's done wrong then it does a lot more damage than help. In this case, I basically want to straight up rip off the alliance between Garret and Victoria, where she basically uses Garret to do things she can't and could absolutely destroy him in 2 seconds if she wanted to.

W-why are you looking at me like that

Would pay $2000 for

Like in Shrek?

devving for 3ds ama

It's a different relationship. Thief 2 spoiler in pic related.

If I were going to use a library like libtorrent in a 3ds application would I use static linking or dynamic linking? Is dynamic linking even a thing in 3ds dev?

I haven't seen a way to do that, but I haven't been looking. This collection of popular libs ported to 3DS makes it seem like you should prefer static linking. I doubt that libtorrent is big enough anyway.

github.com/devkitPro/3ds_portlibs

Well, what happened?

How simple are we talking? I'm head over heels for löve for 2D games.

So what kind of non-Nippon devs work on 3DS? Aren't everyone working on iOS now?

Or are you one of the western devs of Nintendo games since Nintendo can't make their own games on their own anymore?

wow, that looks really great. I wanted to add real light-maps to the engine but I thought it would make the game take another month or something (i'm a beginner at graphics programming)

if you want, i'll give you the map editor, you can get it here: p.trumpshare.com/xz2w/xui5.zip

you should message me on steam if you want me to tell you about how it works, because its not very intuitive how things work.
It's also missing a lot of features and is very unstable, so you have to save your maps a lot.

this is my steam URL: steamcommunity.com/id/ika_

Is this renderer using the BSP tree to generate the lightmaps?

that was a bad question, i mean, is it using the BSP tree for the rendering and sight-testing you would need to do to generate the lightmaps?
It looks like it is, so there probably wasnt much of a point in asking.

You're a faggot faggot.

There isn't a purpose in letting people see information about you

Go away NSA nigger

Finished up on a rough walk cycle. I might end up making it far more cartoon-ish and exagerated later, as they look kinda stiff for what I imagine they would walk like. Small note, that pause you see at the end is a result of the webm conversion. The raw mp4 nor original animation, have that little stutter.

Also, what the actual fuck is up with the camera in blender.

Which one do you prefer?

Min(Max(0, variable), 100)

vs

Min(Max(variable, 0), 100)

vs

Max(0, Min(100, variable))

vs

Max(0, Min(variable, 100))

literally doesn't matter even a little bit

That's why I asked which you prefer, not what's best.

x < min ? min : x > max ? max : x

Step up your /ani/ game, look up "animation reference" on yt and/or see this youtube.com/user/endlessreference

Always go from lesser to higher. That means the function that provides the lesser value should come before one that provides a higher value.

Min(Max(0, variable), 100) reads the best for me.

Also, OTBS best style.

Isn't that just saturate (assume you're doing shaders)?

float saturate (float x)
{ return max(0, min(100, x)); }

saturate(variable)

That's the way nvidia does it at least, for their cg shaders, but is from 0-1 instead.

Those references are fine and dandy for a human, but this is not a human. It doesn't really move in the same fashion.

I'd define the center of mass, as can be seen in those references is about at mid stomach level, and then have the body move in accordance with that.
F.e. with the elderly, and younger children their center of mass is higher.
I'd look at those for a reference, and then model it's walking based on that.
I'd imagine gondola would walk in a similar fashion as a two legged horse, as in, long protruding steps that move its entire body up and down in a type of accordion fashion; while having that influence from the higher center of mass sorta like a child (i.e. moving faster, not slower, towards that higher center of mass; as walking really is just controlled falling).

Well it sure as hell wouldn't move the way you made it.

Looking a bit robotic user. You'd benefit from some sway, resembling hip sway you find in people (red). The static top abruptly turning into the legs gives weird triple jointed look too. Since it's top heavy, it'd look more natural to have some back and forth on the "head" too, as it gets pulled into the stride (blue).

So i'm just copying my post from /agdg/ since apparently that board is ded.

I haven't posted progress for my project on this site in a long time. Hiatus and refactoring etc drove this. So consider this the first time posting this stuff.

Anyways, based on these images, would you be interested in playstesting this Classicvania-like game and filling out a little questionnaire? My spritework and animation is pretty amateur, but I feel like i've gotten MUCH better since last I posted here

Why are you posting those screenshot? Is it yours? I thought it was supposed to be hidden.

Huh? lol I'm not too sure what you mean? Its a solo project, and I haven't posted it on this site in at least a half year i think. Nothings supposed to be hidden.

I've never played Castlevania but sure, I'd give it a go.

Sure thing. Where can I download it & does it run on ganoo/lonix?

Just gauging interest here. But im pretty much ready to shoot a build of the basic first level. Right now I only have it running on Windows since that's what I'm working off of. Sometime today I'll do it.

Sure, I'd be interested.

Occult means hidden in latin m80

I'll just explain how it works here, might be of use to someone else. The fact that your maps only contain quads simplifies lightmap generation quite a bit, but this can be extended to any other arbitrary polygon.

To generate a lightmap for a polygon, you have to first figure out the texture space axes (U and V vectors) for it. The way you choose them does not matter as long as it is consistent across all polygons. I chose AB as the U axis and AD as the V axis. In code, this would be something like
// assuming the 0th vertex is A, 1st is B, etc.vec3 vu = normalize(node.verts[1] - node.verts[0]);vec3 vv = normalize(node.verts[3] - node.verts[0]);
You must also choose the size of the lightmap and of the lightmap's texels (or lumels/luxels). You can make all lightmaps have a constant size and just divide AB's length by the lightmap's width to get the texel's width, same for the height, but that means the texels will be of variable size, the larger the surface, the larger the texel, and that means fucking blocky-ass shadows.
I chose to have a constant (in most cases) texel size instead, which means that you have to calculate the lightmap's size instead, by dividing AB/AD by the texel size. This leads to uniformly looking lightmaps across all surfaces. For reasons I'll explain below, an individual lightmap in my renderer may not exceed 128x128 in size, and for surfaces that don't fit in 128x128 with the specified texel size, I just use the "constant lightmap size" approach, so the code is something like this:
vec3 u_len = length(node.verts[1] - node.verts[0]);vec3 v_len = length(node.verts[3] - node.verts[0]);int lm_w = max(1, u_len / LM_TEXEL_SIZE);int lm_h = max(1, v_len / LM_TEXEL_SIZE);float t_w = LM_TEXEL_SIZE;float t_h = LM_TEXEL_SIZE;if (lm_w > LM_MAX_SIZE) { t_w = u_len / LM_MAX_SIZE; lm_w = LM_MAX_SIZE;}if (lm_h > LM_MAX_SIZE) { t_h = v_len / LM_MAX_SIZE; lm_h = LM_MAX_SIZE;}
Now imagine a grid of lm_w x lm_h cells, each cell t_w x t_h world units in size, overlaid on your quad. You must determine the lighting at the center of each cell, and that would be the corresponding lightmap texel's color. To get the world space coordinates of a texel, you gotta use the U and V vectors we calculated earlier:
vec3 wp = node.verts[0] + vu * (x * t_w + 0.5) + vv * (y * t_h + 0.5);
Now using the coordinates you got and the quad's normal, calculate the light color at that point using any method you wish; I used simple diffuse Lambertian lighting because I'm a lazy faggot:
vec3 total_light = vec3(0.05, 0.05, 0.05); // ambient lightfor each light { vec3 ld = normalize(light.pos - wp); float d = dot(node.normal, ld); if (d < 0.0) continue; // the light is on the back side of quad if (!lineOfSight(wp, light.pos)) continue; // there's no LOS from texel to light float lk = max(d, 0.0); total_light += lk * light.color / length(light.pos - wp); // linear attenuation: brightness dies off linearly with distance}

Oh I see, you were memeing me. My senses arent that attuned.

Now it's time to render this bitch. I'm using immediate mode OpenGL like you apparently do in your engine. Since OpenGL 1.3 (I think) the standard includes multitexture support via glMultiTexCoord and glActiveTexture. Let's say that GL_TEXTURE0 is the quad texture itself, while GL_TEXTURE1 is the lightmap. First, you'll have to prepare GL for this shit somewhere in your init function like this:
glEnable(GL_TEXTURE0);glEnable(GL_TEXTURE1);glActiveTexture(GL_TEXTURE0); // current texture unit = unit 0glEnable(GL_TEXTURE_2D); // enable 2d textures for the current unitglActiveTexture(GL_TEXTURE1); // unit 1glEnable(GL_TEXTURE_2D);glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); // see belowglActiveTexture(GL_TEXTURE0); // reset to unit 0 just in case
glTexEnv tells OpenGL how to render the currently active texture. GL combines the textures in order from 0 to n, and GL_TEXTURE_ENV is a setting that defines how GL combines the current texture with the previous one, or rather with what's already in the framebuffer. GL_MODULATE means that it's going to multiply the colors of corresponding pixels together (something like pixel[y][x] = tex0[y][x]; pixel[y][x] *= tex1[y][x]), which is what we want.
The simplest way to render your quads would look like this:
render_node(node *n) { float lu, lv; glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, n->texture); glActiveTexture(GL_TEXTURE1); glBindTexture(GL_TEXTURE_2D, n->lightmap); glBegin(GL_QUADS); glNormal3f(n->normal.x, n->normal.y, n->normal.z); glMultiTexCoord2f(GL_TEXTURE0, n->u[0], n->v[0]); // texcoords for regular texture glMultiTexCoord2f(GL_TEXTURE1, 0.0, 0.0); // texcoords for your lightmap glVertex3f(n->verts[0].x, n->verts[0].y, n->verts[0].z); // repeat for the other 3 vertices // remember that since the 0th vertex is the lightmap's origin, lightmap texcoords would be // (0, 0), (1, 0), (1, 1), (0, 1) glEnd(GL_QUADS);}
But binding textures is fucking slow. There are several solutions to this.
For regular textures, you could group visible polygons by texture ID, filling an array like "node *visible_nodes[MAX_TEXTURES][MAX_VISIBLE_NODES]" and loop over it, changing texture 0 only in the outer loop.
Lightmaps are fucking small and there's as many of them as surfaces in your BSP, so this approach won't work. Probably the most used way to deal with that is to build an atlas (or several) out of all the lightmaps by fitting lots of them into a single large texture. If your lightmaps are of variable size, optimally using the atlas's space can be a problem, for which several solutions exist. I stole the atlas packing algorithm from Quake 2, and it produces shit like pic related (the black regions are also light maps, I just didn't give enough shit to filter out completely black ones).
Most maps will have 1-3 lightmap atlases, so you can also group nodes by those or use something like "if (current_atlas != node->atlas) set_atlas(node->atlas)".
Since your lightmap is now a part of a larger texture, your texcoord computations will look different, and also you'll have to deal with a lot of shit like color bleeding in from neighboring lightmaps if you use GL's built in bilinear filtering.

All the code that I posted is simplified and in no way optimal. It takes my actual shitcode about 3 seconds to render all the lightmaps for 54-something lights in facility.s3bsp with 1:1 luxel-to-world-unit size, but it could be a lot faster.
Hope this was helpful to someone.

Whoops.

So you're saying it was changing two fast?

Too slow rather than too fast. So if the velocity would be 100/sec rather than getting 1.66/frame (100*(1/60)) it was getting 0.027/frame (100*(1/60)*(1/60)).

this is helpful, i wondered how you could blend a lightmap over your texture in openGL, i only knew how to blend with colors on the vertices.

I read about the quake light-map technique in Michael Abrash's graphics programming black book (i hope i got the name right) but never actually implemented it along with a lot of other features I cut so that i could develop the engine faster. (it took about 10 months for me to finish the game engine, probably would take me a lot longer if i added slopes and lightmaps and a PVS)

my game is almost done, but i can try implementing this. thanks for the motivation!

you should message me on steam, so we can talk about programming after the thread.

I can't

...

I can't even attempt that

They aren't too difficult to implement, but you're gonna be fixing a fuckton of small problems, like precision errors and light bleeding through seams and shit. But since lightmap generation can be done as a separate offline step, your compiler can have all the time it needs to scan for and fix shit like that.
If you have any questions, better just ask here. I lurk these threads sometimes, so chances are I'll answer.

Fucking do it, user. "I can't" is quitter talk.

If I haven't made a playable demo in the 8 years I've been hobbying, then why would that change now?

Because for the past 8 years you've been thinking like you do right now, instead of working on a game.

Well, it's not gonna change if you don't try.
Start small and chip away at it slowly, make it a routine. If you procrastinate a lot, try to become aware of it. That's the first step.

Remaking the same shitty modules in XNA every time isn't very fun, no

Gee, maybe because you shouldn't be doing that. Maybe you should get the hint that making shit from scratch isn't for you, and just use an engine already.

Then why are you here? If you don't have the passion for it, why are you forcing it upon yourself?

Attempted softening the shadows a little bit using light jitter. Still looks kind of shitty, but better still.

Does anyone feel like this sometimes? I already have a shitty motivational drive, and seeing low effort, reddit infected, posts isn't helping.

...

Thing is, ideas are dime a dozen. Good ideas are always good, but in the end they're really just ideas, and ideas are only as good as the result that they became.
If your motivational drive is affected by what other people think, you need to discard that. Make games that you want to play and think would be fun, not games that you think Holla Forums would like.

Make that push and do it, dude. Do it for yourself. Do it for your waifu, if you have a waifu. If you don't, make your game idea your waifu.

Thanks for the words user. That actually changed my outlook a bit.

Just send the link

Windows 7. Would for sure develop on my Linux hard drive, but RPG Maker 2003 doesn't run on Linux ;-;

I tried to incorporate some of the suggestions. Still looks a bit stiff though admittedly.

I tried to fix some of the issue you guys pointed out, but it still looks a little stiff.

Sage for re-uploading an updated webm so that the lighting wasn't quite such shit.

How would you count a certain number of objects touching? In this particular case, 10 or more of these orbs of the same color touching will destroy them.

Any sort of flood-fill algorithm should work fine.

(dubs of motivation)
You could check out easyrpg.org/
It even has 3DS and PSVita Ports.
I'd like to play an RPG Maker game made by an user while being comfy as fuck with my vita.

Create two lists. One list is the spaces that need to be checked. One list is the spaces that have already been checked.

Pick a start point. Add it to the list of spaces to be checked.

Run the following while loop:

While Spacestocheck.count > 0

When the loop finishes, check how many orbs it found. If it's greater than 10, do whatever… In your case, destroy the orbs, so you'll need to save which spaces had orbs into a variable as well.

I do something similar when handling unit morale in my game, except I'm looking for characters (orbs) that AREN'T on the same side (same color)

Post what you're working on

RIGHT NOW

animating this guy

Setting up a way to initialize inventory items, status effects, and abilities known for non-player units.

(noice)
/loomis/'n so I can make concept are for my game.

(checked)
Homework

ugh texturing

This is me


Alrighty then. If you wanted to test my game out in its primitive and current form, here you go. The link below also leads to a survey that I'd love you for if you filled out.
GAME:
drive.google.com/file/d/0B-OGT915nCQPS0ZPRkttTTlkdnM/view?usp=sharing
SURVEY
docs.google.com/forms/d/e/1FAIpQLSdZzZq03Kaj1FMxWuVX_bTX2_ukEA1vYvJbxJaSM1peuwvtoQ/viewform

Pls no bully :^). I've not released any builds before.

Controls are in the readme, but if you don't wanna read it, they're really simple. ASD for movement and crouching. Space to jump. Left click to swing and right click to throw special items. Hit the lamps to get ammo and find stuff.

...

Doesn't work in WINE

Ah no way? There's nothing too weird special about it. Are you on a Linux system? Wish I was able to port it somehow.

I'll be switching over to my windows partition anyways to test it, just finishing up some of my ledge-shimmying edge-case script.

I beat the boss, but the level didn't end. Not sure if this is a bug. I never found any magic, making the fucker in pic one a rancid dickhole to get past. Also, in pic two, I had died on the next screen and respawned on that screen only to find an invisible wall here. I was able to jump over it and continue.

The level doesn't end yeah. I didn't get around to finishing that part today. You can just hit ESC and hit quit to get back to the menu anytime though. I think I put that in the readme. I hope.

Thanks for the feedback man, I really appreciate it. That weird "block" there has been giving me issues. It's some kind of messed up collision issue with those bridges.

There is only one magic item in the stage at the very beginning, it's in one of the lamps. It's just that simple missile attack.

I've noticed the zombie guys have been annoying others too. I'm probably gonna have them spawn to the left and right of the player instead of at set points.

- Intro text crawl is painfully slow
- The little text box that appears at the start of the level fades too quickly before you can read it
- walking animation needs work. Doesn't look like a real walk- it just bounces back and forth rather than going in an actual cycle. Also what bff1a1 said about uphill/downhill animations
- a special aerial attack (vertical chop down) would be a nice way to fix the bats being annoying as shit
- using a joystick allows you to move slower than with a keyboard, giving you much greater control of jumps
- gamepad does not work in the "Continue" screen
- the player can turn around mid jump, but this does not affect horizontal speed

Pretty good to be honest. Overall I'm impressed.

Uhhhhhhhhhhhhhhhhhhhhhhhhhhhh I'm trying to map.

Again, thanks for feedback.
By vertical chop do you mean straight down? Because I DO in fact have a swing that goes down at an angle in the air. If you press down and then attack in the air, like in Symphony of the Night. Hadn't thought of a straight down hit though.

Also thanks for telling me about the movement speed and joystick issue. I must have overlooked something and I'd have never figured that out. I definitely intend for there to be one speed and jump arc. Again, thanks for playing my dude.

welp.

Sorry, I know they're awful, but I don't know of any other really good survey makers. Never done anything like this before. I can upload it to something else if you'd just like to play though.

Basically what I was thinking would be a vertical chop creating a larger square hitbox for dealing with small midair enemies. The normal attack creates a small rectangular hitbox it seems which is very difficult to hit the bats with.

Yeah I'd try it and give feedback here, but I refuse to unblock google for any purpose.

I re-upped it for him
my.mixtape.moe/ajznxb.zip

Got all this shit done before falling asleep: Fixed client side interpolation. Reduced bandwidth usage to/from server. Changed bone logic: you now spend bones on increasing a stat, when you die you drop half your spent bones plus all unspent as objects. Added UI support for showing when can increase stats and little progress bar. Changed levelling curve, spawned object values and added new objects which are rarer. Names as shown in-game. Your position is now highlighted on the map. Almost done adding skeleton support for Necromancers and base/skeleton sprite sheet. Added Sneak ability to Thieves: can right-click to become invisible until they get hit or attack (other clients don't get updates for sneaking players). Added in-combat timer to dictate when players start to regen and when Thieves can use sneak ability.

i've been busy with homework and tests all week, and i'll be busy with the same the next week
but i do plan on eventually getting around to implementing JPS to my rts pathfinding

looks cool, you need to make it not look so much like Blundertale though.

I'm doing it for Halloween and had to keep it pretty simple looking to get done in time, so I'm ripping off Downwell's direction. Hopefully getting player sprites and juice in will help.

(checked)
I need to add a few issues for muh micro tonk mod for the V1U release which should hopefully not take too long. And of course fixing them somehow.
gitgud.io/MicroTank/MicroTank/issues
gitgud.io/MicroTank/MicroTank_Enemies/issues

Trying to make boss battle difficult without it being too cheesy.

Listing possible mechanics of my top down adventure game.

Thanks man. I fell asleep lol.

Also, thanks for the feedback, people who have been playing and answering. This is great stuff.

Thanks breh


Going to spam the thread a bit, had too much to say.

Firstly I'm not sure why you opted out for mouse control seeing that you're just using it as 2 buttons. Unless you're going to have something in the game that actually uses the mouse (other than the UI), go full keyboard controls.

Intro is waaay too slow, make it speed up when a button is held. It could also see something happening other than text scrolling. Maybe background image changes more than once, or add rain/thunder that animates constantly.

I have no idea what the first popup dialog said because the text was hard to read (red on gray background = bad idea) and it disappeared too fast. Make it stay until player walks away or clicks a button.

Swinging grass looks like there's an enemy hiding in it, I assume it's wind so you should tweak the animation to make it more smooth and flowy, instead of twitching like it does.

The lack of upwards attack, short length of downwards attack, constant jump height, un-adjustable jump directory, and their very broad and speedy movement pattern all combine to make bats VERY annoying. It's hard enough to hit the skeleton in the tree because of how you need to space and time your jump, but I think that's fine because you have time to plan before you jump. I could somehow master the levels to a degree after playing, but the bats feel practically impossible to take down consistently. I even had 2 bats spawn on the long bridge next to each other, making them practically impossible to kill without taking a hit.

Speaking of the tree skeleton, I think you should do more of that: forcing the player to get used to the spacing and timing of jumps. Don't start throwing bats on collapsing bridges before you've properly eased the player into jumping like that. In fact I might even argue that bats don't belong to the first section at all. Not only does it make it more fair to let the player get used to controls with simple skeletons, but also gives more variety to the sections.

The torches seem too common, you're constantly smashing them in very consistent intervals. I'd personally rebalance them somehow, so they give more magic and/or are more clumped in specific locations. Put a few of them near each other and then have a longer space between the next, that kinda thing. Also, I don't know if you did this intentionally, but the fact that a skeleton is standing next to a torch right at the beginning is excellent level design, because the player will attack the skeleton and likely also break the torch, thus finding out that torches can be broken without having to be told so. You could improve it by compressing his wander radius so that he'll always be on top of the torch.

Lack of healing is a bit annoying, especially when you get an item at low health. I'd maybe make the blue flames heal 1 bar or something.

The graphics aren't bad, they could be improved but I commend how the backgrounds are all muted and dark-ish, making the relevant objects/people stand out. I think you might be using too many different hues, for example the bridge is red-brown, while the logs below it are yellow-brown, and breaking wood is orange. Bats are very purple, there seems to be 3 different colors of stone… it might give the game more character if you tried to bring the colors together more, especially the weird purple-looking stone and multiple wood colors. The forest seems to use green and orange-ish colors a lot, so making eveyrhing work around that might be a good idea. The enemies seem to have more purple leaning colors in comparison, which isn't necessarily a bad thing because they'll be easily distinguishable. The chisel sharp slope in the very beginning doesn't look very good, you should make it look more rocky or uneven. The orange bush sprite is pretty good looking, it has a good value distribution by being lit from a certain angle and dark on the opposite. It's also very low on the ground so the high brightness/saturation isn't distracting.

The big eyes in the bush are too distracting IMO. You should either change it to a bunch of small eyes in many bushes, or make the eyes disappear when you get close. Currently they really make me wonder if I'm supposed to do something there, and I spent a while wondering if the monster would come out.

(2/2)
The boss didn't seem very interesting. He doesn't telegraph what he's about to do very well, and the fight in itself isn't too exciting either. He doesn't seem to react to what I did nor have different stages or invulnerability times and he almost seems like an idling NPC at times, so I could just spam my magic from afar and he was dead before getting in his second attack. The fact that he's on a horse makes you think that he can easily catch up to you and run you over, so the idea of running away from him when he does it doesn't suit this boss I think.

You could make him do something that necessitates either using the platforms or leaving them behind, for example by only making him vulnerable at the center of the screen, or giving him a phase where the center is the only safe location, or making him set the ground in flames with the pumpkin attack. You could also make him shoot something at you so rapidly that you can't jump over them and have to use your sword to destroy them. Allowing you to walk on each level of the altar might also pave way for more interesting dynamics. On the other hand, you can't use all imaginable mechanics or else the rest of the bosses are going to be difficult to differentiate.

He ran off at the end at high speed which at first looked like his charging attack glitched out, but on second try I could see that he dissolved.

The death is a little meh, you could try to turn the screen grayscale or something to make it more impactful. The spawning could use some juice too (for example playing some respawn animation) instead of just starting directly.

I think the enemy death would be more satisfying with more juice too, for example by spitting out fire particles or leaving behind a smoldering pile or something.

Other problems I ran into:

I got stuck while walking on the bridge a few times. Basically it's as if some of the logs were 1px too high and I had to jump over them, but walking back and forth didn't consistently reproduce the problem so I dunno what that was all about. On a worse case (in pic related) I got stuck on the corner of a rock while the log was falling, and was unable to cross. I wasn't able to jump forward (it just made me jump straight up) so I just ended up falling.

There was some artifacts above the player sprite at one point, but I'm not sure if it's Unity's fault. Played on 1920x1080 windowed. Also something I can't reproduce consistently, so whatever.

If you hit a platform with your feet area while jumping, it blocks your movement even though it really shouldn't.

I had the item sprite render behind one of the background mountains once, but I jumped at it and grabbed it before I could take a screenshot.

remembering to upload pic is for fags

Dang dude. This is great feedback, thanks a ton. I appreciate the write up, I actually copied the whole thing and saved it lol. Seems like you've got a good eye for game design too, I'm surprised that you picked up on some of those things. There's definitely lots of tweaking for this first stage that I've gotta do.

As for the boss, the way I have him working right now is he enters different states in which he does different things based on his X distance from the player. When you're far away i just have him either walking or idling, but maybe I should have him just walk or something. I too noticed that he's easy to cheese with the projectile if you save your ammo and don't die. But I actually kinda like this reward for saving your resources to the end and staying alive. I'll have to tweak him, i really like that multi projectile idea, could be a good way to give him a new attack at low health or something.

Thanks again man, this is great stuff.

the boss guy just ran off the screen after fighting for a while so i couldnt kill him. I dont know if there is anything after level 1 because of this.

That's just him dying. You can see his life bar underneath yours on the UI. Once its gone he just runs off at the moment.

Or do you mean he ran off sometime before that? I suppose it's possible, but I thought I had accounted for that. There's nothing after him anyways.

i didnt notice the health bar. he ran off one time and came back, the second time he didnt come back.

Allow the player to rebind keys as early as possible with key aliases, or make the control scheme viable for keyboards other than qwerty ones.
The most common keyboard layout that isn't qwerty is the french azerty one, along with it's belgian variation.
The main problem with this, is that instead of using the wasd keys in order to move in most games, frogs have to use their zqsd keys instead. A lot of american devs tend to forget that, and most normalfrogs don't even know how to switch between layouts and thus abandon any game using the wasd keys and don't let them edit keybindings.
Z up S down Q left D right

Unity is garbage when it comes to low-res/pixelart games (auto-filtering, weird interpolation). It's a real hassle if you want pixel-perfect rendering that doesn't fuck around and if you want to avoid mixels (working with alternate viewports, etc.). If at some point you get tired of it and consider switching to another engine, godot will soon allow C# scripting, making a port from unity much a much less tedious thing to do.

Your attack animations (especially the player ones) should pack much more punch. More anticipation and deformation with less progressive timing would give more weight to them.

Make the magic pickup coming out of candles and torches pop out more. At first I thought these blue flames were a background element.

Add some moving dirt animation to telegraph the spawning of a ground zombie.

Don't make the player character fade out with alpha modifications when dying. Give him a death animation and some effects (make the background a flickering flat color? blood particles?). The more spectacular the better (remember that feeling you get when you die in SotN and the Metroid series?). Also if you want to be more faithful to that retro look, use alpha as rarely as you can. Back then alpha values weren't used in games, which is why the only transparency you would see had been achieved via flickering or pixel-processing (example with secret of mana's pink fog).

I don't know if it is coming from the walking animation startup being too slow or you actually putting a very slight acceleration to the player movement, but going from a standing to a walking state feels laggy imo.

Also f29e71 is right on every point.

Otherwise you're on your way to make a really decent game, keep up the good work. Don't hesitate to redo stuff you're not satisfied with as you hone your skills. To give you an example, the momodora dev had to remake his 1st area background 5 times before reaching it's final result in his last game.

any user's working with Godot have notes or tips n tricks to share?

Thanks for the help man. Yeah I'm not amazingly fond of Unity but it's the beast I know best right now. The controls right now are kinda just "hack"ish. I haven't put much thought on which buttons to choose so i just choose mouse buttons and wasd space style controls. Haven't even tried a pad yet. I hadn't even thought of international keyboards.

Godot has been something I've been looking at but yeah, it's all in C# right now so I'm just staying put for a while.

I've been working with Godot for a while now. Getting started you'll want to read/watch the Games From Scratch tutorials as they do a great job of acclimating you to the tree structure Godot uses. In many ways Godot is reminiscent of Unity, but makes a lot more sense imho. The most non-obvious thing I encountered was to properly export 3D animation that uses an FK rig bound by an IK rig, you must put a single keyframe from the FK rig into each animation strip. I just put a 0,0,0 location key on the FK root bone for each animation.

Fugg

just make bools/ints, and store their reference, then check said reference when you need to see the progress
i already did this in unity
i've got scriptable objects that work similar to a float/string/bool, and i just use their references as variables in my dialogue editor
i can just give you my editor system if you want, although you've got a lot of editting to do to get it to work with your shit, since it's got some stuff that's supposed to work for my built in classes, like a similar AI behavior editor

actually, i should note, that i'm saving the stuff that needs to be checked as assets
if you want to do this with just code, you're gonna have to create all your important variables when you start the game

can you upload your "fuck you leatherman" webum pls? it was fuggen ebin :—DDD

this?

Yeah that one, didn't you had a few other versions of it through?

this is the first one after i scrapped the second hitler version of the game, there's another one after that with the same dialogue but mildly improved dialogue system, and then there's the video i linked earlier
otherwise, it's all stuff with hitler in it, and one with carlton banks

fuck, forgot to remove embed

noice

...

The fucking ed edd and eddy sound effect gets me everytime

For a second I thought that was Todd surrounded by ratings for skyrim HD or something, and you have to take him down.

pssh kid did you get Fallout 4 its really great

well there's TIGSource (some occasional landmines here and there, just a minor caution) and SaltW/Salt World (RIP GamingW) and Glorious Trainwrecks (though this ones more about/for thick-and-fast Klik n' Play / Clickteam Fusion wankery)

iffy question for the others around here: Should I just join one of the regional IDGA chapters "nearby"?


You missed out on some pretty funny shit man. Some of the better drama to laugh at was generally devblog-tumblr posters getting butthurt for some obscure reason.

At least everyone can still look up reviews of Catmouth Island, though I can't seem to find that longer review series by a very confused older guy anymore.

Poor Catmouth Dev, he was put in a shitty position. Still he didn't seem to want to listen to us.

I never honestly seemed like anyone ever shows any progress on halfchan /agdg/… Was it different back in the day? It looks like a goddamn opposite of this place.

someone help me out with this
i'm trying to replace my regular A* with JPS
i found some unity integration of it on github, but the thing was a mess with obvious memory leaks all over the place, because someone thinks he should make a new object every time he wants to move a node 1 unit away, rather than just using the already existing nodes
i initially tried directly changing the original code, but it was just too messy and the best i could do was get a half correct path, and after it, no other path gets generated
so i tried to write the code based on what i had as a reference, but now when i try to find a path, unity straight up freezes
wat do
i don't need someone to write my code for me, but unlike A*, i still have no idea how JPS works, so a detailed explanation on the algorithm would work fine too
pastebin.com/4EwMEJHt

From my perception halfchan /agdg/ has always been more or less the same. There's times when devs post more than usual, and there's times when it's nothing but a shitheap of circlejerking nodevs.

I might remember wrong, but the thread also used to be way faster back in the day. A lot more games were being posted, but the threads ran into bumplimit sometimes twice a day.

The amount of shitposting is always massively disproportional to the amount of progress though. There's occasionally some turbo autists who shit up the whole thread from beginning to end non-stop, and there's not really anything you can do about it because lack of IDs and mods.

new bread soon? or do we use the thread with the shit OP

JPS implementation specifics depend on if you want corner cutting or not. Most people don't want that for video games, so I'll just assume that case.
Either way, you implement JPS in your identifySuccessors function. You need to know what direction you just went to get to this node, add the next node in that direction to a JPSNeighbours array, and then:
For horizontal movement: check if the tiles diagonally behind you are walls, and if they are you add the other two tiles in that direction to JPSNeighbors as well. Then you just check JPSNeighbors instead of tNeighbors in that for loop.
For diagonal movement: add the 3 tiles in the direction you're going to JPSNeighbors and check those. Since you can't cut corners there's no special cases here.

This means the for loop only runs either one (horizontal movement without walls), three (diagonal movement, or horizontal with one wall), or worst case 7 (horizontal movement with two walls) tiles. With lots of open spaces, that cuts down on a lot of iterations in that loop. It won't do as much for corridors, but those should early out with your wall check that's "if (tJumpNode != null)" right? anyway.
I'm going off of memory here, so if I'm forgetting something here I apologize. Can someone else confirm?

when you say horizontal, you mean horizontal+vertical, right?
i'm kind of confused on some of what you mean, can you describe it in an image?
which tiles for horizontal/vertical and which ones for diagonal?

All 4 cases shown in one quick shitty image. The 3rd one is the same situation as your image

alright, so aside from the different neighbor check, the rest of the pathfinding is still the same as regular A* right?
once i find the neighbors, the next node to check from will be the one closest to the goal

it's just that this is confusing, since other demos i've seen, explain it differently
for example this github.com/trgrote/JPS-Unity
the way you explain it, i'm still checking every node on the path, right? the way i see it here, i'm only checking the nodes where there's a necessary turn

That looks like a JPS+ implementation, which doesn't work with dynamic maps.
The JPS implementation I described only attempts to cull the amount of neighbors you check the distance for. A further optimization for that is to not check the distance for the next tiles except when you hit a wall, find a forced neighbor (case 2 and 3 in my image), or the horizontal/vertical option is closer than the diagonal when moving diagonally. That would make it a bit more like that image you posted, but just what I posted would already result in a speedup and wouldn't require ou to change any of your existing code, just add a few more lines.

alright i think i got it
so, i use the direction to see which neighbors i should check
but like A*, i still use distance to see from which one of those neighbors to continue the search
would this be an accurate representation?
green is start, red is goal, blue+beige is neighbors+path
so in pic related, i'm speeding the process up twice?

actually i probably got the path near the wall wrong, i forgot it checks which path is shorter
but the idea is the same

Looks right to me, aside from that wallhugging but you already mentioned that. Also technically it should be more than twice as fast, as in the A* path you're not just checking a few more blue tiles, but each of those tiles is checked more often as well. You probably even check the tile you just came from, which obviously would never give you a shorter path.

yeah, i just checked that on a site
if i include all the nodes of the path in JPS, it's still 28 total, here it's less because i guess they're using the other JPS you mentioned
but A* is a lot more, since i forgot it checks multiple paths at once. what i was imagining was closer to best-first

I want to fuck that pathfinding.

alright, so is this off to a correct start?
i check if it's horizontal, then get the forward, left and right nodes
i return the forward node no matter what
if the left or right nodes are walls, i return forward+left/right
public static IEnumerable Neighbors(NodeElement id, NodeElement goal) { Direction curDir = new Direction(id.cameFrom.x - id.x, id.cameFrom.y - id.y); if (Mathf.Abs(curDir.x) == 1 && curDir.y == 0) { //horizontal NodeElement middleForward = GetNodeAt(id.x + curDir.x, id.y + curDir.y); NodeElement right = GetNodeAt(id.x, id.y + curDir.y + 1); NodeElement left = GetNodeAt(id.x, id.y + curDir.y - 1); if (middleForward!= null) { if(middleForward.Passable()) { yield return middleForward; } } if(!right.Passable()) { NodeElement rightForward = GetNodeAt(id.x + curDir.x, id.y + curDir.y + 1); if (rightForward != null) { if (rightForward.Passable()) { yield return rightForward; } } } if (!left.Passable()) { NodeElement leftForward = GetNodeAt(id.x + curDir.x, id.y + curDir.y - 1); if (leftForward != null) { if (leftForward.Passable()) { yield return leftForward; } } } }

alright, i thought this was correct, but for some reason it's searching through the whole map
public static IEnumerable Neighbors(NodeElement id, Seeker seeker) { Direction curDir; if (seeker._start == id) { curDir = new Direction(Mathf.Clamp(seeker.LastDestination.x - id.x, -1, 1), Mathf.Clamp(seeker.LastDestination.y - id.y, -1, 1)); } else { curDir = new Direction(Mathf.Clamp(seeker.camefrom[id].x - id.x, -1, 1), Mathf.Clamp(seeker.camefrom[id].y - id.y, -1, 1)); } if (Mathf.Abs(curDir.x) == 1 && curDir.y == 0) { //horizontal NodeElement middleForward = GetNodeAt(id.x + curDir.x, id.y); NodeElement right = GetNodeAt(id.x, id.y + 1); NodeElement left = GetNodeAt(id.x, id.y - 1); if (middleForward != null) { if (middleForward.Passable()) { yield return middleForward; } } if (!right.Passable()) { NodeElement rightForward = GetNodeAt(id.x + curDir.x, id.y + 1); if (rightForward != null) { if (rightForward.Passable()) { yield return rightForward; } } } if (!left.Passable()) { NodeElement leftForward = GetNodeAt(id.x + curDir.x, id.y - 1); if (leftForward != null) { if (leftForward.Passable()) { yield return leftForward; } } } } else if (Mathf.Abs(curDir.y) == 1 && curDir.x == 0) { //vertical NodeElement middleForward = GetNodeAt(id.x, id.y + curDir.y); NodeElement right = GetNodeAt(id.x + 1, id.y); NodeElement left = GetNodeAt(id.x - 1, id.y); if (middleForward != null) { if (middleForward.Passable()) { yield return middleForward; } } if (!right.Passable()) { NodeElement rightForward = GetNodeAt(id.x + 1, id.y + curDir.y); if (rightForward != null) { if (rightForward.Passable()) { yield return rightForward; } } } if (!left.Passable()) { NodeElement leftForward = GetNodeAt(id.x - 1, id.y + curDir.y); if (leftForward != null) { if (leftForward.Passable()) { yield return leftForward; } } } } else if (Mathf.Abs(curDir.x) == Mathf.Abs(curDir.y)) { //diagonal NodeElement middleForward = GetNodeAt(id.x + curDir.x, id.y + curDir.y); NodeElement right = GetNodeAt(middleForward.x + curDir.x, middleForward.y); NodeElement left = GetNodeAt(middleForward.x, middleForward.y + curDir.y); if (middleForward != null) { if (middleForward.Passable()) { yield return middleForward; } } if (right != null) { if (right.Passable()) { yield return right; } } if (left != null) { if (left.Passable()) { yield return left; } } }}

alright, it seems to work

Oh I see, your implementation does have corner cutting, but you found the correct forced neighbors for that from another source. Looks good user. Did you do a comparison of how much time it takes to run a search vs. your old code?

actually i don't want corner cutting, but i just don't know how to do it, i thought JPS fixed that by default
i haven't saved the old code, so i can't really make a comparison, but the framerate seems a bit more stable
now my only issue is that for some reason, some units get stuck. the issue seems to be that their current node is treated as (0,y) or (x,0), and when you add the new direction, that goes out of bounds, and it returns a null node. but the weird thing is that they're clearly nowhere near the edge of the map

anyways, here's the scripts
unit+pathfinding: pastebin.com/fhBevefE
grid+neighbors: pastebin.com/nR2Ru9td
i'm gonna stop for now, even though some units get stuck, it's still more than enough progress for me

JPS as it first came out actually required corner cutting, a year later the guys who wrote the paper describing it released another one where they described both a cornercutting-less version as well as JPS+.
If you want to get rid of corner cutting, you first have to figure out how to get rid of that with just A*, and then take another look at my image in as that shows different rules than what you implemented. Just having different forced neighbor scenarios isn't going to get rid of corner cutting though, and I can't help you with that as my node implementation is vastly different and inherently doesn't allow corner cutting.

as far as i understand, when checking for diagonal movement, i need to check the adjacent nodes to know if they're walls or not

So are we just going to move to now that were at page 14 or just have another thread?

That's definitely one way of doing it. In my case I have precalculated for each tile which directions you can move, then get an array of offsets based on that information with a single lookup. A lot less branching and computation, while still making it possible for me to edit the map in realtime.


No idea, don't think the OP f that other thread is going to delete his and the mods don't seem to feel like deleting it either, so might as well use it I guess.