1597ab No.15186873
"18 Days until demo day" 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: >>15154579
>Sister thread: >>>/vg/27335
Announcements
>Next demo day is scheduled for August 8th, 2018
>As always, please contribute to the wiki if you can
1597ab No.15186880
Do people still use >>>/agdg/ or the >>>/vg/27335 thread?
What about the wiki? IRC? Please don't ever use Discord
3c9ee8 No.15186894
>>15186883
for example i was thinking of doing a metroidvania because my favorite games come from that genre and i honestly love the idea of exploration and great bosses. how would one start off in order to make a good metroidvania. do i have to play the classics first to understand how a metroidvania works.
493f14 No.15186901
>>15186894
Make a character that's fun to move.
Make enemies that are fun to fight.
Make abilities that are fun to use.
Make a world that's fun to explore.
Done.
3c9ee8 No.15186913
>>15186901
sounds simple enough. but im worried that my execution would be shit. i had an idea of a game where you play as a psychic boy called oracle who would go around and kill deities. i was also thinking the setting would be urban fantasy
a4051b No.15186964
FAPPING IS THE ULTIMATE DE-MOTIVATOR
07e687 No.15186982
>>15186880
When I have progress I'll probably post more on those two than the /v/ threads. For now, the progress and questions are here so I'm mostly here too.
>>15186883
>>15186894
>>15186913
If you are going to use Godot, definitely go through the tutorials at http://docs.godotengine.org/en/3.0/ before trying anything fancy. You should probably check the 8/agdg/ wiki too for some useful advice and links.
258b15 No.15186984
>>15186880
I only go here, sometimes edit the wiki articles.
>>15186913
>im worried that my execution would be shit
You haven't even learned to just like make game yet, it's too early to worry about game design.
7caf62 No.15187217
I wanna make it pretty already, but only doing the collision meshes is draining all my lifeforce, i usually fine with boring work as long as i see progress, but god damn redoing all buildings with simpler shapes is more work than expected
Also i will need to fix the character animations and i didn`t even learn how to animate properly in Unity yet
These two weeks before the demoday will be busy
6989fe No.15187254
>>15186964
That's right, you dev-anons better keep your hands off your private parts.
b2311a No.15187256
>>15187217
don't do animations for characters in unity, the support is generally halfassed
7caf62 No.15187282
>>15187256
you mean, do them in blender and export?
b2311a No.15187329
bceaf2 No.15187531
>>15187466
I like the first one. It sounds hopeful in a weird way, like the world is falling apart but it's going to be ok. It's reminds me a little of Circus music.
The second one sounds like a mess, which may be the point but I don't really like it. It's a bit much for my taste. This is coming from someone who loves Death Grips and Street Sects.
9a7805 No.15187536
Just more props and improvements. Should be done after hanging a couple portraits and paintings.
258b15 No.15187814
I'm up to 1400+ lines worth of string helper functions and macros, not counting temporary memory system which is used in some of them, and it's still a fucking pain in the ass to do anything with strings in C.
fe88c1 No.15188219
>cant work on my engine much at all because of work (60 hours/week)
>work is finally over so I can work on my engine for demo day
>now my main computer is broken
I have spent all day backing my files up to a temporary hard drive using puppy linux. I'll have to reinstall my operating system and everything, and buy a new hard drive too.. it sucks but after that I should be able to work on my engine. I doubt I will have anything to show on demo day but who knows, really, if I can make some progress on it. Maybe I can just work on some feature to make it look nice, like giving the player some basic walking physics instead of the shitty floating camera it has right now. That would at least make the engine feel presentable, even if it lacks any kind of culling at this point.
a160f8 No.15188238
>business venture with cousin goes into the shitter because he's a retard
>already know how to code, come up with great idea (which is rare for me as I'm not an ideafag)
>tell mom about it, she gets me some extra tendies on the next trip to the store
this is it guys, I'm going pro
a9d703 No.15188263
dd023e No.15188342
>>15187814
What the hell are you trying to do with them?
a4051b No.15188456
>>15188342
He could be trying to use a memory buffer to prevent mallocs. That's the only thing that would justify 1.4k lines of code for fucking strings.
1597ab No.15188663
Speaking of optimizations, what's a good way to store a byte[] that you can write to a whole bunch without necessarily reallocating it? I'm familiar with the concept of a flexible array where you resize it and double the size, but I don't know if that's ideal. A List<T> does this under the hood in C#. Can you write to an arbitrary bytestream without an output target? Like
a160f8 No.15188746
>>15188663
what?
you want a byte array then just allocate a byte array
7caf62 No.15188812
1597ab No.15188821
>>15188746
I don't want a byte array, because I have to resize it, which is a waste when it gets larger and I have to increase the size. I was looking for alternatives.
For some reason, memory streams are twice as fast; I usually get
114344us for the first test, 200849us for a byte[]
1597ab No.15188851
>>15188821
Whoops, my timer code was fucked please ignore my retardation
a4051b No.15188886
>>15188821
>>15188851
BTW the fastest way to do dynamic arrays, is to allocate a gigantic pool of memory. Like all the dynamic memory you'd ever use in the entire program, and then every time you need more memory section it off of that pool.
bceaf2 No.15188903
>>15188821
https://en.wikipedia.org/wiki/Dynamic_array
https://en.wikipedia.org/wiki/Linked_list
There is no silver bullet for your problem. You have to choose between being able to resize your data structure and your data structure being fast in any scenario.
a4051b No.15188929
>>15188903
Linked lists are the slowest memory container.
bceaf2 No.15189007
>>15188929
Is that a challenge?
ce18f1 No.15189024
Has anyone here tried using libgdx and what did they think of it?
1597ab No.15189046
This is for my input recording/playback for a level.
I think the optimal solution here is to make a List<byte[]>, and instead of resizing it, it just creates another buffer as needed and throws it in the list, tracking the length as it goes. When it's done, it just writes them all to a single byte array for playback or storage. This might actually be worth implementing as my own IList<T> implementation later; I'll have to check on my day off.
However, a good old-fashioned List<byte> will do just fine, since it handles all the resizing under the hood, and it can still copy to an array pretty quickly. I doubt any particular level will have more than 10,000 inputs to record, anyways.
a4051b No.15189047
Any engine-fags know if FBX is a decent animated 3 model format? I stayed away from it because it's proprietary but apparently everyone uses it.
>>15189007
Out of the standard containers, that is because the iterative speed is shit, which you seem to know. However, I bet if you compared resizing a giant array once, and tacking on 2000 new elements onto a linked list the array would be faster. Simply because malloc is slow as shit.
bceaf2 No.15189074
>>15189047
I found this table which may be helpful.
Source http://bigocheatsheet.com/
312dba No.15189087
>>15189047
People wouldn't use proprietary shit if blender wasnt so shitty
1597ab No.15189110
>>15189074
I thought log (n) was better than n, because if n is less than 10, log10(n) would be between 0 and 1 which is less than 1
bceaf2 No.15189124
>>15189110
It is. Where are you getting that it's not? The key on the site has says log(n) is "good" and n is "fair".
a4051b No.15189125
>>15189074
Big O doesn't account for the speed of cache or system calls, which are 2 areas the Linked List suffers heavily in.
>>15189087
It's not just blender. It's the Khronos group and Autodesk. Collanda was a fucking mess. I've been trying to do skinning with GLTF 2.0, which is Collanda 3.0 and it's a fucking mess. It's wasted a fucking month of my time. I really REALLY do not want to switch to .fbx, but GLTF is just so fucking shit I might have to.
1597ab No.15189159
>>15189124
>finish work and had to go back three times because i forgot to return shit like the keys
>forgot my sunglasses on the bus
>made two obvious typos in my code and fucked things up
>cant fucking tell the difference between yellow and green on a chart
Okay time for sleep, I'm too retarded to stay awake right now
6db0a0 No.15189218
>>15187466
first song sounds like if the beach boys were drowned in reverb, but still preddy good
db007f No.15189330
>>15187466
First sounds like it'd make great music to find diegetically, like on the PA system of an abandoned mall or something. Shit screams decay.
The second one feels like two separate songs that just play over each other for a bit. I think the transition could use more work.
9a7805 No.15189368
Last render for tonight.
>>15188929
I hope at some point in your programming career you think back on your post and feel embarrassment.
>>15188821
It depends entirely on what you want to do. What's the context? What are you doing more of, insertion or just pushing? There's a thousand factors you are leaving out. There is NEVER a "better structure". Please don't think there ever is.
a4051b No.15189381
>>15189368
>I hope at some point in your programming career you think back on your post and feel embarrassment.
I'm sure you know more than google engineers who manage code that runs on gigantic data centers.
bceaf2 No.15189382
>>15189368
That looks really nice anon.
fe88c1 No.15189515
>>15189368
That's just a fact of how caches work, on an array you have a guarantee of spatial locality that a linked list doesn't have, since the allocator can just put the memory in the list anywhere it wants, meaning that your cache is worthless when the next element in the list is somewhere totally different in your RAM and it has to clear all the lines for that. This isn't any kind of new information.
9a7805 No.15189538
>>15189515
>>15189381
Yes you have worse cache misses but that's not what I'm arguing about. There is NO such thing as a better data structure. To dismiss something from ALL scenarios on one account (cache), is retaded. There are scenarios where linked lists, doubly-linked lists, etc, are better than arrays. Don't evangelize programming with that mentality.
fe88c1 No.15189598
>>15189538
Can you give us an example where it's better?
a4051b No.15189604
>>15189538
>Yes you have worse cache misses but that's not what I'm arguing about.
Lol. I said they're the slowest containers, and somehow that has nothing to do with cache misses? The typical linked list, allocate a new element each time you insert one, has no speed advantage over the typical dynamic array, allocate a new buffer and copy everything, unless you modify it like >>15189046 is doing.
>Every time elements are inserted it makes a syscall much slower than cache miss
>Every iterate to the next element I have a cache miss
Its fucked on both ends. Sure there's no best data-structure but Linked List has virtually no advantage that another structure couldn't do better other than being easy to implement.
Your biggest mistake though, aside from trying to pull the centrists bullshit, is you think in terms of containers.
a4051b No.15189648
HookTube embed. Click on thumbnail to play.
>>15189598
Theoretically it's better when you want to insert something in an array that's huge, because you just create an element go to the spot in the array, and just link it in. Theoretically, it's better for appending to a fuckhuge array to.
Unfortunately, every time you create the element it calls malloc which is extremely slow because it has to call the OS. It'd be faster to just malloc everything at once. Also, iterating through the array to get to the spot you want to insert into is ridiculously slow because you get hit by a cache miss (which is slower than doing trig functions). So if you insert 500 elements into the list, you are doing 500 trig functions. If you absolutely need to insert in the middle of a gigantic list use a tree.
It's really hard to dig up exactly what the benchmarks for all of this are since it varies between hardware. If you know the concepts of how hardware/OS can slow programs down though it's easy to see how linked list is extremely slow in every regard. If that's not enough for you here's a Google engineer who works on phones and data-centers saying "never use them".
dd023e No.15189671
>>15189538
>There is NO such thing as a better data structure. To dismiss something from ALL scenarios on one account (cache), is retaded
Fucking MIT niggers.
9a7805 No.15189696
>>15189604
>Lol. I said they're the slowest containers, and somehow that has nothing to do with cache misses?
Yes. Because there is also insertion, deletion, etc., not just reading.
>Every time elements are inserted it makes a syscall
Only if they are implemented to allocate memory on insertion. There are many variations you can even mix it with arrays.
>Every iterate to the next element I have a cache miss
That's flat out false. There is no guarantee that it will be in the same cache but there is also no guarantee that it won't.
>Your biggest mistake though, aside from trying to pull the centrists bullshit, is you think in terms of containers.
This isn't politics. There is no left and right wing on data structures. If you dismiss a solution forever without even considering it, you loose a solution. Making you a terrible programmer.
fe88c1 No.15189761
>>15189648
I already know why there isn't any real example beyond that, I am just asking since when someone has to come up with a reason for when it is better, they have to consider the arguments about why it is worse and can maybe agree with them.
In that one situation, with lots of random inserts on a large set, I would end up doing a combination of both, essentially deliberately fragmenting my array by having a linked list of arrays that would be accessed with some kind of getter/setter function. Probably would over-allocate the arrays too so they have room for those inserts, and I have to call realloc less… so it's not a totally wrong approach, if my dataset is extreme. But the kind of linked list they teach in say first year CS is just cancer, with one value per list element, it's useful for learning about pointers and how malloc works but you should never actually use it outside of learning to be comfortable with those things.
Maybe I am disagreeing with him since I am still thinking of that strawman, but he says >>15189696 a much better argument, about how you realistically implement it with arrays. So I can't criticize that post if we are just talking about it in a generic way. Although I do think that he has moved the goalposts a little bit.
But who knows what the context >>15188821 wants to use his data structure in? Most likely he can get by with a array, but we don't know what he is doing.
9a7805 No.15189791
>>15189598
There are probably more examples where it's better to use arrays than linked lists. But here is a guy who breaks it down with very specific scenarios: https://cppexperience.wordpress.com/2014/10/05/c-linked-lists-are-considered-harmful-arnt-they/
>>15189648
I've seen this video before but most people cling onto is because of ad populum and it's a dude from Google. Linked lists are far from perfect but under the right circumstances (in particular when you don't have to traverse the whole list), they can be better than traversing an array.
a4051b No.15189826
>>15189696
>Yes. Because there is also insertion, deletion, etc., not just reading.
Which suffer from system calls which are slower than cache misses lol, and you have to do them one at a time. Even then, that doesn't address the issue of how a tree would be better suited for this.
>Only if they are implemented to allocate memory on insertion. There are many variations you can even mix it with arrays.
Which is why I said you have to modify it like what >>15189046 is doing
>That's flat out false. There is no guarantee that it will be in the same cache but there is also no guarantee that it won't.
<The system will allocate memory together more than 0.0001% of the time
You've jumped the shark. Unless you're heavily modifying it to the point where it's not even remotely close to what a linked list is, the data will rarely be allocated together. At this point it seems like you're just saying whatever you can.
>>15189761
This is what I've been getting at. Pure linked lists are garbage. You have to heavily modify them. Even then it's very likely a tree would serve better.
>>15189791
They're only better if heavily modified, in which a tree would serve better. System calls + Cache miss make the template linked list slower than arrays until it gets to the size where it should be a tree.
001c40 No.15189841
>>15189826
Writing a custom allocator is not really a hueg task (and you'd do it for trees too) bro.
a4051b No.15189855
>>15189841
The best way to go about that is to allocate a batch of nodes at a time, which is essentially what >>15189046 is doing.
9a7805 No.15189979
>>15189826
>Which suffer…
Second point addressed this
>The system will allocate memory together…
I've worked on phone and console hardware. It can still be rare but there are certain configurations that make exceptions. Never trust your odds in programming.
>seems like you're just saying whatever you can
Don't project Anon.
>They're only better if heavily modified, in which a tree would serve better.
That doesn't dismiss it from being better at all. You said so yourself, you just have to implement them appropriately which is my original point. Trees and linked lists are also not mutually exclusive.
2df6f9 No.15190174
I saw in some video (I think by NVIDIA) talking about how rainbow six siege uses a method to speed up performance by only rendering every second pixel then generating some approximation of the surrounding pixels.
Does anyone have any idea what this technique is called?
2df6f9 No.15190177
>>15190174
Oh nevermind I'm such a dumb cunt.
It was a talk at GDC called "rendering rainbow six siege" and the technique is called "checkerbox rendering" if anyone is interested
258b15 No.15190209
>>15188342
Putting things in the middle of a string, compositing multiple strings into one, putting numbers into a string, extract a section of another string, create a string of unknown length, things like that. I need them mostly when dealing with files and text input/commands.
The main problems are that C's variadic arguments are a piece of shit, and that every time you want to make a new string you need to allocate memory for it yourself and then free every single one of them afterwards (thus temporary memory system). A lot of that code is redundant though because I want to support both my custom text struct and C's null terminated strings, and possibly have a third function for a single char rather than a string.
734ab7 No.15190244
>>15189368
Where's the toilet?
9a7805 No.15190266
>>15190244
Bottom left corner. Ain't no time for pajeet.
a07dfe No.15190589
>>15187536
awesome environment modelling, great detail
>>15188219
what is your engine? I end up too burned out after work to do much myself. modelling in Blender is relaxing for me though so I pretty much quit coding my opengl dungeon explorer RPG and started working with Armory and a simple convenience store simulator/adventure. Armory is pretty rough, but looks like enough to make a simple sim and conversation adventure. Armory's skinnable UI needs work tho.
>>15189047
FBX is poorly supported in Blender. From my personal experience. For static objects OBJ works well. For animated objects .3DS and .X seem OK. I'm using AssImp as an intermediary tool to convert to my internal binary format.
>>15189125 Sorry to hear about the wasted time man. Thanks for the tip on GLTF 2. I was seriously considering exploring it.
a07dfe No.15190670
>>15190589
On FBX, Blender Guru interview with Ton Roosendaal, he describes how Autodesk makes changes to the FBX format yearly making it very difficult to keep the export/import code up to date and working. He also talks about the Autodesk license and how it isn't that friendly or compatible with reasonable people, making it very difficult to include Autodesk's DLL for FBX handling.
57b3a2 No.15190929
What's the best way to lock down my game so users have absolute no rights to modify the software on their own computer that they purchased and have to spend potentially thousands of dollars just to change an in-game texture on their weapon?
I'm bilingual so you can answer this question in either English or Hebrew, whatever suits you best.
258b15 No.15190948
>>15190929
Here, let me show you a neat trick…
ad6de3 No.15191034
>>15190929
Joking aside, the only true way to do this would be to have a game that takes place on servers, have the server check the validity of the user's in-game equipment, and only have official servers. At best you could then mod the game to give you premium textures locally, which defeats the purpose of having the skin in the first place.
a07dfe No.15191156
>>15190929
There is no foolproof way on a user-controlled piece of hardware. Which is why everyone is hard at work subverting these systems and demanding corporate/copyright holder control of your OS & processor. It sounds like you want to be a console or iOS developer. For a limited time, the PC is still mostly free.
446c7c No.15191215
>>15190929
The only way to ensure this is through cloud gaming. You render the entire game's image on your computer and just stream it to them. It's as unhackable as it gets, even client-side.
fe88c1 No.15191584
>>15190589
I have a thread for it here: https://8ch.net/agdg/res/31318.html
I have finished reinstalling windows and I also now have a partition for Slackware, so at least once I get these operating systems set up correctly, I can add vulkan support to the Linux version and have an easier time developing it. Eventually I want the Linux version to have the same features, it just takes more effort than windows does.
390685 No.15191810
>>15191584
How do you render text? Do you just use a spritefont?
fe88c1 No.15191867
>>15191810
It's just a texture that I crop in various ways. When I want to render a string I allocate a new resource with the rendering information like so:
//allocating text for the console
for(uint32_t i = 0; i < gfx->info.con_height; i++){
gfx->command_line[i] = rc_buffer_str(gfx,rc," ",gfx->info.con_width,-1.0f,(1.0f - (i * ht)) - 1.0f,2.0f / gfx->info.con_width);
}
//updating the text in the console
if(con->flags & CON_FLAG_UPDATE_CONSOLE){
for(uint32_t i = 1; i < gfx->info.con_height; i++){
gfx_update_str(gfx,rc,gfx->command_line[i],con->buffer[i - 1]);
}
con->flags ^= CON_FLAG_UPDATE_CONSOLE;
rc->flags |= RC_UPDATE_VBO_CACHE;
}
if(con->flags & CON_FLAG_UPDATE_INPUT){
gfx_update_str(gfx,rc,gfx->command_line[0],con->in_buffer);
con->flags ^= CON_FLAG_UPDATE_CONSOLE;
rc->flags |= RC_UPDATE_VBO_CACHE;
}
//drawing the text in the console
for(uint32_t i = 0; i < gfx->info.con_height; i++){
gfx_draw_str(gfx,gfx->command_line[i]);
}
166c5b No.15192667
Can anyone post more examples of pixelshit?
3d44f1 No.15192677
166c5b No.15192688
>>15192677
Because I want to make money off of Neofags, clearly.
f63fe8 No.15192736
>>15187466
Loving that second one
784bc4 No.15193946
Any musicfags know what technique or instrument this is?
I'm guessing it's just a tremolo but I'm not sure.
https://youtu.be/mHFOLqWgpEY?t=97
784bc4 No.15193958
>>15193946
Here's another example
Saging for doublepost
784bc4 No.15193961
1597ab No.15194004
While I work on my current game, I am trying to think about mechanics for another one.
In an RPG, I want it to be a dungeon crawler, with an ATB-style combat system, with each skill having different wind-up and recovery costs. I just can't think of how to approach the class/guild/skill system. I know I want each monster to give a fixed amount of XP, but beyond that I'm not sure what else. You should only be able to participate in one guild (job) at a time, and use what you learn there with other abilities to make a build. You should be able to freely change abilities around, but I don't want to have characters be a snowball of everything, but at the same time I want to encourage experimentation
2279e7 No.15194010
>>15193946
>>15193961
>Instrument
I'm guessing you're referring to the cello/double bass? It's pretty difficult to get a convincing solo cello sound without an actual cellist.
784bc4 No.15194140
>>15194010
It's the plucked instrument that uses tremolo.
e02548 No.15194154
>>15194004
>You should be able to freely change abilities around, but I don't want to have characters be a snowball of everything, but at the same time I want to encourage experimentation
I would imagine the simplest way to handle that would be to give each skill from every class a point value, and give characters a maximum value of points for skills that they can have equipped. Like, if the Thief class has a Dodge Up ability, it can cost 2 points out of a character's 15 total skill points. He has 13 left to spend on whatever skills he wants to equip from whatever other class.
Or you can go the FFT way and just have different types of skills (e.g. active skills, movement skills, reaction skills, etc.) and characters can only equip so many of each type.
1597ab No.15194206
>>15194154
>Ability points that are consumed while equipped
Oh hey that just might work. I'll have to consider the exact details ,but that gives me a very good base to work from
2279e7 No.15194467
YouTube embed. Click thumbnail to play.
>>15194140
I'm guessing a zither, particularly for your second example. There are a lot of plucked-string instruments that can produce similar sounds to the one in the first example though (guzheng, koto).
69817c No.15194929
Working on some big guns/railway cannons.
6f17d6 No.15194935
>>15194929
>Schwerer Gustav
nice
341bb6 No.15195754
>>15194929
There better be a boss fight on the Gustav
7caf62 No.15195810
>>15195754
>inb4 the whole thing IS the boss
>you gotta blow it up before it reaches the german base where you will get shot down from all sides, or defend it if you play as german
1597ab No.15195832
There's too many games where the goal is to stop the train entirely with units, or if you're on it, you just get to the control room and shut it down. That's boring.
Imagine like FF8, where the goal was to swap out a dummy set of cars in order to kidnap a president while the trains are in motion, only to find out it was a body double. Or what about setting a bomb in the cabin, then escaping to the rear train and releasing it while on it, so nothing looks amiss?
341bb6 No.15195842
>>15195832
Or how about you fight to take control of the cannon and then as a reward, you get a mini-game where you get to use it to decimate enemy forces? I think that'd be neat.
2279e7 No.15195956
SFML question. I would like to use an sf::View for handling camera movement/rotation/zoom. I am drawing tiles using a VertexArray. My tile sprites are 32x32 but I am rendering them as 96x96 (this is done inside the VertexArray). Even without any transformations, a 1920x1080 sf::View (same size as the window) creates distortions; some of the rows of sprites appear to be squashed together.
2279e7 No.15195972
>>15195956
nvm figured out the issue. The actual window drawing area isn't 1920x1080.
b2311a No.15196002
what do i have to do to make this print money?
also how the fuck do i do IK, the arms here are like 6 bones excluding the hand, and i can only find solutions for 3 bone arms that make no sense to me
ec3f9b No.15196013
Not a dev but is anyone making a skateboarding game?
I'd be Verly interested in that
b2311a No.15196018
>>15196013
someone was doing a snow/sandboarding one in godot
ec3f9b No.15196024
>>15196018
I will be back in 18 days
a0cc6b No.15196031
>>15196002
Make it online only with subscription. Start a patreon and have an endless devtime.
fe88c1 No.15196042
>>15195956
>>15195972
Is the problem that, when you try and make a window that is 1920x1080 on a monitor that is 1920x1080, the actual client area of the window is less than 1920x1080? That shouldn't be happening on windows at least, what platform is this on? I was looking at the source code to see if there was a bug in SFML, but it seems to not have this problem on windows if you look at the code here:
https://github.com/SFML/SFML/blob/ee957f342051f509634355755049ad0486dafd43/src/SFML/Window/Win32/WindowImplWin32.cpp
92b137 No.15196085
>>15196024
It's 16 days till demo day, bud.
2279e7 No.15196095
>>15196042
Antergos (aka Arch Linux with nigger-friendly installation).
341bb6 No.15196102
>>15196002
Just follow this fool proof plan that other porn game devs have successfully done already:
>Make porn game with your favorite (((copyrighted))) characters
>Setup Patreon to fund it
>Oh no! Here comes the Cease and Desist!
>Change the character(s) to an original design
>Lose a chunk of funding because it's no longer the copyrighted character but most will stay because porn game
>>15196073
>>15196075
>Useless stats bots
Mark banned someone for saying Custom Robo was shit, but I get the feeling these posts will stay up.
40ee19 No.15196379
>>15196002
A game where you are a repair mechanic/surgeon for robot women, and while they're on the table they complain about not being loved at work or home, and you pick which one you want to bond with
•a cafe maid bot that just needs minor maintenance
•construction bot girl that needs regular limb replacement from heavy stress jobs
•spec ops Ghost-in-the-Shell type bot girl that comes to you for full body swaps and holes blown through her
•a sales assistant bot that has bad luck and gets damage way beyond normal chance and is upbeat to at least still be online/functioning despite her luck
the actual repair mechanic need only be minimal drag-and-drop shit, and waiting for parts to be delivered by drone, so you talk while you wait. This shit writes itself.
5b97a1 No.15196449
is new guaranteed to return a contiguous block of memory or is it just virtual memory arbitrarily mapped to wherever it found space?
1597ab No.15196486
>>15196449
What language?
As far as I know, it should be a contiguous block of memory, for value types
001c40 No.15196504
>>15196449
>is new guaranteed to return a contiguous block of memory
I don't see how it could be, or why. It's an OS detail.
6f17d6 No.15196512
>>15196002
>what do i have to do to make this print money?
add fetishes
92b137 No.15196551
>>15196449
From your programs point of view, it will be a contiguous block of (virtual) memory.
There's no guarantee that it is actually contiguous in physical memory.
The first few bytes might be at the end of one memory page, and the next few on a different one, mapped to contiguous virtual memory, but in different physical memory locations.
As long as you're not writing kernel drivers this is completely irrelevant to you and you're safe assuming everything is contiguous.
07e687 No.15196555
>>15196512
Create new fetishes
5b97a1 No.15196584
>>15196551
Then why do people always argue that game devs allocate all memory up front so its contiguous?
1597ab No.15196609
>>15196584
My understanding is that when you allocate an object, the system attempts to find a chunk of memory that can hold the requested object. Whether it finds the smallest or nearest memory is an implementation detail by the system. What matters is that your int32's get 32 bits, etc etc.
References don't need to be contiguous, so eg a linked list can be all over the place in random spots of memory, as long as each node is contiguous to itself. If you allocate an array, then it's all in contiguous memory, large enough to fit all the values of the array. In some cases, this is a huge list of reference pointers that go to fuck knows where, but if it's a byte array, it should all be there, compact data.
At least in C#. While it's good to care about such things for performance, it's probably not something to worry about in an amateur thread before you have a finished game
001c40 No.15196630
>>15196584
OSes tend to allocate memory in blocks of a few kb at least. Even if you get a bunch of blocks all over physical ram you're still better off than completely random allocation.
5b97a1 No.15196634
>>15196609
Oh i was talking about C++ not C#.
People here often claim professional devs allocate a giant block of memory at the start so all of it is contiguous. However that makes no sense if new doesn't guarantee this.
So are the people that claim this just full of shit? I mean after all anons wouldn't just lie in the /agdg/ thread right?
ad6de3 No.15196708
>>15196634
Those professional devs also happen to be working on consoles, anon. And it CAN be done on PC/Windows, just not as easily as calling new()
https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/content/wdm/nf-wdm-mmallocatecontiguousmemory
92b137 No.15196765
>>15196584
>>15196634
That's not to be contiguous, but to stop memory fragmentation. That's a different issue entirely.
Also, "professional" devs are misnomer in the video game industry. We still have retards getting their offices broken into and being set back months of work for fuck sake.
5b97a1 No.15196794
>>15196765
Isn't fragmented memory and non-contiguous memory the same?
7db3ed No.15196809
>>15196102
You only get C&D from western characters. Japan welcomes it. Its why they have such a big doujin scene.
92b137 No.15196854
>>15196794
No.
Memory fragmentation in programming refers to memory being used inefficiently.
Due to different sizes in allocations, "holes" of unused memory might appear in which no allocation fits. This is essentially wasted memory.
For example, let's say you allocate objects A, B, C and D. A, C and D are 100kb, B is 99kb. These are allocated independently and in order, putting them next to each other (A, B, C, D, 399kb allocated), occupying 399kb of memory.
Then, B is a freed. This leaves a hole of 99kb. (A, 99kb unused, C, D, 399kb allocated)
Then we decide to allocate E, which also is 100kb. But this leaves us with a problem, E doesn't fit in the place of B! So we have to allocate it after D. (A, 99kb unused, C, D, E, 499kb allocated)
The end result is that we have a program that consumes 499kb of memory, despite technically only needing 400kb.
Now, instead of talking about objects that are 99kb and 100kb, I want you to think about several-megabyte-large-textures and objects that are a mere hundred bytes. If you allocate and deallocate tons of objects, you'll end up with objects all over your allocated memory, rendering most of it unusable for large objects. This is memory fragmentation.
For preventing memory fragmentation, simply reducing allocations and deallocations is the trick. Allocating all the big stuff at program startup, and only deallocating at shut down (which often means "just exit() and let the OS handle it lmao") is a very easy way to accomplish this.
Note that all of this isn't really an issue anymore in the modern day since people no longer have potato computers with shit for memory. On top of that, C# and Java actually move objects around in memory to reduce fragmentation.
fe88c1 No.15196901
>>15196095
It makes sense that you're having issues, Linux window managers are way more messy to work with. Implementations of X don't work in the same exact way, it's a pain to do it. If you read the source code to create the X11 window, it is full of comments that talk about it in terms of "some WM's do this" and "most WM's do this" or "a reasonable WM will probably do this". With a ton of defensive programming and lots of fallbacks when something doesn't work.
https://github.com/SFML/SFML/blob/ee957f342051f509634355755049ad0486dafd43/src/SFML/Window/Unix/WindowImplX11.cpp
a07dfe No.15197147
>>15196584
>Then why do people always argue that game devs allocate all memory up front so its contiguous?
We do it because malloc(), free(), new, delete, new[], and delete[] are all expensive operations and can not be execute per-frame if you want to maintain a reasonable, stutter-free game or simulation. The reason is because these routines call into your OS, which is 99.999999% chance not an RTOS. Making sure it's continuous is a nice benefit, and extremely easy to achieve. My hint: look at standard containers that guarantee continuous memory. std::vector and std::array if you need more of a hint.
0b12e7 No.15197161
>>15197147
>allocating in a hot loop
>not smart
amazing insight
001c40 No.15197179
>>15197161
Who hasn't allocated a few streams in your moms hot loop at this point?
4159c8 No.15197992
>tfw going to have something for demo day
it's a piece of shit and I hate it, but it's a game
2279e7 No.15198377
bceaf2 No.15198566
Progress for the text adventure. The output you're seeing is everything from the game file that corresponds to a given verb for the given item. So "look table" gets the table and displays the output for "look". When no noun is given it gives the output for the current room. I have yet to implement the parser, so you get everything.
69817c No.15199363
>>15194929
Decided to spit out the non-railway version since it only took a second or two.
>>15194935
>>15195754
>>15195810
>>15195832
>>15195842
All of these are good suggestions. It's for Die Totenmaske 2 so it could be used to interesting effect during fights.
Having it be the boss whilst on the train would probably be the best thing to do. It actively shoots at the cart you're on whilst you are in battle as you have to climb up to its cart. It's basically blowing up it's own train.
9a7805 No.15199452
Fast primitive retopo for collisions.
6f17d6 No.15199566
>>15196809
>You only get C&D from western characters. Japan welcomes it. Its why they have such a big doujin scene.
>Nintendo
9a7805 No.15199572
>>15199566
That sounds like Nintendo of America Anon. Same jew.
ecd287 No.15199587
I've been irregularly working on my game for almost a year now and I feel like I haven't made nearly as much progress as I should've. I don't even have the fucking doc written yet, I've just had all the ideas floating around in my head for two years. I almost wanna put this shit on hold and quickly make a smaller game just for the sake of getting something out there, but every idea I have is way too ambitious. It's all so fucking tiring, Aggy Daggy.
001c40 No.15199927
>>15199587
Make a game like missile command but instead of stopping missiles you have to stop migrant boats.
8d80b7 No.15200168
>Record progress
>See thread undead at page 13
>Completely forget to post it when new thread pops
Whoops, well here's some four day old progress with concave sectors and return of sky texture.
07f99b No.15200359
>>15200168
this brings back fond memories of creating Duke Nukem 3D levels with the included editor on PC.
Good luck with level design friendo, I don't envy the hair-pulling you're in for in making compelling levels people actually want to play. But nice engine I guess!
b2311a No.15200438
i don't get how blizzkikes can work with these models, there's over a gorillion bones on these things
fucking arm is 6 bones without the hand.
7db3ed No.15201074
>>15200438
The fuck is wrong with that vagina? Is she post op?
b2311a No.15201502
>>15201074
i don't know fam, i didn't make the model
ad6de3 No.15201797
>>15201502
>i didn't make the model
Neither did Blizzard if it has a vag. You can't fault them for shitty bones in an SFM rig they didn't make.
bc32a4 No.15201846
>>15200438
Eat that pickle you dirty whore.
1597ab No.15202433
>>15201797
>Vagina bones
Makes me laugh every time
bc32a4 No.15202453
>>15202433
What's so funny,this is clearly a real thing.
1597ab No.15202459
>>15202453
I know, but it's trying to imagine an actual vagina as having bones in it
bc32a4 No.15202462
>>15202459
Are you telling me they dont?
Next you're gonna tell me there's no bones in boners
bceaf2 No.15203329
This is the EBNF defining the custom language for item files in the text adventure. This will eventually take the form of a recursive descent parser.
block = ["VAR", list],
(statement, lineend),
{block};
statement = (list | external), ("="|"+="|"-="|"*="|"\="), expression |
| text |
| ifstatement |
| whilestatement;
text = '"' {newline | '\"' | character} '"';
print = "<<" (ident | external)
newline = "\n";
ifstatement = "if", "(", condition, ")", container,
[ "else", [ifstatement], container];
whilestatement = "while", "(", condition, ")", container;
container = "{", statement, "}";
condition = ident, ("=="|"<"|"<="|">"|">="), expression, {("&&", "||"), condition};
expression = term, {("+"|"-"), term};
term = factor, {("*"|"/"), factor};
factor = ident |
| external |
| number |
| text |
| "(", expression, ")";
external = ident, ".", ident;
list = ident, {"," ident};
Certain things to note.
>This is the parser for the "adventure mode" of the text adventure. Dialog and combat are two separate modes that won't parse item files.
>Variables are weakly typed
>There are two types of variables, item variables and command variables. Item variables are defined in the item itself (that means it's not put through the parser) and command variables are defined in the item command (that means they are put through the parser)
>command variables exist only for the sake of that command, and don't persist after the command is finished.
>To print some text on screen, you just have to put it between quotation marks.
>To print a variable on screen you put it after a "<<"
>There are if statements and while loops
>There's math up to addition, subtraction, multiplication, and division
>Variables in external objects can be read and edited
>There are no functions, classes, objects, etc.
>ident is an identifier, such as a variable name
>character is any character
>number is a number
>lineend is the end of a line
Are there any other text adventure specific features you would like to see in this? Any improvements I could make to the syntax? I'm still questioning whether or not I should keep the variables weakly typed.
8cdf9d No.15203977
I've gotten a lot better with the model import process with F.E.A.R.
It's surprisingly easy to import guns into the game and switch around the anims and make new animations for guns. I'll probably make a tutorial on how to do it once I fully figure out animations. Since that's an entirely different ballpark since it also includes tweaking the game's database. (The game includes an entire database just for gun animations. On things like what animation plays for every control, how fast it goes etc).
I also fiddled with figuring out the engine's scripting functions. This took longer than I anticipated because the documentation explains NONE of this. I eventually had to consult documentation for previous Monolith games like No One Lives Forever 2 to figure out how it works. I did figure it out though so I can now create a rudimentary cutscene in the game. This cutscene might seem pointless but to me it's a proof of concept that I can now build ontop of in subsequent projects when I actually get around to making a custom mission.
3d44f1 No.15204181
Unity are emailing random accounts trying to blackmail users into buying premium licenses.
http://archive.is/ZL0cu
> using Unity in 2018
c50428 No.15204209
>>15204181
>the last thing we want is to impact your development in any way
>I'd like to help you upgrade to Unity Plus or Pro in order to be compliant
Mafias in the game dev scene.
We live in the worse timeline.
524014 No.15204626
>>15200168
It looks really good.
Do you have any books/ressources to share on how to make a build engine type of engine ?
a160f8 No.15204664
>>15204181
>that's a nice game you got there, it'd be a shame if something were to happen to it
27f43b No.15204691
>>15204181
>proprietary software
752152 No.15204713
Have you ever thought about forking already existing open source video game and making your game based on it?
b4a08b No.15204882
>Slap texture atlas tile offset details into vertex attributes
>Drop draw calls by 90%
>>15200359
Those were the days, messing around with DN3D's config was my first exposure to that type of thing. It will be refreshing to work on content and art and making it fun. I'm more worried about people initially balking at how levels will be assembled.
>>15204626
Thanks anon. I started with ones like these:
http://www.cs.utah.edu/~jsnider/SeniorProj/BSP/default.htm
http://www.drdobbs.com/parallel/graphics-programming-black-book/184404919 (Ch 59+)
http://fabiensanglard.net/duke3d/index.php
I think Ika has a longer list of resources or maybe they're up on the wiki.
>>15204181
Fucking hell.
48e0fd No.15205295
I was told pic related exists. I might find it if I knew more about the book. (title, author, publisher). If anyone has any information I'd be grateful and I'd post the pdf later if I found it.
dc6c16 No.15205323
a0ffe6 No.15205599
I'm slowly learning.
I'm amazed at how Vulkan/openGL can use normalised texture information so you can easily swap an 1K texture for an 8K texture. I always had some moronic misconception of how it worked.
235920 No.15205684
>>15204181
Just another reason why OSS engines like idtech3 are nicer…
>>15204882
Here I am, I have some more links too, but a lot of them are about general graphics programming background that you need to start working on an engine. So here's some stuff-:
The first part of the BSP tutorial, it explains the compiler more:
https://www.cs.utah.edu/~jsnider/SeniorProj/BSP1/default.html
This video is mostly about theory, but he does implement a Duke3D rendering engine on screen:
https://www.youtube.com/watch?v=HQYsFshbkYw
This topic is a little different from how Infernis anon is doing his engine- he is writing a sector-based map editor (I think? correct me if I am wrong) which means that he is placing his walls manually and it can divide itself into convex sectors as he places them- while I am writing a brush based map editor; where I create my map out of convex solid shapes, right now it's only blocks but it could be another shape later. So to avoid intersections between brushes, which makes BSP compilation impossible for me, I clip all my brushes against each other in a CSG step which can be explained in this tutorial:
http://www.alsprogrammingresource.com/bsptut.zip
This isn't needed unless you want to write a brush based map editor. So maybe for a build style engine you don't need it.
Besides this since all of the tutorials here assume you already know how to draw polygons and just tells you how to reason about them, these are some basic graphics programming tutorials if you need them:
http://winprog.org/tutorial/
https://www.khronos.org/opengl/wiki/Programming_OpenGL_in_Linux:_GLX_and_Xlib
http://nehe.gamedev.net/
http://www.glprogramming.com/red/
https://www.khronos.org/registry/OpenGL/specs/gl/glspec10.pdf
Maybe a lot of people have a lot of different opinions about how to draw graphics, this is one way but there are a lot of others that you could use.
ad6de3 No.15205968
>>15204181
>random accounts
Almost certainly not, only the ones that actually made around that much money from their game
>blackmail users into buying premium licenses
How the fuck is it blackmail if they tell you from the start that you have to get a premium license if you earn >$100,000 in a year?
This is like showing an email from Epic when they send you a mail telling you to send them 5% of their profits and claiming it's wallet-rape. They're very fucking explicit about it, no need to bitch about it if you're too lazy to make your own engine or use a free "less useful" one.
446c7c No.15205973
>>15203329
>This is the EBNF defining the custom language for item files in the text adventure. This will eventually take the form of a recursive descent parser.
You like the theoretical part more than making games, don't you?
f6ab48 No.15205988
>>15196854
There is no guarantee that allocating memory returns a solid block of physical memory. Thus memory fragmentation occurs regardless of programmer actions.
Also
>java
>c#
As we all know these are the top languages for modern game programming lmao
446c7c No.15206008
>>15205988
>There is no guarantee that allocating memory returns a solid block of physical memory.
What does this even mean?
f6ab48 No.15206020
>>15206008
>What does this even mean?
235920 No.15206045
>>15206008
When you have a pointer to memory in your program, this is actually a virtual memory address that gets translated to a physical address using the MMU in your CPU. So this allows each process to have its own address space. In theory if you have a block of memory from malloc(), even though you are addressing it with a continuous series of addresses, these are all virtual addresses and might not be continuous physical addresses. For example if I allocate a block of memory that is two pages big, the first page and second page might not actually be right next to each other on my RAM, meaning that there is still memory fragmentation happening, with no way of being aware of it as long as malloc() or other higher level memory management systems are being used.
446c7c No.15206055
>>15206020
Imagine being this schizophrenic.
>>15206045
Thanks
8871ed No.15206059
c5120c No.15206102
>>15186873
>Amateur
Your lack of ambition disgusts me.
4159c8 No.15206397
>>15206102
Most people who go pro leave so it's fairly accurate
7caf62 No.15206551
Swimming in videogames, how do I do it?
I've been thinking of mesh/box colliders (my water have no waves) with exclusion colliders for air tunnels and whatnot. If it's inside a water collider, but not inside a exclusion collider, it's swimming.
Sounds fine and all, but i'd rather research a big more on the topic but I can't seem to find anything about this shit.
You can easily find dozens of articles for AI, Pathfind, shaders and whatnot, but I can't seem to find anything about how swimming is done.
Anyone have a good resource for me to read about the subject?
235920 No.15206604
>>15206055
It's important to keep in mind that this isn't an absolute and there are lower level memory management tools that can guarantee that there will not be any physical memory fragmentation, in kernel mode this is easier but in user mode this is still probably possible, it just requires a good understanding of the operating system you are using. So it isn't an impossibility, it's just very difficult.
bceaf2 No.15206646
>>15205973
I do really like the theoretical part but in my defense it's easier to change EBNF than it is to change a finished parser, and writing everything out in EBNF keeps me organized when I actually start writing the parser.
Also I can't get around the fact that I need some way in the game files to tell the game what to do, and the best way to tell a computer what to do is though a programming language.
This game is a learning experience for me. I've finished clones of Atari games in the past.
8cdf9d No.15208738
>>15206646
I've been fiddling around with Id Tech 4 mostly because I wanna make maps for Quake 4.
Something I noticed about it's level editor is it's surprisingly comfy. It's built into the game's .exe and has real time lighting and lets you jump straight into the game by pressing F2 and typing your map's name into the console. You can also build the map immediately using the console. I'm used to having to run it in a different executable and going back and forth every time I wanna test something.
Id tech 4 is a really convenient engine to build a game using because its source code was GPL'd and it has plugins for things like Blender. It also has dynamic lighting and physics. There was an indie game made using it called Quadrilateral Cowboy.
3d44f1 No.15209589
>>15205968
Read the article dipshit.
ad6de3 No.15209671
>>15206604
It also doesn't really matter if all your memory is physically contiguous. The cache loads memory aligned to it's own width every time it has to get something from RAM that isn't already in the cache, so as long as you allocate your variable arrays or large memory blocks with considerably easier to use methods to align it to those addresses you'll have all the cache optimization possible even without writing your own allocators.
>>15206102
Has nothing to do with ambition, you're only not an amateur at something if you make a living with it. Plus the word come from amare, meaning you do it because you love to.
>>15209589
Had no reason to believe that archive would be an archive and not just an archive of a tweet containing the image. Reading the actual article makes it even more of a nothingburger though, an undivulged (so probably low but intentionally vague to stir outrage and thus get more views) number of developers get a message based on an error that has already been apologized for. Big whoop.
ad6de3 No.15209681
>>15209671
>would be an archive
*Would be an article
fc1c40 No.15209778
>>15209727
World coordinate triplanar texture mapping?
b2311a No.15209792
YouTube embed. Click thumbnail to play.
>>15209778
i guess
originally i just unpacked the texture with world pos, but that got fucked on horizontally flat surfaces
then i found this to fix that
float3 worldCol(Input IN,sampler2D tex,fixed scale)
{
float3 Pos = IN.worldPos / (-1.0);
float3 c00 = tex2D (tex, IN.worldPos / 10);
float3 c1 = tex2D ( tex, Pos.yz *scale ).rgb;
float3 c2 = tex2D ( tex, Pos.xz *scale).rgb;
float3 c3 = tex2D ( tex, Pos.xy *scale).rgb;
float alpha21 = abs (IN.worldNormal.x);
float alpha23 = abs (IN.worldNormal.z);
float3 c21 = lerp ( c2, c1, alpha21 ).rgb;
float3 c23 = lerp ( c21, c3, alpha23 ).rgb;
return c23;
}
the rest is just blending different textures depending on the vertex normal y coord
there's also other textures for random details but i'm not using them in the examples
the important detail is that you don't have to worry about UVs, meshes with the same material will always sort of blend
the reason for the shader was that our levels have a width/length limit, if a mesh goes over that it has to be split, and managing UVs there to match would be a pain
my artist basically wanted me to copy vid related, at 4:30
a07dfe No.15210351
>>15199452
That's really nice. What did you use to build the collision geometry?
a07dfe No.15210360
>>15205599
nice progress. unified coordinates are nice. even for ortho projections, using [-1,1] for view coordinates solves so many problems instead of using pixel coordinates.
a07dfe No.15210371
>>15206045
Holly shit you're right. Some days I miss asm programming on amiga and st.
ef7658 No.15210375
>>15209988
>third one
that's cool as fuck
5d62b8 No.15210416
>>15209988
The doom one has no business being among those.
fc1c40 No.15210455
>>15210416
It looks shitty enough.
5d62b8 No.15210517
>>15210455
I see no 1px limbs, the movement is clear and expressive with personality, and so is the face. Sure, it's an edit, but I don't think it deserves to be called pixelshit.
ddd12a No.15210552
>>15209988
I swear to god I saw those exact 5 images posted calling them pixelshit over a year ago. And exactly like last time, people call out the doom guy to not be pixelshit
5d62b8 No.15210571
>>15210552
I remember that too. Just go with the rehash flow, man.
a07dfe No.15210771
Things I've learned with Armory and Blender so far:
Armory Project -> Flags -> "Deinterleaved Buffers" causes crashes every time.
Render path set to "Max (Game)" with Voxel GI and RTGI post process turned on produces best results.
All materials must be reworked to use the Armory PBR material group.
Texture coordinate maps do not work with Armory at all and cannot be used. (node editor Vector->Mapping).
There are no good tutorials on scene setup and Armory rendering settings. Just a bunch of people shooting videos of loading the default example scenes and saying useless shit.
Point and area lights seems to work best. Emission materials not as well. Armory PBR has an emission setting that I haven't tried yet.
Blender procedural textures do not work at all. You must save them out as images and remap to objects.
Transparencies and translucent objects are a real shit show. Probably because Armory uses a deferred render system.
On that note, the Forward Render system crashes every time.
I personally really dislike Kode Studio and HAXE now that I've gotten to use them. My dislike for each is pretty much independent. They both are annoying in their own special ways.
Armory renderer is decently fast with my 280k poly scene.
I'll continue with Armory I guess. It simplifies the pipeline but adds its own areas of pain to the process.
235920 No.15210814
I am making slow progress debugging my portal system: today I found that when splitting a portal, I would send both fragments down the front tree. Then I found out that when splitting my portals, I wasn't preserving the number of leafs added, meaning the only portals that could survive were portals that were not ever split once when being added to two leaves. This map that I have is the first map to have correctly had it's portals generated for it. The debug view crashes on hall1.se2 but it did generate 138 portals, which means that it might have created at least one portal for each leaf, which would make it a success. So, I think that I will be able to start working on my PVS occlusion culling now that this hurdle is almost over! Maybe on demo day I will have a real demo, with occlusion culling and everything…
92d4e1 No.15211168
>>15204181
Wew, Unity is literal botnet. Glad I use Godot.
166c5b No.15211192
>>15211168
>Hi, REPLACE_THIS, we miss you :(
f61544 No.15211494
>>15211168
That's pretty shameful but that's not what a botnet means. And its pretty standard for a site to send shifty goddawful messages to keep using their service.
c147a9 No.15212449
>>15206045
>>15205988
>>15196854
>>15196794
>>15196765
>>15196634
>>15196609
>>15196584
>>15196551
>>15196449
After years of experience, I learned not to pre-optimize. If I had not gone down this road you have, I would have finished a game by now. Turn back. There is nothing for you down this path.
You should just make your game, profile it, and speed up the bottlenecks.
166c5b No.15212475
>>15212449
My stance on it is less a practical one and more attitude-based. If you know that you could optimize more but are unwilling to, then you are giving your work a "fuck it, good enough" attitude, and that will reflect in all areas of your game, not just performance. If you're not giving it your all, you won't make your dream game, and if you're not making your dream game, why be here, unless you're for the money? Is "good enough" really what you strive for?
And contrary to popular belief, there's nothing wrong with taking a long time to make your game, unless you're stealing people's money through Kickstarter or Patreon. Do it until it's right, you're in charge for a reason.
e9b284 No.15212623
>>15212475
I also still think software is really shitty these days. You need better and better hardware just to render text and images every season. It's because of the attitude that hardware is so good now, that less time and money should be spent on making software efficient. I believe this is only offloading development expenses on the user's hardware budget.
However, the opposite extreme is no good. Ultimately, the gamer wants to play your game, and most users can't appreciate the effort you went through to add a few more FPS. If you know how you can add that FPS without delaying the game; go for it. There's no silver bullet though, so you can't always know for sure that an optimization will help much. Just look at the arguments in this thread. You're already wasting your time before you know you need it.
Look at Bob Ross: do you see him spending the whole episode painting one corner of his canvas? Like the name of the show: instead of discovering the Joy of Painting, you should discover the joy of programming.
235920 No.15213221
I fixed the bug, now all of the maps correctly generate their portals. So, things are going very well, it all looks very nice and should be good for me to proceed to implementing the next stage of the compilation process: the PVS. I don't see any issues, it all looks correct so I should have no problem proceeding tomorrow on that. Maybe I will have what I wanted to show on demo day ready….
fc1c40 No.15213224
>>15212475
Engineering as a whole is "fuck it, good enough". True optimization minimizes time and effort for practical results.
07e687 No.15213318
>>15213224
>True optimization minimizes time and effort for practical results.
The problem with this mindset is that it's frequently abused by shitters as an excuse to write poorly-performing code.
b40d53 No.15213448
>decide I'm finally going to make that text adventure
>open nano
>what the fuck am I doing
This has happened multiple times. Why did I have to be a right-brained faggot?
fc1c40 No.15213454
>>15213318
That's fair, but I'm talking about the good yesdevs here: don't let your perfectionism get in the way.
bceaf2 No.15213677
>>15213448
As someone who is making a text adventure, here's the basic structure of my game.
1. Accept user input
2. Parse user input, figure out what is the verb and what is the direct object/noun
3. Read and parse the game files into data structures
4. Find the noun in the data structures
5. Find the verb corresponding to that noun
6. Execute the command corresponding to that verb
7. Go to step 1
There are a number of little improvements you can make to the above to make your code more efficient. For example you probably don't want to parse the relevant game files after every command. Instead you should parse things like the player file at the beginning of the game and the room/item files when you enter a room with those specific items. But those aren't options until you have a player file or a way to travel between rooms.
b40d53 No.15213711
>>15213677
Oh no, you misunderstood. I have no clue how to use the editor itself. And I probably never will, given how fucking retarded I actually am.
446c7c No.15213784
>>15213448
>Why did I have to be a right-brained faggot
You're probably uniformly retarded, the left/right brain bullshit is mostly pushed so people can pretend that a deficiency in one area means they're naturally good at another.
b40d53 No.15213802
>>15213784
I actually am "right brained" though. I'm more interested in writing than mathematics, a fact which I loathe.
446c7c No.15213806
>>15213802
Math is more rigorous than writing. You're overthinking it.
b40d53 No.15213825
>>15213806
That rigor gives it value. Writing has no intrinsic worth whatsoever, it's all sentimental.
9a7805 No.15213996
Some new look and idling behaviors.
>>15210351
Axis aligned boxes.
e431ff No.15214005
is there any shader for unity that makes UI text change color to be the opposite of whatever is rendered behind the text? i need my shit to be readable
fc1c40 No.15214031
>>15213996
You are surprisingly industrious.
fc1c40 No.15214034
>>15214005
You mean an inverse color blend?
bceaf2 No.15214042
>>15214005
>i need my shit to be readable
White text with a black outline or shadow.
Translucent to opaque black/dark grey rectangle with white or otherwise light colored text over that.
That's what they do for subtitles.
e431ff No.15214059
>>15214042
yea, i just found the outline, didn't know there was a built in one
i still think the inverse color would have worked better though
9a7805 No.15214065
>>15214005
No. You are gonna have to make a shader for it. Just grab the screen buffer and invert the color you write.
>>15214031
Thanks. Strange choice of word.
f73c30 No.15214077
>>15214005
>>15214059
>opposite of whatever is rendered behind the text
Not a good idea. It may look like a clusterfuck depending on the background. There's also a good chance that it'll become completely invisible if the background is 50% gray because it doesn't have an inverse color.
Using inverted colors are ok for shapes and outlines that just need to be visible, but it's not good for shapes that need to be clearly recognizable.
6542a4 No.15214096
Wanted to make some custom T'au infantry from Warhammer 40k to be used in Tabletop Simulator in response to the new Kill Team being released. Main reference was pic related with some Halo UNSC armor as other inspiration.
First guy is supposed to be a kind of scout, second is a regular foot soldier, and the third guy is more suited in close quarters with a shotgun-like weapon. Any critique is welcome.
fc1c40 No.15214135
>>15214065
Forgive me, I'd expect most porn game devs to abandon their projects, yet you keep making progress.
258b15 No.15214440
If I do "#define something 100*(4+2)", does something then equal "100*(4+2)" or "600"? I'm wondering if I should put that number into a constant so the calculation doesn't need to be done many times.
36fa18 No.15214479
>>15214440
it should not make a calculation during runtime
b2311a No.15214491
>>15214135
it's not porn if you believe it
>can't download videos from hooktube anymore
i'm mad
9e4f99 No.15214500
>>15214491
>it's not porn if you believe it
With dick sucking lips like these? I will never believe it.
I'm not one to judge but man shinobro has some weird ass fetishes.
f73c30 No.15214505
>>15214491
>download videos from hooktube
use genyoutube
b2311a No.15214517
>>15214500
>there will never be a fully controllable lewd game
why live
>>15214505
thanks fam
fc1c40 No.15214685
>>15214517
>there will never be a fully controllable lewd game
Sure there will, it's just a matter of time.
b2311a No.15214714
>>15214685
it's been a matter of time for years now mayne
it's the holy grail of never evers
4814b1 No.15214784
>>15214517
>that hint of leg wrapping around the man
079350 No.15214838
>>15214096
Good job, but oh boy, I can hear the neckbeards on /tg/ screaming in incoherent rage.
Tau looks great, I really like their mech designs.
fc1c40 No.15214973
>>15214714
Never said we'd live to see it. :^)
258b15 No.15215247
>>15214517
>fully controllable lewd game
Fully controllable how? There's a lot of ways you may want to move each bodypart, I wonder if it's even possible to make something like that before we have full body controllers or something.
b2311a No.15215270
>>15215247
like super deepthroat but more
at the very least 3d
c2ba50 No.15216682
Quick question for Software Developers in /agdg/.
I'm looking for jobs in IT, a lot of them ask for C# .Net experience. I know C#, but I've really ever only used it inside Unity. How easy is it to transfer knowledge between the two? Should I apply for these jobs?
bceaf2 No.15216912
>>15216682
Find some .NET C# projects on github and see if you understand what is going on in those projects.
c04463 No.15216962
I haven't posted in a really long time because of work keeping me completely swamped, but I just wanted to say that the longer I work on this, the more it's feeling like a proper single player adventure RPG. I'm getting closer to a point where all I have to do is print maps and content out.
bceaf2 No.15216988
>>15216962
Nice to see you back anon.
>I'm getting closer to a point where all I have to do is print maps and content out.
That must be a great feeling. Looks like it's coming along nicely.
db3c92 No.15217191
>>15203977
I fixed the "aim" animation for my Kalashnikov in Maya. I'm now able to reanimate the third person animations in a way that'll affect the first person view. This technique can apply to anything including reload anims.
007e24 No.15217211
YouTube embed. Click thumbnail to play.
>>15186873
Would you guys be interested in making Sanic Stages in Unity? I was thinking of starting a thread where we'd basically make Sonic Stages and then share them Mario Maker style.
69817c No.15217388
Got basic transitions working today. You can now move from level to level.
a07dfe No.15217397
>>15217388
Are you going to have a demo on 8/8? Looks interesting.
07e687 No.15217450
>>15217397
Don't give him any funny ideas, not until the camera and combat system are in a better state.
c04463 No.15217641
>>15216988
Thanks anon.
>That must be a great feeling.
It really is. I'm looking forward to finishing tons of maps. I've found that I really enjoy mapping. I've been dying to fully map out the beginning region, but a piece of advice that comes to mind from an interview I watched long, long ago was to not make the earliest levels until the game is almost complete. It's a good thing I enjoy it because in my last demo, only approximately 3-4% of the world map was visible.
>>15214096
Are you The Dick Snatcher?
Tau really lack any sort of custom/non-basic infantry on the workshop. But I guess that's true for almost every faction.
>>15187217
This looks like it could be a comfy overdose if you get the ambiance just right.
2d9979 No.15218636
How does this make you feel?
b2311a No.15218679
>>15218636
i'm a brainlet, i'm perfectly fine working minimum wage as tech support where my only task is to tell people to turn it off and on again
001c40 No.15218691
>>15218636
Once you have a few years of programming experience under your belt, you stop feeling.
9e4f99 No.15218807
>>15218636
I don't care at all.
What part of "amateur" did you not understand?
c7bfe1 No.15218896
>>15218636
>Go to uni to originally get into security
>Take an interest in engine dev
>Change degree to focus on more math so I can focus on efficient low-level programming and simulation
>tfw barely any jobs for engine dev
>tfw jobs that do exist pay less than security jobs
5d62b8 No.15218914
>>15218896
>Change degree to focus on more math
I know that fucking feel. I thought it'd do me good to get a good math background before "doing more fun stuff".
c2ba50 No.15218958
>>15218896
>looking for a job
>can definitely get a simple full time job as social media manager, webdev, or software dev
>realise that all of these are full time and would leave me no time to gamedev
>either have to choose between a part time job that I can barely survive on or drop my passion and work a job that gives me way too much money
just
ad6de3 No.15218968
>>15218958
You do the fulltime one a while until you buffer enough of that way-too-much-money, then quit and do your passion fulltime.
Although fulltime jobs still leave time to work on your own stuff, but only if you're one of those people who doesn't do much aside from sit behind you PC in his spare time, and not lazy enough to just sit on 8chan all day when you do.
61998b No.15218982
>>15218968
He will be unemployable if he's out of work for like half a year after his first job. Even if he did get an interview, this would be a guaranteed question and he'd have to come up with a legit reason. If he said he was on a hiatus because of gamedev, he'd get laughed out of the room. Also, having money is addictive. He probably won't want to go back to having no money and being anxious whether he will have overspent by ordering something that's not directly tied to his survival.
c2ba50 No.15218988
>>15218982
This is essentially my fear
61998b No.15219000
>>15218988
Find a job that is 3/4 full time instead. Either that or dedicate a day of the week, like friday, saturday or sunday for your gamedev. Do not quit for a long time after your first job, this raises a lot of red flags especially in a field that is fast becoming oversaturated. It just shows you cannot cope with pressure/overworking/responsibilities to the employer. Quitting after a year and getting one month off before looking for another job is also kinda iffy, but more acceptable but you have to convince yourself that you wanted to take on new challenges in IT and say so in the interviews for your second job. I think you start getting proper vacation days after roughly a year of employment as well.
a291ab No.15219005
>>15218958
>get full time job
>get buffer money
>switch to part time
>semi-retire until game is just like made
c2ba50 No.15219020
>>15219000
>Find a job that is 3/4
I don't think that exists anon
b2311a No.15219023
YouTube embed. Click thumbnail to play.
>>15219005
>>15219000
>>15218988
>>15218982
>>15218968
>>15218958
how about you just do whatever work you can find and gamedev when you aren't starving on the streets
61998b No.15219025
>>15219020
They are very rare, but I've seen jobs that require you to work about 30h a week with variations ie. 32h, 33h.
dc6530 No.15219031
>>15211494
No. (((Unity))) literally tracks your usage and sets up an RDP server so they can have direct desktop control.
341bb6 No.15219658
>>15219025
Where I come from that's just called a part time job that asks too much of you.
a07dfe No.15220020
>>15218636
Pretty good. I'm working to build my AI and machine learning skills. Current employer is even paying for classes.
a8c30d No.15220795
>>15218982
>If he said he was on a hiatus because of gamedev, he'd get laughed out of the room.
Depends on how you say it, and if you can speak with confidence.
You can word it in a way as to show that you're an industrious, independent, risk-taking, reliable, and hard working person.
Or, you can word it, "yah and i like took a break bcs i love bidya gaymes and i failed so i'm here for a jerb", and seem like an idiot for doing so, and won't be staying at the company long.
It really depends on how you say it, and what perspective you allow them to take on your own experience; as you're the one conveying your experiences, and can word in anyway you want to give off any signals you want.
Interviews are easy as fuck along as you have a way with words, and can read the interviewer's body language.
>Also, having money is addictive.
If you have a lot of money, but no time to spend it; what's the fucking point?
Anyone who says they "love money" is also someone who, in most cases, doesn't have a lot of money, or is a hedonistic fool with a low IQ (or at least from the people I've talked to, who have that world view of, "green is life nigga") or is just your average hedonistic woman/feminized man.
Anyone who only actively works for money is also someone who isn't forward thinking.
Invest. Build streams of passive income into a river of passive income, and live off that.
>He probably won't want to go back to having no money
Thus the last points.
>>15219000
>Do not quit for a long time after your first job, this raises a lot of red flags
truth
>fast becoming oversaturated
If you're willing to relocate, and live in a large country such as the US; then it's not a problem.
>>15216682
Usually if you're going to school with a specific focus (web dev w/javascript, python or backend w/java, C#, php, etc) then they should have term projects using the popular APIs as to prepare you for jobs.
If not then those teachers have probably never had a traditional programming job, and went straight from getting their Phd/masters to becoming a professor.
The general C# usage you get from unity is pretty transferable in terms of the "general knowledge".
Though, not being familiar with the specific APIs used in the field can be a hindrance; in addition to the specific design patterns that are common.
So, they will probably ask you what you like from X/Y/Z APIs, projects you've worked on/contributed to, and to give them a brief overview of W design pattern that they utilize (in a real world scenario, or ask you about a specific part to test your knowledge).
Also you don't need a github, if you say something like, "I intend to make profits from my work, and do not publish my work online".
This is common enough to not raise any eyebrows, and as long as you have samples of your work at hand (if they request it); then you're fine. Though it's generally easier to have a github w/samples of your work.
e0c450 No.15220902
>>15219031
>sets up an RDP server so they can have direct desktop control
Bullshit. Proof or gtfo.
1597ab No.15221101
>tfw discovered Elona and suddenly my game won't be ready for demo day
69ee3e No.15221253
>>15219025
i'm not familiar with developing/programming at all, but in many jobs in the US they'll have employees work 34 hours or less a week, in order to classify them as part-time and thus avoid needing to pay the same benefits as full-time employees.
987eae No.15222371
Is it worth it? Is it worth it to focus all this time and effort on graphics programming when something like security has so much more potential to give one a better job?
07e687 No.15222847
>see SDL2 has Go bindings
>wonder how Go's GC is doing these days
>find https://blog.golang.org/ismmkeynote
>they've reduce GC latency down to the fucking microseconds
Guess I have no excuse not to try this now.
b2311a No.15222873
has anyone tried doing modding in unity, particularly with new code?
looking at this, https://github.com/Hello-Meow/ModTool
is it a decent option or is there better?
f399f1 No.15223339
>>15222371
>>15218896
>implying you could hack it in security anyways
lmao loser
8e915a No.15223561
Why are ground textures so bad?
f41ab2 No.15223758
Finally got my acceleration rework properly working. Now I don't want to die.
8e915a No.15223793
Is this logic correct for how engines handle motion of multiple distinct objects:
>Vertex data is loaded for each model into a buffer (or multiple but for this example just one buffer to make thingssimpler)
>Essentially, a uniform buffer is created for each object and translations/transformations are made to each uniform buffer's MVP matrix every update which positions the object correctly in the world.
How does collision work then?
235920 No.15223817
>>15223793
This is how I am doing it in Vulkan. In OpenGL I just use the matrix stack to do basically the same thing.
Collision and rendering are different things. I use a BSP tree for collision detection with the world, but there are a lot of ways to do collision detection. If I wanted to have a moving box the player can collide with, I would just translate the coordinates on the CPU with a matrix as well as the GPU.
8e915a No.15223836
>>15223817
Im using Vulkan too.
That's precisely what I'm worried about though. I don't want to calculate all updates on the CPU for collision only to repeat this process in the vertex shader.
There has to be some way to use like a Compute shader to calculate the positions of all objects then it outputs a list of all indices for all objects that collided to the CPU for collision handling. Wouldn't this be quicker? I'm not familiar enough with shaders to know if this is preferable or if it's even possible to implement continuous collision detection…
8e915a No.15223859
>>15223836
Also, please tell me if I'm thinking too much about pre-optimizing.
524014 No.15223891
YouTube embed. Click thumbnail to play.
>>15223758
Have you thought about adding an animation for when you character goes in another direction on the ice like vid related at 0:37 instead of keeping the normal running animation ?
235920 No.15223917
>>15223836
I calculate all of my matrices on the CPU already to set the uniforms- the vertex shader just applies this matrix. Maybe that's not as fast as it could be… I don't have a problem in repeating some effort on the CPU- it seems that in the time you can do these calculations in a compute shader, it would be slower to do it that way unless you needed to do collision detection against a very large set. I think it would be faster to just do the calculations on the CPU instead of waiting for all your vertex data to go up and down the PCI bus.
It's possible for me to do fast collision detection with a dynamic object like this, because I can use the BSP tree to reject objects that the player couldn't be touching. So, if I am in leaf 5, and the moving box is in leaf 6, no collision check needs to be performed. I just have to walk the BSP tree a few times to reject it. I might actually not do this because the collision test itself is probably faster than proving I can't collide with it, though.
I don't think that you're thinking too much about pre-optimization, you want to do it correctly the first time or at least set it up to be done correctly. Maybe the issue is, you have thought about how to render objects a lot, but not yet how to do collision detection. You need to look into collision detection algorithms and data structures and think about which one you are going to use in your engine. I think that collision detection is a much more difficult problem than rendering stuff.
b4a08b No.15223942
Not been super productive lately but I applied the sprite and animation stuff I was working on to entities. Next I want to try using a spatial hash to lower collision checks in preparation for having projectiles again. Then I guess I'm crunching for demo day.
>>15223836
>>15223859
My naive solution just applies translations to each object matrix based on the delta once collisions are resolved. Needless pre-optimisation is a different thing than spending time figuring out what makes sense for your use case. Collision in and of itself can be a real headache though, so if you're not familiar with it I'd say start with a simpler system and go from there. Then you'll have a point of reference to decide whether you need a much more complicated implementation. Are you the anon working on the particle interaction thing?
>>15222847
I was messing around with LuaJIT's GC earlier this week and found doing 25 steps per frame with ~2MB of memory in use was in the region of 0.01-0.2 milliseconds which was lower than what I expected.
>>15223758
Do you have any new art for us to gawk at?
8e915a No.15223985
>>15223917
The next step for my engine is to simulate as many thousands of spheres bouncing and interacting with one another as possible. I want my engine to be very focused on efficient physics simulation.
The tranformation matrices are calculated on the CPU but I'm thinking about collision which requires the updated position of each object which you do once for collision then repeat the same process in the vertex shader for objects that did not collide. I'm just spitballing about how that seems redundant.
You are right about potential problems with bandwidth (is that the correct term here?). Perhaps though, in a scene filled with simple spheres, all that would have to be passed is a single vector for each sphere representing the centre as well as a radius. Then collision detection is hugely efficient and could possibly make a compute shader worth it? Maybe I could even reuse the same vertex buffer data then for every object…
I'll just try it on the CPU first. The compute shader does seem like something that could be implemented later, same with the BSP trees.
>>15223942
>Are you the anon working on the particle interaction thing
Yes.
a07dfe No.15224036
>>15223793
My experience is with OpenGL and Bullet3D.
You create separate Bullet3D collision objects. They really should be convex. You can use vertex data from the actual render object and build a collision mesh object, or just use a capsule, sphere, box or whatever as an approximation of the render object.
Each frame Bullet3D may move the physics object (if it's a rigid body object and not just a static collision object). It's your job to make sure the graphics object 3D transform is updated to track the physics object. This can get pretty tricky if you are using multiple frames and substepping in the physics simulation, and if your physics world and render loop are not synced in lock-step (multithreaded - in different threads).
So yeah, the render mesh and transform is not used in the physics simulation directly. It has it's own copy, and the mesh is usually a far simpler mesh. just an approximation of the shape of the actual graphic object. The transforms have to be synced each frame. Bullet at least provides a simple mechanism to do this - fill in your update code in the btWorldTransform class function.
You don't have to update each object each frame as most objects are not moving and Bullet will "put them to sleep" after not moving for a short period of time.
Bullet also has a version that runs on the GPU with OpenCL. I haven't tried it though and I don't know of the graphics and physics transforms are handled exclusively on the GPU and avoids the CPU memory bus.
I think in your case for max sphere count, doing direct sphere physics on the GPU would be the way to go.
f41ab2 No.15224178
>>15223891
Yeah, but new animations are a pain to implement.
>>15223942
Uh just a bunch of very WIP stuff.
006257 No.15225773
All people saying entity component systems are good.
Is this true?
3d23ed No.15225871
Tangentially related to videogames, more to do with worldbuilding. What kind of flags/insignia/coat of arms you like or think is overdone? Any pet peeves? Mostly with regards to fantasy settings.
fc1c40 No.15225883
>>15225773
I've heard it's all the rage in gamedev.
fc1c40 No.15225900
>>15225871
>22nd century communist canada
>23rd century fascist socialist britain
>some complicated thing that's difficult to discern
bceaf2 No.15225904
I decided to take a little break from writing the parser and work on the story and setting. I would appreciate any thoughts and critiques on this.
Humanity creates a state of the art space station that is capable of generating it's own gravity. The space station is huge and meant to be able to go long periods of time without re-stocking, at most 5 years. The station is put into orbit around the sun between earth and mars. After not even 3 months in service the space station vanishes. It doesn't respond to radio communication, and when people look where it should be it's not there. The gravity tech is deemed a failure and shelved.
One year later an alien scout ship arrives to earth. Humanity makes first contact successfully and establishes friendly foreign relations with the aliens.
Three years a later an alien capital ship arrives. They bring technology and a greater understanding of the universe. Humanity, when asked to show off their most advanced science brings forward the old gravity tech among fusion reactors in their infancy, silicon and quantum computing, and so on. The alien scientists see the gravity tech and go "what the hell?" because apparently we had stumbled upon some freaky stuff. They say that it's too dangerous to use, we go "yeah we figured that out", and the tech is shelved again.
The aliens share their tech and knowledge, including their own safer, more compact, and more efficient gravity tech. There's a boom in humanities development. Humanity starts exploring mars, and eventually the stars. Space travel becomes mundane. Energy becomes ridiculously cheep.
Ten years later a human space trucker is drifting out past Pluto when he seems something on his instruments. It has a really bizarre and noisy signal, but when he draws closer there's a flash of light from the object and moments later a piece of his ship breaks off. He looses control and starts falling towards the object. As he draws closer he sees that part of the object resembles an alien ship, and the other part of the object resembles what humanities space tech looked like before the aliens arrived. He eventually collides with the ship and finds out that his ship is too damaged to be able to take off, and the radio signal emanating from the object is too strong and would drown out any signal he may try to send.
Now he has to wonder the space station and try to find the parts and tools to fix his ship.
3d23ed No.15225943
>>15225900
This is kind of what interests me. You've figured out that the first flag is that of a communist country (fictional USSR though), and assumed the other one is fascist because of different colors in the stripes (it isn't but I get it). I want to figure out how to evoke that shorthand thought process without it being too blatant and cliche. Also, coat of arms can afford to be extravagant.
bceaf2 No.15225948
>>15225871
Here's a sight where you can see what the flag looks like in the wind.
https://krikienoid.github.io/flagwaver/
8c8e25 No.15225954
>>15225871
The animals on the flags would be difficult to recognize at a distance.
1597ab No.15225967
>>15218982
>He will be unemployable if he's out of work for like half a year after his first job. Even if he did get an interview, this would be a guaranteed question and he'd have to come up with a legit reason.
Nah. The whole process is just a simple funnel to make sure the HR monkeys don't hire retards. The cover letter is a quick litmus test to make sure you are in line with what they expect, and an invitation for them to look at your resume. The resume makes sure you have the proper skills, and the interview makes sure you have the proper personality.
If you can get that far, it just becomes a matter of not dropping your spaghetti. If you worked your first fulltime job, stick with it for at least two years so it doesn't look like you're a job-hopper. It's all how you phrase it and present yoursefl
3d23ed No.15225981
>>15225948
Great stuff. Thanks!
>>15225954
Think so? I've been thinking on using different colors to differentiate it enough and adding insignia that has meaning to that institution/country in my mind.
fc1c40 No.15225985
>>15225943
The second flag is your best, IMO. The black bars in particular evoke some futuristic-like fascism, like a dreadful imposing order. The angle makes them look futuristic. The gold streaks land the communism connection. I'm not sure about the bird though - it screams of freedom, flight.
True that coat of arms can be complicated, but I'd suggest keeping you flags simple for the sake of clear identification.
3d23ed No.15226026
>>15225985
They're not my flags. They're from Ace Combat. I just like them. I think the flag you're referring to is supposed to be for an in-universe Yugoslavia equivalent. I made a flag with a similar style using a stock clip art of a dragon and it's kind of gay. I have the skills to make my own art but I'm not sure to put there cause I'm not there in terms of worldbuilding yet. Just wanted to include a design to break up the color, and try to gauge the tastes when it comes to composition and design placement. Please no bully.
The shield is the most important part of the coat of arms and the rest is just for show. Well most of it is for show.
a8c30d No.15226034
>>15225773
It's a useful/robust design pattern, and highly suited to gamedev.
It's certainly not the end-all-be-all for game related design patterns though, as design patterns are just tools, and each has its place (though gamedev has special scenarios due to being realtime w/a very specific budget).
There's a lot of benefits to using ECS… if implemented properly, and w/usability in mind.
Properly implement ECS architectures will utilize optimization practices pulled directly from DoD as to avoid things such as cache misses; this also makes things like multithreading a lot easier.
If you like code that's compartmentalized, reusable, and operates on a layers of abstraction mindset that takes the form of: a system (do the thing), components (holds data to do the thing), and entity (something that by proxy does the thing); then it's right up your alley.
As for anecdotal evidence I've found it quite flexible, easy to troubleshoot, and surprisingly intuitive/simple to implement complex mechanics.
As you can build complex mechanics by layering lots of simple systems (i.e. the whole is more than the sum of its parts).
There's also useful system types that emerge, as you can use traditional per tick update systems, and f.e. can borrow elements from reactive programming as to create a reactive system which allows for all kinds of neat mechanics.
This also makes ordering how your game updates per tick a cinch, as "the things that are updating per frame", are all just systems, and you can create groups of systems executing in a specific order as to be a "early systems group", "middle systems group", etc.
Overall, I much prefer it over say, EC with a tinge of OOP, or say pure OOP that needs principles like SOLID to make it even viable.
Reason being is that it's amazingly intuitive when it "clicks", it's easy to organize/troubleshoot everything from low-level to high-level, and also it's nice when you can come back to your codebase a month or so later w/o breaking anything as everything is neatly compartmentalized into systems/components.
446c7c No.15226558
In certain situations, I may intentionally give multiple volunteers the same task, in anticipation that one of the volunteers will fail to complete the task.
You must accept the possibility that your work may be discarded in favor of superior work.
yandere-dev yes
1597ab No.15226584
>>15226034
I'm having a few issues with my puzzle game at the moment. Mostly I haven't worked on it in a bit because I don't know how to approach it. Main problems are:
>Need to consistently update all actors in reverse order (from bottom right to top left), ideally maintain actors in sorted array(?) and update their positions as needed
>Maintain a list of which tiles are occupied by an actor, bool[] seems to be ideal here, rather than maintaining a List or Hash of <Position>
>Somehow actors need to be able to define an interaction, eg a "rock" on "water" will sink, but a "boat" would not, ideally without introducing state flags like IS_FALLING
>Somehow define common behavior that objects can reuse (eg rocks, keys, gems all fall)
69817c No.15226779
Working on new areas now that I can reliably switch levels
a4051b No.15226800
f5754e No.15227258
>>15212449
you should just post
[AUTISM INTENSIFIES]
this freak discuss about nonsense and endup becoming trannies doing suicide onlive
hipsters are making games while you autist discuss how to optimeze the nothingness, you don't have completed a game, nont a single one, yet you pour countless breads on shit talking, so noobs coming here think it is important, it is not
by the way i've already delivered 4 games, but not alone, as a part of a team
keep talking future trannies
bceaf2 No.15227289
The parser is finished. Pic related is a representation of the tree, and the following is what's being parsed.
if (flipped == 0 && weight > 1 * 2 + 5)
{
"You flip the table onto its side"
flipped=1
prep-under=none
prep-on=none
prep-behind=crouch, sit, lay
} else {
"You flip the table back onto its four legs"
flipped=0
prep-under=crouch, sit, lay
prep-on=all
prep-behind=none
}
Now to write the code that executes the parsed tree.
006257 No.15227603
>>15226034
Yeah I thought so. I'll have to look into it.
d020aa No.15227706
I've taken the advice given and can now display and move many objects. Everything is going well.
One problem I've had a for a while though is just a single missing face on every imported mesh and I can't figure out why. You can see the square missing from the sphere and cubes and a triangle missing from the bunny. I don't know where to look any more.
570a21 No.15227954
>>15218982
I took a 6 month hiatus after saving up money from my first job. The question did come up at my next interview and I just said I was exploring avenues of self-employment but it didn't work out.
Got the job.
6079f9 No.15227975
10,000 bouncing balls in an invisible box against a black background.
No collision. Unfortunately, it's only running at 92 FPS
570a21 No.15227992
>>15225904
Sounds similar to the plot of Event Horizon, great movie I assume you have seen it. It would make a super interesting game in the vein of Dead Space.
92b137 No.15228042
>>15227706
If you have a single missing triangle, then the potential causes are:
>You are importing 1 to 3 vertices too little
>You are importing 1 to 3 indices too little
Incomplete triangles aren't drawn, so it really could be a "+1" or "-1" kind of problem.
905cec No.15228125
>>15186873
Hello guys neet here. Currently learning Unreal engine 4, already know C++ fortunately
Is it a good idea to get into game dev for PC and consoles for a 1 man indie developer? Or will success be easier to find on android/ iOS?
fc1c40 No.15228196
>>15227975
>10,000 collision balls
>no webm
Don't be a tease, anon.
>>15228125
Mobile games don't pay, unless you're one of the 3 that make all the money.
735537 No.15228233
>>15186873
>>15228196
Yeah figured. Have you made any money from pc/ console games?
390685 No.15228238
>>15227706
What file format are you using, because I've had a similar problem and it turns out .OBJ files index starts at 1 instead of 0.
fc1c40 No.15228428
735537 No.15228474
>>15228428
why the FUCK are you giving advice in this thread then?
fuck outta here.
fc1c40 No.15228506
>>15228474
It's common knowledge, anon. No bully
d4af20 No.15228555
>>15228233
>>15228474
>Have you made any money
>Jew thinks he can't be outed if he posts a Nazi cat meme fresh out of imgur.
You're not fooling anyone. A nodev ideasguy can learn to make game, but you will always be a shekel-chasing failure. If you want to make money, go start a patreon and cry about the anonymous meanies on 8chan who bullied you.
735537 No.15228571
>>15228555
If you want to sell your game then you too are doing it for money. Stop your holier than thou bullshit pls.
735537 No.15228633
b76a45 No.15228637
>>15228633
How's it feel being retarded, 4cuck?
735537 No.15228655
>>15228637
he btfo you so you reply to me? lol.
b76a45 No.15228669
>>15228655
I'd tell you why you're new and retarded but where's the fun in that.
Try opening the board settings and see if you can figure it our yourself, samefag.
785ea3 No.15228678
>>15228571
>Stormfagging it up
>Gets outed
>samefagging up and doesn't realize we have IDs here.
>inb4 I was only bretending to be tarded
wew lad.
735537 No.15228682
>>15228678
>implying i wasnt roleplaying a 4cuck refugee
lmao
(USER WAS BANNED FOR THIS POST) 785ea3 No.15228690
>>15228682
>I was only playing g-guys.
fc1c40 No.15228824
>>15228474
>>15228571
>>15228633
Dude just upload the balls webm.
fc1c40 No.15228828
1597ab No.15229039
>>15227975
Tell me more anon. Which language, is it 2D or 3D? When they bounce are they using simulated physics, or just arbitrary behavior you gave them? They only collide with the walls?
a8c30d No.15229477
>>15226584
>first
Build an array of tiles in proper order upon initializing, and use that
>second
Use a position component, each actor gets one, in the component store which tile/thus position (index in ordered array per Q#1), and use the position system to update its component per tick.
For positions on a limited/known tiles per row/column you can use a spatial formula similar to how threads are ordered in compute shaders, like x + y * 5 = index position
X is column position, y is row (5 tiles per row).
>third/fourth
Instead of defining each actor as an “object”, it would be easier if you define it in an ECS sense.
Each actor is an entity, with a set of aspects defining it (components).
A rock and a boat both have sprite renderer components, and water system components, but their component data is what differentiates them.
A rock and boat have different sprites, and different flags defined for the water system’s component (sinks/floats); though both use the same components.
Systems are there to transform the data of the components.
F.e. To move an actor, you would use a locomotion component (defining speed, what tiles it can move over, valid movement directions), the locomotion system would use the input component (polled input data, done earlier via input system) to apply user input, the locomotion system would then use valid input (as defined by locomotion component) to apply a change in position, and would write the results to the position component.
There’s a few good articles on ECS if u do a quick search, look at the T-machine article and the gamedev.net articles.
I highly reccomend to use an open source library for this, as building your own fully featured ECS framework is a huge task (a competent framework is huge, and should have code generation).
If u have specific questions or if I missed a detail specific to your usage case then lmk and I’ll do my best assist.
dac8e2 No.15229833
Any ideas on how to turn this into an actual game? I was impressed with myself at first because I actually made something playable for once, but it's, not good.
fc1c40 No.15229854
>>15229833
Looks like it already is. Here's some suggestions.
1- Keep a counter of missiles shot by the player: low amounts can give a score multiplier (maybe 1:1 duck/missile ratio is 2x or something). Alternatively, limit bullets (there can be ammo powerups to shoot).
2- randomize duck placement.
3- more enemy bullets to make it more challenging
4- add a start and end screen so it feels like a cohesive thing.
Curious that you went for the same gameplay as my own first game prototype/experiment.
a9d5de No.15229871
>>15229465
What is this for?
a8c30d No.15229889
>>15229833
Put an effort into adding more juice/game feel.
Look at "juice it or lose it" on yt
fc1c40 No.15229893
>>15229465
Is there a difference between both or is it just the background? The cyan one separates the foreground better.
a9d5de No.15229904
>>15228125
>1 man indie developer
>Unreal engine 4
You're gonna carry that weight.
ad6de3 No.15229905
>>15224178
Nice church, but I'm fairly certain that bell in the bell tower is way too fucking big.
>>15229833
You're a janitor in a park. Birds shit on things that you have to go clean, you can shoot them out of the sky, and if you get hit you slow down for a while. If the things you have to clean get too dirty you lose the game. Add a timer for how long you have to survive so you can add more levels with more things that get shat on and/or more birds, and maybe different types of birds with different behavior/health
>>15229893
There's one small difference it seems, though I have no idea if that's the thing he's asking feedback on or just an error.
fc1c40 No.15229941
>>15229905
Oh. I like the right one though I think the left one is more proper.
fc1c40 No.15230006
>>15229889
So I'm learning "juice" is apparently an accepted term for game feel/little details.
a07dfe No.15230131
>>15229477
I'm curious about getting into ECS systems after seeing your posts. What open source libraries would you recommend looking into? I'm interested in lightweight and minimal dependencies, if that matters. Thanks
ad6de3 No.15230313
>>15230006
Actually, juice is just a particular type of game feel term. Although it gets used as a blanket term quite often, I guess.
A few types of game feel are juicy, sticky, snappy, and jerky feels.
>juicy
Something moves, and its motion has follow through. Imagine a button sliding down, then overshooting a little before going back to its final destination. Or Samus bouncing a bit when in morph ball form in the original metroid. Was showcased very well at GDC that one time, with a pong game.
>sticky
Impact followed by a pause, mostly. Think that little pause that happens when you hit enemies in some beat'em-ups, or fightan games. Or when your character falls form a larger height in some games and sticks to the floor a bit when you hit it, like in 3D Zelda games or Hollow Knight.
>snappy
Instant reaction. Think when you click a virtual button. It doesn't slowly slide down, it snaps down. Preferably with a clicky sound.
>jerky
Delayed or even opposite reaction. Can be terrible, such as lag, but also applies to the kick upward when you shoot a shotgun in an FPS.
Sadly there's not much discussion online about other types of gamefeel, aside from one shitaku article by a guy who has a serious problem with getting to the fucking point. http://archive.is/nFnUE
At least ctrl+f "THE FRICTIONARY" if you read it, that skips his 5000+ word prelude about his balls.
b4a08b No.15230454
Got entity and wall collisions moved over to a spatial hash and happy with how much it dropped checks. Ten idle entities spread out around the level went from 117 checks down to just 1. Next up to get projectiles back in with the rendering and collision changes and add swept collision checks for fast moving objects.
>>15230006
If you're not familiar with the principles of animation (easing, anticipation, mass and so on) look those up. The general premise is the same that you're trying to make something more satisfying and alive feeling.
>>15230313
I think they call "sticky" hit stop in fighting circles. I remember some dev showing a video that used different lengths from popular fighting games and it was surprising how recognisable the feeling was just from that.
fc1c40 No.15230471
>>15230454
>>15230313
I have seen that pong video and another related one. Juicy doesn't mean a specific tween type, but all little details that include tweens, particles, etc.
Blizzard has always been good at this sort of thing: units die satisfyingly and hits feel punchy.
a8c30d No.15230635
>>15230131
Good to hear
I currently use the entitas framework for ECS.
It has support for quite a few languages, mainly C# (what I utilize), but also languages like C++, GO, java, and so on.
It's fully featured + production ready, and has examples/wiki for extending the framework.
https://github.com/sschmid/Entitas-CSharp
Entitas has code generation (though, only for languages that have some capacity for reflection), and code gen takes awhile to get used to (also a bit of pain to initially set up). Although, the structure, ease of use, and rapid prototyping it provides is amazing when you're acclimated to the workflow.
I'd recommend to watch sschmid's entitas ECS vids on YT, and then review the wiki/example projects.
5153b2 No.15230639
I've been away from game dev and programming in general for quite a while. What's the status on FOSS engines? I'm assuming Polycode is still nonexistent. There's Godot, which seems pretty great and I'm trying out now. But I remember hearing about some other FOSS engine that was fairly obscure and still early in development but I can't find it again. Anyone have a any idea what it is?
9ce84f No.15230721
>>15229871
>>15229893
>>15229905
Posted it here and promptly forgot about it. A while ago someone told me to switch most of the black on the inside of my sprites for dark colors; looks great, although I've been leaving some black to give the illusion of depth.
The black the is supposed to indicate that the bun is on the other side of her head, but I also like the way it looks without it, so I was wondering which one y'all thought looked better. The background was added on a whim.
>>15229976
The outline is there so the characters pop out more ala Mother 3, but I'm willing to give that style a try after I'm done with my current sets.
8c8e25 No.15230778
>>15230639
Polycode hasn't seen a commit since 2015, and there's still loads of decent 2D freetard engines no one uses because muh Game Maker and muh Unity.
5153b2 No.15230808
8c8e25 No.15230820
>>15230808
>rainbow flag in username
>bitching about Trump
Checks out.
a4051b No.15230877
>>15230820
Is that even bitching about Trump? I can't really see anything I disagree with in that post. Seriously. Imagine showing people 20 years ago that headline. It would provoke so many questions.
fc1c40 No.15230903
>>15230721
If you're going to have a black outline it should be a black OUTline: no black inside.
8c8e25 No.15230936
>>15230877
Scroll down through his other tweets.
635794 No.15231698
YouTube embed. Click thumbnail to play.
>>15228238
>>15228042
I'm using .obj. I'm pretty sure right now that the issue exists in the library I'm using (tinyobj loader) since it always misses the last two vertices as part of a face. If I add one more face manually to the file then it only neglects that last face so it kind of works.
I'll change libraries in the future
>>15228196
>>15229039
>language
plain C. All libraries are C
>2D or 3D
3D
>Simulated physics
No physics yet. It's simply just balls bouncing in between boundaries that reverse direction of movement when it hits the edge, like those old television stand-by screens except in 3D.
The video is lossy but it's the best you're going to get
9a7805 No.15232275
Catch the loli. Early nav movement and lots of debug stuff turned on.
f7fa66 No.15232311
>>15232275
sims game when?
ad6de3 No.15232401
>>15232275
>she eagerly runs through the house to look at your d*ck
>then she makes grabby hands at it
Oh my heart, it's too cute
fc1c40 No.15232959
b8c24a No.15235017
Anyone here have any experience with OpenSceneGraph?
How does it compare to other libraries? Should I use it or Irrlicht for a more ambitious project?
5153b2 No.15235084
>>15235017
>Anyone here have any experience with OpenSceneGraph?
It's shit and not for video games. Why would you even consider this? If Irrlicht is one of your considerations, then it should be between Irrlicht and Ogre3D.
>Should I use it or Irrlicht for a more ambitious project?
Neither. You should use Unreal Engine or Unity if it's an ambitious project.
5729c3 No.15235286
I have a Godot 3.0 (C#) related question. Here's the situation:
>have a spawner object that regularly creates a "Bit" item (small pickup for a player) in a radius around the spawner
>the spawner continuously creates these Bits until it reaches a max number
>the player can "collect" these bits, at which point queue_free() is called on them and they are removed from the scene
>ideally, the spawner should be able to create more bits if some have been collected (i.e. max was 20, player collected 2, so 2 more can be created to go back up to 20)
>in order to keep track of how many bits have been created by each spawner, each spawner has a list of bit objects that is appended to when spawning a new bit
>need some way to tell when a bit in this list has been removed from the scene in order to free up space for new ones to be spawned
if I just add the bit object to the list, then I get null pointer exceptions when trying to access anything on the elements in the list, makes sense if they have have been deleted. So I've read that the way to do this is to use a "WeakReference" object in order to check the "Target" and "isAlive" fields to see if the object has been deleted, but these don't seem to be updating correctly when I create them from the bit objects. What's the correct way to use weakreference for this purpose?
I can think of a few work arounds to my issue but I'm stubborn now and want to figure out this weakreference stuff.
8c8e25 No.15235321
>>15235017
Irrlicht is fine if you want something on the level of pre-9.x SuperTuxKart, but the codebase is kind of a mess. If you want a similar approach, Urho3D exists and Hellbreaker anon could probably give you some pointers on it. Ogre3D also exists but I've heard it's the worst kind of object oriented clusterfuck and an absolute bitch to work with (supposedly the newer releases are less painful but I haven't looked into them much), and if you want a more minimalist, data-oriented approach there's always stuff like https://github.com/dbartolini/crown .
6fc425 No.15236442
>thread is 10 and a half days old
When did /agdg/ get so slow?
9a7805 No.15236449
>>15236442
Threads seem to slow down before demo days. Either because devs are hard at work or sheer coincidence.
11e2d3 No.15236871
HookTube embed. Click on thumbnail to play.
>>15236449
when is next deemo day?
9a7805 No.15236879
92b137 No.15236887
fc1c40 No.15237368
Hey guys is Godot ready for full 3d games? I'm talking specifically about 3D skeletal animation.
b2311a No.15237397
>>15237368
it's doable from what i've seen
4265ac No.15237437
>want to work on game
>Won't have time until uni semester ends
b2311a No.15237450
>>15237437
just fail the semester :^)
74fad2 No.15237543
>>15237437
If you can't spare 30 minutes a day for devving now, you won't be able to spend 8 hours a day once you have free time. Never stop, only slow down
b4a08b No.15237549
Replaced my old palette limiting shader with a proper LUT one so when I get around to deciding on a palette I'll have consistent colours and directional sprites work with new sprite drawing. Does anyone know of any gotchas if you share one depth buffer between multiple render buffers? I'd only be writing to it for the first one.
4265ac No.15237553
>>15237543
It's going to be super easy. I had to swap unitsout because of a clash and ended up going with a systems programming unit as my option… Which is practically just low-level C programming… Which is what I'm already knowledgeable in and was going to spend my time improving on recently regardless
4265ac No.15237564
What do you guys think about joining the game development club at my uni?
I'm the Vulkan C enginefag and I don't know a lot about the actual professional side of game development (modelling in unity, scripting game events, etc…) that most of these guys are probably studying. Im hoping that they meet up and just dev together so I can drop in and watch/see how they do it from the engine-user perspective. I guess the issue is that I'm hideously unattractive and horrifically asocial and don't know how to talk to people in person.
How do I say in human "can I watch you work"?
b2311a No.15237572
>>15237564
why do you assume that people going to a club aren't complete fags that know what they're doing?
65e240 No.15238167
>>15237564
>know what they're doing
Don't count on it. There'll probably be only 1 guy that is remotely skilled at anything.
>watch how they do it
They may not be actually working there. When I was at gamedev club, most people talked about their ideas or wanted critique for stuff they did at home. Or if they actually worked it was very boring to watch.
>hideously unattractive and horrifically asocial
It's a club not a beauty contest. Just don't breath down their neck and if you see something interesting, ask about it. My only advice would be to prepare something to do in case there's nothing to watch or noone to talk to. Take a sketchbook to draw your ideas or a computer to do some gamedev yourself.
b8c24a No.15238333
>>15235084
Because OpenMW switched from Ogre to OSG. I heard Ogre is actually pretty shit and should only be used for things like simulations. The demo projects ran like shit for me on my PC, so I figured they were right.
a4051b No.15239340
>>15237437
Unless you're doing hardcore math you have no excuse. I never went to fucking class when I was in Uni and still got A's.
>>15237564
>What do you guys think about joining the game development club at my uni?
Clubs basically boil down to this. The core group who does shit and everyone else will just show up and get absolutely nothing out of it. If the core group doesn't know how to do shit, then the club is basically going nowhere and a waste of time. If you just sit there and gawk at people all day you're going to get absolutely nothing out of it.
ce18f1 No.15240957
>>15239340
Its all fun and games until you are fucked with multiple classes that have group projects and you're the only competent teammate.
258b15 No.15242242
>>15237564
>game development club at my uni
>I'm the Vulkan C enginefag
Your dev knowledge is going to completely eclipse everyone else in the club and you can't fit in at all because everyone else is making mobile games in Unity and aiming to sell games first and make good games second. That said, maybe you can spark some interest towards more in-depth development in the other people, though you'd probably end up just teaching them about it rather than having meaningful conversation.
Go see what the club is like and what they do before you join. Maybe there's a neckbeard sitting in the corner doing what you're doing.
166c5b No.15242759
Is there any reason why no one makes /agdg/ threads lately? We were at page 13 when I went to sleep. Is it just more dead for whatever reason, or is it due to people actually working for demo day?
b2311a No.15242767
>>15242759
i don't have any progress worth showing, only bugfixes
make a new bread if you're so concerned
166c5b No.15242773
>>15242767
Not as much concerned as I am curious. doesn't seem like there should be any reason for things to be different.
0a59e2 No.15242830
>>15242759
Been lurking and waiting for a new thread. I don't have any progress to post, though. I'm making baby steps learning game design conventions and developing a framework.
ad6de3 No.15242891
>>15242759
La-Mulana 2, in my case.
And a festival I'm leaving for in 20 mintutes. RIP Demoday.
166c5b No.15242902