039768 No.15078478
"I was waiting to make the thread at 4 am but now it's 6 am so let's all do our best and make games" edition
Resources
>>>/agdg/
>>>/vm/
>#8/agdg/ via irc.rizon.net
>Dev resources: http://8agdg.wikidot.com/resources
Links
>Wiki: http://8agdg.wikidot.com/
>Beginner's guide: >>>/agdg/29080
>Previous thread: >>15050052
>Sister thread: >>/vg/27335
Announcements
>QUARTERLY DEMO DAY SCHEDULED FOR August 8th [40 DAYS REMAIN]
>Please contribute to the wiki if you can
Topic: Are jams ever worth participating in?
039768 No.15078487
As for progress, I spent the last few days working on a space partitioning thing so I can pack my textures onto one or more atlas pages. I tried using quad trees naively, but I didn't get very far, but it turns out most algorithms just use some rectangle split thing, which seems to be working fairly well.
I need to still redo it so I can sort out some spaghetti and make it more modular. Also, does this look about as optimized as it can get, provided I pre-sort my data regions? One thing I'm concerned about is how the rectangles will be broken up if I unload textures and free the region, I might have two contiguous squares that could be combined to hold a large texture, but it might not recognize that, for example.
Perhaps I could just rebuild the tree after I'm done unloading and finalize the textures? I don't think my games are going to be complex enough to worry about this.
200796 No.15078507
Animu revolution soon
I wonder if this will make actual good models or if it's Poser-tier
1ab68d No.15078563
>>15078507
Looks like an excellent way to make generic cookie cutter models that all look the same.
44897e No.15078568
d8c789 No.15078946
>>15078507
I thought this was cool too the first time I watched it but then I realized it's snake oil.
1.) The hair isn't magic, the strands don't line up. Meaning each nurb path is the same UV unwrapped texture. You can already do this in Blender. Only difference is that they have a pen tool for spawning them. This also only works for that kind of hairstyle.
2.) The texture painting is apparently literally just that, texture painting. Nothing new either. I imagine they could split the pupils afterwards but I'd really want some way to have different head shapes to avoid sameface.
d37849 No.15079063
>>15079019
But can you make your waifu real in Blender?
44897e No.15079097
File: fcc4f9c17c30303⋯.jpg (Spoiler Image, 208.69 KB, 800x1610, 80:161, ZhenZhenKillingChechens.jpg)

>>15079063
Why create a waifu when yours already exists??
a7a9e4 No.15079213
AAAAAAAAAAAAAAAA
this seemingly works, but i think the particles are fucking it up
Shader "Custom/Transparent"
{
Properties
{
_Color ("Color", Color) = (1,1,1,1)
_MainTex ("Albedo (RGB)", 2D) = "white" {}
_BumpMap ("Bumpmap", 2D) = "bump" {}
_EmissionColor ("Emission", Color) = (0,0,0,0)
_Glossiness ("Smoothness", Range(0,1)) = 0.5
_Metallic ("Metallic", Range(0,1)) = 0.0
}
SubShader
{
Tags {"Queue" = "Transparent-1" "RenderType"="Transparent" }
LOD 200
// extra pass that renders to depth buffer only
Pass {
ZWrite On
ColorMask 0
}
CGPROGRAM
#pragma surface surf Standard fullforwardshadows alpha:fade
#pragma target 3.0
sampler2D _MainTex;
sampler2D _BumpMap;
float4 _EmissionColor;
struct Input {
float2 uv_MainTex;
float2 uv_BumpMap;
float3 worldPos : TEXCOORD1;
};
half _Glossiness;
half _Metallic;
fixed4 _Color;
void surf (Input IN, inout SurfaceOutputStandard o)
{
fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
o.Albedo = c.rgb;
o.Metallic = _Metallic;
o.Smoothness = _Glossiness;
o.Normal = UnpackNormal (tex2D (_BumpMap, IN.uv_BumpMap));
o.Alpha = 1 - (distance(IN.worldPos, _WorldSpaceCameraPos)-45) / 50;
o.Emission = _EmissionColor;
}
ENDCG
}
FallBack "Standard"
}
200796 No.15079221
>>15079019
sure you can, but this seems faster and easier, especially for the faggots among us that can't do any art and for whom perfecting the topology and anatomy of their waifu model would be endless suffering and failure like me
>>15078563
>make generic cookie cutter models
so we'd be making aidolmaster clone
>>15078946
maybe you're tight
time for endless suffering
f21297 No.15079349
Chibi test. The shape fits neatly into my desired hitbox, and the size is good for visibility. Will design actual characters in this style from now on.
68b835 No.15079701
>>15079349
Are you gonna add a cute girl?
854cae No.15080102
>>15079701
Oy vey get a load of this misogynistic incel, this is a TEXTBOOK EXAMPLE of a cute girl. If you don't like xer then I'm calling the hate crime police.
5a92b3 No.15080127
>>15080102
and xhe is black even, so empowering :^)
4d28d9 No.15080203
>>15078568
Only shitty anime that aren't worth your time have characters that all look the same.
a7a9e4 No.15080342
>>15079213
well i fixed most of it
https://pastebin.com/dSJagjYs
i only can't figure out why i'm getting flickering lights under certain angles/distance
089ba3 No.15080670
>>15079349
>almost a year later
>no Linux build for Speebot
Nigger, if you're too busy or something I could do one for you.
da53d2 No.15080749
>>15080203
>Only shitty anime that aren't worth your time have characters that all look the same.
>proceeds to post anime character designs by Yoshiyuki "sameface" Sadamoto
7826b6 No.15080755
>successfully read bmp file header
AHHHHHH HAHAHAHA
It took longer than it probably should have
b8906d No.15080766
>>15080342
You trying to read images files to turn them into levels or something?
039768 No.15080773
>>15080755
How did you manage that?
854cae No.15080793
>>15080755
Now try reading PNG files
a7a9e4 No.15080795
>>15080766
no? it's a standard surface shader
i'm just trying to make it fade out if it's far enough. so far that works, but for some reason the lighting is bugged
b8906d No.15080854
>>15080793
>every slightly different colored tile is a different 64x64 texture kept in memory
>software rendering trying to draw every pixel as a 64x64 image before shrinking it down to close to nothing
>89kB image turns into a 600MB monster running at a silky 2FPS
I think I'm not going to prematurely optimize for shitposting.
4d28d9 No.15080870
>>15080749
Sadamoto only has sameface on young characters. When it comes to adult characters there's a great variance in his designs. Which is why I posted Evangelion because the adults all have a good variance in face shape.
7826b6 No.15080877
>>15080773
Pitifully, using
https://web.archive.org/web/20080912171714/http://www.fortunecity.com/skyscraper/windows/364/bmpffrmt.html
and googling behind others who had my problems. Also I'm using c++
>>15080793
I know you're trying to hurt me. What would the advantage using PNG besides compression and better management of space? I'm not concerned about such things right now but I probably will one day. They're both (bmp and png) free to use commercially, right?
d976bd No.15080926
>>15078487
Pretty cool algorithm. Maybe resort and combine if you feel like it before building the GL texture and uploading to GPU.
Have you looked into 3D texture atlases? u,v,w tex coordinates, each page has to have the same u,v dimensions, but most gfx cards can handle quite a few w-coord pages.
039768 No.15080997
>>15080877
From SFML:
>The supported image formats are bmp, png, tga, jpg, gif, psd, hdr and pic. Some format options are not supported, like progressive jpeg. If this function fails, the image is left unchanged.
Most file formats should be open these days. At the very least, .gif's copyright lapsed some time last decade, so it's been free for a while. Jpg is too lossy to worry about, but might be nice to support, and bmp, but also .png remains best for games in most cases.
As for audio, .ogg and .wav seem to be preferred. .mp3 is heavily copyrighted, still
039768 No.15081046
>>15080926
Nah, I haven't had a chance to look into 3d textures yet. I used XNA for a long time, but only for 2D, and then as of about a year ago moved into SFML, which is strictly 2D, but way easier to manage resources and stuff, I've found.
854cae No.15081049
>>15080997
You don't want to distribute your 4k photo textures as PNG files, JPG is the best for that purpose.
039768 No.15081086
>>15081049
Personally, I think 4k textures are a dumb meme, so I never looked into them much. As they actually shipped as jpegs? I'm in love with indexed png's, you can make so much toaster stuff
7826b6 No.15081204
>>15080997
Nice. Thanks for the audio tip too, that's something I've only began to minimally considered.
At the moment I'm trying to hide my sprites in a data file so they are not lying around for just anyone to substitute. A savvy player might notice 424d repeating in the file and not be fooled. I was pretty happy with my progress. Now I see your sweet >>15078487 and am reminded of what a pleb I am.
>mfw
7826b6 No.15081239
>>15081204
>began to minimally considered
Just put me out of my misery
039768 No.15081786
>In order to implement texture packing, I need to maintain a sorted set of coordinates that are allocated and unallocated
>This means I need a tree of some kind
>Try to implement red-black tree because it's self-balancing and has essentially the same footprint as a regular BST
>Remember there's a trick to saving a ton of pointers and data density by just packing all your nodes into an array and inferring the position
>Stare at screen for 30 minutes because I can't fucking remember how I did it before
039768 No.15082234
a33b86 No.15082320
do i really need to know all this complex math shit…
I only know the basics like addition, subtraction, multiplication and division..no quaternions trigometry rocket science
039768 No.15082542
>>15082320
You should at least understand trigonometry (sin/cos ratios) and linear algebra (interpolation). Understanding the logic behind matrix transformations is useful, too, though you don't have to implement it yourself usually.
4900de No.15082606
>>15082320
Depends on what you want to do. Is your game 2D or 3D? Are you using an engine or building it from scratch?
Like >>15082542 said you need to understand trig at least, and I will add that you also need to have a strong regular algebra foundation. You can get away with minimal linear algebra knowledge if you are using an engine and you aren't doing anything complex.
a33b86 No.15082627
>>15082606
i wanted to make a beat em up/hack and slash but NGMI bros because i dont know the slightest thing about any of that and yeah i'd be using unity
4900de No.15082692
>>15082627
NGMI?
Is it 3d or 2d?
a33b86 No.15082696
>>15082692
Not Gonna Make It
it's 3D
4900de No.15082706
>>15082696
Alright. The higher you go in dimensions the more math is involved.
If the game is simple enough you could probably get away with only learning trig as you need it.
a33b86 No.15082721
>>15082706
Nah I'm not even gonna bother, I've failed every single math test throughout high school and we didn't even have any advanced stuff like trigometry, i'll stick to being a motherfucking wageslave cashier
039768 No.15082729
>>15082627
Just like make game
It's all hobbies for fun, anon. Any anon that finishes a game can hardly be called amateur in my opinion, and once you figure some basic shit out, you probably won't need these threads, except to show off.
a33b86 No.15082734
d976bd No.15082803
Finally getting around to adding shadowmaps. Realize I need to completely reorganize my rendering system to allow shadowmap rendering to FBO pass before the main render pass. I'll actually have to have some sort of organized scene graph instead of just recursively running through the nodes (twice per frame now). No motivation.
On the upside, physics is working and driving simulation is working, including independent power to each rear wheel and suspension travel model.
7826b6 No.15082807
>>15082721
As a cashier does money counting come easy or do you struggle and count on your fingers? Failing math tests in high school doesn't necessarily mean you don't have an aptitude for the subject. I had a parade of shitty teachers and even though I didn't grasp a lot of shit the balance and logic of math made a natural sense to me. Studying on my own it comes easily enough, especially when applying it instantly to a project, seeing the results, tweaking the values and seeing the results. Unity is a good environment for such experiments. Do as >>15082706 says and study these subjects as you need them. Don't get bogged down in what you can't do, utilize what you are capable of while improving what you aren't. Also there's hundreds of youtube fuckers doing unity tutorials and if you watch enough someone usually someone expresses the stuff in a way that breaks through your ignorance – speaking from experience.
a33b86 No.15082813
>>15082807
idk i just use a calculator but i do have to use my fingers if i try and do it without a calculator
d976bd No.15082819
>>15082807
Same with me. I struggled until university where I had some excellent instructors. I actually failed the calculus entry test but the head of the mathematics department let me study and retake it. My trig really sucked. Doing projects on the side that used it really helped me get up to speed.
7826b6 No.15082914
>>15082813
No one will come into your house and keep you from using a calculator, besides that is a lot of what programming languages do for you, calculate things. You just need to know the proper formula or which measurement to use in what case. You don't even have to memorize these, just be aware of their existence and know which book or website to reach for at the right time. The rules and logic that govern them are the most important aspects and you're likely somewhat familiar with these being that you live on earth and have maybe kicked a ball once in your life. It may not be as hard as you think. I'm speaking about 2D games and 3D games through the aid of an engine here. If you were to build a 3d game from scratch you'd need powerful math skills.
>>15082819
Sounds fortunate, anon. What's that you're working on? Looks sort of like the Mako.
08998d No.15082926
Any good videos or tutorials on character animation?
Like if I was to animate a character for a thirdperson game. I want animations for idle, walking, and jumping.
4900de No.15083632
>>15082926
You would want three for jumping. One for when they leave the ground, a loop for when they're in the air, and an animation for when they land.'
Have you checked the wiki? http://8agdg.wikidot.com/resources#toc14
b8906d No.15084787
>getting better performance with my loose grid than with my quadtree, which was already more than adequate for my purposes
>this is pretty good
>forgot that I had a full iteration of my grid somewhere for debugging purposes
>collision detection falls off the profiler completely
54da37 No.15084796
>>15081786
You mean like 2-3-4 trees?
2238b0 No.15085403
>transparent shader can't receive shadows even if the alpha is at 1
kill me
any other way of fading meshes in unity in/out while also having shadows?
55044d No.15085785
>>15084796
Yeah, I think. I'm mostly stumbling through it and hoping it works
6891a1 No.15085998
Here @ see it as playes. Much towarps but this is the start.
Next I have walls once I finger out how to make # and walls.
869bf1 No.15086078
>>15085998
Jesus christ, type more slowly.
facc12 No.15086871
>assemble a team
>we're making serious progress
>game is playable online, combat mechanics nailed down
>time to ask for money
>everyone blocks, deletes me or tells me "i don't give money away over the internet"
>survive on cryptoshits trading
but i signed up for this, i'll see my game made someday
e3d464 No.15086924
>>15086871
Why the fuck would you ask money from your own team members?
facc12 No.15086936
>>15086924
i didn't ask my team, i thought it was a given that i asked acquitances for money
8d337e No.15086954
>>15086936
I seriously hope you're autistic, because there's no way anyone can seriously believe this.
777ced No.15086962
>>15086936
>>15086871
So basically your acquaintances don't believe in your passion and dream?
Just keep going I say
e3d464 No.15086966
>>15086936
No, your post very much made it sound like you just lost your entire team.
089ba3 No.15086971
>>15086871
>>15086936
>asking people for money
At least tell me you have a really good reason for not finding the dosh yourself.
94ca8c No.15087308
>>15086936
Did you at least tell them you'd pay them back in full with interest?
5a92b3 No.15087915
>>15087308
>with interest?
shoo shoo, jew
039768 No.15088180
Shit, I need a convention for naming and organizing private methods/fields. Previously I just used m_someVarName but it feels wonky giving that same convention to statics and methods
d976bd No.15088408
>>15082914
Yeah it's the mako ripped out of ME1. I'm just messing around with a planetary exploration thing and getting the driving feeling right. I'm modelling my own rover model in blender, much larger. with interior. I'd like to make a game about salvaging wrecked ships and abandoned power plants, refineries.
>>15088180
I use some_function() for private and anotherFunction() for public. don't bother with the rage. I already know it's a degenerate style.
>>15086871
You should ask for loans, not free money. Even from close relatives.
039768 No.15088441
>>15088408
>Rent from sister and her husband
>Le sexual assault face, she moves out
>Nice guy but I think he just got too drunk and frustrated at money and took it out on her unfairly
>Still rent from him
>Offered to buy her a $300 bed for her kid, using my work discount, so the new place is furnished
>Her job screwed her at the same time because she was an "independent contractor" at a small local media company and the owner of it quit and decided not to pay anyone
>Had to spot her another $2,000 so she had rent money
>She filed a civil suit so she can get backpayment that is owed
Shit sucks for her. I'm borderline NEET and just saving what little bits here and there while I work part time. Sage for the blogpost. tldr, family
039768 No.15089365
>>15089356
Say "Rabbit rabbit rabbit" because it's the start of a new month?
7d7ed1 No.15089376
Is your game inclusive to the RGBA+ community?
019d0e No.15089378
>>15089365
Stay away with that curse of yours
SHOO SHOO EVIL RABBI JEW
089ba3 No.15089385
>>15089365
>>15089378
>posting the inferior version
02d1bf No.15089388
HookTube embed. Click on thumbnail to play.
>>15089378
shoo shoo evil rabbi jew
089ba3 No.15089446
>>15089378
I'd repost immunity dog for paranoid anons but I haven't saved it.
493d95 No.15089458
>>15089446
Immunity dog can't protect you if you don't save him!
ce67d7 No.15089514
54da37 No.15089640
>>15089514
Just whack them with a stick.
039768 No.15089748
Actually I don't know if this is any better.
So this isn't implemented with a tree or anything like that, I literally just store a list of IntRect, one for free and one for allocated regions. I grab the smallest region from the list that the requested Add(w,h) will fit into, and when I split the subregions, I look to see if horizontal or vertical is smaller. I try to make the smallest split possible.
Works great for powers of 2 textures, but pretty jaggy with misshapen ones
039768 No.15089778
Oh actually it works pretty good when unsorted random sizes are thrown at it
0658c6 No.15090875
How do I force Unity to use the exact resolution I want? I know it's impossible to do in full screen but I had hoped I could do it using the "window mode only" option where you can set the exact window size in pixels, but for some reason no matter what numbers I write there doesn't seem to be any difference and instead the window fills as much space on the screen as it can.
0658c6 No.15090906
>>15090875
And now it's working. Asking for help really does magically fix any problem I have.
320fc7 No.15091111
Does anyone know what inverse matrices are used for in skeletal animation?
089ba3 No.15091285
>>15089458
Funny, the version I saw didn't have the save requirement.
fcbdf0 No.15091441
>>15089365
Where's she buried, Tewinigger? Also Hong Meiling is a good-for-nothing dirty whore who would gladly get fucked by bald old men.
>>15091111
Nice quads my dude, but remember this, Google is your friend.
320fc7 No.15091442
>>15091111
Nvm I figured it out.
320fc7 No.15091446
>>15091441
>Google is your friend.
Google wasn't helping because the explanations where convoluted. At least the ones I got.
d976bd No.15091453
>>15091111
The way I understand it is that the inverse matrix for the bone transform converts your vertex coordinate from world space to the bone's local coord sys so that you can apply the bone's local animation transform to it.
I'm assuming you are talking about the bone's inverse bind-pose matrix.
854cae No.15091462
I'm somewhat new to gamedev in C, how do you typically manage references between things?
For example I have an object, let's say a camera, and it has something else that it follows. But if that something is in an array, it's position may change frequently, so a simple pointer to it won't work. And what if that something gets deleted and something else shifts into it's place? Same problem exists more fundamentally, like how do I link a sprite(s) with an object so they can move together? I know allocating data randomly and referring to it through pointers is very bad for performance, but I'm having difficulty designing things in another way.
cb922a No.15091510
>>15091462
I think you have multiple misunderstandings.
854cae No.15091513
>>15091510
I think your comment provides nothing of value.
cb922a No.15091523
>>15091513
I don't write in C so I can't advise you well, but the way you phrased your questions leads me to believe you have a weak grasp of some fundamental things.
a658db No.15091539
>>15091462
The camera would either hold a pointer to a position or a copy of the position. If the position changes then it the region of memory it's in doesn't change, only the values in that region. If the region of memory it's stored in changes that can only be done by copying it to another allocated region of memory. You should not worry about performance but about learning at this stage. You're already writing a faster program than C#, etc.
854cae No.15091542
>>15091523
Yeah well, unless you're going to mention anything specific at all, I'm not going to gain anything from that comment.
I know how to use C but I don't know how to design things in it because I'm used to everything being abstracted object systems that magically justwerk.
54da37 No.15091559
>>15091462
Your objects shouldn't be jumping around in memory tbh. Sometimes people do it to keep arrays packed for performance, but then the cost of updating pointers, or accepting that you can't refer to them directly kind of follows along (this is also why people warn about optimizing too early - optimizations involve making assumptions, which puts constraints on everything else you can do, including other optimizations). In your case you could just have the object have a reference back to the camera so it could update the camera when it's removed.
>I know allocating data randomly and referring to it through pointers is very bad for performance, but I'm having difficulty designing things in another way.
Then do it in a way that works and worry about optimizing it later.
ce88b9 No.15091565
>>15091462
Stop thinking in abstractions.
>But if that something is in an array, it's position may change frequently
It's position in the array? Why would it do that?
>how do I link a sprite(s) with an object so they can move together?
Draw the sprite at the specified position?
I think that other anon has a point when he says you have multiple misunderstandings.
b8906d No.15091569
>>15091462
If the things to be followed all had an ID besides just their index in the array, you could go through your array and find the right one. You'd likely only need to do this once per frame at most, so it'd be a negligible cost. Also, this sort of thing might come in handy later when you want to get any specific item. Going by array indexes alone can work if your set of items is pretty static or only grows.
Alternatively, you might make sure to always update your camera when the thing that's followed moves.
Or have the camera be just a struct of coordinates and have the followed thing update it instead. If it has a particular flag set (or just a camera address defined as something other than nullptr), whenever that thing gets processed, it should update the camera position. Why does the camera need to track something? You won't be making a new camera or moving it around in memory that often, right?
Followed thing jumps around in the array? Doesn't matter, the followed thing does the updating.
Followed thing dies? Camera just doesn't get updated anymore.
You might want to share how you're organizing your data and general game loop.
The empirical "array of things" probably shouldn't see that much unpredictable movement.
e3d464 No.15091570
>>15091462
>But if that something is in an array, it's position may change frequently
That's not how pointers and arrays work, in practice. If you have something a camera follows, it's just about always going to be a struct of some kind, and you would make an array of those an array of pointers to structs rather than just an array of the structs themselves, especially if they're going to be changing order a lot. As such, the actual pointer to the struct is never going to change.
> like how do I link a sprite(s) with an object so they can move together? I know allocating data randomly and referring to it through pointers is very bad for performance
You're most likely going to have a lot more "objects" than sprites, so you just create an array of sprites, and instead of giving the "object" an int to the index of the sprite in the array instead of a pointer
cb922a No.15091583
>>15091542
Referring to your original post then: pointers are how you do references in C, and there are no objects unless you mean instances of structs. You probably don't want to tie your render and game logic together too tightly so be careful of these references between game entities and rendering entities that you mention.
>allocating data randomly
You don't do it randomly, you do it for data that needs to outlive the scope it was created in.
725460 No.15091610
I started over with my editor last night since I wasn't happy how I'd painted myself into a corner with the previous attempt. Took the opportunity to redesign the UI so it would fit in more with the kinda era the game is trying to replicate so that it won't be jarring to switch to it from in game. Focusing on the UI layout/handling for now, since I can lift a lot of the editing logic from the old version.
854cae No.15091624
>>15091539
>You should not worry about performance but about learning at this stage
I've already made a fairly extensive game engine in a scripting language, and understand how to use C. I'm just not used to designing things in ways that are more "data-oriented", so I'm not sure what approach I should take for things.
>In your case you could just have the object have a reference back to the camera so it could update the camera when it's removed.
But that means literally everything needs to have an array of pointers to things that might possibly be following it.
>>15091565
>It's position in the array? Why would it do that?
Like if you add a new sprite, you want to order them so that GL state changes need to happen less often, and maybe so that transparency can be rendered properly.
>Draw the sprite at the specified position?
At what specified position? Where do you get that position and how do you update it when the object it's related to moves? The pointer that points from the object to sprite (or vice versa) will break if one of them moves within the array they're in, unless everyone has pointers pointing to everyone else they're related to, at which point you're chasing a million pointers and might as well use something shit like a linked list.
>>15091583
>be careful of these references between game entities and rendering entities
Almost every sprite needs to be tied to something, otherwise they won't move as the object moves.
cb922a No.15091635
>>15091624
But you can do it without tying them in the data, instead tie them in the render logic which observes the game state or thereabouts
ba6d3b No.15091636
>>15091462
When you have references that may get invalidated, you either force to holder to check its validation anytime it wants to use it or use the observer pattern so whenever something gets deleted it notifies all objects that should be interested.
Using pointers isn't bad nor is it very bad for performance, it has its uses.
You mentioned two very different cases in your post, generally you will have one and only one camera (or at least active camera), so it's easy to update it, when you need to do so only for one or few objects, then you can refer to them directly, and you wouldn't care about performance in this case.
854cae No.15091705
>>15091636
>whenever something gets deleted it notifies all objects that should be interested
Sounds like the best direction I've got so far.
>Using pointers isn't bad nor is it very bad for performance
In order for it to not be bad for performance, you need the data to be organized and accessed relatively contiguously.
Camera is just the first example I ran into. Let's say homing missiles instead.
039768 No.15091767
I'm really stumped about how to approach this texture packing for some reason.
Most implementations I've seen say to use a tree, but I can't conceptualize how to look shit up. Like I get you branch left/right depending on whether it's smaller or bigger, but how do you know whether a particular branch has a free value to insert into? Pic related
cb922a No.15091774
>>15091705
I think you need to grapple with your fundamental abstractions before you concern yourself with the performance of something you haven't written yet
54da37 No.15091791
>>15091767
Presumably nodes would have an annotation saying how big their largest free subarea is.
039768 No.15091802
>>15091791
Oh that makes sense. I never thought about that, since I was trying to keep my nodes as structs (C#) so they would be contiguous in memory and as small as possible (eg I don't want to attach a XYWH rectangle to every node because that's silly, since intermediate nodes have no data)
a84476 No.15091813
039768 No.15091824
ce88b9 No.15091977
>go to 4/agdg/
>everyone's using unity or some premade engine that they don't even understand
>they ask for help with fucking syntax
>go to 8/agdg/
>people are actually taking the time to understand how games function and implement every aspect of a game at the lowest level
If you ever feel unmotivated, just remember where other people are compared to where you're at. It's going to get better from here, but only if you put in the work.
e3d464 No.15091992
>>15091977
As far as I know halfchan has a lot more projects going at the same time with more progress on them as well though.
Except they get dropped after a while anyway so it doesn't count for much.
cb922a No.15092004
>>15091977
I used to visit cuck/agdg/ several years ago. It was an absolute shithole, and the metafag circlejerking was batshit insane with multiple trannys and tripfags ruining every other thread. It was a terrible, terrible place that sapped all my interest in game dev.
8ab4ee No.15092187
>>15092004
You can avoid most of the poz because most of those types hate the low level stuff with a passion.
54da37 No.15092217
>>15092004
The whole reason I left 4chan in the first place was opening an /agdg/ thread and scrolling past the first hundred posts without seeing anything on-topic.
039768 No.15092705
So I realized that I didn't necessarily need to bind my partitions to a particular region on creation - I can just add a region to its list for it to divvy it up. So now, I can have one partitioning object manage several non-contiguous spaces.
I also added a field to discard regions if they fail a threshold test (width or height too low, or area too low)
5ce4bd No.15092797
>find a torrent with so many assets I can use, I can't even humanly search through them all
>don't even know what is and isn't copyrighted
>country I live in doesn't even have a concept of 'public domain'
I guess I can still do a special edition pirate release with everything in it, right g-guys?
039768 No.15092825
>>15092797
Most companies don't want to waste the time and effort and bad publicity chasing random people down; therefore, if you use said assets strictly for personal education, and ensure that you don't publish them with eg a code repository, you should be fine.
5ce4bd No.15092828
>>15092825
I think I might end up trying to sell this game. That's why I'm worried.
cacf58 No.15092831
>>15092705
That's cool, is it for a sprite based system or will the textures be used for 3D?
cacf58 No.15092838
>>15092797
>>15092828
Twist them to the point they can't be recognized by their creators
039768 No.15092859
>>15092831
Unless I'm mistaken, it should work with either, but then I've never worked with 3D textures before, nor does SFML support them, therefore it will likely just be for sprite games.
Before, I had created a few 512x512 spritesheets for my puzzle game, but wasn't sure how to approach the file structure, because of things like animations, or not having everything fit on one image. After playing Factorio and seeing how they approached it, I decided to also do texture atlasing as well; I'll load all my small textures of random size (which happen to be powers of 2), stitch up one or more atlas pages, and remap the texture coordinates on startup.
320fc7 No.15092940
>>15091453
If I multiplied a vertex by it's joints inverseBindMatrix, the vertex should be at 0,0,0 + its offset from the joint. Right?
a84476 No.15093129
>>15092828
Use them as placeholders and once your game is close to finish you can use your progress to attract artists to swap the assets with.
4d28d9 No.15093393
>>15091977
I went to cuck/agdg/ once and I was mad at how much they promoted laziness. Whenever people lamented at not being good at coding the anons there would unironically recommend the drag n drag feature of Game Maker Studio. Nothing good will ever come out of cuck/agdg/
d976bd No.15093408
>>15092940
Yes, that's right. offset from the bone in its default pose. I think. I really haven't figured out skinning all the way through yet.
>>15092859
you're system should work no problem for textures for 3D objects too. It's a pretty nice system you've made.
I have an atlas with textures for all the small props in my convenience store model. I placed them all by hand. was time consuming. a routine to load the texture, place it in the atlas, and change the tex coordinates would have been really nice.
01e77f No.15093442
13380f No.15093466
What's an effective way to cull rendered objects (2D)?
I'm currently considering just culling all the renders outside of the quadtree the camera finds itself in.
039768 No.15093501
>>15093466
In 3D, you'd use a view frustum. In 2D, a bounding box. In both cases you'd use a space partitioning like quad trees to remove the bulk of the objects first, then omit anything that doesn't intersect the camera bounds
44897e No.15093725
It took 1050 lines of code but I finally managed to draw a triangle with the Vulkan SDK, plain C and GLFW
039768 No.15093741
>>15093725
>Step 1: Draw a triangle
>Step 2: Draw the rest of the game
4d28d9 No.15093767
>>15093741
Drawing objects is a snowballing process. It takes a long time to get to the triangle, but once you get there, things start falling into place.
016ccc No.15093904
Question for game developers.
How do you feel about the "community" on youtube that reads tcrf pages and don't actually take games apart to find unused things about the game, and I'm not talking like, rewording the article so it can be easily viewed, I mean like that Tetrabit faggot who literally reads TCRF articles verbatim without even doing any work of their own.
bac73d No.15093991
>>15091610
Looks good. Are you using a graphics toolkit for those UIs or did you write your own?
4900de No.15094022
>>15093904
I've never seen any of those youtube channels, but I'm not a big fan of content aggregaters on youtube as a general rule. It usually shows someone doing something for the money rather than out of passion.
0b8a46 No.15094076
>do a loop
>it doesn't work
>print the numbers so I can see what's going on
>apparently -1 is bigger than 151.
How the fuck do I test whether a number is smaller than another, while taking into account negative numbers?
974726 No.15094095
>>15094076
Seems like you're mixing up your unsigned and signed integers, friendo.
For signed integers, -1 < 151.
For unsigned integers, -1 > 151. This is because -1 translates to the highest unsigned integer possible, which is 2^32 - 1 for 32 bit integers.
d8c789 No.15094096
Some kiss logic implementations and throwing in more animations. Some subject to change.
0b8a46 No.15094105
>>15094095
Then how do I force the compiler to use a signed integer? Because this is the loop: for (signed int xpx=-weight; xpx<w+weight; xpx++)
54da37 No.15094110
974726 No.15094115
>>15094105
By default integers are signed, so putting "signed" in front of an integer does absolutely nothing. When your variable type is "unsigned int" or just "unsigned" it is an unsigned integer.
What most likely screws you over is the fact that you are performing operations or comparisons with an unsigned integer somewhere. If you perform an operation or comparison between two different types, one of the types gets transformed depending on which types are used. If you are comparing a same-size signed integer to same-size unsigned integer, then the signed integers becomes an unsigned integer before the comparison happens.
In your code, xpx is definitely signed. But if w or weight are unsigned, then the comparison in the loop is unsigned too.
0b8a46 No.15094120
>>15094115
Width and weight were both unsigned since they'll never need to be negative. I changed them to signed and it works.
Thanks, I had no idea it would do that. Weird that I've never ran into this before.
54da37 No.15094121
>>15094114
Is weight itself signed?
974726 No.15094127
>>15094114
>>15094120
I also want to note that you shouldn't assume printf prints things correctly. %i always prints a signed integer, so if you toss a float or unsigned in there, it'll end up writing something different than you'd expect.
You should also pass -Wall -Wextra to your compiler so it vomits warnings at you. Many compilers give warnings for comparing signed to unsigned integers, since its something you should generally never do. (And in the case you do need it, an explicit typecast improves readability and makes the warning go away.)
a84476 No.15094140
>>15093741
>>15093767
Indeed, the first steps are the slowest.
cb922a No.15094463
>>15093904
I have never seen them and don't care even remotely, why do you?
cb922a No.15094467
>>15094127
Don't forget -Wpedantic -Werror
89ce7e No.15094518
974726 No.15094597
>>15094467
Those flags are useless though. -Wpendantic is only for when you want your code to be 100% language standard compliant, and -Werror is just to stop retards from ignoring compiler warnings.
0ef1e4 No.15094628
d976bd No.15094634
>>15094115
>>15094127
Really useful and well-written responses.
Also, you can explicitly cast types. This can maybe make things a bit clearer, and are at least good experiments to help understand variable types and when the compiler is automatically casting types for you.
float y = 10.3f;
int x = 3;
int z = 5;
float p = (float) x / (float) z + y;
float r = x / z + y;
printf( "p: %f, r: %f\n", p, r );
5a92b3 No.15094671
>>15091441
>Also Hong Meiling is a good-for-nothing dirty whore who would gladly get fucked by bald old men.
*Meiling Hong
also delete yourself
3716f3 No.15094920
>>15094597
Yes, it was a simple joke
0658c6 No.15095443
Isn't this the same asset pack cuckdev is using?
99215b No.15095509
What should i do with the pink room? I need to put the bathrooms somewhere, but above the kitchen seems like a very bad idea
33828f No.15095515
>>15095509
Storage closet for cleaning supplies or a laundry room.
99215b No.15095517
>>15094096
CUTE
>>15095443
That cuck doesn't make his own models? what a loser
99215b No.15095519
>>15095515
oohhh, true, almost forgot the laundry room
should i put the bathrooms underground then?
86c800 No.15095523
>>15095509
You could put the bathrooms where the pink room is. But then you run into "Well, what goes where the bathrooms were?" Maybe an attic? You could have it locked and the player finds a key somewhere and have it be the "Dev room/concept/scrapped content closet"
e3d464 No.15095530
>>15095519
Outside, three small onsen (men, women, mixed)
d976bd No.15095534
>>15095509
storage and laundry. dumb waiters up to the rooms from the kitchen. laundry chutes from rooms to laundry level. A 5 story tavern? I like how you think. Maybe make the top half a conservatory or games room.
99215b No.15095565
>>15095523
>>15095530
>>15095534
thanks for the feedback, will work more on it and post progress later
016ccc No.15095590
>>15094463
because people should read tcrf and not give jewtubers that don't even do their own work money?
0658c6 No.15095626
>>15095517
Did author of that free anime girl model get anything out of yendere sim's popularity? I say this model is responsible for about 50% of the meme popularity the game gathered, not to mention it became the its symbol. It would seem really unfair if he didn't.
320fc7 No.15095956
>>15095626
> It would seem really (((unfair))) if he didn't.
5a92b3 No.15095993
So am i just being retarded, or can you not put constants into a struct? I'm using C.
99215b No.15096000
320fc7 No.15096049
>>15095993
Would that even work? C doesn't have constructors, so you can't set it. It'd be whatever the memory spot it allocated had.
320fc7 No.15096059
>>15096025
OOP can turn into spaghetti code if abused. You shouldn't cling onto buzzwords just because people say it's the correct way. You should figure out what your goals are and pick the tool based off that. 80-90% of the time OOP works, though.
854cae No.15096088
>>15096025
Regardless of if you learn it or not, you shouldn't "follow" any particular paradigm. They all have their own elements of good and bad, and you're only putting cement into your boots by subscribing to one of them and disregarding the rest.
b8906d No.15096121
>>15095993
I think you had to leave the constants declared but uninitialized, and then give them values during initialization.
Unless you do some memory fuckery to bypass the constness.
typedef struct {
const int dicks;
const unsigned fucks;
} Fuck;
Fuck my_fuck = { 2, 0 };
printf("%d dicks, %u fucks\n", my_fuck.dicks, my_fuck.fucks);
2 dicks, 0 fucks
5a92b3 No.15096241
>>15096049
>>15096121
>I think you had to leave the constants declared but uninitialized, and then give them values during initialization.
nah, doesnt't work, compiler complains about assigning to const.
How much of a difference to using const would it make to just not ever manipulate a variable after it was initialized?
320fc7 No.15096252
>>15096204
> I want to stop being a pleb and actually learn professional practices instead of some retard who was super stubborn for many years and refused to read any theory books because I thought I was too good for them.
Books are shit watch conferences. Game devs show up to CppCon occasionally and other conventions. There's also GDC but it's 90% hardcore hard-left SJW pozz, and 10% people who actually make games
>>15096241
>How much of a difference to using const would it make to just not ever manipulate a variable after it was initialized?
Compiler might not know and not be able to micro-optimize around it and you might change it by accident. There's always const_cast but I don't know if it's in C.
320fc7 No.15096276
>>15096263
None. I usually realize I fucked up hard somewhere in my engine and start over.
5a92b3 No.15096286
>Compiler might not know and not be able to micro-optimize around it
I guess I'll just have to deal with it, regarding structs. But I'll continue using const wherever else i can.
> you might change it by accident.
I'll try to not be a dumbass.
>There's always const_cast but I don't know if it's in C.
Appearently it's C++.
320fc7 No.15096292
>>15096280
Or you knew there's only 2 engine yes-devs to the +100 no-devs in this thread. Ask sigma or speebot-dev what they did then.
a4dbfb No.15096311
Been working on a Graph Based Quest editor, what do you guys think of what I have so far?
d976bd No.15096370
>>15095993
Yes, you can use the const type qualifier. You must initialize and declare the variable at the same time. You cannot modify a const variable at any point during runtime.
You may be trying to calculate a value during runtime and store it in a "constant" variable as part of your struct? If so, just use a standard, non-const variable to store it. Give it some name that suggests it's a constant and don't change its value.
Don't try to get tricky and declare a variable const and then change it during runtime using a pointer to the const variable. The results are undefined by the C spec I think, which probably means random crash.
40307f No.15096412
I love all of you and hope you are having a wonderful Monday.
>>15096252
>Books are shit
>>15096263
<How many projects have you finished?
>>15096276
>None
Except for you. You can shut the fuck up.
854cae No.15096419
>>15096280
>>15096412
If we're going there then there's like 4 people in the entirety of 8chan's /agdg/ who are allowed to give any advice.
320fc7 No.15096435
>>15096426
Well I was crashing and burning a ton until I started watching conferences and reading articles. The OpenGL Super bible, which is the defacto book for OpenGL graphics, didn't do shit for me.
cacf58 No.15096480
>>15096025
There's no reason not to learn it if you want to be a better software designer. You don't have to employ it in every piece of software you write, but it's good to understand how other software designers have chosen to solve problems you run up against. You should learn functional programming as well, the more design tools are at your disposal the better. Again, you don't have to believe the things that fanatics of these systems espouse, but you should be able to leverage them when you want in the ways that you want.
fbbbc6 No.15096505
Is it possible to immediately exit an ienumerator without a frame advancing? Specifically, I want to go through a number of checks, then if certain conditions are met, wait a number of frames. If the conditions aren't met, I want to exit immediately. yield break exits, but it still has to advance a single frame.
pseudocode
public IEnumerator BeginningOfTurn () {
yield return Check_A ();
yield return Check_B ();
yield return Check_C ();
}
public IEnumerator Check_A () {
if (Var_A == true) {
do a thing
wait half a second
} else {
exit immediately
}
}
public IEnumerator Check_B () {
if (Var_B == true) {
do a thing
wait half a second
} else {
exit immediately
}
}
public IEnumerator Check_C () {
if (Var_C == true) {
do a thing
wait half a second
} else {
exit immediately
}
}
d976bd No.15096569
>>15096426
You could try "Design Patterns" or the "Effective C++" series. If you want C, you might try using the imgui library and reading it's source, as well as anything written by stb. Or just look for some of the major C open source projects and check out how they organize and access their data.
2adeb5 No.15096572
>>15096378
>>15096380
>>15096379
>>15096381
>>15096382
>>15096384
>>15096387
>>15096388
>>15096389
>>15096391
>>15096392
>>15096392
>>15096393
>>15096394
Why would you post this?
4900de No.15096602
>>15096572
Report and ignore.
04998a No.15096666
>>15096572
What did I miss
2adeb5 No.15096674
>>15096666 (Fucking checked)
Each of those posts was filled with images of Ms. Five Guys Rabbi's and Fries spammed with "This is our queen".
>>15096602
The correct course of action.
039768 No.15096695
>>15096505
I believe you can. Note that you gerally don't need to write the IEnumerator interface for most simple types or collections. Usually you can get away with implementing IEnumerable on the containing class.
Either way, by design, you have to return a value, one call to the enumerator should have it call MoveNext() to try and move to the next value, and you can poll Current as much as you want to retrieve the value. Putting the yield in a loop just makes it return everything at once. Otherwise, you should be able to use branching logic to control it.
62211b No.15096788
>>15096695
Do you know that the IEnumerators in
>>15096505
aren't for collections right? Heavily simplifying, the compiler wraps the yield return blah statements in a state machine, and when the function is called It generates an IEnumerator that starts at the beginning of the function and picks up from the last place it yield return'd was called when MoveNext() is called.
Unity uses them to handle timing, and they can yield return an object that describes how long to wait before invoking. In Unity, they will ALWAYS wait for the next frame if they are yield return'd from, since the structure of Unity's event loop only updates Coroutines once per frame.
You can restructure your logic a bit, if you actually need to run 3 different timed behaviors, you'd want to actually kick off 3 IEnumerators.
If you want to kick off one timeline that just waits and does 0-3 things when it runs, you'd want to just kick off one with one check.
I have no idea if this will get formatted correctly or not, but I hope illustrates how you should structure shit with Coroutines/IEnumerators.
// Mode 1, one enumerator, does 3 things.
// Same wait time for each.
public IEnumerator BeginningOfTurn() {
yield return new WaitForSeconds(.5f);
// If they're just booleans, just fucking check them
// if (varA == true) is fucking redundant
if (flagA) { DoThingA(); }
if (flagB) { DoThingB(); }
if (flagC) { DoThingC(); }
}
// Somewhere else:
StartCoroutine("BeginningOfTurn");
// Mode 2, different enumerators, kicked off at the same time
// This would allow you to have each have custom timing
public IEnumerator ThingA() {
yield return new WaitForSeconds(.5f);
if (flagA) { DoThingA1(); }
yield return new WaitForSeconds(.5f);
if (flagA) { DoThingA2(); }
}
public IEnumerator ThingB() {
yield return new WaitForSeconds(1.5f);
if (flagB) { DoThingB(); }
}
public IEnumerator ThingC() {
yield return new WaitForSeconds(2.5f);
if (flagC) { DoThingC(); }
}
// Somewhere else:
StartCoroutine("ThingA");
StartCoroutine("ThingB");
StartCoroutine("ThingC");
039768 No.15096796
>>15096788
I didn't fully understand the question, no. I just had a long day
fbbbc6 No.15096842
>>15096788
They're different things and the flags aren't bools, I just threw together the pseudocode quickly. The issue I'm running into is if the flag isn't set, I don't want there to be any delay at all. For a specific, practical example: healing and damage over time.
First, I'd check the healing over time. If it's >0, yield to a coroutine that runs some code for that and waits half a second or so. Then check damage over time. If that's >0, yield to a different coroutine that runs some other code and then waits half a second or so.
Now, with that specific example, I could check the healing/damage values in advance and only yield to the coroutines if they're >0, but in other cases the checks are more complicated and that might not be feasible.
62211b No.15096904
>>15096842
If you're checking it in one place, it's feasable to check it anywhere, Scripting in Unity is entirely single threaded.
You probably want to change your scripting from being mostly Coroutines to being hardly Coroutines, if you need to check shit, make a function that returns a bool and check that
How do I into monospace? Could never figure it out. Oh well.
public struct HealOverTimeData {
public float healAmt;
public float tickRate;
public int ticks;
}
public bool CanBeHealed() {
return curHealth < maxHealth && curHealth > 0;
}
public IEnumerator HealOverTime(HealOverTimeData data) {
float healed = 0;
for (int i = 0; i < data.ticks; i++) {
curHealth += data.healAmt;
healed += data.healAmt;
if (!CanBeHealed()) {
if (curHealth > 0) { curHealth = maxHealth; }
break;
}
if (healed > data.healAmt) { break; }
yield return new WaitForSeconds(data.tickRate);
}
}
public void StartHealOverTime(float healAmt, float tickRate, int ticks) {
if (CanBeHealed()) {
HealOverTimeData data = new HealOverTimeData();
data.healAmt = healAmt;
data.tickRate = tickRate;
data.ticks = ticks;
StartCoroutine("HealOverTime", data);
}
}
44897e No.15097348
Vulkan SDK, plain C, GLFW
1346 Lines
A single, coloured rectangle.
a84476 No.15097450
>>15097348
Soon you'll be moving mountains, anon.
739b5d No.15097602
Big F.E.A.R milestone reached
So I figured out importing models more or less. I was able to rig the Half-Life 1 HECU grunt on F.E.A.R's replica soldier skeleton and animations. No textures yet but that's a fairly simple albeit tedious step. I also screwed up the skin weights but I'm still learning how to do that properly so it doesn't look like shit.
However I ran into a HUGE problem which is when I killed the replica soldier, he T-Posed. He's supposed to ragdoll. I figured it was because the game used Havok physics but the devs weren't allowed to release Havok's code publicly. So they didn't allow people to add physics to NPCs. This pissed me off and I almost quit modding this game altogether.
I asked my Russian friend who mods this game and he got physics to work in his mod he's working on. And I figured out precisely what I was doing wrong. See Maya bakes the physics info into the model file specifically. But it's baked into the skeleton. What I was doing previously was making a new model file and importing the Replica soldier skeleton into it. But it turns out I should've been copying the Replica soldier model file, renaming it, and saving over that instead. Once I did that, bam physics work.
This means that once I figure out skin weights and textures, there should be very little else I need to learn in order to port models to this game. I have a few ideas already in terms of models from other games. Like the pistol from HL2, the shotgun from HL1 etc. The only downside I can see is I am unable to create a new anim skeleton and have ragdoll physics but the current one the game uses is good enough already.
08998d No.15097880
Any resources on thirdperson animation?
739b5d No.15097984
>>15097602
Bit of an update. So I tried importing gun models. It turns out this is way easier to do compared to adding characters
320fc7 No.15097997
>>15097984
Looks a lot like zombie panic source.
b8906d No.15098090
>>15097348
Yep. That's a rectangle.
If my toaster supported Vulkan, I'd give it a whirl, see what it's all about.
Might have to fuck around with OpenGL instead.
7826b6 No.15098141
>Think you know things
<don't know things
23e64e No.15098162
>>15098134
cute as usual, but why does her hair explode?
d8c789 No.15098172
>>15098162
Bad collision placement.w
7826b6 No.15098444
I did it. I packed textures into a data file and loaded them in SFML. Holy shit it's tough being a brainlet. Now it's time to learn to draw!
cacf58 No.15098597
>>15097602
Nice, what kind of mod are you aiming to make?
44897e No.15098628
>>15098090
Nice. How old is your GPU? Many surprisingly old GPUs can make use of Vulkan though developing on a GPU that doesn't have certain capabilities is going to be a pain in the ass.
I've been working through a tutorial and have missed some of the intricacies of the details of each step since I'm pretty new. From now on I'm hoping to take everything 10x slower and document every step of the way, understanding precisely what each thing I'm interacting with actually does and keeping a development log because I'm sure bugs will be an issue in the future if I actually release this engine for others to use.
b8906d No.15098726
>>15098628
Not quite a decade, but getting there.
Already looked into it, and there really is a lot of support for older things, and I'm just outside of that realm, even with the newest drivers.
Also tried getting some small sample working for shits and giggles. No giggles. Only shits.
I won't really need that kind of tech, but I thought it'd be neat to play around with it. I guess I'll still develop some intuition for the whole GPU pipeline ecosystem with just OpenGL. Hell, I could get by with just SDL's internal use of OpenGL, but I don't like how it doesn't facilitate any kind of batching. Every instance of a graphic needs its own complete draw call in SDL, and if I'm going to move over, I'd rather move over now before expanding my SDL-oriented resource management or its use.
Also, I really should have tracked down the font itself for RECTANGLES in that image, I just got that thing from a sample site and scaling it up left some pretty ugly jaggies.
2238b0 No.15098736
>>15098141
that's been my experience in looking for a job for the last 2 years
don't worry, they never pick you even if you're actually good at what you're applying for
44897e No.15098753
>>15098726
>I could get by with just SDL's internal use of OpenGL, but I don't like how it doesn't facilitate any kind of batching
Exact same thing happened to me. And now look what it made me do. It took me over 1000 lines to draw a fucking triangle all because I just wanted some efficient rendering of lots of objects. I'm probably going to have to change my career path to justify building this engine. ARE YOU HAPPY NOW, SDL?
d976bd No.15098840
>>15098753
same thing happened to me. I started with SDL. When I went to 3D I moved to Ogre3D then just raw GL with GLFW.
adddbe No.15099127
>>15098597
>Nice, what kind of mod are you aiming to make?
Right now I'm sort of ambling my way to making a "themed" mod. Like replacing all the characters/weapons with ones from Half-Life. Similar to a mod that did that with the game Max Payne called "Max Freeman".
However I'd eventually like to make a more polished mod like one that adds actual ironsights to the game. Or a story based campaign with new characters. I had an idea to make a prequel mod for F.E.A.R that explored the origins of the group pre-Alma.
I also plan on writing a few tutorials on how to do a lot of the stuff I've discovered I'll repost on moddb. So hopefully someone else gets interested in doing this sort of stuff so it feels less lonely. Esp since it's actually remarkably straightforward just really obtuse as hell to figure out without someone telling you. Which is why I suspect almost nobody modded this game because the documentation the devs made was sub-par.
cacf58 No.15099210
>>15099127
That's interesting, I really enjoyed FEAR and the engine definitely deserves more love. I'm looking forward to whatever you do with it
33828f No.15099236
>>15099127
Are you going to try porting the half-life levels? Some of them would be great for FEAR.
854cae No.15099292
>need to do some UX design
>Krita's text tool is a half assed piece of shit that can't even put the layer in the correct location
>MS paint doesn't have layers or let you lock the X/Y axis when moving things
>GIMP is clumsy shit where I spent 50% of my time communicating with the shit UI/workflow instead of actually drawing
>Paint.net has become proprietary shadyware that installs some shit into my secondary hard drive
>Pinta doesn't let you draw a box to type text in, so you have to manually place every line break, also has the X/Y axis locking problem
HOW FUCKING HARD-
What options are left? I'd rather make my own fucking graphics editor than go back to Photoshop.
adddbe No.15099321
>>15099236
>Are you going to try porting the half-life levels
It's theoretically possible to do this somewhat easily as I have the 3dsmax plugins for the level editor. So I could take a half-life level like say, Stalkyard, and convert it to an obj, import it into 3dsmax and then convert to to a F.E.A.R. level. It would be a little tedious to get the scale right, and get the textures to look good. As every texture in the game has a shader file associated with it you need to generate. So I'd have to do this manually for each texture. I would probably only do this with a multiplayer level as for a singleplayer level it'd be tedious to recreate all the scripted sequences.
854cae No.15099359
>>15099292
Firealpaca somehow manages to have an even worse text tool than Krita. Medibang is just firealpaca with shekel scrubbing schemes added to it (uninstalled as soon as it asked me to "log in" to change fonts).
ed7e5e No.15099398
>>15093725
jusus, why was it so hard
cacf58 No.15099794
>>15099292
>GIMP is clumsy
You mean you're clumsy with GIMP? It's as straightforward as photoshop once you know where everything is
854cae No.15099815
>>15099794
No it fucking isn't, not even close. One of these days I'm going to make a list of everything that's wrong with gimp so I can just shove it down the throat of anyone who tries to claim that gimp is as good or fluent as photoshop.
772068 No.15099892
I'm…
doing stuff??
What the hell is happening to me
b8906d No.15099905
>>15099892
Neat.
Are those dynamic or is that a prefab?
a84476 No.15099954
>>15099892
Looks like potential.
7cd8c5 No.15099962
>>15098444
What, you made an arbitrary RGBA array and passed it from disk into an SFML texture?
772068 No.15099967
>>15099905
it's a different implementation of that screen space boolean shader I posted a while back and haven't touched since then. Still needs work but looks promising.
a84476 No.15100100
>>15099967
Does this require a "bullethole" texture on every surface?
772068 No.15100156
>>15100100
No, the bulletholes themselves have that texture pre-applied. I will make a script that will choose the bullet hole type based on the bullet energy and surface type but surfaces without that script will end up with a generic bullethole thing, likely something akin this hole in concrete I once showed
99215b No.15100263
Anyone know of a good strategy to make these two bump maps match?
I am using unity's water shader and I have no idea how to fix this problem
a84476 No.15100278
>>15100156
So there's bullet "objects" that get instanced around a wall?
772068 No.15100312
>>15100278
yes, exactly. I did that beforw with deferred decals, now I plan to use both
0658c6 No.15100318
>>15100263
A bump texture is made in such a way that it's seamless on the horizontal edges and not looping and self contained at the vertical edges. River consists of belts that are straight when it comes to their uv map. Translating the texture in horizontal direction makes it "turn" without looking like it's cut off. Multiple belts allow for the water to flow at the same speed no matter how far away from the edge it is..
a296b6 No.15100354
>>15100318
My speed difference is as pic related, so that would not solve at all.
I guess I will try to figure out how flow maps work and copy them into the shader or something
94ee5c No.15100575
SO I HEAR THAT BULLYING IS THE LATEST FAD IN PROGRESS WEBMS?
d37849 No.15100620
>>15100575
The lack of punctuation bothers me more than it should.
772068 No.15100668
decals will need work but it looks pretty cool
4900de No.15100715
>>15100668
Have you seen the Rainbow Six Siege GDC talk on how they do bullet holes?
cacf58 No.15100751
>>15099815
Well until that point, keep your baseless whining to yourself
772068 No.15100796
>>15100715
I did. but I'll have to re-watch it. My approach is a bit different, that's for sure
675d12 No.15101154
44897e No.15101160
>>15099398
Well, let me give you a quick run down of what you have to do to draw a triangle.
d8c789 No.15102188
>>15100354
I think what you want to do is just stretch the vertices. Flow maps might be difficult to make with procedural vertices. Basically just keep the same speed texture through out all and just move the vertices so a water face traverses greater distance and looks like water is flowing faster. It's gonna look choppy if you have that few of vertices. Use a lot more. Still confused what you want to do with your tool.
854cae No.15102205
>>15100751
>baseless
Almost as baseless as the claim that GIMP can compare to PS.
How about the fact that every time you paste something, you have to click the new layer button to have it fucking go into the canvas? And after you do, the layer boundaries fixed and you can't draw outside the pasted area until you go into the menu and fix it yourself. In fact if you move any layer the same applies, you have to constantly fix the pixel area manually. And if you expand the area then the transform tool boundaries will cover the entire canvas rather than the actual pixels. And if you ever wondered why the eraser doesn't work, it's because GIMP also requires you to manually add a transparency channel to some layers you add. I haven't experienced it myself but I'd guess you have to add other channels if you paste a grayscale image or something.
The problem with explaining what's wrong with GIMP, ignoring the fact that it would take fucking forever and I don't have enough dedication to GIMP to do that, is that I'd have to make a video to properly show what the problem is. It has many similar features and capabilities, but they're just completely inconvenient in comparison to the way Photoshop accomplishes the same and/or gives a much worse result. You can't make a bullet point that says "x feature is worse quality" because gimpshitters will instantly start crying about it and claiming it's subjective, but there's so many of those that I'd need to either make a video or fill a wiki page with them. Furthermore many of the problems are "this action performs worse", but to properly understand why it's a problem you need to see just how laggy and shitty the performance in GIMP is when doing certain things and how it gets in the way of what you're doing.
039768 No.15102572
So I finished an implementation of a max heap, which will be rolled into my engine soon. I tried to make it formal and follow the same patterns the base C# library has. Anyone feel like skimming it and seeing if I fucked anything up anywhere?
https://hastebin.com/dijelojibi.cs
974726 No.15102629
>>15099398
OpenGL has a fuckton of global state, which is the cause of many issues. (lingering state & drivers have different default state)
Vulkan says "FUCK GLOBAL STATE" and requires you to create your own objects for every part of the state and fill them with the values you want.
Turns out that there's a lot more state in a graphics than people expected.
d976bd No.15103235
>>15102629
Well, to be fair, there isn't much global state left in GL 4.5 core profile.
746b6f No.15103424
>>15102572
Depends on how pedantic you want me to be. Does the base C# library abuse regions like that? Having a region for constructors, methods, and so on is just a bitch. I don't know why you're using "m_" for member variables, especially since they're all private variables and don't have to deal with any sort of IDE clutter. Why would you do pic related on separate lines? Why don't they even line up? It's like you went to all this extra effort to fuck things up.
4c0ef4 No.15103519
>>15102205
Of course it's not as intuitive, one of them has been endlessly focus tested by a company that cares only about money and user interface. I've never had problems with anything you just tried to describe, and overcoming the idiosyncracies takes very little time. I'm not arguing it's the same user experience, but it's very easy to surpass the differences. You're really reaching for things to complain about, maybe you should try getting better?
746b6f No.15103528
>>15103519
Why are you getting so flustered over someone shittalking GIMP? It's a garbage tool with an even worse UI and there's no reason for it to exist while anyone can safely pirate photoshop.
089ba3 No.15103543
>>15103528
>there's no reason for it to exist while anyone can safely pirate photoshop
Photoshop is even fatter and doesn't have a native Linux build.
746b6f No.15103548
>>15103543
>no linux build
I guess the fat retards in Hawaiian shirts will have to use their windows emulator.
4c0ef4 No.15103559
>>15103528
I'm explaining how it easily serves the same purpose despite the UI. Why are you flustered that someone might find a tool just as capable as your precious bloated shitware?
746b6f No.15103566
>>15103559
Linux users can safely be ignored, as they don't actually have any reason to exist.
4c0ef4 No.15103584
>>15103566
But I run windows 7 so you can just admit you have nothing to contribute to this argument
089ba3 No.15103598
>>15103548
If I need to quickly edit an image, Gimp isn't great but is good enough for most non-drawfag shit.
>>15103566
>any operating system without Photoshop has no reason to exist
It's not like servers exist or anything.
854cae No.15103602
>>15103519
>endlessly focus tested by a company that cares only about money and user interface
It doesn't take "endless focus testing" to realize that you should have a tool to draw the 2 most common geometric shapes known to man. They seem to have this weird mentality that gimp is gimp and if doing something makes it more similar to photoshop then they shouldn't do it even if it's a good idea.
You can take a look at Krita for proof, as far as user experience goes it does almost everything better than GIMP. The problem with Krita however is that many of the features seem half assed or buggy somehow, and it doesn't have as many features because "muh painting program doesn't need them!".
There's something seriously wrong with most FOSS developers.
9fe5f3 No.15103694
>>15102572
Out of interest is there a reason why C# doesn't have a standard implementation? Even python has a package for it.
4c0ef4 No.15103718
>>15103602
There's something seriously wrong with users who expect open source software to match the usability of aging proprietary kikeware.
44897e No.15103812
>>15103602
Get a plug-in, retard. There exist plug-ins for everything you want to do.
That's one of the great things about more open software.
854cae No.15103816
>>15103718
I'm not expecting either of those programs to match Photoshop's performance or have the more advanced features, but there's so many glaringly obvious problems with equally obvious solutions that it makes me wonder what the hell the developers are thinking. I mean how hard can it be to make the text layer go next to the layer you had selected instead the top of the list? That's been in Krita ever since the shitty new text tool was added, and still as of the latest update a week ago was not fixed.
What makes it worse is that Photoshop isn't perfect either, I have a laundry list of shit that's wrong with Photoshop too, for instance how it throws popups into your face for trivial things ("the layer you clicked is locked so you can't move it!") and then you have to stop what you're doing and click that fucking box before you can continue. Photoshop is much less likely to fix these grievances because it's made by a kikefat corporation and the money will keep rolling regardless of if they listen to those dumb goys beneath their castle, which makes it all the more frustrating that GIMP and Krita still have so many problems that would take me a weekend to fix were they my software.
97e0e1 No.15103842
>>15103816
Your problems illegitimate.
Here's a real problem with GIMP:
If you make text italics and it overlaps the right border of the text box it gets cut off instead of moving to next line.
97e0e1 No.15103877
>want to make a melee-focused first person 3D roguelike with unique fighting system
>Also want to make a 3D shooter with fun bullet-time-esque gunplay like Max Payne
>Also scared about overreaching with these goals and just want to make a boring 2d physics game
>Still have barely finished my engine
How do you deal with these feels?
089ba3 No.15103883
>>15103602
>>15103816
An image editing tool is a very large project and Krita's core developer team is both small and paid peanuts outside yearly crowdfunding events, so it shouldn't surprise you when they don't have the resources to magically improve every feature at once.
>which makes it all the more frustrating that GIMP and Krita still have so many problems that would take me a weekend to fix were they my software
The source code is open for a reason, if you want something so badly and claim you could implement it yourself there's nothing stopping you.
089ba3 No.15103889
>>15103877
Do you have something in mind for this "unique fighting system" or are these empty placeholder buzzwords?
97e0e1 No.15103899
>>15103889
If it was implemented right, it may change how most developers approach combat systems in the future. It's that good of an idea.
44897e No.15103906
>>15103883
If the GIMP team wanted a fucking triangle selection tool, they would make one. Turns out, it's utterly useless when you can accomplish the same thing in 5 different ways AND there's probably 5 popular plug-ins for geometric shapes.
It's purely idiotic to make these kinds of complaints.
089ba3 No.15103924
>>15103906
To be fair, Gimp's dev team is notoriously slow.
854cae No.15103934
>>15103842
>If you make text italics
That's related to another, more subtle thing that Krita does correctly while Gimp does not. Gimp shows all the font styles in the font list, so it shows Open Sans like 8 times (13 if you count Condensed) instead of putting the styles into a separate box.
>>15103883
I understand that it's "difficult", but most of the problems I have are things that you could fix within a day, some in less than an hour. They're also features that are at front and center of the program, so you should fix those first instead of adding some obscure animation features like the Krita devs are doing.
>The source code is open for a reason
You just finished saying how big and complicated the programs are, and now you're telling me to learn the source code so I could fix them myself. I WOULD fix them if I was a developer, but I don't want to dedicate weeks/months learning some codebase that is most likely complete trash from the standpoint of my preferences, especially when most of the problems are so simple that it's way more work for me to learn the internals than for them to just fix the problem.
>>15103906
>mods will fix it
Last time I tried to install a plugin, I ended up with an error dialog appearing every time the program starts. Needless to say the feature didn't work, and I doubt someone will pick it up and update it to be compatible with a recent version anytime soon.
2294a2 No.15103945
I'm working on a mod and there is a constant variable (static const) in the engine I'd like to change from within the code of a game (as in game that runs on top of the engine, not the whole game). Source code for the game is available and later on has been released for the engine as well, but I'm not touching the engine. I can change its value with a memory manipulation program, like Cheatengine and it seems to work as it should, so I know it's address and name. Game is in C++.
089ba3 No.15104052
>>15103934
When you have a large codebase implementing loads of features (kind of necessary for a full-featured drawing program, sadly) and a small core team, you need to focus on specific issues if you want to actually get shit done. Supposedly Krita's text tool is due for a complete rewrite soon anyways so they're probably hesitant to tweak the existing one while there's other bugs to fix and easier features to implement.
>go from talking about how quickly your specific problems could be solved to how you don't want to learn the codebase
When users have mindsets like that, it's easy to understand how a small team could be overwhelmed by bugfixes and implementing shit. Krita's team is making impressive progress as-is and I've already mentioned their plans for revamping the text editor, so either learn the virtue of patience, spend ages gathering the knowledge to write your own graphics editor (which, barring some miracle, will either fail or become usable years after Krita's scheduled text revamp is released), or swallow your pride and dig into their codebase.
a84476 No.15104101
>>15103877
>>15103899
I also worry about being too ambitious. I think the only way to know for sure is to try and risk failure.
746b6f No.15104109
>>15103877
You'll fail so many times that at some point you'll step back, wonder why you keep failing, and realize you don't like games anymore
d37849 No.15104113
>>15104052
That's the biggest problem with FOSS, I think. Any criticism is deflected with "well, if you're so smart, YOU fix it". Instead of fixing features and trying to make their software more appealing to more people, they just say "no, YOU fix it for US". It's like "mods will fix it", but imagine if Todd Howard came out and said that alongside the retarded fans.
854cae No.15104114
>>15104052
>you need to focus on specific issues if you want to actually get shit done
>it's easy to understand how a small team could be overwhelmed by bugfixes and implementing shit
Yeah, that's why they're adding animation features that 12 people use instead of fixing the features that nearly everyone uses. You're not supposed to start adding new features before you've finished the first one.
>patience
I checked for you and the Krita text layer problem, the one that would take literally 5-10 minutes to fix unless you have a brain tumor or the program was made by yanderedev or something, has existed for 3 and a half months now. Unless I'm mistaken, the original shitty text tool was replaced with an equally shitty text tool at 4.0 which was released back in March, they released the tool before it was finished and haven't updated it at all since. It still baffles me why they decided to put the text tool into a popup window instead of a docker like everything else, but that's besides the point.
>spend ages gathering the knowledge to write your own graphics editor
I made one before I knew shit about programming properly, I've even used it for some sprite work since there's nothing else that has some of the features it has. Admittedly it was on a very high level language and only reached complexity akin to paint.net (from what I know of that program anyway), but it really isn't as hard to make one as you think. The hard parts would be some of the filters, performance of pixel operations, and the math for things like warps/transforms. But both Gimp and Krita already have those parts mostly under control, almost none of the problems I have with Gimp/Krita are related to those.
d976bd No.15104143
>>15103602
Open Source doesn't have to listen to their users because they are not customers. There is no incentive to give a fuck what the users think. So of course they are essentially shit. No polish. No consideration of real-world workflows of their users. Gimp is shit because it lacks polish and has no consistent workflow or even a thought to typical use cases.
Krita came along and it was by default better. Why? Because it is based on Qt and not the Dumbest GUI Ever Written: GTK. It also has paid users. So it will rapidly improve in areas that matter, unlike every other open source project ever. Incentive = progress.
089ba3 No.15104164
>>15104113
>Any criticism is deflected with "well, if you're so smart, YOU fix it"
In this case, it's a valid point because anon is bitching about a tool that's intended for replacement soon-ish last I checked. If he really wants a quick fix for something like this, he should either file a feature request through https://krita.org/en/get-involved/suggestions/ or look into doing it himself.
d976bd No.15104174
>>15103945
variables with the const type modifier cannot be modified at runtime.
You found it's memory address and modified it directly. You can do this in code _although the behaviour is actually undefined_ by using a pointer to the variable and casting it appropriately. This may cause random crashes.
92b148 No.15104224
>>15103424
Regions are for my own sake to organize code. Years ago I used to have a region per method signature and it was awful. By personal convention, I put m_ before private fields and s_ before static fields. I want the public facing stuff to be nice and organized, with a minimum amount of clutter on the backend.
The spacing is enforced by VS
>>15103694
Not sure. Theres SortedList and SortedSet but they need unique keys. Theres a bag class somewhere but it doesnt order things around. I could probably get by with an IComparer class per thing I want to sort but thats OOP cancer imo. A general implementation I can reuse is much sexier
746b6f No.15104237
>>15104224
>The spacing is enforced by VS
No it's not.
4e3212 No.15104303
>>15104113
>"no, YOU fix it for US"
It's more like "YOU fix it for YOURSELF and maybe everyone else if they have he same issue as you".
>"It's like 'mods will fix it', but imagine if Todd Howard came out and said that alongside the retarded fans"
If the game was completely free and it's source code was available, that phrase would actually make sense,
sage for off-topic
0658c6 No.15104325
Since we have at least one Anon that will revolutionize combat as we know it, I'm curious how unique and innovative™ are your games?
After about 10 abandoned projects where I tried to make something that, to my knowledge, was never done before I finally decided to just blatantly clone some old game. So far making it is pretty fun, not having to worry about designing shit in terms of gameplay. I just pick a feature and either copy it 1:1 or improve it if it's outdated or badly made. In hindsight, hoping to discover a new game formula without being an experienced yesdev was pretty retarded of me.
d37849 No.15104352
>>15104325
>innovative
I wouldn't say so. When taking a step back and looking from further away, really, all I'm trying to do is take a genre that's been disappointing and has only regressed into gimmicks since its inception, and it's best execution is only "good". It's a shame. Often times, I'll think I've stumbled upon a creative idea and then find that it's been done before.
Basically, rather than being original, since I seem to be too stupid for that, I'm just trying to do it better than anyone else. and fail, at least in the public's eye, since they seem to worship the mediocrity that's available.
before you ask for any specifics, I do post actual progress when I have it, which is quite seldom. give me a couple years. I work on this stuff every day, but that doesn't mean I know what I'm doing, or how I should be doing it.
854cae No.15104363
>>15104303
Imagine if the tabs in Firefox were broken so you have to go to some menu to adjust the tabs every time you open a new one, and this problem persisted for months or years with no fix in sight. Then you go to /tech/ and tell people how annoying it is, and they tell you "it's ok because Firefox is open source, stop complaining and fix it yourself!".
>>15104325
I think all of my ideas are based on completely reimagining something else, I don't have truly "original" ideas in that sense. I find a game that tickles some fancy in me, and then remake a game from the ground up based on that idea, fix the problems and add things I wanted it to have. Not that I've ever finished any of those projects, although I've never abandoned any either.
974726 No.15104408
>>15104325
The reason why we use the same set of mechanics every time is because they are often the most simplest solution to a problem we want to solve. Changing mechanics for the sake of it, without understanding the actual problem those particular mechanics were meant to solve to begin with, is not going to work.
>>15104352
>before you ask for any specifics
Please explain your innovative combat system so I can steal it, become successful and turn you into the new Tetradev.
2294a2 No.15104415
>>15104174
You mean something like
const int x = 3;
int *i = (int*)( &x );
*i=1;
or
const int x = 3;
const int *i = &x;
int *n = const_cast<int*>(i);
*n=1;
Both of those work, however when I use the variable that I need to change I get an exception right away.
Currently reading about dll injection. It could work, right?
d976bd No.15104441
>>15104415
Yeah, that's what I meant. If you aren't going to modify the source code of the library you are using, DLL injection is your best bet.
d37849 No.15104442
>>15104408
>innovative combat system
<You can jump on enemies to kill them.
<Some enemies require one than more jump. I call them "bosses".
<There's little actual focus on combat because combat in platformers is silly and it's most bosses in platformers are shit.
How's that?
5a92b3 No.15104446
>>15104363
>Imagine if the tabs in Firefox were broken so you have to go to some menu to adjust the tabs every time you open a new one, and this problem persisted for months or years with no fix in sight. Then you go to /tech/ and tell people how annoying it is, and they tell you "it's ok because Firefox is open source, stop complaining and fix it yourself!".
quit being a lazy bum if you want to solve your problems.
0658c6 No.15104452
>>15104408
He's here! Quick, hide your games!
974726 No.15104471
>>15104442
Sorry, I confused you with another anon.
I haven't considered implementing enemy hopping for my game though. Maybe I'll do just that!
2294a2 No.15104495
>>15104441
Got it, thanks.
d976bd No.15104552
No motivation. Instead of finishing adding basic shadowmaps to my GL renderer I followed some of Darrin Lile blender videos and started modelling a convenience store interior. I'm going to make it a Bullet3D physics playground with a simple first person view. Maybe make a convenience store simulator.
b8906d No.15104647
>>15104552
Having to defend your stockpile of cigars, Skittles and Arizona Fruit Juice Cocktail (Watermelon) from personae non gratae sounds pretty comfy.
6891a1 No.15105042
Here is the. What do you thinks? TMI or not enough TMI. It's a fine like sometomes.
b8906d No.15105060
>>15105042
I appreciate your dedication to your craft and/or shitposting. Keep up the good work.
4c0ef4 No.15105795
>>15104224
Putting directives for your IDE into your source code is cancer and another example of Visual Studio sucking donkey dick
92b148 No.15106838
>>15105795
Then how can i collapse arbitrary chunks of otherwise random code?
eacec1 No.15107218
Speebot: Australian Edition
dace39 No.15107442
>>15104113
>he doesn't patch FOSS projects he cares about.
You're a pathetic leech. FOSS is driven by generosity yet you aren't willing to give. People like you go on IRC or the forums and request features or bugfixes, but you should know damn well that you haven't done anything for the project to deserve having your specific problem fixed by someone else. Fix it yourself.
53db05 No.15107473
320fc7 No.15107477
53db05 No.15107491
>>15107473
We have flags!
THE SOUTHERN HEMISPHERE shall rise again!
dace39 No.15107520
d37849 No.15107523
>>15107442
Or, I could pirate a far more functional paid program instead and be happy. I don't owe FOSS shit, it's the lead developers' job to entice me to use their program. It's like a landlord trying to sell me an apartment that's run down, then telling me that I should fix it on my own and appreciate the generosity of him offering it to me.
320fc7 No.15107530
>>15107523
>It's like a landlord trying to sell me an apartment that's run down, then telling me that I should fix it on my own and appreciate the generosity of him offering it to me.
Surely you can spot the several massive gaping holes in this analogy.
53db05 No.15107535
>>15107523
>Sell
You mean provide to you and others for free so that you may hopefully participate in a community project to build said house. It's fine though, there are lots of intellectually inferior people who can't figure out how to program or even use plug-ins.
>>15107520
That's pronounced "OZ-EE", not "ORSS-SEE"
d37849 No.15107566
>>15107535
>You mean provide to you and others for free so that you may hopefully participate in a community project to build said house.
Why would I waste my time with that, again? To keep this analogy going, I could get a nice apartment with everything working right out, just set up and move in, or I could move in into a dingy shithole where I have to do my own plumbing and heating while some other faggot walks in once a month to wallpaper a single wall, and then demand I praise him for it. And they cost the same, which in this case is free.
Why should I choose the shithole, again?
eacec1 No.15107576
>>15107566
>working on everything but the text tool is "walking in once a month to wallpaper a single wall"
53db05 No.15107584
>>15107566
That's okay. Intellectually inferior people tend not to be able to make appropriate analogies either.
You're not moving into a shithole and having to do your own plumbing. You're moving in to a home that has everything you need and more but you just don't like certain things and feel like additions could be made to make it a better home for you because you used to pay for that nice apartment that you're now used to. In reality, you don't realised that this home actually has 3 different ways to easily do what you want inherent in the program. You also refuse to use the additions other people have made and are offering to give to you for free and demand that they be in everyone's version of their house despite the fact that most members of the community think it's redundant or don't like it.
320fc7 No.15107586
>>15107566
>To keep this analogy going
That analogy is so fucking shit though.
a84476 No.15107717
>>15107535
It's pronounced ow-see or oh-see.
33db41 No.15107722
Why is GMS2's room editor such a pain in the balls to use? I can place tiles by left-clicking and delete them by right-clicking. But if I want to add an object, I have to hold down alt and then left-click, and if I want to delete objects I have to find a way to select the ones I want gone and then press the del key. Years ago I used GM 5 and I'm pretty sure that was easier to use.
039768 No.15107745
>>15107722
>GM5-6
>Place an object in the room editor
>It fucking stacks them constantly if you don't pay attention
>Okay shit delete them and try again
>Completely delete all rooms from my game and redo them
>The object ID counter is still at whatever it was before
>This means that for very long-lived games, there is going to be permanent asset bloat under the hood as development times increase
>Told on the forums that it's a "direct x issue"
33db41 No.15107781
>>15107745
Ouch. Actually I don't really miss GM5 because I'm pretty sure whenever music looped it froze the game for a split second (I used MIDI files). I thought maybe it was the computer we had at the time but it still happens today when I run my old games on my current PC. I just figured the room editing process would have greatly improved by now.
039768 No.15107830
>>15107781
>The 2-5 second hiccup every time you tested the game with audio files added to it
>Again, it persisted even if you deleted the assets
Fuck, this is why I moved from GM to XNA to begin with
3bbe07 No.15107863
>>15107830
>this is why I moved from hell to purgatory
039768 No.15107874
>>15107863
And then I moved from XNA to SFML, so nonexistence
a84476 No.15107942
>>15107874
Why do people use SFML instead of SDL? And why not just use Godot?
039768 No.15107983
>>15107942
Well I had a period of about 4 years of nodev learning experience with XNA, and while I enjoyed the way the engine handled things, I never liked the way it handled preloading assets and it became cumbersome to do certain things in a lightweight way. MonoGame needs a more recent version of C# than I have, which means I have to upgrade from VS2010, which actually requires me to update to a later version of Windows to get the more recent ones, so fuck that. And while FNA is a faithful recreation of XNA, it still has the same fundamental issues I had with XNA to begin with.
I like SFML because it's very lightweight and I can load assets without too much thought, but otherwise like learning how the underlying stuff works myself.
I tried Godot, but it felt clunky to use the node/scene system. I'm sure it works fine, but I don't want to fight against a workflow
44897e No.15108050
Has anyone here watched TheBennyBox's 3D engine tutorials?
I want to blow my fucking brains out when listening to him. I have never in my life heard someone sound so fucking infuriating.
746b6f No.15108140
>>15108050
I don't know who that is or what you're talking about, but exclusively from your description I know you're talking about a subhuman with an incredibly fake high pitched voice.
ad60d7 No.15108160
Making a post since I am not dead, just don't have a lot of time right now.
I have been fixing a lot of bugs but I think the biggest problem is that it's generating portals that look perfectly good to me, but get discarded by the system and all I get out is garbage. It's not supposed to discard this portal, for example, but then all I get are 13 portals that occupy the same position on the bottom of the map. It just needs me to take a more detailed look through the debug files I am generating, I am sure of it…
039768 No.15108174
>Make a general Game object type that serves as the main heartbeat of the game
>Have a separate project to test things, with a bunch of clutter in a Game subclass because I was testing my partitioning, but don't want to delete it
>Realize I can just make another subclass of Game that's basically a completely separate sandbox that I can blow away as soon as I'm done with it
Oh shit this is great
>>15108160
If it's invalid and at the bottom of the map, then how are you viewing it? Somethings weird
ad60d7 No.15108188
>>15108174
I can view the portals at every stage of their generation using my debug view. It freezes the program and gives me a 3D camera to move through the map. The final portal list looks like that. It's not at the very bottom but just stuck against a polygon at the lowest elevation of the sample map. Here are the 8 portals in the debug view.
44897e No.15108189
>>15108140
It's vid related.
It gives me a fucking headache instantly when I start listening to him. I want to punch the fucking wall and stomp someone's head in.
746b6f No.15108230
>>15108189
I had a teacher who sounded exactly like that once, I showed up because 20% of the grade was attendance. I had earplugs in most of the time to stop myself from McVeighing it
039768 No.15108310
>128x64 window
>Drawing lines from (0,0) to (64,0) doesn't display anything (green lines)
>But if I draw a quad from (0,0) to (64,64) it lines up correctly (red box plus green lines)
I don't get it
Fuck I just noticed the minimize and maximize buttons aren't evenly spaced with the close buttons
039768 No.15108313
>128x64 window
>Drawing lines from (0,0) to (64,0) doesn't display anything (green lines)
>But if I draw a quad from (0,0) to (64,64) it lines up correctly (red box plus green lines)
I don't get it
Fuck I just noticed the minimize and maximize buttons aren't evenly spaced with the close buttons
Deleted post because I butchered the screencap
d976bd No.15108346
>>15107942
SFML is better organized and integrated. SDL is OK though too. I used it for a few years.
>>15108189
>130lb tatted up women mouthing off and acting aggressive in a streetfight.
It's a dangerous game. One day someone is going to add the final stamp to that pussy pass. Hope she gets lucky and lives through the punch to learn a valuable lesson.
cdcd24 No.15108363
>>15108313
Are you using OpenGL? It's a bitch like that, you might have to shift things by like 1 or 0.5 pixels.
d976bd No.15108367
>>15108189
BTW, that first webm, he probably talks like that because he was trained to sound non-threatening and non-masculine around a male authority figure. That's why he's speaking through his nose and not using his diaphragm. Essentially groomed by the adults in his young life into an adult beta-male. I fucking see it everywhere and it's disgusting. It's not always the kid's fault though. They may have tried to fight it but been mentally and/or physically crushed for it. I see men and women do it to their kids. Disgusting shit.
039768 No.15108386
>>15108363
SFML, which is using OpenGL
But it's weird because quads and stuff work just fine. Lines and points get fucky. But that's fine, if it's a known thing I won't worry about it, since it's on their implementation, and nothing to do with my engine's fault. Plus it's a thing I won't be taking advantage of in production anyways.
44897e No.15108397
>>15108367
Yeah, but the moist mouth noises, the random pauses, the nasally AND breathy voice, the spit swallowing, the FUCKING RANDOM PAUSES, the non-confrontational fake nice guy voice….
b01bf8 No.15108399
>>15108189
That knockout is just so fucking satisfying on so many levels.
Outnumbered, unarmed, unmasked, and still the antifa pussies got fucking smashed and they needed half a dozen to carry the corpse off the street to prevent the coup de grace.
It might be July 5th here in Australia but I've got a raging US Independence Day boner right now.
039768 No.15108421
>>15108363
I know there's some Y axis fuckery depending on how things are set up (top left should be 0,0, rather than the bottom left). Here's what it looks like when I do a square and the same coordinates as points in the middle of the area instead of the edge.
I can kinda see the logic behind it but like I said I'm not going to lose sleep over it.
320fc7 No.15108497
Programming OpenGL truly is the worst. You never know if your buffer index is slightly off, your matrix is wrong, or some other shit.
2018d6 No.15108707
>>15106838
Ideally your IDE should recognize where to collapse based on syntax, if it doesn't you're using a shit one. And any IDE that would encourage you change your source for it is a shit one
039768 No.15108710
>>15108707
What are you talking about? It collapses regions just fine, by default. But I'm not fucking clicking 30 overloads to hide them, only to have to redo it if I move files around outside the editor (eg backups) because it doesn't recognize them anymore. Instead, I can just batch them where convenient and take care of it in a few clicks
2018d6 No.15108715
>>15108710
And all it cost was the integrity of your code
039768 No.15108733
>>15108715
>Organized, readable code that is easy to find things
>Bad
746b6f No.15108738
>>15108733
The formatting it atrocious, man, I don't know how you put in so much work into making it less readable. try throwing some lambdas in there to top it off.
d976bd No.15108918
>>15108397
yeah, you're right. he has a lot of other things going on that make it unlistenable.
>>15108421
Is the coordinate thing something SFML does? OpenGL coordinates are lower-left = 0,0 for textures. Also I think GL clip space (the screen with identity set as ortho projection matrix) is [-1.0,1.0] with 0,0 at the center.
If SFML is doing some rendering-to-texture for 2D lines, boxes, sprites, it may have the sampling setup weird on the texture (not using GL_NEAREST). I'm not sure. I haven't dug that deep into SFML.
Yeah OpenGL is a pain in the ass. Adding a layer on top of it helps some things, hurts in other ways though.
83cfdd No.15108993
>>15078478
Has anyone here tried the Godot 3 tutorial serieses (???) on Udemy? Are either worth buying?
746b6f No.15109006
>>15108993
> Are either worth buying?
Nothing is worth buying when you have cgpeers.
d976bd No.15109010
hotdog roller and a coffee machine for the minimart. I'm not keeping good check on the triangle count though. Going to try and export and load them into the game framework tomorrow and see what performance looks like. I'll probably have to model some simplified convex shells for each item too for Bullet collisions. That's going to be tedious.
4900de No.15109036
>>15104552
>convenience store simulator
That could be fun.
https://1d4chan.org/wiki/Night_Shift
83cfdd No.15109093
d976bd No.15109094
>>15109036
Thanks, lots of good ideas in those thread archives. I wasn't really considering going the surreal or supernatural route. I might though. Maybe 2-3 nights with a unique event each could make an OK minigame to put out.
746b6f No.15109113
>>15109093
yes, cgpeers, try putting it into a different box (preferably one that leads to a search engine)
974726 No.15109249
>>15104254
This ended up being pretty easy to implement.
33828f No.15109273
>>15109010
>>15109036
Reminds me of an idea an anon came up for a horror exploration game set in an abandoned mall.
4900de No.15109494
>>15109094
Having the supernatural events be rare would be better I think.
d976bd No.15110075
>>15109494
I agree. Otherwise it probably loses its impact. I'm not making a full game though, just 1-3 events in a single location. This all started as a stress-test for my rendering system and physics system, and as a way for me to get better at Blender. I'll probably release it for free and ask users to help me by providing runtime statistics and crash dumps.
>>15109273
That would be an interesting setting. I like the abandoned mall videos. I'd have to use PS2-era detail though or I'd never finish the modelling and texturing.
d976bd No.15110541
Anyone know of good tools for making text for signs and product packaging? I need to make a bunch of labels for drinks, chips, etc for convenience store props.
I guess I'm going to get a lot more experience with Inkscape and Krita.
0d4e0c No.15110670
Tcw the CEO of Blender is a dumb boomer. Don't know how to feel about this, lads.
d976bd No.15110735
>>15110670
Feel however you want about it but don't allow someone else's ideological differences be an excuse to sabotage your life and goals. They won't care. No one else will care either way.
0d4e0c No.15110760
>>15110735
Good stuff. Been thinking of starting a Godot project soon, any suggestions on learning C++? I only remember the very basics from back in uni a couple of years ago. Is using the std library considered a bad practice in game development too?
0d4e0c No.15110765
Also, thoughts on Armory 3D?
d976bd No.15111078
>>15110760
Armory 3D looks decent. Not quite finished though, from reading through the manual a little. Haxe is OK, Kha too, so it's built on a decent base. Physics are Bullet3D which is excellent. Has Recast integration. Looks like it can do basic gfx using Kha (lines, pixels, triangles, text boxes etc). My concern is how finished it is. They don't clearly outline what areas are mature and what areas are barely integrated yet. I might actually try a simple demo in it though. Thanks for pointing it out.
I can't really give good advice on learning C++ other than start very simple and small and read other people's code. Then go to a site like http://www.cplusplus.com/reference/ to fill in the blanks in knowledge. Someone posted a link to Bisqwit and javidx9 videos here and I think they're pretty good too.
>>15111055
Pretty nice. What do you plan on making? What are you using?
e3d464 No.15111098
>>15110760
>Is using the std library considered a bad practice in game development too?
Even more so than in other types of development. Games generally require the most optimisation, and STD foregoes speed in favor of stability and reusability.
974726 No.15111118
>>15111078
>What do you plan on making?
A hacky slashy. I got a bunch of ideas, but I mainly just want to see if I can get something rolling by next demo day.
I mainly use block-terrain to cut down project scope significantly.
>What are you using?
C/SDL/OpenGL.
0d4e0c No.15111204
>>15111078
Good to know, thanks for the info. I got a C++ course on (((udemy))) awhile back so I'll stick to that in the meantime, but I will check those too.
>>15111098
I honestly don't know much about how C++ works. What about others? Should you avoid them as well?
638ec6 No.15111222
>>15111204
>(((udemy)))
Did I miss something? Are they doing underhanded/kiked shit at udemy?
0d4e0c No.15111244
>>15111222
I watched 2/3's of a video about some guy shitting on udemy but I didn't really get his point. Added the echoes so other anons don't call me out if it's actually bullshit.
tl;dr cowardice
638ec6 No.15111260
>>15111244
I mean I'd not be surprised if something were fishy with them. They're basically the steam of online courses with slightly better quality filters.
But there's some good stuff on there.
eacec1 No.15111271
If I work on Kiki or Libbie games for /tech/ or probably /libbie/, /tech/ is completely going down the shitter these days, am I welcome to post about them here?
4900de No.15111291
>>15111271
If you're making a game you're welcome to post about it here.
e3d464 No.15111298
>>15111204
>I honestly don't know much about how C++ works. What about others? Should you avoid them as well?
There are good libraries out there, even some game-specific STL replacements like EASTL. That said, very often a library's solution is "usable" for your purposes and not "ideal" for them. Knowing when this matters enough to be relevant for your optimisation needs is part of what makes you a good programmer or not.
If you don't know much of C++, is there some other language you're experienced with?
>>15111271
>If I work on […] games […] am I welcome to post about them here?
Why would you not be? The only board I think might get laughed out of the thread really quickly when making a game would be /leftypol/
d976bd No.15111308
>>15111118
sounds fun, looking forward to the demo.
>>15111098
All true. I still use std containers and even std::string sometimes. and std::thread, and random. Actually I use a whole lot of the std c++ lib, especially the newer stuff. Habit. stream io is and always has been trash though.
When I use large amounts of objects I just use arrays anyway.
0d4e0c No.15111344
>>15111260
I really don't mind them, I think it's cool that it's not subscription based.
>>15111298
I'm familiar with php, java, and some others but I can't really say I've built anything significant with them. I've built a babby's first platformer in Unity already but my knowledge of C# has evaporated since then. I've struggled with C++ in uni in the past and the language always seemed mysterious to me.
638ec6 No.15111360
>>15111344
>I think it's cool that it's not subscription based
It is good, but I wish more tutors would enable the "download lesson" feature.
Udemy may say that you'll always have access but I'd like to have the courses I bought on my PC as well sometimes.
eacec1 No.15111394
>>15111291
>>15111298
>The only board I think might get laughed out of the thread really quickly when making a game would be /leftypol/
/fur/, if it behaved as bad as usual, or boards for retarded niche fetishes like /abdl/. I asked because Kiki and Libbie could be considered furshit even though only /tech/ lewds them furfags prefer Konqi for some reason.
0d4e0c No.15111475
>>15111360
I understand the feeling of paranoia. The same thing led me to buy a book that was available as a website for free.
b8906d No.15111542
I've spent the last hour and a half screwing around with OpenGL, no prior experience.
By what I've heard, I was expecting something a lot worse. Also, even my rather naive cache-fucking batching is getting better performance than what SDL2 was giving me with its own internal OpenGL use.
Haven't gotten around to some quick replacements in how textures are loaded, hence the gratuitous moon. I did get my resource management set up to load images and shaders from files in an OpenGL-friendly manner and spit out diagnostics when things go horribly wrong, so at that's something.
Also slopes that allow for smooth movement up and down without any catching or interrupting animations/being grounded, and solid on all sides. Still got a tiny hiccup when two slopes of opposite directions touch, but I'm pretty sure i know how to unfuck them. Or I could just treat those instances as a special case.
44897e No.15111667
So, according to my research, maximum fun with bullet-time comes from moving at a rate different to that of the surrounding environment.
Semi-Unrelated video
320fc7 No.15112286
>Waste 6 days day to night trying to debug fruitlessly only to realize everything was fucked because the exporter I use randomly transposes 1 matrix
27dafd No.15113900
Hey, I started learning music and I'm using SunVox currently, any good tips and guides? is there a general for this thing?
Can't believe it took me this long to try this, for some reason I never added sound to any of my projects but now it doesn't look that scary.
d976bd No.15114662
>>15113900
where to download sunvox that isn't full of russian malware?
99215b No.15115086
progress, some graphics
Got reflections sorta working on a non-plane river by interpolating the many planes.
Sometimes it shows stuff (underwater earth from a far river border) it shouldn't though. Now I am off to actual gameplay
27dafd No.15115090
>>15114662
The main website?
Can anybody explain to me how copyrighting works on melodies? it seems that a lot of melodies are pretty simple to make I think any melody I come up with may already be used.
d976bd No.15115284
>>15115090
I'm an idiot. found it, it's pretty good. I like PixiTracker from his site too. I wish his SunVox playback library was source code so I could compile it into my project. Anyway, I might try using a simple protracker player. My music ability consists of fucking around in protracker 2.3 for windows.
I don't know copyright law for music, but people cover and remix songs all the time. there are CDs full of bad covers of popular songs.
27dafd No.15115589
>>15115284
Here
>https://github.com/warmplace/sunvox_dll
You can use it to load and play SunVox files from any project, you can look for bindings for your favorite language too, I bet you could do some pretty cool stuff with it.
Remix songs are pretty grey area, you'll never know how much is too much, I just want to make original music that wouldn't be flagged as a ripoff since I genuinely fiddle around until I find a melody that sounds good enough.
99215b No.15115865
Added cutting trees, although you can't do anything with the trees yet
I think I will remove the physics, and maybe the branches too, unless they auto-collect
f21297 No.15118220
Made simple enemy AI. No pathfinding algorithms used - the enemy simply moves towards the last location you were spotted at. Works pretty good and I don't think I'll need to implement any complex pathfinding at all.
>>15113900
Basic knowledge of music theory helps a lot. You might also want to dissect some of the demo tracks bundled with sunvox to see how it works.
d8c789 No.15118533
Last kissing module animation assets finally complete. Now to work towards a small demoday demo release.
2238b0 No.15118610
>>15115865
just make the player and branch colliders on different layers and remove collision between those two layers
790fc8 No.15118976
>>15096311
Stop stalling and make your game. In the time it took you to make that editor you could've written all your quests in plain JSON or XML or just using any preexisting tools available.
2238b0 No.15118978