240a5a No.15050052
Poland 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: >>15013821
Announcements
>QUARTERLY DEMO DAY SCHEDULED FOR August 8th
>Please contribute to the wiki if you can
240a5a No.15050055
Progress on Sigma II for the first time in a while: I have successfully generated a portal, it's not correct right now and there is still a bit wrong with my portal code. But soon it should all be OK, letting me generate portals between all of the leaves and letting me compute a PVS. Then I will have occlusion culling in my engine, in time for 8/8. I don't have as much time for this because of work but I will have two and a half weeks of crunch time before 8/8 without work so I think I can deliver a good demo.
373475 No.15050099
Because of the steam sale I'm going to throw some shekels and good reviews towards any games active anons have on steam. Are there any other than Hellbreaker and Speebot? inb4 >steam. I found a gift card in a used book
>>15050055
Is that purple artifact Z-Fighting or the result of something with the portal?
240a5a No.15050118
>>15050099
It's Z-fighting, the portal isn't being properly clipped by the leaf behind it and it needs to be split again, that would delete the fragment intersecting with the polygon.
d96b96 No.15050128
>>15050099
Keyreal has another game on Steam, a vertical shmup with anime girls, but other than that I think that's about it for 8/agdg/ projects on Steam.
fe4e71 No.15050296
Anyone got recommendations for a C/C++ library I can use to create a window and blit an array of RGBA values out into it? I used SFML last time, but it seems it might be a little heavy for that purpose alone
240a5a No.15050305
>>15050296
Anything you use will ultimately be a wrapper around the underlying window managers (win32/xlib). But if you don't want to go that far, SDL 1.2 looks good for this purpose.
d07915 No.15050334
>No hollow knight run
>finale is a 7 hours FF run
meh
8aaefa No.15050356
>>15050334
hey buddy, I think you got the wrong door
d07915 No.15050379
>>15050356
Well fuck, I'm dyslexic today. Sorry.
fe4e71 No.15050453
>>15050305
Don't you tempt me sigmadev, but SDL does look straightforward, thanks
81fc1a No.15050529
>Using C with current project
>But only know how to program with OOP design
>C code ends up looking like it wishes it was C++
>End up actually wishing I was just using C++
I finally understand why Python uses 'self' all over the place when doing classes. And it's just as annoying in the C world. Default parameter values and polymorphism would be nice too.
49a604 No.15050550
>>15050529
If you want to write OOP shittery, then why are you using C?
240a5a No.15050573
>>15050453
Just make sure you're using SDL 1.2 instead of SDL 2. 1.2 is much cooler, it has true software rendering and on Linux the fullscreen mode uses XF86VM to change the video modes for real (SDL2 fakes it). It also has way more rendering targets.
>>15050414
What is your first call? Where do you create your OpenGL context? It sounds like your context creation is failing.
>>15050529
You've got to free yourself from this mindset to enjoy writing in C. Try and restructure your code to stop using objects and see how that goes. It's better when you stop thinking about higher level structures and instead start thinking about the components that make these structures and how they interact with each other.
b0cb75 No.15050598
>>15050529
If you're not doing Data-Oriented Design then don't use C.
49a604 No.15050605
>>15050573
>It sounds like your context creation is failing
Problem was that my window creation function did some stuff which ended up in a roundabout way calling windowTick too early. In other words I'm retarded.
245d4b No.15050806
Floating physics to make the ship wobble a little when hit or when it's firing a heavy canon and to make the destroyed parts sink when the ship is killed.
>>15050052
Is there some context behind the first pic? The placement of logos seems to deliberate.
373475 No.15050901
>>15050453
I used to have the mindset of wanting only cross platform libraries, but once I realized how quick it is to pick up the native apis and how much more you learn about the platforms I realized it really is the better way.
42466a No.15050917
>>15050806
Nice, looks good.
OP is a sperg, he also made the OP with Bin Laden and mice.
1d67a6 No.15050930
>>15050917
>Saddam Hussein is the same as Osama Bin Laden
Nice burger education.
687720 No.15050964
>>15050930
Ein bisschen vermisse ich den Doktor ja schon.
3bf143 No.15051249
>>15050529
there are more than 2 programming languages anon.
6074fa No.15051269
>>15051249
>implying they can compare to C/C++
21c9e8 No.15051287
>>15051249
for some reaosn in /v/ they really shill C++, i remember back in 2014 that people hated java whitout knowing all the frameworks and optimizations, nowdays java got even better.
>>15051269
you can because C++ is based on C.
6074fa No.15051302
>>15051287
You seem to be hard of comprehension. I said that all other programming languages cannot compare to C/C++.
afb2e9 No.15051330
>>15051287
>shill C
>shill Java
>say C++ is shit
Jesus this thread gets worse every time i take another look
0cf8fe No.15051345
>>15051287
There is no excuse for Java. If you must, go for C#. Java is the flash of programming languages.
259ccb No.15051451
>>15051269
>>15051302
I've heard good things about Go (mostly for the CSP-style concurrency, which you also get in C through Plan 9's libthread) but the garbage collection hurts its usefulness for most games.
>>15051345
Limbo exists too, you know.
3c27a2 No.15051469
>>15051451
I'm not touching (((Go))) or (((Rust))).
3c1ba6 No.15051516
>>15051287
Java is good because I can immediately remind people to use C# instead
49a604 No.15051520
Just use the language that will get you to make a game.
9827df No.15051522
>>15051520
Javascript it is!
49a604 No.15051525
>>15051522
javascript > no game
9827df No.15051527
>>15051525
Look at EvaXephons game and tell me that's not a work of absolute beauty
259ccb No.15051537
>>15051469
>(((Go)))
Come now, I'm pretty sure Rob Pike isn't Jewish.
b0cb75 No.15051555
>>15051287
Java is shit for games and always will be
>>15051330
C++ is shit for games and always will be. All the game devs who use it ignore almost all of the features is brings. Inheritance, exceptions, templates, you n ame it.
9827df No.15051564
>>15051555
Name a good alternative
fe4e71 No.15051646
>>15051555
I've played some pretty good games made with Java, I don't know what you're talking about. You don't really have an argument there about C++ either, just some strange generalization about game devs that isn't true.
42466a No.15051677
>>15051646
He says it's shit for games but his reasoning is that it's not used properly by devs. He's either shitposting or doesn't know what he's talking about.
fe4e71 No.15051688
The language war shit is one of the worst parts of this thread, lots of broad accusations tossed around and very little actual discussion.
3c1ba6 No.15051799
>>15051688
If Java brought anything to the table, we could discuss that. Instead, all we can do is agree that C# is the best compiled, managed language currently available.
840df9 No.15051810
>>15050806
This is OP on the phone, yes it is about a journey to being a game developer, the backdrop is a map of Poland but this isn't a journey in the physical world, although it does take place in Poland because of how many people here who are polish
>>15050917
Like the other anon said you really should have a grasp on who the Arab dictators are, I mean you did learn your state capitals right? It's kind of like that .
49a604 No.15051840
>>15051688
>>15051799
[your favorite language] is objectively shit and you're shit a retarded nodev if you use it. All the respected pros and intelligent people use [my favorite language]
b0cb75 No.15051854
>>15051564
C
>>15051646
> You don't really have an argument there about C++ either, just some strange generalization about game devs that isn't true.
Vid related and he's not the only one. Someone even asked the engineer for Insomniac why he uses C++ when he ignores literally every feature, and the answer was basically "It's something the culture is familiar with" I.E. it's easier to find C++ devs and force them to code like it's C.
>>15051677
>Not used properly
That's a good one. More like the features C++ adds are absolutely shit and the language is full of booby traps.. They explicitly avoid templates or have to come up with some janky workaround because they rape compile time. They avoid exceptions they're slow and can make things more confusing if abused. They avoid inheritance because it's slow (rapes cpu cache). They don't even use dynamic memory allocation and instead create a gigantic buffer at startup to allocate memory from, because new/malloc is slow.
>>15051688
I'm done after this post. It always devolves into "Well you don't really need that much performance boost" or "You're not making AAA games" despite the fact there are 100s of indie games with shit ass performance (despite crappy graphics) because nobody knows what cpu cache is
b0cb75 No.15051858
HookTube embed. Click on thumbnail to play.
>>15051854
Forgot I was posting a vid
840df9 No.15051879
HookTube embed. Click on thumbnail to play.
>>15051858
While you're at it I can post a similar video too. it's been posted before by me and others a lot but it's relevant here
b0cb75 No.15051888
YouTube embed. Click thumbnail to play.
>>15051879
Here's the mars rover one that guy mentions.
000000 No.15051898
>>15051799
>c#
>compiled
>this is what the average c# """programmer""" believes
lmao
>>15051854
>>15051858
>muh caches
So your argument is that there might be cache misses and that means c++ is shit?
into the retard bin you go
21c9e8 No.15051907
>>15051330
i never said that C++ was bad, actually its better if your game damands too much graphic hardware performance or makes complex/too many CPU calculations (like supreme ruler were every unit in the world map makes various dice rolls every game hour/turn).
>Jesus this thread gets worse every time i take another look
now you know why.
>>15051688
you are right, it is full of programming laymans here, there is no much reason to use C and C++ if you are making a small side scroller game, you could use java for that, but if you make a game whit fluid simulations you should go for C++ since it interacts better whit the hardware (still java has already the framework and libraries to do the same). Anybody who says that there is a definitive programming language just doesnt has professional experience.
b0cb75 No.15051916
YouTube embed. Click thumbnail to play.
>>15051898
>So your argument is that there might be cache misses and that means c++ is shit?
Not might. WILL. For example: Inheritance has a cache miss to hit the look up table, and another cache miss if it has to load an overloaded function. Even Java handles inheritance better, because the JVM can optimize around useless inherited functions. Only solution is to avoid inheritance. This vid outlines that, and how hard cpu cache rapes performance. But clearly you're more interested in shit flinging than learning
b0cb75 No.15051920
YouTube embed. Click thumbnail to play.
>>15051916
Wrong vid. It's amazing how many of these there are though.
3c1ba6 No.15051990
>>15051898
Yes? Raw C# code is compiled into an intermediary virtual machine language, which is abstracted from the coder so it just works across any hardware configuration. That's literally the point of virtual machines, portability.
000000 No.15052027
>>15051990
It's interpreted not compiled because the resulting code is not native.
>>15051920
Since you seem to have archived all the c++ videos in the world why don't you find the ones that show you how to use inheritance propely and how to avoid common performance mistakes?
Do you also believe everything should be written in c?
3c1ba6 No.15052070
>>15052027
If you want to be technical, we're both right. Even though the virtual machine code doesn't belong to a real, physical computer, the raw code is still compiled to that "native hardware", so your code ideally runs against the VM as quickly as possible.
fe4e71 No.15052108
>>15050573
Well I started with SDL2 but the whole "#define main SDL_main" thing is making problems in my environment and really turning me off. Is it that way in SDL1.2?
6ab401 No.15052284
>not just writing everything in javascript
c2ec6b No.15052335
>>15050052
>zero cost abstractions
>zero cost
ahaha
>>15052285
Literally just used a fall through case statement today. Why would you intentionally limit yourself.
6ab401 No.15052366
>>15052027
>It's interpreted not compiled because the resulting code is not native.
Compiling doesn't require something to become native assembly code. You're latching onto a partial definition and then insisting that everyone who uses the actual full definition is retarded. I swear half the people here are illiterate and use that as an excuse to act like a fucking idiot.
>torpedo
goddamn they just keep coming
840df9 No.15052411
>>15052108
I don't know about actually using SDL (as I use the underlying API's) but I have looked at the feature set and some of the code but only a tiny amount. I would just check it out since it's the window manager, ultimately not that much code for you but I don't know how the API actually is to use.
259ccb No.15052444
83c2ad No.15052486
>>15052284
>instead of warning you your code needs fixing, it just does random shit you can't predict in absolute stealth leaving you wondering why the fuck your function is returning arcane and impossible results according to your logic
Sounds about right. Why nobody has tried to enforce a better language to be a standard in web development is beyond me. Javascript is the worst thing mankind has produced, and that includes kikes.
6ab401 No.15052519
>>15052486
>Sounds about right. Why nobody has tried to enforce a better language to be a standard in web development is beyond me.
WebASM is supported in most browsers, and has JS fallback for IE. Most people who doesn't want to use JS just compile it from some other language, and osme of them are just JS with less bullshit/features.
49a604 No.15052759
>>15052486
I've spent hours trying to debug code because number+undefined = NaN, and number+NaN = NaN, which creates a chain reaction from a single mistake and everything becomes NaN without giving any error or clue where it originated from.
0cf8fe No.15052843
>>15052759
The joys of programming.
3c1ba6 No.15052880
>>15052759
To be fair, that is defined behavior
6ab401 No.15053096
>>15052880
Technically javascript's autocoersion is defined behavior but it's still retarded.
3c1ba6 No.15053106
>>15053096
Oh, even in C#, that's how floats work. As soon as you pass N/0 or a value with infinity around, other numbers become it as well.
9044e3 No.15053201
3c1ba6 No.15053255
So I'm still plugging away on my QuadTree implementation. If it creates a bunch of child nodes, then gets values removed from it, should it still keep the empty subtrees, or should it dispose of them?
I think it should still keep them, unless it is specifically trimmed away.
1f8655 No.15053338
>>15051555
But you're objectively wrong. Running with Scissors used templates and inheritance for Postal 1.
76f2fd No.15053784
File: 9a10b8837aaa431⋯.png (Spoiler Image, 362.92 KB, 481x914, 481:914, Screenshot_2018-06-24_00-4….png)

Anatomy upgrades. Not sure why loomis woman has heels it fucks up comparison posture.
>>15050052
There are so many things with that second image that aren't mutually exclusive or just false.
2e7bbd No.15053800
>>15053338
>someone says devs ignore most of the features
>anon names one 20 old game that uses a single feature
>thinks this actually proves anything
different idiots, different topic, same shit
here's a boring screenshot because I've just been refactoring
3c1ba6 No.15054363
If I have a 512x512 quadtree, and I tried to set a region to a particular value, then it should only take one call if it's the full size (the root gets set to that value). If I tried to set the region (255, 255, 2, 2) to a value, it should take 40 calls, correct? It would have to find the smallest tree that completely contains it, which 512 log 2 = 10, x4 (one for each quadrant) to find the 1x1 region in each
2e7bbd No.15054381
>>15054363
What, no, that's not at all how quadtrees work
81fc1a No.15054416
>Inadvertently cause a Language War with my whine post
Sorry, guys, I'll try to whine less.
2e7bbd No.15054426
>>15054416
The problem is OP's autistic normalfag C/C++ meme. I'll abstract your face at zero cost.
6074fa No.15054430
>>15054416
It's alright, my dear Lainposter. Conflict is the path to life.
2a0757 No.15054440
>>15054416
You didn't cause it, you just made a shitty contribution to it
3c1ba6 No.15054632
>>15054381
What do you mean? A region-based quad tree is able to assign chunks of value to one area. Look at pic related from wikipedia
https://en.wikipedia.org/wiki/Quadtree#Some_common_uses_of_quadtrees
But if you assign a 2x2 value in the middle, you have to subdivide the tree to the finest granularity allowed, which in the picture is 4 cells, but down each branch, so you'd need pretty much the whole tree's depth to express it
d9070f No.15054643
>want to make progress on game before I go back to wage slaving
>getting warning because a class conflicts with itself, in its own file, in its own namespace
I bet I can ignore this shit and get away with it for a while
3c1ba6 No.15054657
I don't know, maybe it hasn't "clicked" yet
d9070f No.15054760
b2f729 No.15054771
>today or tomorrow i'll be releasing the product to the beta testers
>after half a fucking year
Keep at it, bros. A little at a time, piece by piece, and you get there.
3c1ba6 No.15054775
>>15054771
nope never its too hard
81fc1a No.15054804
>>15054771
>beta after only half a year
You are either a speed demon or using an engine.
3c1ba6 No.15054805
>>15054632
>>15054657
Okay, so I think my confusion stems from the different types of quad trees.
>Region quadtree: Every leaf node has one value that applies to the region, eg a pixel grid
>Point quadtree: Every leaf node splits at a point, the point is at a "corner" and then it gets divided to its children, ending when it only has one value per node
>Point-region quadtree: As region, but instead each leaf can have any number of points
Point qtrees also seem to be a KD tree, which is a generalized binary tree of N dimensions, so I shouldn't worry about it in my qtree implementation, then, right? But I'd still need to store the XY position and value per thing
>Point-region (PR) quadtrees[4][5] are very similar to region quadtrees. The difference is the type of information stored about the cells. In a region quadtree, a uniform value is stored that applies to the entire area of the cell of a leaf. The cells of a PR quadtree, however, store a list of points that exist within the cell of a leaf. As mentioned previously, for trees following this decomposition strategy the height depends on the spatial distribution of the points. Like the point quadtree, the PR quadtree may also have a linear height when given a "bad" set.
b2f729 No.15054866
3c1ba6 No.15054913
>>15054805
I'm still no closer to figuring it out, but I just remembered why I'm doing this in the first place
>Trying to make sprite drawing easier, so made a vertex batch to manage my draw calls
>Still need to optimize it with draw batching
>Could make my own SpriteSheet class to manage stuff, which would rely on atlasing
>Sprite atlasing would be another optimization in itself, on top of sprite sorting, the result should be very fast and simple draw calls
>Atlasing would require stitching together multiple textures at runtime
>Best achieved through quad trees
Polite sage
30f3da No.15055353
>spend a few hours on a feature
>realize it's fucked
>I'd be better off starting over
>It's sunday night
well shit
2e0d60 No.15055531
Anyone have that image on why you shouldn't use unreal because of tencent?
5d2ba6 No.15055573
>>15055531
there's so much more we can do to fuck over china instead of just gimping ourselves.
864570 No.15055746
Haven't posted updates in fuckin ages.
I've been slowly finishing all the base functions needed to make events in the game, now the following are working:
>automatically generated events that can be triggered by the player moving into a specific tile
>movement events that can be easily written without any code
>progress flags
>stopping the triggering of events unless a certain flag is met (this means that an event can be triggered once, then a flag can be set so that it won't trigger again)
>generation of NPCs depending on progress flags (npcs can be moved or not generated at all depending on progress flags)
>teleportation events that can be written without any code
>simple character animations (working on NPCs animations)
>shops
>equip
Now essentially I just need to plan out a bunch of h-events and have a generic storyline and it'll be playable.
Menus and resolution are kind of fucked because I haven't implemented scaling yet and the window I recorded was pretty small.
864570 No.15055750
>>15055746
Are these videos broken for anyone else? I switched to linux and they're not playing here despite working locally
09990b No.15055765
556c2e No.15055775
864570 No.15055785
>>15055780
No idea what the fuck is going on here
6ab401 No.15055793
82b40a No.15055857
>try to combine project hiatus and graveyard pages in the wiki since there's no difference between them anyway
>the files break because they're locked to a single page for some fucking reason
>no idea how to move them
>try to upload an image explaining pointers to the programming page
>can't upload because no account
pls
help
341273 No.15055870
>>15055857
>explaining pointers
explain this
int* p
int* p const
const int* p
const int* p const
int const* p
int const* p const
82b40a No.15055878
>>15055870
Why bother explaining esoteric language abuse that nobody will do in practice.
264851 No.15055890
ed6485 No.15055897
>>15055870
Because you can do thisint *a const, b, *c;
const int* d, *e const, f;
int const* d, *e const, f; // identical to the line above
// a is a constant pointer to int
// b is an int
// c is a pointer to int
// d is a pointer to constant int
// e is a constant pointer to constant int
// f is a constant int
This is just how the syntax works.
7919ba No.15055917
>>15055870
const int is the same as int const.
Always choosing the latter, i.e. putting the qualifier to the right of what it's referring to and putting the asterics close to the name makes it easier, imho.
Try reading it from right-to-left now.
int *p // pointer variable to integer
int *p const // immutable pointer variable to integer
int const *p // pointer variable to immutable integer
int const *p const // immutable pointer variable to immutable integer
Keep in mind, when we have int *p, we have 1. a pointer variable (*p) and 2. the type of the thing it's pointing to (int). So, we describe not just one but two things.
fb76c1 No.15056023
>240x136 resolution
i hate meme retro shit
2e0d60 No.15056077
>>15055573
I was just hoping someone would have it on hand because I lost my copy somewhere in the thousands of folders I have.
I have reason to suspect it was made by a tencent shill as it only displays """""intellectual property theft""""""" instead of all the shady shit tencent does. Just a hunch I had thinking about it and I wanted to check and make sure.
ed6485 No.15056103
>>15056023
>i hate meme retro shit
then why are you posting it
373475 No.15056698
>>15055870
Read right to left.
>>15056103
this, but also I'm autistically angry that the pixels are square and not stretched to fit a 4:3 monitor like they would be on real hardware and a huge faggot for fucking up the spoiler and reposting
9c40eb No.15056833
>>15055746
>cuck armor
<I'm a male feminist, I can't be a rapist!
9827df No.15056866
4d4eb7 No.15056872
>>15050529
C is a very good language I am making a roguepike in C very good I hope so too. Pythong is a good lakeuade too but maybe it if is slow and fps is impostant for a rogues.
49a604 No.15056943
How do I learn all these weird tricks?
81fc1a No.15056995
>>15056866
It's one of those Fantasy Console things. It tries to recreate having an old BASIC computer with some helpful software to help make games, like a spritesheet editor, map editor, and sound/music creator. Instead of BASIC though, you use Lua and I know with Pico-8 you can send your games as playable-only image file. The downside being, for all of them besides LIKO-12, you have to actually purchase these fantasy consoles.
e51a03 No.15057014
>>15056943
You look into your target hardware and learn how to make the best of your registers and cache, and when it makes sense to improve data locality or use a different data type. Maybe read some of these: http://agner.org/optimize/
On a more practical note, you profile, measure and if it looks like you're spending a lot of time in one place, look into making that particular spot suck less.
Don't bother with low-level optimizing until you need it, otherwise, you might end up shaving cycles off of insignificant areas or having to completely rework your optimizations when you think about restructuring your data.
Getting 10x the performance in 0.1% of your overall workload is likely only going to make things less readable; find the hotspots and measure both before and after to make sure your optimizations are both in the right spot and are actually having an effect.
ba20a2 No.15057264
>>15050052
Did some code fixing, having an issue with node instancing. For whatever reason, a node isn't finding a node I have set up as a singleton and is triggering a shut down. Months later and this shit has me stumped, is there a Godot course where the guy doesn't talk like a spastic on speed?
9c40eb No.15057552
>>15057264
Singletons are referenced with their name directly, like a global variable. You shouldn't be using get_node().
If it's a YouTube video just set the speed to 0.75x.
ba20a2 No.15057619
>>15057552
This is what I wound up using and it finds them, but what would you recommend? I was trying to use find_node() but it wasn't working because I was searching from root.
func _process(delta):
var root = get_tree().root
var GameObj
var viewport
var LocalCont
var LocalCam
var ActivePuppet
var PlayerStart
var CamStart
GameObj = root.get_node("Level/Game Objects")
if GameObj == null:
print("ERROR [1, GM_Base]: Game Objects not found.")
return
I forgot you could change the speed of YouTube videos, thanks for that. Have some kitty pies.
4a5e51 No.15057697
Normal maps aren't working with mirrored uvs, and even on the non mirrored parts its screwed up. What do i do? I was copying from tutorials.
738813 No.15057861
Still working on animu stalkan game. Still don't have a dev worthy computer but this craptop can run painting software so I've been doing that to make progress through concept art and keep myself motivated while I pen out other parts of the game in my notebook.
Working on a basic enemy type that'll appear commonly. The idea was to create an enemy that would justify having smaller/weaker caliber firearms early on in the game as well as having a cute mascot enemy like Slimes, Prinnys, etc that a lot of anime games have. I came to the conclusion that I should make a small, cutesy, Grunt style enemy that is physically incapable of wielding anything larger/heavier than an SMG (Working on an accompanying Elite style enemy to go with them too).
The end result is these little mutants I've tentatively named "Goblins" because of their nature of being as common and weak as fantasy goblins. Looking for some design feedback because there's some things I've been thinking about. Should I leave their little limbs bare or should I give them boots/gloves? Is the design too simplistic?
738813 No.15057866
>>15057861
Forgot to mention it but I modified real-life firearm designs to make firearms for them and added the photos in for comparison's sake.
a13cc4 No.15057960
>>15056943
Now try to partially unroll that for loop to avoid checking for the condition after 1 addition for more speed.
I'm really curious on why would the change you made be faster, you can't just benchmark it once, you need to do it hundred of times and average the time, debug/release can have a major change on the result, I got tricked once when "slowest" version of my code was insanely optimized by the compiler after some flags it made me doubt the whole thing.
Seriously tho, why would allocating a new variable, adding to it then overwriting another variable be faster than just adding to a variable?
ca7f33 No.15057983
>>15057861
Make a shortstack female one that's a friendly NPC you can take along as a companion
245d4b No.15058031
>>15057861
Maybe give them pistols to carry as 2handed weapons instead of SMGs to emphasize how small and weak their are, at least at the beginning. I think objects that are immediately recognized as small compared to a human would be better to convey they're midgets and not just shrinked down humans (SMGs look like shrinked rifles). If you plan on making more variants of the goblins you could still use SMGs for elite goblins or something like that
Hard to tell whether they should wear gloves and boots or not if we don't know what their hands and feet would look like, but I think this design looks pretty nice. Though I'd like to see how a goblin looks like next to a human, because alone he just looks like a chibi stalker.
49a604 No.15058048
>>15057960
A little bit of the context is missing, the m_Total is somewhere else, so writing into it causes you to access that memory location on each iteration, which is a lot slower than writing into a value that's close in memory.
738813 No.15058136
>>15057983
Quick sketch. I feel like if I did that I'd have a lot of work to do to make it not look like Shy Gal
>>15058031
In my sketchbook I have drawings of them where the gun is as large as they are. I kind of lost the plot as I was drawing these digital drawings. I was thinking about emphasizing how weak they were in their animations where they'd only be able to fire in bursts because the recoil almost knocks them over One of the animation ideas was a Goblin hovering over the ground from firing into the ground and recoiling upwards.
They're hands and feet are just simple all-black with little triangle feet and 4 (including thumb) pointy fingers. Here's a scale with humans and their Elite style counterpart included.
738813 No.15058141
>>15058136
Fuck I forgot the image. I've been having to wake up for early shifts a lot recently and the fucked up sleep schedule is catching up with me.
a13cc4 No.15058165
>>15058048
Somewhere else how? variables that are used repeatedly are cached unless your values[i] is so big the CPU can't keep both, it's not like your dealing with pointers, is this related to scoop? are local scoop variables closer to CPU than normal variables?
ca7f33 No.15058174
>>15058141
Yeah, fair enough. The way they look now is pretty unique. You should still definitely put in a friendly female one
d96b96 No.15058366
>>15058165
A variable in a class (hence a member or m_ variable) is declared on the heap, whereas a variable declared in a function is declared on the stack. Stack access may be faster depending on CPU and its addressing mode.
That said, if you look up "is stack access faster than heap access" you get a whole lot of people claiming its either true or false, and it certainly shouldn't be 12 fucking times faster either way.
245d4b No.15058451
>>15058141
>shy gal
Nah, giving her irises and filter make her completely distinctive. I assume the gask mask won't be white, so the color is also in your favor. Also, that design with the gun has much better proportions than the previous one.
5b8b53 No.15058579
>writing program
>Have array of size 2,000,000 bytes
>Worried that it's going to saturate most of my RAM because 8GB = 8,000,000 bytes
>wait….
>Remember 1GB = 1,000,000,000 bytes
brainlet.jpg
49a604 No.15058654
>>15058579
If you find yourself needing a 2GB array, chances are you're doing something wrong.
d96b96 No.15058724
>>15058654
It's 2 MB, guess you're brainlet.jpg as well
81fc1a No.15058767
>Rewriting my "C with shitty OOP design" system
>End up spending 2 hours into the night anxiously thinking up how I can focus on functions that handle components instead of objects
>Realize that, actually, with the way SDL is set up, this actually would make things alot easier
>Implement it this morning
>Have gotten more progress done taking the 2 hours to rewrite than I ever could've with OOP
I think I may have finally seen the light. I do have a question though. Every now and then I feel like grouping things, like how every sprite with SDL needs a cropping/source rect, a destination rect, and a texture to be able to draw, should I make something like an entity struct? Or am I trying to fall back into OOP again?
ba992a No.15058774
>>15057960
m_total is most likely a class variable, as that is standard C++ notation used by some (weirdos). That means the variable is not local in memory and is actually accessed using this->m_total, where, of course, this is the pointer to the class instance.
But, I believe the any modern compiler would take care of this. In fact, at -O3 and expensive_optimizations GCC will probably unroll that loop.
ba992a No.15058813
>>15058654
>If you find yourself needing a 2GB array, chances are you're doing something wrong.
No. Chances are you are working on very interesting and/or cutting-edge problems.
2GB array is really not all that impressive or unusual in scientific computing.
e51a03 No.15058951
>>15058767
You might want to look up array-of-structs versus struct-of-arrays, or AoS vs SoA for some information on what you might be dealing with. The latter tends to be more performant in many cases, and the former might be easier to wrap your head around with less indirection involved.
I went with the SoA route, except I just have one big manually allocated buffer for each struct.
The way I have things set up, I have an unsigned integer as my entity. It's just an index.
Then a struct for each component, holding the amount of active components and some other information, each with some fields for data. Except those fields are all just pointers and their data is held in one contiguous buffer.
And related to each struct is something to map every entity to an index in each struct.
Each component has its own updating system that just hammers through all the data in the struct.
For example, all my graphics-related things are in one such struct. So every frame, everything in that struct gets processed and possibly drawn or skipped, depending on the data.
So I have an entity with a graphics component and I want to animate it. So I tie an animation component to my entity. The animation component, based on its own data and logic of what frame to play when, updates the data in the graphics struct corresponding to that entity. If the animation component ever gets destroyed, it'll still draw the graphic, but just hang on the last frame. If the graphics object gets destroyed, it'll animate a dummy graphic without any output and not horribly kill the program.
So far, I've really been liking it. It makes sense and it's fast. It also allows for some really quick spaghetti-ing and hacky code if you just need to see if something works.
49a604 No.15058952
>>15058813
>Chances are you are working on very interesting and/or cutting-edge problems
Such as? Which videogame feature requires 2 gigabytes in a single array?
a13cc4 No.15059001
>>15058767
organizing things in structs doesn't make it OOP anon, generally you only need a source rect, the destination rect is barely used unless you want to stretch a texture, even then you can just draw transform instead.
1c657a No.15059030
>>15058952
>not having at least 2GB of particles on screen in every frame
259ccb No.15059062
>>15059030
>>15058952
>he doesn't load a 2GB collection of reaction images into RAM for convenience
Plebs.
7a3171 No.15059819
Drew a HUD element, based on what is seen in Front Mission: Gun Hazard. The thing in the top left will be a little LED for a stealth meter and will be either red, yellow, or green. Red is spotted, yellow is caution, green is safe. I might make it so it can turn off, which means you can't be seen at all but yellow and red can turn on if your unit bumps into an enemy. Gonna go work on some code now, just glad I got this done. Also game size is 320x240 stretched, Godot has some interesting settings I'm fucking around with right now. Gonna use that video size because it makes drawing HUD stuff so much easier and I like pixel stuff stretched. I might still go a higher resolution, 500-somethingxsomething range.
42466a No.15059846
>>15057619
An easier way to do this is to assign the "Game Objects" node a unique group (Game Objects would work), and then do:
get_tree().get_nodes_in_group("Game Objects")[0]
# get_nodes_in_group returns an array of nodes in the provided name, if you only have one
In my game, I have a singleton (autoload) script called Game.gd that finds the player and some other things that are used often by other scripts. Then I just need to type Game.player to access the player script.
42466a No.15059854
>>15059846
>if you only have one
I meant
>if you only have one, get_nodes_in_group("groupname")[0] will give you that specific node no matter where it is in the hierarchy
3c1ba6 No.15060058
>>15059001
>organizing things in structs doesn't make it OOP anon
As a C# programmer, I am confused by this. It's said that C has no OOP features, but a criticism of C# (and other managed langauges) is that it treats everything as an object. How is a struct or a pointer/ref not an object? Or rather, how can you have these things and not consider them an "object"? In either language, they're first-class language features so they can be used very flexibly.
bfba71 No.15060270
>>15060058
The criticism is not the idea of an "object" but the application of this idea to every single thing. In C structs can be used for the same things you would use objects for, but the reason that it's not seen in the same way is that it doesn't have to meet any of the other requirements of an object in OOP, in that structs are used as a data format and not as an agent in a system of objects.
ba992a No.15060385
>>15060058
What >>15058951 said, particularly struct-of-arrays bit I think explains some of the confusion. It's a pretty good explanation.
It is a different way of thinking, and if all you have ever done is OOP it might not even make sense or seem possible. The best way is to read other peoples' C code written in a functional and/or data-oriented design.
My main complaint about a functional style is that you end up passing around data and pointers everywhere. At least I do. Classes allow you to naturally associate data and functions when it makes sense. I end up using a mix of classes, C-style functions grouped into namespaces, and integer indexes into huge arrays of data (as >>15058951
mentions), which I think qualifies it as 100% spaghetti coding style.
3c1ba6 No.15060404
>>15060270
Sure but if a struct is just a bunch of data, you can do the same thing with C# - a struct here is an object that represents a data/value and has pass-by-copy semantics applied to it. You can make functions that have a ref parameter too so it ends up being passed by reference, rather than creating a new local copy. You can even enter an unsafe/manually managed context to work with pointers.
I just don't understand the difference between the two, since you can pretty much do whatever C does, however you want it. The only thing that's very obviously different to me is automatic memory management, but even thing, you can suppress or call the GC manually when doing certain things, too.
e1b468 No.15060711
>>15053784
>we delicious flat chest now
bfba71 No.15060856
YouTube embed. Click thumbnail to play.
>>15060404
Ultimately you can program in different ways even if its not as fluid depending on what language you use but the distinction will come in the mindset that surrounds the design and use of the language.
An "Object" is more than just the data that an object would contain. It's the idea of an object as an agent that separates the two. In C#, the object can control how it's values are accessed via getters and setters, it has public and private interfaces and variables, etc, all these things establish it as an agent instead of as just data. This agent is also related to other agents, with inheritance, etc. The program is a system of agents that contain data and interact with each other.
In C, the program is just a system of procedures, when a data structure or some structs are created there is no regard for ownership or relationships, they are just passed in and out of procedures for the whole program. In that way the data does not have any agency and the agents in the system do not have their own data, just the data they are working on right now.
Yes of course you can program in both ways in both languages (file I/O in C/UNIX establishes a file object as an agent of the filesystem, just like C#) but the idea is, how the data is considered and thought about, not as much about whether you can do OOP in C or procedural programming in C# or not.
You could watch this for someone talking about how OOP works vs procedural to hear more about this viewpoint, it might make more sense after.
3c1ba6 No.15060891
>>15060856
No I think I get the gist of it now. C# has more meta information with its things, thus an int value has type data, instance information, functions and methods attached to it, even though it's "just" a primitive number, whereas in C, it's literally just a chunk of data in the computer.
bfba71 No.15060937
>>15060891
That's the difference in the implementation, but I think that the real separation between the two is where the agency is. In C a function has all of the agency on it's structs, while in C# the objects all have their own agency and interact with each other by imposing that agency on each other. So where in C you can write a pass_message() function to impose agency on your data, in C# you make a "messenger" agent with it's own data to pass messages between other agents that all have their own data too. So you can have code in C where some conditions are checked and then the operation is done, while in C# since these conditions are a part of the agents you are operating on, those checks would be done in a getter or setter, and then the pass message agent would do the actual message pass. So the code is separated out into multiple places since each object has its own agency. Meanwhile in C there is just one function that has absolute agency over the interaction between it's data.
Maybe this is dumb, I just wanted to ramble about this since I was thinking about it a lot…
bfba71 No.15061143
The debugging here isn't very satisfying, I can at least notice that it manages to produce an ideal portal at least once but it's obviously discarding it, but I don't know why yet. So I will have to look more closely at what is going on, why the algorithim eats this portal.
b24281 No.15062088
How the fuck do I speed up compilation? I am a beginner at C and I am working on my biggest project yet. My number of source files has increased dramatically compared to every project I've done before, and compilation is currently taking around 10s. This is especially frustrating when I am trying to fix a problem in a small area of the code and have to go through 10 seconds of compilation before I am able to test it, where as all my previous projects were always < 4s. I have no doubts that I will be adding more source files.
Maybe a solution could be to make it so that it doesn't compile files which haven't been changed at all, and just use the .o file that is already there? Maybe my build script is inefficient? What are some common causes of bad compile times in C programs? Am I a retard and is 10s no time at all?
bfba71 No.15062139
>>15062088
What compiler, about how many LOC, and how many source files? It sounds like the biggest problem here is the amount of #include's you have, are you adding #pragma once to every file to ensure that everything is only included once? That should help reduce these issues a lot. You also might be using a compiler that is just slow, or your CPU is slow. What CPU/OS are you using? You might be able to switch to a faster compiler. It sounds like your build script is just building the whole project all over again instead of compiling just the changed files again… which it shouldn't be doing. You can set up your makefile to only do that- but I don't use makefiles so I don't know exactly how that works.
ed6485 No.15062156
>>15062088
To greatly speed up C compilation, compile the .c files into .o, ignoring .c files that don't need changes, and then link the .o files into an executable.
By passing -c to a compiler with a file, it'll spit out a .o file. Then you can just toss all of the .o files into the compiler again to link.cc -c main.c
cc -c game.c
ld main.o game.o
In addition, as >>15062139 mentions, use #ifndef guards (or #pragma's like a pleb) to prevent the same header file being parsed multiple times.
b24281 No.15062173
>>15062139
>What compiler
GCC/MinGW.
>how many LOC
754
>how many source files
8 .c files and 7 .h files
>are you adding #pragma once to every file to ensure that everything is only included once
Fuck, what page of B&R?
>It sounds like your build script is just building the whole project all over again instead of compiling just the changed files again… which it shouldn't be doing
Yes… I am just using a .bat file and it looks like this:
@echo off
cd src
gcc main.c -o ../obj/main.o -c
gcc graphics.c -o ../obj/graphics.o -c
gcc engine.c -o ../obj/engine.o -c
gcc fleet.c -o ../obj/fleet.o -c
gcc star.c -o ../obj/star.o -c
gcc playerInfo.c -o ../obj/playerInfo.o -c
gcc research.c -o ../obj/research.o -c
gcc spritefont.c -o ../obj/spritefont.o -c
cd..
cd obj
gcc -o ../a.exe main.o graphics.o engine.o fleet.o star.o playerInfo.o research.o spritefont.o -lgdi32
cd..
echo Build finished
My PC is fast, so I think it's my fault, unless Windows 8.1 has some kind of problem with MinGW.
>>15062156
>ignoring .c files that don't need changes
How can you do this in a .bat script?
b24281 No.15062175
>>15062173
>spoiler
I meant K&R
67bd24 No.15062189
>>15062139
>>15062156
>not making your own pre-compiler program that analyzes the files, finds all the files that have been modified, collects all the function/struct definitions into a master header file, compiles them and then links all the project files
ed6485 No.15062199
>>15062173
>How can you do this in a .bat script?
That is a really good question and I don't know. I don't think bat scripts are meant for that sort of thing.
Even in makefile, the way to do that is a bit fucky, which is by making this the last line of your file:-include main.d game.d
You also have to pass something to your compiler to make it produce depency files. Apparently -M is the flag for that, and there's a bunch of variants. (I use -MMD. Cannot recall why, don't care, it werks.)
>>15062189
>Merging everything into a master header file
You sicken me.
d96b96 No.15062205
>>15062088
Another thing you can do is minimize use of #include in header files, instead forward declare an empty version of what you want to include in the header and move the actual #include into the source file.
>why is this useful?
Imagine A.h includes B.h
If you change B.h, A.h has to be recompiled as well, since including literally just copies the included header into where you include it. Recompiling headers is slower than source files.
Downside to doing this: if you radically change B.h, you may have to manually change the forward declaration in every file that includes it.
https://brianbondy.com/blog/5/slow-compilation-time-in-cc
67bd24 No.15062210
>>15062199
>You sicken me.
Yeah yeah, I'm sure the progress I make while you're writing header files sickens you.
ed6485 No.15062218
>>15062210
Post some of that progress then.
2cdae4 No.15062227
>>15062088
>>15062173
#include all the other .c files into your main.c and compile the entire program with one gcc invocation
Something else is probably fucked in your code or system if you're less than <1kloc and getting such terrible compilation times, but it's solid advice regardless. The time the compiler will spend recompiling files that haven't changed is dwarfed by the time that would have been spent restarting gcc multiple times, opening and closing files repeatedly, serializing and deserializing data, etc with the standard approach
134bb4 No.15062238
>>15060937
It's not dumb, your point about agency seems absolutely correct
134bb4 No.15062242
>>15062173
Use a makefile or something, holy shit
2cdae4 No.15062338
>>15062242
It is 2018. Your computer can simulate physical interactions between millions of objects at 60FPS without breaking a sweat. Yet you are spending time mentally tracking the build dependencies of a project that could fit entirely and easily into the RAM of an utter piece of shit computer from 20 years ago.
134bb4 No.15062478
>>15062338
What are you talking about? Why are you implying that his windows BAT file solution is somehow a marvel of modern computing? Are you sure you replied to the right post?
134bb4 No.15062501
>>15062338
>it's literally the current year, why aren't you transitioning shitlord?
And do you have an alternative you'd like to suggest? He's trying to cobble a build system together out of batch scripts and your solution is insulting established build systems because "it's 2018"?
54b88c No.15062610
Should I give my character big tits despite knowing I wont be able to model them properly
54b88c No.15062632
>>15062610
I might just do chibi trash though hehe
3b4aba No.15062656
>>15062610
>Should i do x?
>>15062632
>I might not though
Then why fucking ask retard
And the answer should always be YES to fat fucking anime titddies
54b88c No.15062667
>>15062656
at the very least the scribbles aka designs will have big fat anime tiddies im just unsure about 3d
3b4aba No.15062699
>>15062667
what are you making the models in??
f412ac No.15062721
>>15062173
time for makefiles
>>15062610
make a game before thinking about stupid shit like that
54b88c No.15062722
>>15062699
Blender.
I have tried remaking a model from BBTAG before the game came out but I had trouble with the hair and I just gave up at some point and never came back to it, maybe I should try to rip the models somehow and study how its done correct
the head/face topology is also garbo but I think its good enough if I hide it with cel shading
54b88c No.15062733
>>15062722
its been too long and it looks like i applied the subdivision to the model so i cant show how the topology was before it
72ab1a No.15062753
How do I encode a webm with ffmpeg to maintain the integrity of pixels ? These are supposed to be 20,000 green pixels moving around and colliding.
Regardless, this is my little play around with an engine in SDL. It is just thrown together to help me get an idea for what's possible. I'm struggling to figure out how it is possible squeeze more performance out right now before moving on to parallelism/threading.
Currently, my collision detection system is very simple. I have a grid that makes up the screen size and each particle exists in a grid. The sizes of the grids is standard (10x10) and there just exists a very large 1D array that stores every particle that exists in the grid. This means There's only ever a few particles to compare each one to another. Even with a max storage size of 100 particles per grid ignoring excess AND barely any physics operations on each particle, it's still not efficient enough to do more than 20,000 without lag. What should I realistically be expecting for my engine? Where can I read more about methods of representing many more particles and rendering them in openGL?
ed6485 No.15062754
>>15062753
>expect pixel-perfect quality on heavily compressed video
have you tried giving up
3b4aba No.15062762
>>15062753
I use premiere pro with the webm plugin
I could never into ffmpeg
72ab1a No.15062763
>>15062754
Webm is magic. Why can't it be magic-ker?
9827df No.15062767
YouTube embed. Click thumbnail to play.
How do I become as good as this man?
ed6485 No.15062775
>>15062763
Because lossy algorithms don't work like that. They're generally meant for normal cases where the individual pixels don't matter, like the kind of video you would record on your phone. You know, the kind for which JPG is a better file format than PNG?
b7929c No.15062778
>>15062767
Hard work and dedication.
So better just give up now.
f412ac No.15062783
>>15062767
Step 1: be finnish
54b88c No.15062793
>>15062750
oh shit nigga thats great
49a604 No.15062794
>>15062775
>the kind for which JPG is a better file format than PNG
If you don't like that my blurry 8000x6000 photo is in PNG, then you clearly need to get better internet faggot! Hard drives are so big it don't matter lol!
3b4aba No.15062830
>>15062793
Now you have no excuse
54b88c No.15062860
>>15062830
yeah I do, I cant draw kek
3b4aba No.15062912
>>15062860
why do you need to draw to make a model? Thats like saying you're bad at sculpting because you cant draw.
54b88c No.15062927
>>15062912
because I need a reference for the model??
47ea62 No.15062939
>>15062927
I model without reference, just adjust it as I go. Though I did turn to Gelbooru and such for certain proportions, and models-resource to see how N64/PS1 era games modeled certain features, like noses.
b6e874 No.15062943
>>15062610
yes, especially if she is small, but also what >>15062721 said.
4d4eb7 No.15062953
Haw many OpenGL[tm] (GL for Graphics Library[tm]) shades do I need to make #? 4 I thinks but aslo I have no gpu so then!
bd0a8c No.15063018
>>15062927
Unless what you're modeling is relatively alien in design, you'll probably be better off taking a generic set of good-looking images from Google, modelling that, and then making changes. If you have any particular original features that you want specifically (tails, weapons, accessories, etc.) then you can draw those and simply add them to the model separately.
54b88c No.15063045
File: 5d16fd1a184359e⋯.jpg (Spoiler Image, 504.34 KB, 2043x1200, 681:400, blazblue rachel alucard an….jpg)

>>15063018
>>15062939
I could just make a reference/character design by tracing over 3D Design Doll
yeah okay, i will just do that, its not THAT shameful, is it?
47ea62 No.15063185
>>15063045
No one will ever know unless you outright tell them.
134bb4 No.15063296
>>15062953
What do you mean? You need two at minimum to render
134bb4 No.15063301
>>15063045
There's nothing shameful about references or even outright copying. They're both good tools to learn and improve
e9c94a No.15063308
>>15056872
>>15062953
Anon whatever aerosol you're huffing, you need to cut back on it.
72ab1a No.15063386
>>15063045
Wow! This tracing thing is really easy! Soon I'll be able to make my own VN
a34f8e No.15063405
>>15063386
I want to fuck that loli.
738813 No.15063426
>>15063045
Only if you try to sell it. Then people will find out, they will ostracize you and they will make sure you never succeed. In short, if you're copying something, try to change it enough so that it's not blatant theft.
54b88c No.15063428
>>15063386
VNs aren't games anon
54b88c No.15063439
>>15063426
https://youtu.be/UMV4mK5LGhc
Is it really copying/blatant theft if i'm just drawing over a mannequin though
738813 No.15063551
>>15063439
Maybe not in that scenario. But you will probably get lots of ridicule if people found out you did so
Oops
47ea62 No.15063569
Gentlemen, a question about keyboard controls in a 3D platformer.
Specifically, my game has a similar control layout to Mario 64, in the fact that it can be boiled down to three buttons - A for jump, B for punch and Z for duck. The actual moveset differs in quite a few ways, but that's beside the point.
Anyway, what would be the best way to set these there buttons up on a keyboard movement layout? WASD for movement, Space for A and Shift for B makes sense so far, the issue is with Z specifically.
The two ideas I've had are E and CTRL. E has the unfortunate problem of detracting from the movement keys. CTRL seems a bit awkward, but it would only detract from Shift (B), and those two aren't really used together for any moves, it's either A+B or A+Z in some combination.
I've also considered mouse controls, but they seem best left to camera control, using the two buttons to center the camera.
Does anyone have any better ideas than CTRL? Maybe I missed something obvious. Control rebinding is a must, so it takes a bit of weight off of my shoulders, but I still want the default to be comfortable to use.
Inb4 why bother with keyboard controls in a 3d platformer, just get a gamepad lol.
766741 No.15063620
>>15063569
My suggestion is to use defaults that people are already used to:
Movement: WASD
Jump: Space
Punch: Mouse1
Duck: LCTRL
I've never encountered camera centering buttons in a m+kb game before, are you sure it's needed?
712715 No.15063796
>>15063569
Use T to recenter the camera, Left control for duck, space for jump and either LMB for punching or some other key like F.
b6e874 No.15063969
>>15063569
Maybe you should implement keys for "intensity" together with WASD, to simulate analog controls, or woukd that be retarded?
47ea62 No.15064165
>>15063969
The closest I could come to that would be a Mario 64 DS-style run button. I think crouch for slow walking would be much more convenient than that, since there are few times when you don't want to run at full speed in these games.
>>15063620
>>15063796
Very interesting suggestions. For some reason, LBM for punch never crossed my mind, but it would work out quite well, I think. I'm thinking of perhaps giving a few presets for KB+M controls, using mouse for camera only as some sort of alternate control scheme.
Really, I've just been ideaguying while making some food, I'm still a ways away from actually implementing this stuff.
ed6485 No.15064289
>>15063569
Use the standardized KBM controls that >>15063620 suggests.
>I've also considered mouse controls, but they seem best left to camera control, using the two buttons to center the camera.
You don't really need that function with mouse look. You need it on controllers since analog sticks are more-so a function of time then they are of distance, but mouse look is purely a function of distance. A player can just move his mouse further in the instant they move it.
Also, why the heck do you need two buttons to center the camera's. Also, you forgot that most mice actually have three buttons, third one being pressing down the mouse wheel. Some console ports meme souls actually use that as a refocus/lock-on button.
74414a No.15064494
Hey, I'd like to discuss some game design if anybody is interested, when does less become more? and when it's better to settle for less? let's take Dwarf Fortress vs Rimworld for example, the former has your typical roguelike feel, entities are represented by a single sprite and movement is snapped to a grid of a fixed size, while the later has animations for entities and seamless movement, both are approaches to the same thing "an entity existing and moving on a map", but they vary greatly in term of complexity and execution.
Scale is another subject of interest, again, in DF you can manage a big colony with tens of citizens, and the map spans multiple levels with different terrain type, while in Rimworld you can only have few citizens and there's only one Z level for the map, but even with the huge difference in execution, both games are loved and enjoyed by a lot of people.
I couldn't stop thinking about this when I was trying to port Dragonebone runtime, a fancy 2D skeletal animation with mesh deformation will certainly look sexy, but it is also a lot of work that will probably wouldn't matter in the whole scheme of things, pixel art and ascii art are still widely liked.
My original goal was to simply make a colony manager but a lot of parts can be done in multiple of ways with a huge difference in complexity and resources, the map size and existence of multiple Z levels would greatly affect the size of the colony and what you can do, digging and exploring the depths has certainly a charm to it but you can totally ignore that complexity by having one Z level and a "mine" building where miner just enter and spend some time before returning with resources that may or may not be infinite, the result is still the same "player dispatching miners to get resources to spend on the colony" and only few people would care about the difference after spending a couple of hours playing.
I'm also concerned about the presentation, I've been discovering a lot of isometric games of this genre that vary greatly in presentation like Shipwreck and Stormland, the former is really simple while the later has a complex isometric look.
1ee062 No.15064572
*suddenly, out of the darkness, a hooded figure emerges*
*his eyes are glazed over; this horse is blind*
*sends out his forked horse tongue, tasting the airs*
>"Ah yes, this is the place…"
*opens his gaping maw and begins to speak:*
How much of computer graphics do I need to understand to actually make something in opengl?
I'm reading a book on graphics atm and it's very rough. I wouldn't be able to implement this stuff, but I can mostly follow along.
cae7c6 No.15064580
Doing the Tavern/Inn
It will connect to the community center and the library, i want to give it a tower, but can`t decide how to make the top, with a roof or dome, what do you guys think?
72ab1a No.15064595
>>15064494
Do you want to spend more time dealing with animations and design or programming and logic?
Because Rimworld is the former while a dwarf fortress clone is the latter
Are you looking to sell the game or release it and get followers?
Because nobody wants to pick up another dwarf fortress clone and such simple graphics don't sell anymore.
49a604 No.15064624
>>15064494
>when does less become more
When you fail to integrate said "more" into your game properly or don't have the time or resources to do it. If dwarf fortress had the UI and graphics of Rimworld, I swear it would be among the top of indie games.
Games that have a lot of shit but seem to fail to gain a significant following pretty much always have an obtuse shit design that makes it very hard to get into. Just think about how interesting and cool the concept of Wurm is, but it's not that big because in order to play it the first thing you need to do is start reading a fucking wiki.
ed6485 No.15064630
>>15064494
Ask yourself how many things a player has to keep in mind at any given moment, with the obvious follow up question: "Is this too much?".
Game mechanics that elegantly fit together and introduce complexities from interactions are a lot easier to keep track of than many mechanics that don't fit together and are complex by themselves, but don't introduce any meaningful complexities from the way they interact.
When it comes to sim games, the best way to do that is to make all resource manageable in a similar way, and introducing them over time by making some resources only relevant later.
In Dorf fort, for example, metal isn't really that big of a deal until you actually need to forge weapons, axes or pickaxes. And even then, you can still make due with your starting materials, buying shit off of caravans and wrestling everything to death. Instead, you focus on things in a specific order: Food first, followed by beds, followed by luxury to keep your dorfs happy, which is then balanced with overall productivity and military.
First you set up, resource X, then resource Y, then resource Z, and then expand resources as necessary. You only start with resource Y when you don't need to worry about X anytime soon, and you don't worry about Y until you have X set up.
>>15064572
OpenGL is simple. All it does is draw points, lines and triangles. If you're not a brainlet you should be able to easily pick it up and get something nice going in 2D in a matter of days.
3D, however, takes more effort.
Either way go here: https://open.gl/
cae7c6 No.15064705
Or maybe i could use the dome with exit from the library to join at the bridge
42466a No.15064752
>>15064580
>>15064705
Domes feel more "academic", give it a regular roof.
cae7c6 No.15064777
>>15064752
yeah, i guess the roof matches it better, also i could make the top room of the tower be the Innkeeper room, since she is also one of the leaders of the community council it would be convenient for her to just get off her room and cross the bridge to do meetings in the office that will be in the third floor of the community center
e51a03 No.15064922
>supposed to be gamedevving
>spend two days fucking around and implementing different spacial partitioning techniques despite having a perfectly adequate quadtree and no need for anything better
>plain ol' static grid
>hierarchical static grid
>loose grid indexed by a static grid
>kd-tree
>loose quadtree
Well, that was a fun diversion. I have a better appreciation for these data structures now.
74414a No.15064923
>>15064595
>Are you looking to sell the game or release it and get followers?
The later, I want to release something enjoyable and maybe gain support later, and that's a big maybe.
>>15064624
>If dwarf fortress had the UI and graphics of Rimworld, I swear it would be among the top of indie games.
I thought DFHack solved a lot of UI problems, and a tileset can make DF easy on the eye, but I agree that the UI can make or break a game.
>>15064630
>Ask yourself how many things a player has to keep in mind at any given moment, with the obvious follow up question: "Is this too much?".
But when does it become too few or too minimalistic?
As for the resources, do you think DF really benefit from the overly detailed minerals? there's a joke going about some dude restarting a fort just because he couldn't find Iron and he kept ignoring the rocks that give it just because he didn't know the actual name of said rocks, a lot of alloys and some metals can be seen as pure noise as they provide little to no value in the whole scheme of things yet they still have a place in the game.
Previously I asked if DF would still be enjoyable if it had only one Z level and some anon said that people argue it was good before it had multiple levels, I only played the recent version so I wouldn't know, while verticality allows buildings that weren't possible before but I find that having a horizontal fort can be as interesting and enjoyable
Verticality is an interesting subject since I couldn't even choose a satisfying depth, 256, 128, 64, or heck any non power of 2 number too, obviously the more depth you allow the more heavy the game will be on RAM and CPU, pathfinding through all those levels will only make those FPS deaths come sooner especially if the game is turn based instead of real time, I kinda got used to use multi-frame functions to make it easy on CPU which you can't really use when every entity need to be synced in a single frame.
Another question I find interesting, how much can you strip away from DF before it stops being the same game?
cae7c6 No.15064985
Yeah, the roof looks nice, need to add windows and make interiors
b09d59 No.15065016
>>15064572
There are way too many variables in that question for you to get a decent answer. It depends entirely on what you want to implement, how you want to implement it, and what knowledge you already have.
ed6485 No.15065067
HookTube embed. Click on thumbnail to play.
>>15064923
>But when does it become too few or too minimalistic?
When the game becomes simple to the point of being un-engaging.
Simplicity vs complexity is a balance between boring and confusing. Engaging, which is where things are easy to understand and get into, yet continue to deliver interesting interactions throughout the game, is the sweetspot in between these two.
>As for the resources, do you think DF really benefit from the overly detailed minerals?
I think DF could do a better job at expressing what minerals are smeltable in what kind of metals. But I do think it benefits from it. The advantage of adding different kind of metals means that players cannot rely on a fixed baseline for all metal tools, it depends on what kind of mineral veins RNGesus blesses you with. The disadvantage, of course, is complexity. But I think the added complexity is low enough to justify the addition, in part because the main progress throughout the game (get metal -> produce tools) has not changed at all.
>Previously I asked if DF would still be enjoyable if it had only one Z level and some anon said that people argue it was good before it had multiple levels
I haven't played ancient versions of DF, but I can totally see the game being well enjoyable without the addition of multiple Z levels. Aside from being able to make more compact fortresses by expanding into a third dimension, I don't think there's significant improvement from adding multiple Z levels.
>how much can you strip away from DF before it stops being the same game?
DF has its reputation for being very complex, yet in intuitive ways. Simplify it too much, and it would eventually become just another simulator, losing its reputation in the process. As long as stupid shit like embed related happens, which is the result of a bug combined with many different mechanics, DF is DF.
Despite the complexity in DF, the main hurdle for getting started is its shitty UI and lack of proper tutorial. Give that an overhaul and you could probably ship that shit to even casual players.
0f877f No.15065577
>>15065341
Oh shut the fuck up you buzzword loving cocksucker. Post all the games you've made without any OOP design in them. I'm waiting.
748707 No.15065602
I've been programming for five years now and don't know if I'm using OOP or not.
b68957 No.15065603
>>15065577
Quake
Quake 2
Quake 3
Unreal
Unreal Tournament
Team Fortress
Team Fortress 2
Counter-Strike
Counter-Strike Source
Counter-Strike: Global Offensive
Dota
Dota 2
Literally any game made in C/C++
Literally any game made not in (((C#))) or (((Java)))
b68957 No.15065619
>>15062767
Learn OpenGL. Don't even bother with above versions higher than 2. They require you to throw out the fixed function programming and do shaders.
OpenGL itself is already depricated since Vulkan is out, so if you care about learning the newest stuff, go straight to Vulkan.
42466a No.15065628
b68957 No.15065632
>>15065628
I just posted them :^)
0f877f No.15065641
>>15065603
> he thinks OOP means C# and Java and DOD means C/C++
God damn anon. I know we throw around the word "retarded" a lot around here but I think you might actually be retarded.
b09d59 No.15065659
>>15065603
Damn you're fucking ignorant
0f877f No.15065661
>>15065602
You are. Everyone uses OOP design principles, and if they claim they don't they're either a fucking idiot or a liar.
b09d59 No.15065666
>>15065661
There are some languages that don't allow for it, I wouldn't make such broad claims if I were you
b09d59 No.15065677
>>15065602
Then you're likely a bad programmer. Not because you do or don't use OOP, but because you don't know.
748707 No.15065698
>>15065677
Probably. I've never taken a course on programming, have never had a job doing it, and I use GameMaker. A quick search says that GM uses a kind of OOP. Is there a good source to learn about the alternatives?
42bc58 No.15065974
New props and actual lighting
259ccb No.15065994
>>15065974
>props don't cast shadows
42bc58 No.15066010
e1b468 No.15066091
>>15065661
Kill yourself Javanigger
556c2e No.15066112
0f877f No.15066452
>>15066091
I have never once written in Java
e51a03 No.15067325
>>15065666
You can still use OOP principles in most languages not designed for them, even functional languages. Some of the principles are quite handy, especially on the higher levels where performance isn't key. If you use them absolutely everywhere, I find that code tends to lose some coherency as slightly related code tends to end up in a hundred different places and you have to navigate around to find what you're looking for, what's overloaded, what's inherited, what's a special case handled in some super class.
72ab1a No.15067475
File: e1454dbef66fefc⋯.png (Spoiler Image, 163.32 KB, 335x371, 335:371, 58f6b8b919e9777161f2391fc2….png)

I don't know anything about OpenGL or Vulkan. I have decent experience with programming and maths. My mind is open and my body is ready.
1. What is the future of graphics APIs? OpenGL vs Vulkan vs (lol) Directx
2. What can I learn that will allow the rendering of as many individual particles on screen at a given time?
3. Is it worth the time investment to development for Vulkan vs OpenGL?
156c47 No.15067494
>>15067475
1.) You need to learn the differences. Go YouTube search some videos.
2.) Not an easy question and not an easy solution. If you are hardcore you'd dip your feet in Vulkan or you can just use OpenGL and DirectX. You can achieve what you want with either 3.
3.) You are the ambitious anon with the physics particle universe right? Take a step back and work on something a lot smaller. A LOT smaller. No answer either to this question. Is a couple years worth it for you?
4fc17d No.15067496
>>15067475
>Microsoft™ DirectX©
>future of graphics
Do you even need to ask?
>Is it worth the time investment to development for Vulkan vs OpenGL
If you want to make game then no. If you have extra time in your hands and want to learn something that might be useful in some distant future point in time, then sure.
7db9bb No.15067511
>>15067475
OpenGL will be more than enough for a long time and it runs on everything. Revisit Vulkan in 10 years.
b0cb75 No.15067528
Is there ever a time you would need more than 255 bones?
156c47 No.15067546
>>15067528
What engine are you dealing with? You should be more specific. Is it 255 per object or can you combine several objects? 255 is relatively low for AAA quality models. Facial gestures and physics objects can take up a shitload.
556c2e No.15067558
>>15067528
When you're an infant?
72ab1a No.15067603
>>15067494
1. I have been looking up the differences and from what I can best tell: They can exist alongside one another, vulkan offers lower-level access to the GPU while openGL is more abstracted API, and development for vulkan will more complex in various areas
3. I'm enjoying this stuff so much I may make a career out of it; already going to graduate with degrees in IT and maths.
I wouldn't mind developing terminal ballistics simulation systems for the military
I'm primarily worried about lack of documentation and tutorials for someone who isn't educated in traditional graphics systems. The benefit though is that like with learning C, as opposed to like python or whatever, learning vulkan may force a more deep understanding of how the GPU works.
>>15067511
I think this is true in traditional game dev but from what I've seen, all the demos showing massive performance gains have been in systems that have to render and create lots of different objects. This is opposed to games that exist which have tried to optimize in every way to get around these bottlenecks. I'm not too concerned with shipping a final product as much as I am with the development process of this engine.
Also, if I go on to get a masters and have to write a thesis, vulkan may be more relevant at the time.
156c47 No.15067734
HookTube embed. Click on thumbnail to play.
My Patreon was just approved. Here's just the intro video without any links or names so you guys don't think I'm shilling. Funding is pretty much only for sound, music, and voice assets. This is a hobby, never meant to replace my real job. Thanks for attending the wedding if you did back in September.
ed6485 No.15067759
>>15067734
>prostituting your waifu
I expected better from you.
72ab1a No.15067763
>>15067734
inb4 old hags freak out and get you banned for not liking old hags
dc2ead No.15067812
>>15067734
I saw that thread you made on some board about 3D modeling your waifu. May I say that was some deeply autistic yet enjoyable shit to read.
4fc17d No.15068137
Does anyone enjoy reading or writing code like this?
d83621 No.15068238
>>15067734
>Programming and modeling is my way of relaxing
beautiful
d09f83 No.15068242
>>15067734
Are the Japs aware of any of your stuff?
d83621 No.15068279
>>15068238
>>15067734
fugg, tweeting out my support and discovered your twitter account is suspended. RIP
d27d52 No.15068388
>>15058366
>A variable in a class (hence a member or m_ variable) is declared on the heap, whereas a variable declared in a function is declared on the stack. Stack access may be faster depending on CPU and its addressing mode.
It might also just hang around in a register, especially in that tiny example.
>But, I believe the any modern compiler would take care of this.
In the toy example, probably. In real code you can be doing stuff inside that loop that makes the compiler doubt that such an optimization is valid.
>>15062173
754 is nothing, maybe you're programming on a toaster or including a ton of garbage.
#pragma is compiler specific IIRC the portable way to single-include is
#ifndef SOMETHING_H
#define SOMETHING_H
#include "something.h"
#endif//SOMETHING_H
49a604 No.15068722
>want to dev
>can't be bothered to write opengl boilerplate code and can't use any of my old stuff since the language was so different
>can't go much further with just software rendering either
How do you motivate yourself to go through menial drudgework that you can't get around?
a5bd7f No.15068751
>>15067734
Is it possible that I can compose music for your project, anon? I'll do it for free, because I do not want money to propel my artistic integrity. I do chiptune and some actual as a hobby. Do I need to post a link for you to hear it?
42466a No.15068763
YouTube embed. Click thumbnail to play.
>>15068722
You just have to do it.
b6e874 No.15068992
>>15068722
>How do you motivate yourself to go through menial drudgework that you can't get around?
By remembering that no one else will make the games i want.
cae7c6 No.15069076
>>15067734
>all that shinobu bullying
13b0dd No.15069505
I added active slowmotion to make it easier to aim the turrets. I'm also trying some possible enemy types. This one, for example, would be a landing ship escorted by ufo fighters. It would appear on missions where you have to prevent this type of enemy from reaching the other side of the screen, to protect the city or some other important facility.
The gameplay reason for having the escort will be to distract player with defense against their missiles and sponge the damage, as killing the ufo fighters is not part of the mission. For now I'll try to finish the "defend/intercept" mission type because it requires pretty simple enemies.
eee6a6 No.15069532
>>15068722
I'd like a sauce
536868 No.15069537
>>15069505
>added slowmo to make it easier to aim
Have you thought of adding hotkeys for those? Unless you intend to have a shit ton of turrets, at which point, have you thought of having control groups?
I think having to individually click turrets in order to aim them is going to get really annoying really fast.
781881 No.15069564
>>15067734
That's a pretty good video. I really doubted you from the get go, but this is looking pretty cute. You should add more things to do and make it more like a game so it has replay-ability
Some music might be nice too.
7f7e36 No.15069571
>>15067734
You are one of the coolest turbo-autistic devs on here. If I weren't a poorfag with no money, I'd support you.
>>15069076
Lolis are meant for two things: bully and fugg.
13b0dd No.15069601
>>15069537
Yes and it's already annoying with such small selection hitboxes. There will be option to assign selected turrets to a hotkey, so that when it's pressed the assigned turrets aim where the cursor is.
156c47 No.15069603
YouTube embed. Click thumbnail to play.
>>15068279
Oh I disabled it a few years ago because I stopped using it. I don't really do social media.
>>15068751
Well I'm mostly interested in sort of guitar themes. Like this song. It was used in JetMoto 3. Not so much modern music. But yeah post a link for your actual music.
a5bd7f No.15069829
Soundcloud embed. Click thumbnail to play.
>>15069603
I've never done "guitar" music before, but I actually appreciate that you're aiming for something different because I've been expanding the genres I've been doing for some time. I'm six years into composing and I mostly do ambient, techno, chip tune, jazz, rock compositions. I have more tracks that I do not post online but seems to fit what you're aiming for. I have been primarily playing keyboard and percussion, so I'm up for the challenge. Just give me a week, and I'll post it in your thread on /agdg/.
Mind you, I'm do not have high quality equipment or DAW, but I'll do the best to my ability.
https://soundcloud.com/muscises
e51a03 No.15070048
>>15069829
I listened to some snippets from all the tracks in that first album.
The composition and instrumentation are pretty interesting, but I think mixing/mastering might be your weak point. On some tracks, it's alright, on others, it's to the point where I can't even tell if the mix is just bad or the audio's peaking. Seems like the low end is overpowering or taking up too much of the frequency space, or other instruments are encroaching there and causing distortion.
Raining Meadows is probably the worst offender. For a concrete example, the measure that starts between 1:04 and 1:05, but almost all the measures around that point in time start on with very muddy and noisy accent. Equanimity for the Irrationals is also pretty muddy, low end dominating.
Always Moving has an interesting mix. The phased pads might be a little too hissy and the low end might be a little too vacant, but it has that sort of "Sega arcade menu" kind of sound. I could almost put that down to a design choice.
The pure chiptunes don't have that much of a problem with muddiness, but messing with the levels might be a good idea. While everything's clear, some instruments might be a little too far in the foreground, so to speak.
It might just be that you're tuning your music to sound alright on whatever you're listening to it and it'll sound off on just about everything else. Good headphones or a decent monitor-grade speaker might be a good investment.
81fc1a No.15070074
>When you finally setup mingw perfectly so you have a unified system across all your computers
Finally I can just have one(1) fucking makefile, and it's all I need. No more seperate project files, no need for IDEs, just make and vim.
a5bd7f No.15070158
>>15070048
Trust me until around the end of March, I got a set of Bose Speakers with a sub woofer and I just got a pair of Sony Headphones with Noise Cancelling. I know I have to get the mixing down.
Raining Meadows is like that because mixing in FamiTracker is quite difficult especially when some of the chips are naturally louder than others, hence why I use specific instruments on it and the distortion is not on mine end rather than the program itself.
Equanimity for the Irrationals was supposed to sound drowning-like since I was aiming for a progressive ambient tone, however, I noticed the percussion had some peaks but I didn't realized it until it was too late and the Bass was really loud. Again, when I made that composition I was using my old Turtle Beach Headset and they weren't made for Music Production.
Always Moving was taken from a more simplistic approach, little to no filters, instruments that had the most clear sound, and it was straightforward, which I guess why it has better mixing. Also, it might sound like Sega because the Bass was actually a FM Synthesis Bass.
Chiptunes are clear sounding because you can't put any low-end or band-pass filters, echos, reverb, etc. It was just that channel producing that audio signal, and I naturally adapt to that which could be the reason why some of the earlier actual compositions were weak on the mixing end.
Other than that, I honestly appreciate the criticisms because when I started in music school, I played in a band and mostly the guitars and bass overpower the keyboards, which I played. and the fact that I just started getting back into using a DAW once I had the money to buy a computer to run it since I did my music on a Windows 7 laptop then on a Windows Vista Desktop. You'll be surprised that the DAW I got cost $50, but I got it for free because I registered a broken MIDI keyboard I had.
Again, thanks for the constructive criticism.
259ccb No.15070217
>>15070158
Bose is a bad, overpriced meme and noise cancelling headphones use noise to cover up background noise. If you're going to mix audio you should either invest in studio monitors or a neutral pair of open ear headphones.
I finally talked Kowloon anon into replacing his crappy bass-boosted headphones with something much cleaner and the quality of his mixes skyrocketed.
a5bd7f No.15070249
>>15070217
What are some open-ear headphones you recommend?
Also, I got these mint-conditioned Bose Companion Set from a Secondhand shop for $30. I tried to adjust the bass to hear as less as I possibly could.
e51a03 No.15070306
YouTube embed. Click thumbnail to play.
>>15070158
Any time.
I'm afraid I can't give you too much in the way of specific advice. It's been a while since I've dealt with any kind of mixing, and there's about as much subjectivity as there are concrete "rules", so to speak. You just gotta roll with it, combine your channels into mono every now and then, see what it sounds like quiet, what it sounds like loud, dick around with different sets of channels to find things that just don't work together and find the mud.
You can still mix and master in trackers, but that usually involves either manually adjusting the waveforms, the channels or the notes themselves. Sometimes that's not an option and you might have to make due with just cutting notes down in length or popping into another octave to serve as a different instrument.
Also, the "Sega arcade menu" isn't just the bass. It just has that specific jazzy… thing… that Sega likes. I can't pinpoint it to anything specific, but so many Sega titles had that vibe, usually in their menus, title screens or high score screens. Just needs a few more sparkly chimes and more active bass.
Those might not be the best choices in audio gear, but it's probably an improvement over what you had. Something open-backed might be better for mixing. You're looking for as neutral, possibly as analytical of a sound as possible; maybe hit up some more reputable headphone review people and see what they have to say.
I got a pair of Fidelio X2s a few years ago, and they're leaps and bounds above anything I've ever tried at any store or anything I've used prior. I wouldn't have imagined Philips doing so well with headphones. But apparently, they had a drop in quality at some point, and I lucked out with getting an earlier revision. Not sure what the state of the model is now, but it was pretty hit-or-miss for a long time.
e51a03 No.15070314
>>15070306
Can't embed and post an image at the same time.
a5bd7f No.15070378
>>15070306
I had my eyes sought on a pair of Sony MDR V6 headphones, because I heard they were the industry standard and they're cost efficient. Are those good?
a5bd7f No.15070411
Also, I think emulate a lot of what a Sega feels, because I've been listening to their soundtracks since I was 4 when I played Sonic the Hedgehog 1&2, then I got to their Arcade soundtracks. Say what you want about Daytona USA or Sega Rally Championship, but those soundtracks are funky as hell and like some of their Outrun, Outrunners, Thunder Blade, Galaxy Force II, Space Harrier. I could go on and on about Sega, Namco, Nintendo, etc. Video Game OSTs were my inspiration to get back into composing music.
259ccb No.15070451
>>15070249
It really depends on what you're willing to spend. He and I are using the Superlux HD668b, which are more v-shaped than neutral and suffer from poor build quality, but are cheap as shit and sound incredibly clean. The Beyerdynamic DT880 is well liked by professionals but it's also around $200USD and the higher impedence versions need an amp. It's okay if that's too much for you, I can't afford them yet either.
I'm still pretty new to audiofag stuff myself so take my advice with a grain of salt. There's probably other anons in here with a better grasp of it and better recommendations than I could give.
>>15070378
The MDR V7 and 7506s are good headphones and top-tier if you're recording audio, but they're not the best choice for mixing. Being closed-ear headphones, they have very little soundstage (the perceived spaciousness of sounds) and no crosstalk (you can only hear sounds playing in the left speaker in your left ear and vice versa with the right driver/ear because they're closed off from each other) so while they block outside sound nicely and are very clear, clean headphones perfect for finding and correcting mistakes in live audio, actually mixing with them could sound funny on good speakers or open ear headphones.
556c2e No.15070466
>>15069603
Fuck yeah Juno Reactor is the good shit.
67b119 No.15070493
>>15050806
Long time ago I wanted to make a boat racing game but it never went anywhere. I did however got almost accurate boyancy physics simulation which i never quite finished. Do you want it?
81fc1a No.15070510
Can someone help me out here? I'm trying to get gradual acceleration in SDL, as well as a really good control on how fast the player is moving, but where SDL_Rect are only integers you can actually see the points where any float values hit a whole number, which creates this jarring obvious ramp up. The actual speed the player goes seems to be based on how fast the FPS count is, but even when I calculate delta time, I'm still only dealing with integers at the end of the day, which creates that obvious change in speed rates. I'm calculating delta time with SDL_GetPerformanceCounter() and SDL_GetPerformanceFrequency().
It goes like this:
last = now; // both of these are integers
now = SDL_GetPerformanceCounter();
freq = SDL_GetPerformanceFrequency();
delta_time = (now - last) / freq;
then I do:
vel += speed * dt;
move(vel) which just casts vel into an integer (because SDL_Rects only uses integers) and adds it to the destination rect's x value.
I'm wondering if this is just how SDL is, but I know the Shovel Knight devs made their game in SDL, and they have great gradual acceleration, so I know it's possible somehow.
67b119 No.15070528
>>15070510
Why are you using SDL_Rect for this you imbecile?
81fc1a No.15070538
>>15070528
SDL_Rects are how you RenderCopy() sprites onto the screen.
67b119 No.15070563
>>15050052
The thing about C++ is, you will have to forfeit all those nice features if you want to produce fast running code, for the simple reason being these features incurring runtime costs on top of your code's own computational cost. The pointers, the vtables, you name it. At that point you might as well be using C and even that's a stretch, realistically you could do with just Assembly - if it wasn't such gigantic pain in the ass to actually use. If your game doesn't need every last bit of CPU power available, then it's OK to use slower languages and/or slower language constructs. If you aim to create a game that absolutely needs maximum available performance, you use C.
67b119 No.15070573
>>15070538
And the reason you use sprite-on-screen-pixel-integer coordinates to store your characters' locations is because ???
89f9d3 No.15070578
>>15070510
You should have the position and velocity using floats and then use that position to set the rectangle's position, rounded to nearest integers. The sprite is just a representation of the thing, it shouldn't directly be tied to the position if you want pixel aligned drawing.
1ee062 No.15070662
Anyone want to post their favorite resources on learning computer graphics/opengl?
Atm I'm looking to build a little virtual space in opengl, and then moving onto the creation of a game (maybe I'll use an engine instead at that point).
Have been going through CMU's lecture slides and some other resources, am interested in what others have found helpful.
81fc1a No.15070767
>>15070578
Thanks, this gives me the exact results I needed. I thought everything had to be tied to the sprite's rect.
>>15070573
because I'm retarded.
556c2e No.15070929
>>15070563
You can mix multiple levels of programming in a game. When you need assembly you should write assembly, when you need c you use c, when you need a scripting language you use a scripting language. The important part is good design principles and choosing the right tool for the job. Bad code can still be written in C and good code can still be written in C++.
Also, templates are a modern feature than can result in fast running code. They aren't a silver bullet though, and shouldn't be treated like one.
>>15070662
You don't need a new paragraph for each sentence.
https://open.gl/
https://learnopengl.com/
ba992a No.15071067
>>15061143
Hey, it's pretty cool you are writing your own portal scene manager. Its interesting stuff, and please keep posting progress.
>>15062088
Only #include the files you need. Look into pre-compiled headers. Avoid templates. Templates are concentrated cancer in applications. Sometimes useful in library code. Also, static link in your base codebase as a library if it's fairly stable. Check out QtCreator and Qt in general. It uses a multi-threaded make. >>15062205 what this anon says about include strategy.
>>15062610
Bigger is better. Make them fucking huge and squishy.
>>15065619
Starting with any OpenGL before you know 3D math and linear algebra is a mistake. First, write your own affine texture mapping routine (floors and walls a la Doom). Then 3D perspective view transforms for a box using indexed vertices. Then learn OpenGL 4 using the Shader Cookbook. If you don't want to do this, use Godot or Unity.
>>15065661
Millennial detected. Object-Oriented means Objects first, procedures second. All you know is hammer. Don't hammer UNF #10-32 bolts and call everyone else retarded. You know what, keep doing it. It's actually pretty funny.
>>15065974
Pretty cool. What are you using?
>>15067475
Vulkan has a shitton of setup code and the off-the-shelf debuggers for it aren't that good yet. Also, easier to multithread, but another shitton of code to do so. Good for huge projects or fundamental library code for huge projects. For OpenGL, GLFW + GLEW and go.
>>15068137
No. But you shouldn't be reading it yet, just using it. STB code is godlike. STB is a C god. Use his code. Reap the rewards. Do not attempt to understand divinity until you are a master yourself. STB knows the way. He knows the evils of C++ yet his code may be used with C++. Do not question, you are not ready.
>>15069603
Pretty good song.
>>15070662
I'm going to recommend OpenGL 4 Shading Language Cookbook and the associated code on github again. Also OpenGL SuperBible 5th or later isn't complete shit, but not as useful.
bfba71 No.15071234
>>15071067
It's the manager here: https://www.cs.utah.edu/~jsnider/SeniorProj/BSP/default.htm
But I am just retyping it all to learn how it works and understand the code. I don't have enough time to write it from scratch. (it took John Carmack years of full time work to make the quake engine after all) I'm still debugging it, I will show off more later tonight I hope. I don't mind the bugs too much since debugging it is very educational since it is forcing me to understand how the code works instead of just copying.
d1d96b No.15072306
>>15068763
Such a good video
766741 No.15072692
First attempt at player character is a failure, need a bigger frame or thick armor or something, otherwise he looks too small and platforming just doesn't feel good. Might try chibi style next.
556c2e No.15072790
>>15072692
T man. Savior of the universe.
You could also try baggy cloths like in Miegakure or an over-sized weapon. iirc I saw the test cylinder firing huge bullets, so it would make sense for the character to carry a huge gun. I'm not a big fan of the Chibi style, but it's ultimately your game and your call.
It's nice to see the player's shadow is directly underneath the character, especially because you mentioned platforming. That's a nice touch.
348bc9 No.15073219
I'm porting Source models into DOOM. Fun stuff.
b6e874 No.15073778
>>15062767
>hebrew writing at the start
54b88c No.15073952
Pick an eye color please? i'm really unsure
d96b96 No.15073965
>>15068388
I didn't say your second line of greentext?
>>15073778
The guy's some autistic christian who made his own brand of religion by combining judaic shit with christian shit and some other stuff. He's not an actual jew.
b6e874 No.15074085
54b88c No.15074099
>>15074070
>>15074085
Greeny blue it is ¯\_(ツ)_/¯
9747b7 No.15074192
>>15074099
>99
It was foretold.
2a7eeb No.15074195
>>15074099
How's Soyberpunk going?
54b88c No.15074209
2a7eeb No.15074223
>>15074209
I guess I've mistaken you for that faggot that works as a vehicle artist at CD-Projekt and shits up threads with his reddit tier posts. Unless this is you in which case GTFO
51006f No.15074228
>>15073219
>doom
>curves
am i in bizarro land or something?
54b88c No.15074267
>>15074223
yamero i'm just a lurker that decided to start postan
2a7eeb No.15074270
>>15074267
Stop talking like a fag and everything will be fine
72ab1a No.15074300
>tfw finally using debugger and IDE after about a year of programming
>tfw fix issue in 5 minutes that I was trying to find with prints for 8 hours
c92293 No.15074337
whatever happened to that dmc like game with the cyber waifu
you know the one that isnt 2b or haydee
42466a No.15074390
>>15074337
We do this every thread.
>guy spergs out about 2B being a ripoff of his character
>gets bullied
>leaves
He still works on it but he doesn't post here anymore.
7ad43e No.15074528
>>15074390
>He still works on it
If his organs weren't collected by the polish mafia that is.
d40035 No.15074658
>>15070493
I'd like to take a look at it, if you're offering. I can't promise I'll use it because I'm not sure if it wouldn't be a little over the top for what I'm going for, though. There's also a possibility I'll not be able to understand it.
d40035 No.15074668
>>15074658
>id changed yet again
This VPN is fucking shit.
af477e No.15074797
posting cute gook shit that inspires me
54b88c No.15074872
>>15074797
Nice, I like it
857f60 No.15075197
>Set up almost fully-automated build system using git, git-submodule and CMake
>It even gets the primary dependency for my project and automatically builds and links against that as well
>Everything is automated on Linux and just works
>Decide to test my swanky-ass build system on Windows with MSYS2/mingw64 (instead of cross-compiling using mingw64)
>git is broken beyond all reason, anti-virus fires off random heuristic signatures at MSYS2 executables as they run on two separate computers
>Turn off AV, reinstall MSYS2 and delete 25 GB(?!) of build files and garbage
>installation still fails at random points
>After 2 tries, Avast still keeps throwing tons of AV errors at me even though I disabled it earlier
What the fuck is going on, how do you guys ever build your C++ projects on Windows? Everything is so fucking garbage, holy shit.
inb4 "just use Visual Studio"
81fc1a No.15075370
>>15074228
GZDoom is a farcry from the actual Doom engine these days.
81fc1a No.15075407
>>15074797
>Eyes are just floating flat disc planes inside those huge hollow cavities called eye sockets.
It's so fucking weird when you know that's how the eyes are done, but it works so well.
81fc1a No.15075423
>>15075197
Avast was bought by AVG recently which has always been a huge false positive thrower. Might be half your problem. Try Bit Defender.
72ab1a No.15076900
567 Lines of code and I still can't draw a triangle yet with Vulkan.
0cf8fe No.15077310
>>15076900
I've heard Vulkan is hard, since it is more of a GPU programming language instead of strictly a graphics API like openGL, meaning you probably have to make your own openGL-style high-level functions.
4916e8 No.15077407
556c2e No.15077569
HookTube embed. Click on thumbnail to play.
>>15077310
Vulcan is still strictly a graphics API like OpenGL, just with different goals that make more sense in the modern day. It's not a GPU programming language. You can't access the hardware directly. You still have to go through the driver. Only now there's less between you and that driver.
Vid related goes over the reasons for why Vulkan was introduced and how OpenGL and Vulkan differ from each other. The whole talk is good but if you don't want to spend an hour watching it the first 15 minutes give a rundown of the major differences.
51006f No.15077895
YouTube embed. Click thumbnail to play.
>>15075157
might want to use some vector map/array instead of the uvs for the flow direction
a42ac4 No.15077964
>every single Vulkan tutorial uses C++ concepts
>it's too tedious to reverse engineer the entire API from some shitty documentation
72ab1a No.15078045
>>15077964
>reverse engineer the API
Reading the documentation is not reverse engineering, even though it may feel like it at times.
I'm working through one C++ tutorial right now in pure C. It is taking a little longer but it's nice because I have to stop and think about exactly what I'm trying to accomplish at times. I don't even know C++, but I do know C# and other OOP concepts so I'm translating it all at a steady pace.
Or maybe just wait until I finish my engine and I'll license it to youfor a fee :^)
a42ac4 No.15078233
>>15078045
It was already hard enough learning OpenGL when people just tell you to call x y and z functions without properly explaining what it does, like the infamous glEnableVertexAttribArray that literally nobody including opengl official documentation has a proper explanation of, but now I need to learn OOP and C++ and Classes before I can even begin.
72ab1a No.15078296
>>15078233
Vulkan, like OpenGL, is implemented in C. But yes, every resource uses C++ for some reason so it is necessary to learn fundamentals like collection syntax, classes, members, etc…
One of the reasons I picked up Vulkan instead of OpenGL is because it just looked like a hacked together mess that didn't teach my what was going on at the lower level. I don't think anybody truly knows what was going on or at least that's the vibe I get from listening to the guys who had to write the drivers to handle every GPU interacting with every program. It's pretty much why Vulkan was created - the guys writing the drivers had enough of the shit.
51006f No.15078333
any way i can get meshes in unity to fade out with distance from the camera without using a custom shader?
the fog option in the lighting tab basically does this, but i need the alpha to go to 0, not just the color
just don't want meshes popping out of nowhere when they get loaded
3c1ba6 No.15078396
New thread where
>>187333
Does Unity not encode color as RGBA values or does it do RGB as one thing and A as another?
51006f No.15078457
>>15078396
the fog color has rgba, but the a doesn't do anything in this case
3c1ba6 No.15078480