/agdg/ + /vm/ ~ Amateur Gamedev General

Broken image answers edition

Related Places:
>>>/agdg/
>>>/vm/

Old Thread:

Other urls found in this thread:

gamebanana.com/tuts/10379
developer.valvesoftware.com/wiki/Advanced_HDR#Creating_a_HDR_map
developer.valvesoftware.com/wiki/Constant-Linear-Quadratic_Falloff
unitygamedemosarchive.blogspot.bg/
lazyfoo.net/tutorials/SDL/index.php
enhex.itch.io/super-surf
steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html
harmful.cat-v.org/software/OO_programming/why_oo_sucks
urho3d.github.io/documentation/HEAD/_building.html
openal-soft.org/
kcat.strangesoft.net/alure.html
github.com/stuffmatic/kowalski
youtube.com/watch?v=O_7Shy9j7Zg
youtube.com/watch?v=a_2hN0_zHvA&list=PLBL6XxPV4C9QnaZxQC5Q6EmjzOIGjyci2
youtube.com/watch?v=c_xcNFWWDzg&list=PLjxoVv6MqQKVzlpNwuFDvWGmQU257qDam
docs.unrealengine.com/latest/INT/Engine/Rendering/Materials/HowTo/AnimatingUVCoords/
docs.unity3d.com/ScriptReference/AnimatorStateInfo-nameHash.html
mediafire.com/file/l30qno0glyxa4n4/Tron_Bonne.7z
beta.unity3d.com/talks/Siggraph2011_SpecialEffectsWithDepth_WithNotes.pdf
github.com/StanEpp/DirectX_ParticleSystem
somasim.com/blog/2015/04/csharp-memory-and-performance-tips-for-unity/
obsproject.com/
gitgud.io/nixx/WebMConverter
forum.unity3d.com/threads/foreach-massively-slower-than-for-when-looping-through-vertices.235011/#post-1560056
nature.com/mp/journal/vaop/ncurrent/full/mp2017155a.html?foxtrotcallback=true
bic.mni.mcgill.ca/users/vero/PAPERS/bohbot_zijdenbos2007.pdf
doctard.itch.io/unnamed-unity-brawler
twitter.com/SFWRedditGifs

Posting this again since the old thread died.

the loading is so jarring and out from nowhere that i would prefer you to use doors

Reworked the map so that NPCs are not tiles but actual entities in the map.

To find the selected NPC


It's a fucking mess but fuck if I know how to do it better

It's a Source engine thing. We're trying to figure out if level streaming is possible but Source just isn't built around it the way something like, say, UE4 is.
For now we have seamless transitions and that's good enough.

I think fading to black and back for loading would work great tbh.

You really have to work on your lighting. Some parts are good, whereas some light sources have way too much intensity and you get those ugly bright blobs on your walls/ceilings. Colored lights, shouldn't be that saturated and bright at the same time. Those blue and green lights are way too intensely colored. Although that may just be because they're also too bright. Set up HDR properly, which in Source means more than just building your map with HDR lighting. It needs a bit of preparation.
These might help you:
gamebanana.com/tuts/10379
developer.valvesoftware.com/wiki/Advanced_HDR#Creating_a_HDR_map

I don't think there is, considering that even Valve's AAA titles like Portal 2 have these transitions.

I don't think it's possible. And Valve seems to have completely abandoned Source2 for VR so don't hold your breath in that department.

They're porting CSGO to source 2 right now so I doubt they'd have abandoned it

nobody here actually makes videogames
prove me wrong

Jokes on you, faggot. I'm getting paid to make video games.
Only a few art assets anyway.

If you can't understand this simple code then you have no right to be questioning this thread.

That's too complicated, man.

10/10 would refactor again.

This game is going to be good and I'll definitely finish this one I know it.

So what happens if you overlap two NPCs?

I'm not going to do that
Also I gave up on NPC collision, I've got no idea how to get it to work so I'm just not gonna bother for now

Homebrewed engine?

(gambling win checked)
Also, use light_spot entities instead of light entities, and change the default Quadratic/Linear/Constant to something like pic related.
developer.valvesoftware.com/wiki/Constant-Linear-Quadratic_Falloff

I'm coding this in Javascript and the map is displayed using canvas
I don't even know what it is

For sure. And since I have an external script checking for when they join and incriminating the ID number I could even just make it a method call from there, it doesn't even need the start function.

Now rooms can have "themes", a set of floor and wall tiles. Corridors will use them too, soon. The colors are a bit washed out from the webm.

God those grafics look like ass. Make em better.

That means you have a homebrewed engine unless you're importing some javascript to handle engine duties

It's for LowRezJam 64x64 is pretty limiting, since each tile is 8x8. Any specific suggestions?

It's a low res gamejam or something, isn't it? Why else would you handicap yourself like that otherwise?

I guess so then

Well, that answers that.

If it's 8x8 you're doing okay for what you're working with. Just keep in mind that pixel art is all about economy and giving the mind just enough information to process what's happening. One pixel of a slightly darker shade can go a long way.

I'm gonna have to use the RPG maker ones aren't I

Just steal em

In unity, one needs to have a physics rigidbody component for collisions, right? But if one uses it, they'll have to use addforce to move it and have a 'floaty' feel to it. How about some other way for a basic collision detection, just like a static wall?

It's called a mistake

You can also colliders, for example for a static wall I'd just use a box collider. Rigidbody is for things you intend to move. For example I just made a simple block breaking game and the only things with rigidbody on them were the paddle for the player to move and the ball All the blocks and the static walls were colliders.

Gotta stop typing comments while thinking about my code.

you can calculate the desired force that ends up """setting""" the rigid body speed to your desired speed without making it go through walls (since setting the speed will make it go through walls)

No, you don't. In fact, when you add a cube, it has a collider but no rigidbody. You only need those when doing physics. If you want to do physics, but still move it manually, you set the rigidbody to be kinematic.

Thanks, but I was more about not using the dynamic rigidbody on the moving player, which I wanted to move using translate for 'tighter' movement. But doing so would make it simply ignore the static collider walls. AFAIK static collisions only work with dynamic rigidbody. I was thinking more of a way to either make the Addforce movement tighter or just make stuff collide with just colliders, without using physics2d .

Downloading porn games is gay and I'm not going to do that

Have fun. I've been there. It's possible, but it's a lot of werk.

If you don't want to use velocity physics for movement do this:

I would also use a character controller instead of a rigidbody for your maincharacter.

at least use phaser or some other html5 library

I'll look into it, although everything is already working as I want it, just having problems with the map

phaser.io/examples/v2/tilemaps/blank-tilemap

Thanks, but unless this already has built in support for movement and NPC interaction I might as well stay with mine

someone code my game for me i don't know how to start
i can do the everything else

Why would you post the exact same thing with the exact same reaction image two threads in a row
what does this accomplish

(You)

Other dev here(programmer, currently trying to figure out what I can do with the source code of hl2 by reading important files). Current plan is probably going to be a mix of those typical valve transitions and some airlock style ones. I personally like them, and we'll probably add some sort of signalling to the player so they know they're about to hit a load screen. Other dev's maps tend to be rather expansive, so it shouldn't be a frequent issue.
I don't want to make any big promises yet, but the general idea we have going is to make an interconnected gamespace with well defined regions. I'm going to be trying me hand at mapping, but right now I'm sketching out the systems we need for the game we want.

That sounds good and I definitely like what I've been seeing so far.
If you need some inspiration I suggest you play G-string, it's very similar to what you're trying to do and it's also running in Source.

even if some sucker does this, the project will end midway because he got bored of it or of you. learn to code

If you want someone to code for you, you'll probably need some bait to hook onto your fishing pole.
Post some of your work (if you're comfortable with it), or otherwise figure out some way you can advertise your skillset to potential (coding) team members.
Alternatively, throw money at the problem and hire someone.

I'm having a brain fart

How can I generate this automatically
var isSolid = tile === 3 || tile === 5 || tile === 6;

if I have an array like this?
var collisions = { forest: [ 3, 4, 5, 6, 7, 8, 9, 10, ],}

Life is ultimate comfy.

this should be a thing. Vanilla comfy love should be a thing.

void is_solid(var tile){ for(int i=0; i

I sort of know how to code. I just don't know how to set up a basic framework for a game to work inside because every other project I've been involved in had me doing the everything after the programmer got bored after setting up a basic framework.

The other problem I'm having is that everything is object oriented nowadays and most of my experience is in assembly and C. I get that objects are basically structs but they're somehow impenetrable to me.

It's basically just really bad blank page syndrome I guess.


EVERY THREAD UNTIL YOU LIKE IT

"var" instead of "int" cuz javascript.
sage for double-post

Have you tried using an engine?

Bloody hell you fags, Half-Life 2 and the Source engine are 13 years old, why in the world haven't you gone with UE4? Or anything that's more modern?

Re:

Thanks user, you're a lifesaver

Because we're comfortable with it, and my shittower I don't like UE4.

unity3d.com

I get it.
There's just something about source that no other engine has

My shittower and I*
As questionable as source is, I think it's suitable for our project.
Sage for correcting tard grammar.

Image related and the fact that most of what we need is already present. All we need to do is reskin, recreate, and improve.
As well as this co-dev's tower doesn't like UE4.
The default source engine shooting mechanics are fine with some tweaking, certainly better than most UE4 games. E.Y.E is loved and Spacehulk despised for a reason. The enemies will need smartening up but aside from that they're mostly all there.


Going to apply this tonight. Thanks a ton, user.

You're actually in a pretty good position then.
Consider C++ classes as C-structs that can also store functions in the class, which is a bit more convenient than function pointers.
Other than that, don't use the STL, don't use template classes, don't use "auto", etc.- everything C++ can do, C can do (and while execution time between C and C++ is similar, build times get to be much longer for C++, especially when using the STL/template classes).

So the only thing that really changes moving to C++, then, given the above, is that you can now group together related functions using what is essentially a slightly modified C-style POD (plain-old data) struct.

This is actually how I program, it's C-with-classes really, C++ as it was originally envisioned. It works beautifully.

But the above doesn't quite solve your problem, because you're trying to figure out a step beyond wrapping your head around C++ classes- how to organize your code from a high-level perspective.
Here's a couple of recommendations regarding that:

Game Engines work with a lot of different pieces hardware devices. Since with C++ classes you can group related code into a class, creating a class (struct) for Input, one for Sound, one for Rendering, etc., can be a decent way of organizing your code. The main game loop can just go in the main() func, outside of any class (although in my engine I have a Looper class because while the main game really only needs one loop, for menus it's nice to be able to hold the state of one loop/menu in memory while you're switched into a sub-menu of that first menu without writing separate main loop code for every menu.)
A game's loop can generally be split into three functions:
handleInput();handleLogic();render();

So for your Input, Sound, etc. functions you'll want to define handleInput(), handleLogic(), etc. functions for them.
Some classes won't have all three functions, for example a Render class doesn't deal with input or logic, it just draws to the screen, so you'd just give it a render() func.

So there's just some advice on my part, as programming involves "language" there's all sorts of ways of going about high-level engine architecture, what I've described is just one way you could do it.
Older game engines were written in plain C with no C++, you could certainly write your game engine that way if you wanted to.

^typo correction.

potentially showing my garbage to a job interview for game design tomorrow
had to make a new model because i don't want people to know i'm a fan of gay porn actors

shit I thought you were dead

i will be once i fail algebra/geometry for the 4th time next week :^)

is this hitler box guy?

yes, ded games edition

Shit, dude, where the fuck have you been? Good to see you again.
Good luck on the interview.

I'm trying to CapsuleCast down to check if my character is grounded, but the capsuleHit.distance I'm getting are not very precise and I can't figure out why.

I've done this before, but lost my code, so I'm trying to replicate it. I know for sure this method works, I'm just not sure why I'm getting very different results out of it.

Anybody has any idea why that is?

public static float isGrounded(Transform root, CapsuleCollider charCapsule) { Vector3 p1 = root.position + charCapsule.center + Vector3.up * -charCapsule.height * 0.5F; Vector3 p2 = p1 + Vector3.up * charCapsule.height * 1.01f; Debug.DrawLine (p1, p2, Color.white); float distanceToObstacle = 0; // Cast character controller shape 10 meters forward to see if it is about to hit anything. Physics.CapsuleCast(p1, p2, charCapsule.radius, -root.up, out capsuleHit, Mathf.Infinity); return distanceToObstacle = capsuleHit.distance; }

Everytime i see that you're still doing progress, high energy anime music plays in my head and prevents me from giving up. Thanks for the energy lad.

look at all this progress that i'm totally not gonna finish

...

not actually mine, it's just the project files for a probably abandoned project some bzpower guys were making
they had the files posted somewhere, so i figured i'd save them for nostalgia

...

Hownew.ru

not sure if you can fight coach hitler in the version i have here, and i don't keep copies of every single version so go figure
the only actually playable shit is here, everything is concept tests that didn't work out
unitygamedemosarchive.blogspot.bg/

What are some good 3D game libraries? I don't want to commit to a full engine unless I need to. I almost want to do LWJGL but that's Java. Is there any good 3D game libraries in C or python?

SDL2 for device abstraction (easily support input devices, windowing systems and other whatnot in a cross-platform manner, also easy GPU-accelerated 2D rendering, can write 3D applications using SDL as well).
libopus for audio (not really much reason to use anything other than wav and opus for audio nowadays).
Bullet Physics library for rigid/softbody physics.

There's a number of open-source 3D rendering libraries, but I'm not using any of them, so I can't say much for/against them.

For SDL2, see here:
lazyfoo.net/tutorials/SDL/index.php

I'm really impressed with LWJGL's documentation and community. I might do that. Tell me, is my game going to be hindered for being on Java?

Shit. You just made me look deeper into my abandoned Dev folders and i realized i have 60 games in there. In an even older folder from my previous PC i have additional 57, bringing me to a total of 117 games i never finished. My first ever folder was made 2011 and is called Zembies.

If you're going to ask me, I'm going to tell you that Java is a cancer that plagues this planet, and that you should never ever come within a thousand of miles of it.
It's basically the new COBOL, except instead of extensively checking how your comments are formatted before discarding them, it mandates things like how your project folder should be layed out.
Probably worst of all is that building Java applications is as slow as molasses. You'll be wanting to run a Java-application-building daemon in the background on your machine at all times to help reduce those build times.
Java code runs in a virtual machine and manages memory for you, its garbage collector may run faster than manual memory management in some cases, but you lose control over WHEN you take the performance hit from freeing memory, which is important for games, which are far more performance-critical than most computing applications.
I say all of this as a programmer- as a user, Java gets the job on desktop platforms. We've probably all played Minecraft at some point, after allā€¦

On mobile, performance is even more critical, so you're not going to be able to get away with OpenGL or Java- but oh wait, Android mandates Java and doesn't allow native applications to run (except on rooted phones), so I guess you're just kinda fucked on the CPU side. There's the Android NDK, but it still has to go thru the Java Virtual Machine, which at the very least makes building native C/C++ applications for Android a gigantic pain in the arse.
On the GPU side, you'll want to go for Vulkan, or at least OpenGL ES (which Khronos will still be maintaining for legacy and newcomers to mobile 3D programming). Mobile GPU hardware isn't OpenGL-compliant so you can't use it even if you want to, generally speaking.

And then there's game consoles, which aren't going to be supporting Java in any shape or form, leaving you to use whatever language they do support (usually C/C++).

Didn't mean to sage the first post.

Are overworld sprites still called overworld sprites?

I'm searching for a small representation of my character but I'm finding nothing like I need

Project I dropped years ago.
Had few YT commentors request a download so I uploaded it here:
enhex.itch.io/super-surf

Yeah, but Unity is built on C# which is way fucking worse because it's proprietary (.NET) and Windows oriented. Unity works ok most of the time. Is there any reason to choose C#?

Try this


The only thing is checking and pruning away NPCs that can't possibly intersect each other (eg doing a cheap manhattan distance squared) so you dont do N! comparisons with each entity

You also got Unreal with C++ or Blueprints.

There are also open source engines like Urho3D and Godot.

That's what I did, started having massive problems with the player character being teleported around or the collision being all around fucky

I never said use C#, and I certainly wouldn't recommend it for the reasons you just gave.
I wouldn't choose C# unless using Unity (and I wouldn't use Unity, either, but that's just me).

C/C++ are the tried-and-true portable programming languages. C/C++ programs only become platform-specific when you throw something dumb like .NET into the mix- if you design your program properly, you can get the same human-legible C/C++ code to compile for more platforms than you ever thought to support.
For example, I have an (incomplete/proof-of-concept) experimental 2D game engine written in C/C++ that builds for Linux, Windows, GBA, NDS, 3DS, GCN, and Wii.

C# has a virtual machine so you only need to write code once, in a generic non machine dependent way. Code is also managed so you'd don't need to worry about cleanup. However if you are optimizing or using unmanaged code (eg intptr to Windows shit or low level hard or adapters) there are tools to force cleanup or GC.

It's strongly typed and easy to learn and use. There is Mono and other non proprietary implementions of the language too. It's a good mix of robust, convenience, and portability.

That said if you NEED extremely complex optimization for your game (honestly any language is fine for most devs, especially here) you can just use C++. Personally I like C# as my managed/hardcoded language of choice but I've been checking out Godot.

Game dev is interesting compared to normal software apps. A lot of paradigms and designed approaches dont work efficiently here. Weak typed languages (eg Ruby, Lua, Python, other scripting languages) are often more useful.

Sounds like you were writing to the player position accidentally.

Problem is the base code isn't mine so it's a bit fucky to work around
I'll probably try it again eventually with this method

Atomic Game Engine is a fork of Urho3D with a frontend similar to Godot btw. Probably a better choice for 3D games until Godot v3 comes out.

Hey, anyone here knows enough about bullet physics to tell me how can I do robot simulations like the NASA does ? I want to see how far I can go with giant fighting robots.
pls no bully over my drawing

I've been looking at different languages to use and I have decided on LISP. That said, is there any programs like Gamemaker or Unity that allows you to see what you are doing as you are writing it or will I have to more or less start from the ground up?

why

From what I read it's the most versatile when it comes to optimizing for a smooth game and can do 2d and 3d fairly easy. At most i'm looking to do a simple 2d run and gun game to get my feet wet and learn some basic techniques I can use for more complicated games in the future.

Is this any better? I changed the lighting a lot and I think it came out more interesting.

;~;

The editor is coming along niceley. I am working on movement in the 3d plane. Looking around in 3d works. Movement, does not, because of its incomplete implementation. I have also added zooming in and out, and moving around in the 2d views.

That looks good. The lighting is a bit brighter in-game than in the webm, right?

increase lightmap scale in those hallways using the texture tool in hammer. Always use high resolution light maps in areas where you want a strong contrasting shadow to be cast or where there's very little geometry to add to the light map to make it more visually appealing and consistent with other areas that have the luxury of spreading out their light map over a less claustrophobic area.

wtb byond coders for ss13 8ch serb

But I don't hate myself enough to code with BYOND

I actually tried to clone a tgstation fork from Github with gitgud trying to help with a guide. Somehow I got it finally downloaded but it wasnt the live server and i couldnt even launch a localhost game

...

This is why game engines need built-in code editors that are worth a damn.

For real ?

Try animating something in Photoshop I dare you

Does it work on linux?

The direction Adobe is taking photoshop is weird. Why the fuck can you view and render 3D models in Photoshop?

This is the Minigame Menu for Squirrel Sphere.
You will have to find and unlock them first in the main game. Also the buttons can be clicked at anytime (you dont have to wait for camera)

still needs some touching up, particularity the arcade screens and pinball machine.

the second video is an older one from the trailer just to show how the main gameplay is. most of the minigames use the same gameplay/physics, except pinball which takes control away from the sphere directly

Easy texturing/after effects ?

This looks fun as fuck to play user.
Hope your project comes along nicely

I think they're trying to make Photoshop into an all in one package

This looks dope as hell, gives me some super monkey ball vibes.

Fantastic

BP C++ cross inheritance is driving me insane in UE. I have this setup:

Blender already beat them at that game ages ago
> 3D modeller, animator, image editor, video editor, text editor, compositor, renderer, hipoly sculptor, game engine lol, and physics simulator

Yeah but blender's fucking awful and looks like it was made in 1992

sour grapes cumfirmed

???

...

shilling what

OOP is cancer. Now you know why. Stop trying to force the structure of your game into an OOP mold.

The only thing Blender does even marginally well is basic mesh modeling.

Take high-poly sculpting for instance. Total shit. Unusable trash. A true exercise in frustration and futility. There are other free applications that do it better. 3D painting? Unfinished, barely usable. Image editing text editing game engine - all trash. They will never be good features within Blender.
I can't speak to the rendering much because I almost immediately dropped it. My spline CAD package is 1000% better with a real-time raytracing add-in package. Hell, it's a spline/NURBS parametric modeling package and it does fucking UV unwrapping better than Blender! Blender is a fucking joke.

FUCKING THIS
discard OOP, acquire progress.
OOP was made to make it easier for women to get into CS, but it makes it harder for anyone who knows what they are doing to program.

Don't do it. Just pick an existing editor or something.

t. someone who did it

...

I have accepted it, transforming things into components right now

What the fuck am i looking at

The offender seems to be Unreal's blueprint system.

Also what's with the shit naming semantics?
You got un-living characters? just call it Character.
you got non character humanoids? just call it humanoid.

If you have duplicate logic u did a shit job.

Something seems kind of off hereā€¦
I mean, the Blender Game Engine is definitely not something you should use, but I find Blender to be an amazing tool for creating 3D assets.
And I say this having used it for several years now.

In the next version of Blender, 2.8, there's going to be a new real-time physically based renderer (much like what you see in UE4 right now)- I think you'll see a huge Blender boom by next year when 2.8 is released for use in production environments.

"Character" and the like is already reserved by unreals own classes. I don't have duplicate logic, but the situation would've forced me to implement.

do it under your own namespace then

Damn that's pretty fast. I thought the principled shader was PBR; it's being released in 2.79

The Principled BSDF shader node is PBR rendering, yes, but in 2.79 it's just for use in the non-realtime rendering engine Cycles.
In Blender 2.8, there's a new realtime rendering engine being developed called EEVEE (yes, named after a Pokemon), that will be able to use the same data from the Principled BSDF shader node but render it all in real-time.

Should have posted this vid related, as it is very much related to this conversation.

A story from the kingdom of nouns.
steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html
harmful.cat-v.org/software/OO_programming/why_oo_sucks
People have been shitting on java and OOP and design patterns and other academic buzzwords bullshit programming practices since forever ago. Unfortunately most programmers these days fall for the OOP meme.

Good progress today
Implemented custom difficulty options for the faerie village, you can make your own game starts by editing a .txt
It was actually pretty quick and worked almost first try

I've been out of the loop for awhile, can you give me a bit more in-depth status update on your project?

Done.

Sort of.

you should seriously block things out in dev textures and make sure the proportions feel nice before tacking on world textures.

Make sure corridor width and height is befitting of the environment you're trying to convey, and try to keep those properties consistent throughout an entire building/complex.

Tight corridors aren't fun to navigate in source, get rid of them. Don't make rooms too big if you can help it, you're just working yourself into a corner where you have so much more space you have to detail, or else the room will feel artificial and barren.

But user! read Blame! and you'll understand the strange design.
Thanks for the advice.

I am back from my vacation now, so I will be making progress for one of my 2 projects soon after I relaxed for a while since I don't really feel like it doing anything "heavy" right now.

They are fucking it up. The latest Photoshop is so fucking slow opening menus and what not because they have added so much goddam bloat to the program because they just have to add more things every version so you buy it again. Like the New Document window takes assholes to load and now comes with all sorts of stupid ways to accomplish creating a simple 512x512 document. Now it has to have fancy buttons, useless tabs, and dialog boxes that just repeat UI features.


No it's actually really good and powerful and free. The UI is less complicated then Autocad and more customizable. They also have plenty of really good renderers and plugins.

Sharing mine. Still intend on finishing Beelze and that dream project of mine.
thank God for gamejams

I have something similar to you in UE4. A few things:

The way we do it for player input is having an action handler component that all creatures have (the equivalent of your LivingCharacter) which handles stuff like cancelling previous actions (e.g. feinting out of an attack) and queuing actions, which then passes it onto the creature which spawns a UObject class that handles all the stuff needed (from triggering the correct animation to dealing damage if it was an attack, etc).

...

Map changing and teleporting, all taken from array data and automatic


noice

Progress vid

Finally, holy fuck, thank you.

You capo tosta or somethin' you fuckin' mook?

What's your game ?

You're welcome

Also please explain to me webm recording because I cannot figure it out

There's also H264/H265 support, but 8ch only supports H264.

don't be a cheap faggot

programmer dev here again, that's kind of the point

wow, looks pretty amazing

I don't think I actually saw this project before
Tell us about the project. It's clearly supposed to bridge the gap between Doom 1/2 and 4.
What engine is it anyway?

tone down the head bob pls

Engine is Urho3D.

The idea is basic: Maximize doom style dodging based combat, with modding support.

There are no ranged hitscan enemies, and there're a lot of enemies.
It's kinda like what a shoot 'em up would be if it was FPS.

Nice medal system which requires time AND kills, so you can't just rush though the levels.
Also requires damage taken to reflect more skill.

Comes with a level editor, game editor, and scripting.

Yeah when u mention it the head bobbing dips too far down.

just

Is there any shaderforge-like ed for Urho?

Not that I know of.

Thank you, im currently doing that, or something along those lines. Im extracting all the logic in my three classes into multiple self contained components. I have a healthComponent, a staminaComponent, a custom inputHandlerComponent, a combatComponent and so forth.

I still have a few questions:
1. Where do set up your final classes, for enemies, NPCs and the Player? As in, where do you create a character BP and attach all of your components to it? Make a C++ class and instantiate components there, or do it in BP only?
2. No matter how you do 1., how do you prevent yourself from having to wire up the various component events to the AnimBP every time you create a new one? This one is a huge fucking pain, i have many AnimNotifies that fire C++ events, and C++ events doing shit in the AnimBP.
3. For inter-component communication, how do i make a certain component require the existence of a different one, and how can i access that different one? For example, my combatComponent has to deduct stamina. Or maybe it would only do that if the other component does exist.

If Urho3D's audio engine is that bad, consider replacing it with OpenAL-Soft.

How did you even manage to compile it ? I've tried but everytime something was missing and I gave up.

I don't see what's the problem.

Also OpenAL is proprietary license.

You need to use CMake, then it's literally pressing few buttons.

In CMake GUI you put the source folder, your destination build folder, click configure until you don't have any red fields(1-2 times) and then click generate.

Then you'll have a visual studio solution, just build it.

There's documentation for building: urho3d.github.io/documentation/HEAD/_building.html

Some header file was missing, something about an array I'm not so sure about.

Maybe missing DirectX or Windows SDK?

In general if someone having problems he could ask on the forums.

Repostan from /hgg/

Map switching is done, dialogue is done, stats are done.
To do:

OpenAL is. OpenAL Soft is not.

I want to raise a healthy family with NPCText-chan.

Too bad, only rape here

...

Same most likely goes for that other user, there's quite a bunch of poorfags second-world country people here.
Pirate Percy gets the same tutorial for free from CGPeers and doesn't pay some retard who asks way too much money for his shitty how-to-model-a-tumblr-user course. Sure, you can't ask questions, but half the time the course is old and you don't get a response anyway.


"NPCText-chan" is a fucking ork. As in literally, an ork that fucks. You. Right up the elf-hole.

Been trying to learn how to SS13

Byondcode feels like a typical scripting language with a few small differences for eg declaring variables, but it's not as bad as people say it is.

The problem is looking at a decade of cobbled together user code that isn't documented and looks like this

Put on a pair of headphones and listen to your recording with your eyes closed. There's simple panning for (roughly) guessing a sound's direction, but the distance attenuation is absolute dogshit so good luck guessing how far a sound is or whether it's above or below you to be fair, the last bit either needs HRTF or a fancy ambisonics setup. I don't think Urho3D even supports surround sound, which sucks for HTPC fags.
Also, OpenAL-Soft is licensed under the LGPL and has more features than any proprietary audio library that isn't Steam Audio.
openal-soft.org/
kcat.strangesoft.net/alure.html

Nailed it. I think there's a tendency for the middle class to not realize that the working class doesn't live the same life as them, just at a smaller scale. It's fundamentally different. Not that the middle class is at fault for not knowing this, it's just how perspective works. I certainly agree that buying good equipment pays off, and is a high priority, but it's not that simple in real life. If I wasn't financially drowning and unable to afford basic, extremely pressing medical expenses, I already would have spent the money to get the damn computer/video card(s). Sage for blogpost.

Creature -> Intelligent -> Player. Creature is just anything that will move around, die, attack shit, etc. Intelligent is anything that can equip shit. Player is the player class that has some extra stuff for the player character. Generally speaking, stats, inventory, etc. are all in their own actor component.


This really depends on your needs, there's no one fits all solution. What we do is that basically all creatures have a delegate handler. It's an actor component that has all the delegates needed. What, for example, the animBP does when it needs to notify someone, is to get the creature assigned to it (which is always base creature class which always has this delegate handler component), get the component, and tell it to trigger that delegate. Everyone else (mainly the ability system) simply listens in on this component for every delegate broadcast you may need from a creature (and most stuff related to it, like the animBP), so instead of listening in on different classes, you just listen in on that thing and you'll get whatever you need. A for sending TO the animBP, I use the ability system which basically works on layers of UObjects as tasks that trigger whatever is needed (specifically, URequestAnimation is the one handling animation calling on creatures).

You can check if they implement that component via CPP (and BP I think). Otherwise you can use Blueprint Interfaces which allows you to send a message to any actor and if it implements that interface, it will call the corresponding event, otherwise nothing will happen (no casting required). We mostly use the inheritance (creatures always have that delegate component for example), aforementioned handler components, and UObjects to do stuff.

No idea if it's the best way, I'm not an AAA developer, but it works pretty well so far.

I have two folders, one for projects I'm currently working on and an "idea bin" for small stuff I started on a lark that I'm not actively working on but are nice to have for reference anyway. Maybe they've got a small prepreprepreprepreprepreprealpha build in, or a little bit of concept art, or it's just a bunch of Idea Guy-ing.
This is the latter folder. I find it's good to dump down just about any random idea I have and to prod at 'em again periodically. If they still seem neat after the initial idea-ing, then I write a little more in them or doodle a little. Who knows, maybe I'll use 'em later, or maybe I'll go back to 'em another time.

The text files are just random write-ups and idea dumps, the folders are when I bothered to flesh the idea out a little and either sketched up some (bad) concept art or tossed together a basic basic basic basic idea of mechanics/progression/etc.
I wish I had more time and money to flesh all of these out, but oh well. Just gotta weed out the iffier ones and stick with the interesting-seeming ones.

Yeah Urho only has panning and basic attenuation parameters.

LGPL is also not acceptable since it imposes technical restrictions. In general anything-GPL is cancer.

There are probably other real open source alternatives, but it isn't a priority for me since there are more valuable things that need work.

These sound like (ero)manga titles.

let me pirate your CGPeers account then
pliz

You know that feel when you finish something you worked on for a while?
It's a good feel.

That looks a lot better.

Being ero would probably make them good, honestly. I can't draw worth a damn, though!

Only relevant if you modify the library's source, unlikely when audio isn't a priority for you a huge mistake for FPS development.

From summaries I've read if you statically link against LGPL code you need to disclose your own code.

I don't want DLL hell, I don't want to be forced to use dynamic linking which can create issues with other libraries.

Just don't use GPL licenses.
Companies run businesses by dual licensing GPL and commercial because people would rather pay big money than use GPL.

[spoiler]You can improve Urho's audio and send a pull request. If you use a lib, only permissive license ones (MIT, BSD, zlib, etc)
:^)[/spoiler]

Hey, any idea how to implement random battles when moving?

I've got the script hooked to run exclusively when the player is moving but even by generating a random number and setting it to minimum chances to trigger combat seems too much
what do

Older RPGs pick a step count from a range and after you step that many times you get an encounter.

?

I'd like to know more.

Make it so that only half of the random triggers actually trigger.If that is still to much reduce it to a quarter etc.

Take a random number from say, 50-100. Count how far the player travels. When they have moved that many units give them an encounter and then pick a new number.

Thank you user. The delegate handler component is a very good idea, i'll set things up that way now.
Why are you not using the delegates as well for that? How does URequestAnimation look specifically? Right now i have dynamic multicast delegates that are broadcast from the C++ components and listened to in the BP, then sent to the AnimBP, but i assume this will turn messy as well once i have multiple different AnimBPs and so forth.


Segment the world into a grid and roll per entered grid tile, or per distance covered. I assume you have something like this right now:

if (isWalking) { rollForEncounter();}

which gets called every tick, which is a bad solution. Encounters are more likely at high fps.

Are you running the "random encounter" every frame the player is moving? If yes, that's way too much. Either reduce the amount of method/function calls to one per second or call it for every meter the character has moved.

Speaking of audio libraries, have any of you Unityfags or Unrealfags messed around with Steam Audio yet? I'd love to play around with it but I'm a freetard and prebaked reverb doesn't fit Tesseract's design philosophy.

No one does this for several reasons. Dedicated audio cards often have their own OpenAL implementation which supports hardware accelerated audio, and gamers often replace a game's OpenAL lib with alternative implementations like Rapture3D or OpenAL-Soft. The latter was so popular with Devil Daggers that the developer added OpenAl-Soft and an in-game HRTF option to the base game.

Yeah, that was not a good idea, currently running at every tile change like user said
and then applying random chance
much better

Instead of rolling per-grid tile, you can roll once and use that as a number of grid tiles until encounter. This way you can set a minimum value greater than 1, preventing random encounters from occurring every step for unfortunate players. It also allows a maximum value to be set, guaranteeing a random encounter after a certain amount of time.

The short of the matter is that gigantic monsters roam the land and threaten humanity. So humans, being the rather resourceful and slightly batshit batch that we are, decided to take our cars and soup them up with crazy amounts of armor and make them even faster than before.
So the player sets out in his car in order to drive out and find a giant monster. He then takes advantage of various different ramps and curves and a healthy boost of nitro in order to launch into the air and ram into the monster repeatedly like a battering ram to bring it down (and every hit sends it flying a nice distance). Once they've been floored, he starts drifting in circles around them.
With enough drifting, the speed picks up and forms a tornado around them, which launches the monster into the air. Depending on how good the drifting is, they either come back down and die from the impact, get launched into a convenient nearby volcano/ocean, or get thrown into space.

Sounds like a good reason for dynamic linking.
GPL is cancer regardless and I stay away from it.

If you know any permissive license one let me know.

My dream game is a Theif-like stealth game with a cyberpunk aesthetic. What sort of smaller projects should I work on to make my way up to that?

What programming experience do you have? Assuming you don't have any programming experience, remake Pong. Then increase in complexity from there. Probably a simple shmup next, then a platformer. It doesn't matter that these aren't in the genre of what you're trying to do, you'll still be learning fundamentals which are applicable to your goal.

fixed the model, now it doesn't shrink till it becomes a stickman
still some issues with the weights and it's not symmetrical but i'm too bored to bother, i can abandon it in peace now

thanks
what do you guys think of the logo so far? ill probably redo the "squirrel"

Kowalski looks decent ( github.com/stuffmatic/kowalski ) and it uses the zlib license, but it hasn't been updated since 2014.

I'd lessen the spacing between the letters in 'sphere'.

I'd adjust the q, looks like s9uirrel sphere. other than that looks pretty good

Some small projects here and there but nothing major. I've already made a pong clone so I'll work on the other things you mentioned.


I agree with that the Q looks odd. It looks like a backwards capital P when the tail doesn't extend below the line like that. It's also the only lower case letter in the entire "squirrel", making it look more out of place than it already does.
Also see if closing off the p in "sphere" is easier to read.

Am I /cyber/ yet?

How about now?

Currently finishing the Faerie Village + Cooking system "standalone minigame vertical slice demo"while my brother makes the terrain system with dynamic grass (breath of wild style) and shit making gameover condition right now, next is save/load
After that i will work on the character models and open a Patreon, if i get enough money my brother will drop his job and join me fulltime

Still feels great to clean up the shit that has been accumulating while rushing things earlier.

Hmmm, there's a couple of things I fear:

I recall your prototype looked like something that's probably written in a Windows-only manner, which makes me worried your final product is going to end up running only on Windows as well.
I fear you're going to hit a brick wall when it comes to 3D character modeling/texturing/rigging/animation if you lack experience in those areasā€¦

Also, dynamic grass (particle hair) is non-trivial in the sense that it adds a fair amount of both programming and data creation work.
Both rendering and collision detection with a particle hair system isn't exactly easy programming, and if you don't know exactly what you're doing, you're probably going to run into performance issues.
Then you have to actually be able to control the particle hair using a lookup textureā€¦Which is to say, you have to make a bunch of data (the "particle hair texture" so that you can determine where the grass does/doesn't go.

That said, I wish you the best of luck.
My advice would be:
1. Drop the grass, not worth the time and challenge unless you/your brother is very experienced in 3D.
2. For working on/learning character modeling, see there's a video series by Jonathan Williamson to learn everything you need to knowā€¦
It was on Youtube but as it's supposed to be a paid course it was unfortunately taken down. I have an archive of it, butā€¦Hmmm.
At the very least, watch the first ~5min of this, the key word you need to look into is "topology":
youtube.com/watch?v=O_7Shy9j7Zg
This series of videos is also helpful:
youtube.com/watch?v=a_2hN0_zHvA&list=PLBL6XxPV4C9QnaZxQC5Q6EmjzOIGjyci2

embed vid actually is related because it talks about particle hair as used in Pikmin 3 and (probably) BoTW. (timestamp of interest is 8:08)

One more thing.
This series proved VERY useful for me, even though I was not creating a realistic human character (I was making quite the opposite).
Even though your characters may be a more unrealistic style, the same topology and modeling principles/process apply.
WARNING: does have nudity as he uses nude photos as references.
For your own characters, you'll want to draw reference sketches for the character instead.
youtube.com/watch?v=c_xcNFWWDzg&list=PLjxoVv6MqQKVzlpNwuFDvWGmQU257qDam

If you made your own Q like in pic rel it should like fine. Also outline is thicker in places where the letters curve, it's pretty annoying.

A
Nimble : enemy cannot counterattack
Swift : strike and return

B
Swift : enemy cannot counterattack
Nimble : strike and return

Final product is being worked on in Unity I think, so I wouldn't worry about that.
Yu talk about it like you haven't seen it already, have you not been in the past few threads? His brother is the guy making a scything simulator.


Brutal but kunnin', ya git
I'd say A.

id say A and make the counterattack fail instead of just not being possible

Have you watched Blame! movie?

Can you make a Blame! mod for your game (custom HUD, more organic levels).

Anyone got some good resources on mapping? I should probably just like, make map. But I'd rather my first be at least passable instead of a first timer abortion.

dont worry . if you try really hard it will be shit, because its the first time your doing something. just try to make it good and you will learn a lot.

Nice references, will check out thanks

The demo is made on pure c# (UI use WPF), might only run on windows indeed, but the final game will be on unity, i will import everything i can to the unity project my brother started and the game will be multiplat, i did it like this because i have very little unity expertise and my brother is a horrible teacher, so we decided each will work where they know more.
His grass system is almost done at this point, he coded everything on the shader for maximum effiiciency

Mapping for what engine?

that game and those digits deserved better

What editor is that? I almost thought it was Hammer.

Just to keep blogfagging: I've condensed all of the CPP-to-BP communication into a Delegate handler component now, and i've made it so you just have to pass your delegate handler to the AnimBP, and he'll wire it all up for you. This is pretty nice, no duplicate logic anymore and all my C++ can play montages and the like at will.

Now i want AnimNotifies to be able to call C++ methods via that same delegate handler pipeline. It should be simple but i can't fucking find anything about executing a delegate in Blueprints that has a C++ function bound to it.

finally fixed all the issues with the model
there's only a bit of clipping near the armpits, but the shader sort of hides it

can't he get rid of that particle effect that happens when the grass is chopped? the way i see it, less grass should mean better framerate

more practice, no backshots as that's not as done as the front.

how do 3d texture animations work in UE4?
docs.unrealengine.com/latest/INT/Engine/Rendering/Materials/HowTo/AnimatingUVCoords/

for example, I have a character with a textured face. How would I make the character blink or change expressions?
I plan on hiring a programmer later but I still want to know beforehand how animation will work.

Or can facial animation be exported along with the fbx file?
I heard about using bones to animate facial expressions briefly but I was worried if it only applied to the 3d software/blender and it wouldn't work on any other engine.

Also finished adding rig bones to my loli

What's the current Unity version of this?

docs.unity3d.com/ScriptReference/AnimatorStateInfo-nameHash.html

Why the fuck doesn't unity add to the docs the thing that replaced something old? How the fuck am I supposed to know what to use?

as i understand it, you can just have two textures stored in the material, and depending on some boolean you've just set, the appropriate face gets applied
example: you have two textures, one face with a closed mouth and one with an open mouth (and maybe other inbetween textures)
you make a loop that just goes through them all and then resets
and if you've got a boolean "talking" set to true, that loop is running. otherwise just set the texture to a closed mouth face
example: stuff done when low poly was a necessity
alternatively yes, you can make bones for the face, or blend shapes.
in the case of unity, you just make a few fbx files where the bones are doing some expression, and add them to the animator as an a layer that only covers the face, with a weight smaller than 1

What's the deal with character controllers? Lots of devs just seem to use premade scripts and colliders, but no one ever really goes in to what makes a well designed one. Of course, character controllers are going to differ based on needs (2D, 3D, movement that facilitates gameplay), but I'm writing my own and I'm not really sure what the best approach is. Any resources for this kind of thing.

Hello again, MoM user here. Just a quick Update and a little note for you all; All the areas for the demo are complete. All I am waiting for now is the Music for the areas to be done, and then I can release the demo. That being said, sorry for the dry spell of updates!

Anyway, here is the new Title Screen for Memoirs of Magic, And as always, questions are always welcome!

Good luck with that, I've been piecing together what a character controller needs from various tutorials and premade character controllers.

The thing that helped me the most at least understand what I should be doing was the code for the SuperCharacterController. It's needlessly complicated, but it does have some smart stuff in there.

(the actual controller is currently half broken I think)

Okay. Where?

He just added that effect, we are aiming for 60 fps, don't worry about it
Even nintendo can make pretty grass on fucking WiiU hardware we can do even better on PC

Nintendo's grass tech for BoTW is pretty good. From what I hear, if BoTW didn't suffer from spaghetti code and was made from scratch for the Switch, theoretically the Switch should be able to run the game, grass system included, at a full 1080p/60fps. If a mobile chipset is theoretically capable of running a full game with a grass system like that at peak performance, then the PC platform should have no trouble whatsoever.

It does do that.
The only bad FPS you get in that game now, after the patches, are in Kokiri Forest or whatever it's called.

Any Unity devs can tell me how I can get my current animation hash?

private AnimatorStateInfo stateInfo; public bool IsInLocomotion() { Debug.Log(stateInfo.fullPathHash); return stateInfo.fullPathHash == m_LocomotionId; }

This just prints 0

FEMA

Yeah, Kokiri forest is bad just because of the sheer number of objects in such a small space. BoTW has some serious issues of spaghetti code though. The launch issues with framerate were mostly because of a single bug where certain camera angles would load the wrong LOD models(the higher quality models/textures) for far away objects and utterly destroy performance.
I don't know how that got past Q&A. Especially because it's easily replicated and can be replicated at the start of the game.

Maybe they used the developer hardware instead of the platform it was made for during the testing? Seems like the only plausible answer to me if that bug can be immediately found.

Because it's a default constructed state info.
You need to get the specific animator's state info assigned to the variable to use it.

Ah, fixed it

Didn't you see the profiler in the lower part of the video?
That thing runs at 1000 frames a second (gtx1070 for laptops, however, legends says it runs almost as good as the desktop one) when grass is not being cut. The current bottleneck is the particle generation code, which is single threaded because I was lazy and will be fixed when Unity 2017.3 launches with the job system, for now, while cutting small amounts of grass constantly, it still runs at 200 fps.

I could improve further: The bottleneck for the grass interaction is creating the 'index array' that tells the videocard which blades of grass to check for "interactor" format (sphere, capsule, rectangle or pair of triangles), to then cut or bend. If I were to spend a week/month on it, I probably could put the octree into the video card, so that the index array is created and consumed in videocard memory, instead of being created in CPU and uploaded to video card.

I am going to make a stress test today to see how much grass can be shown at 60 fps. Since I use a high end laptop, I will set 1/10 of that to be the 'recommended' amount of grass at once at all times, so that it can not only run at 60 fps on low end machines, but also run with other things eating the fps

that's easy peasy if you are not going into AAA quality standards, I've done a copy of Tron Bone straight from the game screenshots, manually rigged with weights and all, pic related

Also done the abomination (pic 3) in 3 weeks

Link: mediafire.com/file/l30qno0glyxa4n4/Tron_Bonne.7z

well sure it's good, but the idea of going from 1000 to 200 kind of leaves me with the impression that it's not working right.

complain to unity for not letting me make particles straight from the compute shader.

I could test out the performance of creating n particles with default parameters, then getting ALL of the particles of the system, changing the parameters of the newly created particles and then send it back to the particle system, but i'd rather wait for the job system, since it supposedly will let me make particles

Looks good m8.

Is it possible to generate a looped flag waving animation in blender with bones?

yes, but in this case wouldn't it be easier to just make a vertex animation

Yes, but skeletal animations are cheaper to render. What steps are required to generate waving animation with bones?

just make a sine shader

UNATCO.

No, savage.

Kind of unrelated, but what do you call stuff you put before names like "a" or "an" in english?

a google search

Not sure but I think it's called an article.

lets see if embedding works, i don't want to log into youtube from an adgd link

The important question is, does the amount of grass compared to the frame-rate scale linearly?

Sorry, i mean, is it O(n) with the framerate or lower? because it should be lower, like O(logn), etc, just so that you can scale it up.

https: // www.youtube.com/v/c_xcNFWWDzg

lrn 2 interwebz user

I'm using a ability system that handles it, and to standardize, basically every "task" is a UObject. Due to the way it works, basically everything from the player attacking with LMB to jumping is handled via the same method which involves a UAbility (UObject) which does whatever it needs to do, depending on what subclass/BP it is. The reason I do it via UObject is because we wanted to standardize as much as possible under this ability system which is specific to our needs, it could be done in other ways no problem (probably, haven't actually looked into it but don't see why not).

Don't think I can help you there partly because I've already forgotten how we did it, partly because I don't have access to my project at the moment to check (hoping I commented it properly, else I'm in for a bad time). UE4 can sometimes be a real fucking pain because it doesn't have years of people asking dumb questions like Unity, sometimes you just want an answer to something simple yet you'll be stuck searching for days. Oh and the documentation is hit and miss, too.

Their complaints don't hold water against using objects for PCs or NPCs though.

I realize it's arguing against a metaphor to a certain extent, but even in the initial example of Johnny taking out the trash, from the perspective of somebody telling him to do it, he's an object. They're calling johnny.takeouttrash(), which in turn does the johnny.get(trash), johnny.move(outside), etc etc.
Fully OO programming is brain damaged, but so is avoiding it altogether. It makes sense, both conceptually and for readability, to use objects to represent things that are literally objects in a game world.

Depends on the game. If you have one PC, OOP is okay. If you have 100 PCs like the Wonderful 101 or Pikmin, DOP might be better than OOP.
You'd think that, but people who go DOP tend to suddenly proclaim how much more sense stuff makes to them once they get used to it. Might be like AZN speedcalculation methods versus thinking "I have 5 apples and my mom gives me 6 apples, so I have 11 apples" in a sense.

could check today as I make the stress tests

How is DOP materially different from what I said?

This guy's stuff seems good too btw
https: // www.youtube.com/user/MrLasla/playlists

why not use both?
just plop a new byte[10000] and write your structured code using it. nobody is forcing you to use objects

Generally I see people recommending against using physics for moving or articulating your character in any way, and relying instead on root motio (with a kinematic rigidbody for anything related to controller physics); as physics based controllers create a lot of headaches and are less predictable (unless you want that unpredictability of course, a'la goat sim).
Collider shapes for the character can be important for edge, and slope detection if you're considering it (attached a pic of an example, from tetra dev).
Make sure you're using any of the input managers provided by the engine as it makes everything a lot easier, also make your inputs at a -1 to 1 range, and re-binding the controls is generally then automatic due to the manager (at least in unity it is).
For the rest, as you said it's based on your needs, but a tiny of bit of planning on what you need to implement; in addition to any stylization of controls (i.e. can't jump, or can only jump when running, etc) can help a lot in further stages.

For learning how to do this, it's best to look at those premade controllers, and get a feel for it via testing/reading the code; then programming it from scratch.

Yeah, there is a lot info for absolute beginnners and five thousand shitty quickly-build-a-dayz-clone-in-blueprints videos, but the intermediate things are much more sparse. Thanks for your advice once again.


Making good character controllers can take a year or two alone. It's a lot of work, it's autistic to debug, most devs have no expertise in the field, which is actual physics, and there are just a million things that can will go wrong. Bullet, which is a well adapted open source physics engine, currently doesn't have a working default character controller because no one wants to bother with it, that might give you an idea of how much fun it is to write one.

You shouldn't look at the impact on fps, but on frametime instead when developing, because fps is like a log scale which fucks with your difference perception. Going from 2 to 3ms frametime will have a much greater impact on fps than going from 9 to 10ms, but the difference is the same.

Fairly sure Tetrachromedev wound up making a physics-based character controller at some point as well, though I'm not sure if he uses it in the actual product or if it was just to see if he could.

Yo. glad to see you're alive.
Progress on the library system?
What did you decide on, collection based or an archive of all books?
U sticking with mostly tutorial books, or expanding to other books too?

Neat title screen, and it reminds me of the SSB opening screen due to the hand + aesthetics.
I'd use a tiny bit of a buildup before the sudden tone; like the GC intro (attached).

I see. I guess I'll take a look at some different controllers then. I want to make sure that if I write my own it's quality code, as a sloppy one would definitely hamper an otherwise good game.


With the right amount of foresight and planning, I doubt it would take two years (it probably still is hard work though).
To me, that just sounds like they couldn't settle on a general one-size-fits-all controller and decided they'd be better of focusing their efforts elsewhere.

They do have one, it's just broken since at least a year. Of course it all depends on how your CC has to be, if it's 2D or 3D for example, but a full on AAA 3D character controller isn't something you can replicate in a couple of months on your own.

Oh sorry, I mistook your DOP for DOP and don't understand what the shit you mean by that acronym then.

What other kind of DOP is there than Data Oriented Programming (also known as Data Oriented Design or DOD)?

finished the test.
I was building 64 grass per 1x1x1 before, I tested then 256 and then 1024 per 1x1x1. The performance was literally the same.

Now I will check what happen if I decide to try to cut that

of course.

minor optimizations and improvements

how to fucking record webms properly?

Fucking Saved. Roll is better, though.

turns out I was wrong, it's the code that fetches from the compute buffer what was cut and what was not that is the bottleneck, and until I can generate particles straight from the compute shader, this is never going to be fixed

whatever, found the solution, but that can wait
github.com/keijiro/KvantSpray

I fucking love it.

gachimuchi video game? my prayers have been answered!

For performance it's best to consider the per "execution" time (ms time, per frame, but in this case it's per dispatch + thread count of the kernel since it's compute shaders), and how this scales with each sequential execution (i.e. 64 threads for 64 jobs, or 2048 threads for 2k jobs; how this scales per additional set of threads thus work to complete this frame).
Also, total thread count, and the amount of work done per thread is quite important for compute shaders.
So amount of work done per thread is important because it's best to have all threads in a group working as much as possible, and even syncing threads to get all one the same page; then have them all working in sync to finish at the same time with the most throughput.
Note that if you dynamically scale the thread count you can cripple lower end GPUs if you dispatch too many groups at once (32 to 4096 threads is the sweet spot).
Threads should also always be dispatched in counts of 32 to 64. So, 32 threads for nvidia, 64 for amd, and this is due to the per brand pipeline in addition to the architecture differences of the shader unit/cores (same thing different nomenclature).
These are the minimum amount of threads for a "dispatch"/"warp", and that's to say even if you dispatch 5 threads it will utilize 32 threads; even though only 5 are working.

Few optimization notes:
Stick to the per dispatch thread size explained above, and have all threads doing maximum work for the most throughput; without overloading one thread with too much work.
Modern GPUs have a standard 128bit cache size (16bytes, or 4 floats stride). Size any structs via this, and that's to say even with padding; as there's fewer cache misses with can have a dramatic performance improvement if you utilize array indexing n such.
Look at the AMD and nvidia presentations on "direct compute" for good info.
A huge performance no-no is reading data from the GPU. As all dispatches have to finish executing, the GPU has to flush it's pipeline, and then send all that over the bus to the CPU (actual sending is tiny, like less than .1ms for a huge amount of data, but the prep time can be huge if you have a lot of dispatches). So, if you need to do this, then manage your dispatches + reads meticulously (dynamically dispatch, read, dispatch, read, etc).

These are a huge pain in the ass, but it can definitely be done well.
The best solution for ++memory/speed but ā€“construction time is a hashed octree using the cuckoo algorithm, but implementing this in itself is a big pia.
There's also other solutions, but it's generally: "what is more important: memory, speed, or you can get both with autistic levels of optimization + time".

So I'm assuming you're building the index array, which you're passing to the GPU, and this is built based off your octree; basically doing contains tests from the root to the leaf to find your particles that the interactor is contained within (then maybe doing some logic here to find which is cut/bent, appending flags, etc).
To improve construction time of your index array, it's best to just do an estimation CPU side (as doing contains test on an octree is fast, but if you have a lot of particles the GPU is better to sort through this).
So in essence let the GPU decide if it can use the data (i.e. do we actually cut or bend this?), as this is a embarrassingly parallel task, and thus just have the CPU estimate (index a full octant of say 30 particles, don't get exactly which bend/cut, and also prevent going from root -> leaf with fewer levels of subdivision for the octree).


just read this, and already wrote the above.
Might aswell just leave it, but yeah some advice for that above in "optimization notes" section.

This may be helpful too, look at the "CHEAP COLLIDING PARTICLES" section.
beta.unity3d.com/talks/Siggraph2011_SpecialEffectsWithDepth_WithNotes.pdf

also this (uses DX)
github.com/StanEpp/DirectX_ParticleSystem

Hey I'm the user from that post

I ended up trying to do that and learning that it's a terrible fucking method. I know use Capsulecasting which works as I was hoping that thing user posted would

Hey, Sorry for the late reply; Its a bit of both now, with the book system!

They are books you can read in the starting area to help you, but only tutorial stuff. All Lore Books are tide to a quest that is linked to an NPC who rewards you with Gold for collecting it!

turns out getting the size of the append buffer that have the blades of grass (position + how much of it was cut) that were cut takes LONGER than getting the whole array of cut grasses.

For reference (in pic), the incredibly dumb methods that build the 'interact index array'.

Since I am about to solve the issue of 'too big field of grass my append buffer can't store that much', I might as well enclose the grasses in 1x1 (up to 256 blades) or 2x2 or 4x4 squares and never check which indexes to check, just check them all

They both have essentially the same functionality for just detection, though the capsule cast definitely has expanded capabilities, and implementation obviously gives varying results.
Stick with what works imo.


Nice, Sounds Legit; I liked both, concerning the book system!
had to mock your format, rly thou it sounds legit


Also, using getdata is a great way of profiling the actual time it takes for your kernel to finish (as the profiler doesn't "really" profile the time it takes for the kernel to finish, this is on the gpu side's scheduler, so best u can do is estimate within unityā€¦ u can use a visual studio tool like the one provided by nvidia to profile at a low level but it's a pia to setup).


I have a suggestion.
My method for getting counts is to utilize atomic operations on a dedicated RWStructuredBuffer that I ONLY use for counting + debugging (InterlockedAdd, or atomic add; i.e. add/etc operation syncs with all groups; so u can use it across all groups/threads).
So, if you add to the append buffer, and need that count CPU side; then also add to say the CB_counter[myACBufferIdx] utilizing the atomic add operation.
Thus, if you need say 10 different counts, just have an index in that CB_counter per count u need, and then you just have a single small buffer for all of those counts; so you're basically side stepping the middle man of say getting the append buffer's count.
Though, if you need it set back to defaults you need to do a setdata to the counter buffer, but that's such small overhead it's not worth worrying about tbh.

it's a sin
I mention it because it may help with perf.
Not sure if the memory leak has been fixed concerning foreach and iterating over a list, but it's best practice anyways to use a for loop; though foreach is nice for readability it may be costly for perf.
Link for better exp, may be different per usage case, as exp in link:
somasim.com/blog/2015/04/csharp-memory-and-performance-tips-for-unity/

I'm sure it does but the implementation felt fucking impossible

From the way it was told to me I supposed it would be pretty straight forward, turns out it isn't at all, and there's absolutely no info on how to implement it online.
I'd love to try user's thing out, but fuck if I know how

Completely understandable tbh, as many things are easier said than done.
Though yeah, I'd just stick with what works. As there's no sense in wasting time on something you've already got working good enough.

He's not wrong, but he does need to sort himself out.

Nono, its fine, I am aware the way I type is a bit odd. The writing style of my game has pretty much carried over to how I type now

tried that first, it just downloaded an empty video

The Switch port was handled by an external development team.

The bug I'm describing impacted both versions equally. It wasn't an issue with the port, it was just bad code from Nintendo. Nintendo themselves said they had a lot more younger staff working on BoTW so I'm not surprised things like this popped up

It is the first Nintendo title to actually need that amound of LODs though, I'm not surprised it slipped through
It was new ground for them either way

What the fuck is this shit.

It's called a bug, good luck fixing it!

Solved it, my issue wans't that it crashed, but that there's no stack trace.

>start a short book on x86 protected mode assembly to make profiling and debugging easier, I probably won't use any assembly in my shit
It's not exactly progress but it's still sort of useful.

For webm, I'd suggest OBS and then just WEBM for RETARDS it.
obsproject.com/
gitgud.io/nixx/WebMConverter
I've never seen anyone else use this webm cam thing that always opens up the frames at the end of your vids beforeā€¦


Taking a closer look at that blog post, and the thread that's linked in it
forum.unity3d.com/threads/foreach-massively-slower-than-for-when-looping-through-vertices.235011/#post-1560056

The FOR loop is slow (not the foreach loop), and it's because it's sampling a mesh's verticies property in the condition. for/foreach actually have about the same speed after the compiler inlines the method calls upon JIT compilation. The memory leak is pretty slight, so I don't think that using a for loop there will magically fix his problems, especially if he's using the 2017.x builds of unity (that ship with a newer compiler)

I always thought character controller must be the most basic thing to do in a game and I'm just retarded. Good to know it's actually very complicated, maybe I'll make my dream game after all.

I finished buildings. About 12 different variations with different colors and 5 corner types. Also finished the market. Hopefully it gives Mexico vibes. Still need to add the windows and doorframes and detail to give it a dirtier organic look. Church is done though.

...

there's your problem


I think it can if you fuck with it, I remember some dude getting it to

Well I mean you just gotta know what part of Mexico to compare to.

Daily Kowloon update.
How does the music fit/sound?

Jesus Christ that's fucking beautiful.

...

Well then.

...

perty, nice job


First off, I didn't tout it as an absolute solution to every issue concerning iterating, and secondly terribly example as that's a case where it's user error; not the for loop itself.
In the case of having a full understanding of foreach, each of the interfaces it utilizes, then using it will have a negligible impact in most instances w/o a memory leak.
However, for things concerning performance, and large collections/iterations; it's best to do it yourself with the manual for loop, or shit just profile it to make sure it's up to par.

Note, I am being absolute here: a memory leak is still a memory leak, which can add up quite quickly for a full game, and that's to say especially if you have that mentality.
Currently this is especially bad due to the bohemian GC used in unity which jarringly stops everything to GC on the main thread.

Humm interesting, I had no idea, found this:
I hope that functionality includes the latest garbage collector.
Hopefully they'll do a blogpost covering it in detail when it's taken from preview to fully integrated status.


actual study:
nature.com/mp/journal/vaop/ncurrent/full/mp2017155a.html?foxtrotcallback=true

similar study done in 06 (similar results, but better methodology imo):
bic.mni.mcgill.ca/users/vero/PAPERS/bohbot_zijdenbos2007.pdf

Interesting that there's a correlation with grey matter increase in the hippocampus while having a decrease in grey matter for the caudate nucleus, and the same for the inverse.
Note that the caudate nucleus also helps with information processing, and better decision making; while helping with implicit learning/habit formation.
It's a bit of a leap of inductive reasoning, but it makes sense if the latter is a factor in the point of "time passing faster" as one ages, due to formation of habitual activity (go2 work from 9-5, get home eat dinner, do habitual leisure activity, etc, repeat), thus denser grey matter in the caudate nucleus while having deterioration of the hippocampus due to lack of use; while having more activity in one compared to the other due to the density of grey matter respectively (evidence/mri scans citing this in the second study).
Further even it could be a probable cause as to why things like Alzheimer's/etc are more prevalent in those who're past a certain age, and the point that most people form a "habitually dependent" lifestyle (more usage of their caudate nucleus); which leads to the deterioration of their hippocampus thus more susceptibility to said diseases (omitting of course the factor age/cell deterioration).

i've got one point light that's realtime and i've got a couple of torches that are baked point lights
but when i bake the lightmap, the torches don't make any difference
as i remember, there should now be an orange area on the meshes surrounding the torch
what am i doing wrong?
baked GI is turned on

wait, i'm retarded, intensity is 0
thanks asset store, your free assets are a marble

Senior-me is going to get into a lot of trouble.

i only needed a shitty torch model, it takes 2 minutes to get one from the store, 10 minutes to model one myself
except in this case it came with a built in light component and i figured it was probably setup correctly

...

whoever made this torch was a retard

...

Casualization of vidya is giving consumers brain damage, holy shit.

more practice stuff, not quite done, but some progress.
lmk if anything "wrong looking" sticks out like a soar thumb.
Style I'm going for is a mix of irl + extenuating some parts.

sore thumb*

Welp I made a new fluid canister model and renders for it, at some point I will bother for a few more canister model for proper storage like sulfuric acid needs its own canister since the regular one will be destroyed when it gets loaded from it.

quality work user, props to ya

Thanks fam, I wanted my canister to look like pic related but I am still not good enough for smooth modelling so it looks a bit less detailed, oh well it still looks a bit less "flat" now and a bit more detailed then my previous model anyway.

In the first pic, the back muscles look too small and flat. Other parts look pretty big and tense with defined curves of either fat or muscle and then there is this clashing weak back.

Do those bumped lines on 2nd pic, where legs and hips connect actually exist on your reference model? They looks to me like some weird scars.

The parts I redlined on the waist are incorrect. There should be only 2 lines not 3. One for stomach other for waist, because now it looks like too much skin stretched over a skelly mode in that place.

Next time post a whole figure plus details you worked on. It's better to judge model as a whole instead of cutout parts.

Do you plan to use this canister as an in game model or just to create icons like in first pic? Because if the latter then I think more realistic canister wouldn't be as readable in a small scale as this more cartoony one you have now, that has more defined ridges and edges.

Factorio is a 2D game and thus it doesn't support any 3D models at all, Technology icon resolution can be either 64^2 or 128^2, regular item icons is at 32^2 resolution only, it can be made bigger but it will also increase the item scale on the belt and on the machines when additional info is enabled so I stick with 32^2 resolution for the icons/items for now.

Yeah you are right, but I will keep this practice anyway since it is the only way for me to increase details and baked details does matter when I want to make vehicle/building sprites since the resolution for it are much bigger. Like my current T-55 model sprite looks pretty plain which I need to fix soon but I want to try it out with my SU-100 model first since I have made in high-polygon (89k+ polygons)

turned it into an endless wave brawler
currently 5 waves, obviously increasing in difficulty
first two are relatively easy, 3rd gets harder

also postan the demo+instructions here
doctard.itch.io/unnamed-unity-brawler

Good shit, user. Punching is pretty fun so far, if not simplistic.

Thanks mang.

For the three lines thing that comes from the style I'm emulating (a specific character modeler), and also it's on the model I'm using as a reference for hips (an IRL model).
I also find it really appealing for some reason, but I do need to soften that layer of fat that curves into the hips a bit.
The bumped lines part are on the reference for hips I'm using, yes.

I'll fix the rest when I get home.
Oh and I didn't take a pic of the full model bcs the rest isn't done (no detail just the low-poly base).

Also forgot to mention that the "hole" part u specified in the pic is part of the sternum, and it's anatomically correct for that part; though I still need to touch it up a bit (was focusing on the breasts, the sternum part was an afterthought).

How do you implement an item system in a smart way? Have a base item class with all of the parameters an item can have, and then an inherited class with whatever default values for each item? Do it component based? Where do you store the data, maybe even an external file?

Thanks for explanation. I mostly drew fatties or ordinary people, so I was going by gut feeling of how things should look on a more fit person.

Even without detail it's better to see a whole work, it gives better sense of what the proportions are. Just point out that those parts are still in a sketch phase.


Fits well with the rest of the game's graphics.
Also bretty gud improvement on previous canisters.

Have an array of item_t structs that is the size of the maximum amount of items. Realloc to add more space.
For most items, you don't need to store custom data. Just the name, and then some bit fields for what it does. If its really a special snowflake have a void* to an additional item struct and make sure you alloc that and set bit flags that say it has this struct.

I need help with math /agdg/ so check out this problem. I look around using the mouse and it controls two angles. I use these two angles to generate my rotation matrices for the 3d scene. Also there is a translation matrix, this is how the matrices are pushed onto the matrix stack: gluPerspective(90.0f,(float)w / (float)h,1.0f,500.0f);glRotatef(g->theta_y,1,0,0);glRotatef(g->theta_x,0,1,0);glTranslatef(g->camera_x,g->camera_y,g->camera_z);
So, this is my problem. I can use this to look around, but lets say I want to move in 3d space, and, I want to move exactly forwards. I have my two angles, so I should be able to generate a vector that is based on where I am facing, right? That should be doable? So, i tried using spherical coordinates and they didnt work, so this is the question, if I am using those exact standardized matrix operations from that input, how do I get a vector that I can use to make the position move exactly forwards based on the two angles, theta_x and theta_y?

Rate, pls.

SFX were changed as well. I removed the whoosh from running and made falling sound like a sack of bricks.

why was the ceiling a door texture

hippocampus growth/10
but you need to make those ladders sightly shadeless unless you want to enrage everyone

Because my local doctors office ceiling looks just like that, not even joking.

Yeah, likely a good idea.

...

Just make the program delete itself after 99 runs.

NEW BREAD