[ / / / / / / / / / / / / / ] [ dir / bmw / dempart / his / leftpol / marx / wmaf / wmafsex / xivlg ]

/v/ - Video Games

Vidya Gaems
Winner of the 75nd Attention-Hungry Games
/caco/ - Azarath Metrion Zinthos

March 2019 - 8chan Transparency Report
Comment *
Password (Randomized for file and post deletion; you may also set your own.)
* = required field[▶ Show post options & limits]
Confused? See the FAQ.
(replaces files and can be used instead)
Show oekaki applet
(replaces files and can be used instead)

Allowed file types:jpg, jpeg, gif, png, webm, mp4, swf, pdf
Max filesize is 16 MB.
Max image dimensions are 15000 x 15000.
You may upload 5 per post.

[ /agdg/ | Vidya Porn | Hentai Games | Retro Vidya | Contact ]

File: 8de058628d7b516⋯.jpg (59.17 KB, 500x337, 500:337, medium.jpg)

16bcc7  No.16099069

wayyy after demo day edition




>#8/agdg/ via irc.rizon.net

>Dev resources: http://8agdg.wikidot.com/resources


>Wiki: http://8agdg.wikidot.com/

>Beginner's guide: >>>/agdg/29080

>Previous thread: >>16045638



>Please contribute to the wiki if you can

16bcc7  No.16099078

File: a784b3f0dafa189⋯.mp4 (5.85 MB, 800x600, 4:3, 2019-02-09 17-19-46.mp4)

i hate writing UI. serialization might have been a bore, but at least there was a visible structure to the code there, everything with the UI is an absolute spaghetti mess because shit's retarded

9ae022  No.16099091

>working for worst jew

>instead of working on your dream game

involuntary NPCing is a really bad fate

0e7933  No.16099105

You forgot to change February 2nd to May 5th you baka!

16bcc7  No.16099109

File: d76b353ad0728e7⋯.jpg (87.47 KB, 1280x720, 16:9, d76b353ad0728e733b36eb53d0….jpg)


not my fault the wiki is outdated

5e6a3e  No.16099114

>Default Unity behavior doesn't let objects go up slopes

>So my capsule test character will instead clip into it and be repelled after a certain point

Why would you make a game engine like this?

7994b9  No.16099125


Happy now?

d7125a  No.16099131


Updated the wiki


Nothing changed?

246c9b  No.16099132


Just report the post and tell the mods to do it.

eaddc7  No.16099248

Hey check this library guys:


I was looking for something ultra compact with basic functionalities to make a raycast engine and I found this. However, if you check the source code, it seems that it's just some kind of SDL wrapper. Should I use it or should I just use SDL?

9bae6c  No.16099483


Doubt doing it yourself would give much benefit over using what you posted. For a raycasting engine you'd just make two images using this to use as framebuffers and set the pixels' values manually, then draw them to the screen alternating between the two images. I doubt you could get much more performance out of writing that minimal use of SDL's functionality yourself. And at least you wouldn't have to spend time on audio playback and input handling.

58c18c  No.16099778

File: 4ea997e2eb1eac5⋯.webm (293.58 KB, 1024x600, 128:75, MagazineInsertRemove.webm)

I appreciate the feedback on animation in the Demo Day thread. This is surprisingly satisfying.

da9f76  No.16099821

File: 25f8b144784a36c⋯.png (197.59 KB, 664x1050, 332:525, Statue_of_vidya.png)

Are you gonna make a port to the Soujiaboy?

bf760e  No.16099827


Its dont.

f28bdc  No.16099840


fuck off already

72ca9e  No.16099970

File: 88d130913bb958d⋯.png (127.77 KB, 720x510, 24:17, HTB1rBJsKr1YBuNjSszh763UsF….png)

File: 07bc57c7f6ba375⋯.png (18.82 KB, 739x494, 739:494, HTB1zjaodi6guuRkSmLy763ulF….png)



If you look at the specs, they are totally useless for telling you what you can expect from the platform. It doesn't even say what CPU it has, etc..

If you want to take the time, email the manufacturer and ask for the SDK and the real specifications of this console. Only then could anything be done.

e4a85a  No.16100006

File: fae350f196c869f⋯.png (291.75 KB, 404x593, 404:593, 200mad.png)

Does anyone have experience with the command pattern? I must have rewritten my turn-based combat system a hundred times by now. Unity, C#, and Odin Serializer are the relevant tools here. I have some particular criteria I have to get right for this to work, but it's been awful trying to design something that will keep together and be practical to work with;

>Conditions need to insert commands into the payload, but also need to record responses to it. I have a possible model I'm trying to think of below.

>Commands have to be serializable to a file (for replays) or for network transfer (for multiplayer playback). This is just done by referencing things in battle or database by identifiers, so no references to fixed or un-serializable data is included.

>For replays, commands need an easy way to store what variables it's changing from what it used to be to what it is now. The intent is to make it so if a replay is from an older version, it can still replicate the original data, because it's stored into each command.

>Commands have to be caught by the view of the game with an event carrying the current command as an argument, so it can play back animations, show messages, and wait for user input. There's a bunch of ways this can be done, but I need to figure out what commands should carry so that all this is possible without getting too spaghetti.

The way I am currently thinking of doing is to make it so skills create a list of commands, and then conditions are scanned when the user casts it, and the target takes it. Conditions that change a skill's commands goes under an "alter" phase where it runs OnUserCast(blah) or OnTargetReceive(blah) respectively and get a list of commands back that change skill commands (remember, we have to record all this so the engine can parse and replay from a file). For an example of this, you have a condition that increases the power of physical attacks by 2. The alter phase reads the skill commands and checks if any do damage and are physical attacks. If so, that condition is set to record the previous value and set it to the new value (value+2). Replacing commands is also a thing, like if a damage command should be replaced with healing or such. Not sure how I could make a command that does that and still be serializable.

Once Alter phase is done, the skill's command list runs, changing things on the user and/or target depending on its behaviour set.

After that, conditions are scanned a second time in a Reaction phase. This phase just reads skill commands and instead of altering them, inserts more commands to execute after the skill (these do not get further reacted upon, to prevent infinite loops). So if you receive a physical attack hit, you gain a condition that raises your own strength stat by 1, for example.

I still have no idea how I can do all this while also having the UI receive commands and display data accordingly. Pokemon as of Black/White a good example of presentation I'm doing. Conditions show on-screen like abilities in those games do when those proc, animations play, text displays and waits for user input, done. Replays just omit calculating commands in favor of just reading them, so UI receiving command events is probably the best route with that so it's clear and agnostic of how that data is getting in.

I can afford to use Reflections and dynamic type checking since turn based stuff doesn't really need high performance, especially in prototype phase. Been trying to figure this shit out for weeks and it's not trivial, so hoping other anons might have a clear idea of what can help in this situation.

169833  No.16100011


Well, if I make a good enough game then it'll be ported to the Souljaboy without my involvement. And since it is my goal to make a good game, I assume that means yes?

169833  No.16100159


You're making one hell of a pasta.

I think I've played your demo some demo days ago. It was the pokemon game with autistic levels of elemental mechanics, right?

One of the things you have to understand&accept is that you cannot produce clean gameplay code. Ever. It is always a disgusting pile of pasta. This is true of every game with some level of complexity.

You may believe you can produce an elegant solution. But that elegant solution is so many layers of abstraction down, the end result is so hard to maintain and so fucking inflexible, it really is not worth the effort.

>Commands have to be serializable to a file (for replays) or for network transfer (for multiplayer playback). This is just done by referencing things in battle or database by identifiers, so no references to fixed or un-serializable data is included.

Just give every object an unique integer ID. Don't worry about anything in terms of cost, you have a turn based game, iterating over all objects to determine what ID is unused is perfectly acceptable.

>For replays, commands need an easy way to store what variables it's changing from what it used to be to what it is now. The intent is to make it so if a replay is from an older version, it can still replicate the original data, because it's stored into each command.

If you want such a replay functionality, then store a gamestate at the start and a diff every tick/turn/command/phase. It's effectively the same, but it unhooks the entire command logic from your replay system.

Since you require serialization for replays & multiplayer, this should not be hard to implement.

If you have to do it this way, then you should abstractize all data into generalized data objects that can be addressed by a name. (For example, instead of float hp, float mp, int ammo, etc., make a table of "stat" objects, where the key/name is the ID of the variable. You can make these stat objects abstract and internally implement different behaviors as necessary.)

Whatever you do, I am very sure of one thing:

You will need a specialized solution for your game. Without a thorough explanation of how your game is supposed to work, any "solution" that people suggest here will be garbage.

709a45  No.16100189

File: 1823069d242068c⋯.jpg (98.99 KB, 750x774, 125:129, dog snow.jpg)

When using sprites in Unity, is there a possibility to have 1 animator work for different sprite sheets, so to speak?

Currently it seems like I'd have to make separate animators for each character and each possible state that requires different sprite sheet and fill in the animation states with different animations clips. I refuse to believe the Unity is this retarded that this is the only option. Do I modify the animator through script and fill in the states with different animation clips based on the character "model" I want or what?

16bcc7  No.16100214


there's override animator controllers

709a45  No.16100232

File: a8d15a5432841e3⋯.jpg (16.24 KB, 326x326, 1:1, nice very.jpg)



a8a035  No.16100240


Don't bloat the Commands to do multiple things like moving and attacking unless the attack moves you, just chain multiple commands. Be wary of removing commands unless it's like an undo button, the great thing about the command system is you can do undo and redos.

f206b8  No.16100257


>The intent is to make it so if a replay is from an older version, it can still replicate the original data, because it's stored into each command.

Just store the game version number in the replay and have an option to convert a replay of an outdated game version.

e4a85a  No.16100268


>You're making one hell of a pasta.

Soory. I am not too good with articulating my stuff and have a hard time being sure what's relevant to ask and what's too much info.

>I think I've played your demo some demo days ago. It was the pokemon game with autistic levels of elemental mechanics, right?

I didn't release a demo last Demo Day. It does have autistic element management, but it's more on health than anything else. I should do a revised doc of the general concept sometime.

>Just give every object an unique integer ID. Don't worry about anything in terms of cost, you have a turn based game, iterating over all objects to determine what ID is unused is perfectly acceptable.

Yeah. This is what I do in regards to accessing readonly data like species or skills. That, or ids for things like party and character ids in combat.

>If you want such a replay functionality, then store a gamestate at the start and a diff every tick/turn/command/phase. It's effectively the same, but it unhooks the entire command logic from your replay system.

It might be a bit much to store absolutely everything of the gamestate, but it would be fast. But…

>If you have to do it this way, then you should abstractize all data into generalized data objects that can be addressed by a name. (For example, instead of float hp, float mp, int ammo, etc., make a table of "stat" objects, where the key/name is the ID of the variable. You can make these stat objects abstract and internally implement different behaviors as necessary.)

… if I do this right, I can maybe get it to store values changed when log's being created into a "relevant changed data" piece and do that, without having to record the entire battle's state before every event. It might be tricky because some things like conditions get complex, as there are many and can have stacks and turns remaining in there, meaning I'd have to figure out the right naming for this stuff to work out, or some way to reference them.

>You will need a specialized solution for your game. Without a thorough explanation of how your game is supposed to work, any "solution" that people suggest here will be garbage.

I suppose you're right. The reason I'm building this from the ground up is because it's so unusual. I mostly asked about commands and spoke roughly was since I was trying to gauge what could be done without getting too gritty.


>Don't bloat the Commands to do multiple things like moving and attacking unless the attack moves you, just chain multiple commands.

Yeah. I intended to keep simple with stuff like "Damage" "Infuse" "Apply Condition" etc. Maybe conditions how I was doing them can be cut down a bit, since I had stuff like ChangeCondition which should probably be split between stuff like "AddCondiStack", "RemoveCondiStack", etc. Thanks for the reminder.


>I refuse to believe the Unity is this retarded that this is the only option.

For 2D and animations being just sequences of sprite images, yeah I think it is. Sprite animations are basically references to images. I dunno if there's a way to just point at a sheet and say "animation is this sheet at cell 5, 6, 7, and 8". I think overrides still require making the animation sequences itself, but you can reuse the state machine's logic.

e96160  No.16100287


>is there a possibility to have 1 animator work for different sprite sheets

I think you can have the sprite sheet be part of the animation, so the animation swaps to the correct sheet automatically

I have little to no experience with Unity 2D

bf760e  No.16100354

File: 02eb51e069b7bca⋯.jpg (46.6 KB, 640x480, 4:3, 02eb51e069b7bca80e17fa23d0….jpg)


>CIA nigger trying to start another programming language war

f206b8  No.16100397


>C-uckolds and enuix


e96160  No.16100457


I think he mean people who use C and Unix, where C get compared to cucks and Unix users to Eunuch

72ca9e  No.16100591

File: 9e06a3a62d2be11⋯.jpg (44.17 KB, 565x489, 565:489, 114.jpg)


So what OS are you writing your games for? I use C and Windows because I don't like UNIX either, but I did write a port to UNIX. I don't see a point in using functional languages because it is way too alienated from the hardware... and you have too talk to the interfaces to the OS anyway, which are all written in C. There isn't much of a point of it too me.

6d7cb5  No.16101817


Are you using interpolation in Godot or is it baked in Blender?

58c18c  No.16101862


I'm using interpolation in Godot.

72ca9e  No.16103133

File: e919efd03245d7c⋯.png (12.46 KB, 646x505, 646:505, sigma2_2019-02-10_03-35-13.png)

MAJOR breakthrough… it managed to render a frame without the validation layer complaining! it doesn't display anything but it's a start… this is my rewrite of the Vulkan renderer, soon it will be working correctly. It's supposed to be displaying some text, which it doesn't display, but I can fix that soon.

169833  No.16103145


So what language and tools are you using?


Grats mane

58c18c  No.16103160

File: 03e3340b5d54443⋯.jpg (71.43 KB, 464x523, 464:523, 1446267975695.jpg)

16bcc7  No.16103443

File: 59a5e9c8bf70ad4⋯.mp4 (3.74 MB, 800x600, 4:3, 2019-02-10 11-45-12.mp4)

it still feels retarted somehow

709a45  No.16103718


Does it have to be a list? Standard RPG equipment menu would be better.

7e9615  No.16103955

What happened to that guy making that fantasy souls-looking RPG?

709a45  No.16104162


He got a job.

7e9615  No.16104204


In gamedev, or is he just busy now?

709a45  No.16104294


I think so. Some coding related position.

16bcc7  No.16104722


i didn't want to make my life any harder, this was the easiest option

9bae6c  No.16104829


His current design lends itself pretty well to making really weird bodies with 8 spider legs and 10 arms plus 5 heads with missile launchers, so having sorted lists might be better than having to dynamically try to create a 2D representation of the body to equip stuff to.

Of course it's up to him to decide if he wants to go in that direction or not, but I know I would.

16bcc7  No.16105155

File: d586345bbf24972⋯.mp4 (5.63 MB, 1364x768, 341:192, 2019-02-10 21-43-37.mp4)

mild improvements/bugfixes

mainly that the bodypart prefabs are not nested, caused more confusion than i'd like

7e9615  No.16106390

So where are the thread archives post 10/18? Wiki only lists until spooky edition.

a41d3f  No.16106409

I haven't devved in a month.

6abd23  No.16106579


May of last year for me. I can feel my spirit withering. I'm beginning to think it's a mistake to program as a job, unless you're your own boss, or you need money immediately and can get a short term, high-paying gig.

bf760e  No.16107706

File: 6ff3595aa44a45d⋯.png (15.08 KB, 225x237, 75:79, 6ff3595aa44a45dc00b8eb5994….png)


>tfw I have to learn the basics of C++ and much more math and physic before I can do engine related shitpost on this threda

72ca9e  No.16107754

File: cfd9401905e06c3⋯.jpg (13.45 KB, 366x321, 122:107, 1401656900799.jpg)


>he's writing his engine in C++

>he thinks engine dev needs competence

Just start writing code and stop worrying about it. Learn by doing.

2be92f  No.16107761

File: 69738e14f3ecca1⋯.png (97.78 KB, 800x800, 1:1, mainmenuconcept.png)


I haven't devved since Spring Demo Day last year.

086ed7  No.16107765


It's been 3 months since I last wrote any code. Figuring out how all my old shit works is going to suck since I've basically forgot everything.

a8a035  No.16107769


>still have no clue how makefiles work

bf760e  No.16107777


>he's writing his engine in C++

Ideafagging counts as writing an engine now? Because that's how far it is now. I am more familiar with Bydon and I fucked up my post a bit I meant that I am actually fucking around with plain C before moving on to C++ just out of curiosity sake.

653c78  No.16107785

File: 1a80721d0abe78e⋯.jpg (32.99 KB, 583x439, 583:439, 1a80721d0abe78e658b7faa204….jpg)


>Ideafagging counts as writing an engine now?

Those quads sure count for something though

169833  No.16107793


If you have cool engine feature ideas, post them so I can steal them.

f8e1c4  No.16107796

File: a6092a562df0902⋯.jpg (24.5 KB, 330x307, 330:307, a6092a562df0902adae0b75597….jpg)


I tried C, but I'm a retard so I guess I take the dropout option into being an IT guy. Excellent digits, they must be checked.

72ca9e  No.16107803

File: bcc1056e132a26b⋯.jpg (75.97 KB, 900x900, 1:1, moonman.jpg)


Just start working on it. That's the really important part. Accept that you're going to rewrite just about every important part before it becomes any good. Just get something working going. What kind of ideas do you have? What do you want too do?

ecf1b0  No.16107908

File: 5f04c4e0dc5fcff⋯.png (192.87 KB, 600x521, 600:521, meanwhile_in_germany.png)


My job and engine are both C++. I spend everyday programming Sepples. It's mind numbing.

bf760e  No.16107924

File: 738c7791e0e94dd⋯.png (856.84 KB, 2271x2380, 2271:2380, c-cyka.png)

File: 03a8be6c245bad5⋯.png (2.27 MB, 2238x3454, 1119:1727, the_graf_community_1.png)

File: 03b696302f36175⋯.png (4.13 MB, 2685x2876, 2685:2876, the_graf_community_2.png)


>Just start working on it.

Right now a freaking 3D Engine engine where I barely know how the function, variable, and the for/while loops behave in plain C? Oh d*g you're killing me. Though I wonder if I should make some few 2D engines first as it would be a bit simpler.

>Accept that you're going to rewrite just about every important part before it becomes any good.

Yeah I am preparing myself mentally that I have to write a lot of prototypical engines before I can do some serious progress on it. Which at least serves as a good practice to get myself more familiarized.

>What kind of ideas do you have? What do you want too do?

Basically something like a mix between ZDoom for its ease of modding, Quack and Unreal 2.0+. Because I am getting sick of Graf constant fuck ups and his insane idea for a modern engine and its associated hardware requirement. Quack like because I just find it plain stupid trying to tackle on half arsed 3D features on a 2.5D map format that UDMF does, I don't know how other mappers feel about it, but for me personally I think its insane even having to use tags and a fake sector just to make another sector have a 3D floor. So and instead of breaking my heda all the years long because Graf just has to make another stupid post, I decided to become the change the world has yet too see, I don't care how long it will take to learn all of that stuff because I am not in for the profit but out of necessity need that other Engines doesn't fulfill this particular niches I am aiming for.


>I tried C, but I'm a retard so I guess I take the dropout option into being an IT guy

I have more troubles to make any sense from the Godot engine, every time I am trying to read the documentation it leaves me more question open than it answers and the layout is awfully confusing. Also it fucking pisses me off they starting another kikescam for some bullshit not related to documentation https://godotengine[]org/article/gdquest-kickstarter-stretch-goals-free-tutorials-godot-demos with these amount of money they could have a superb documentation that even a scrub can start using it right now but nope gotta waste those money on some bullshit instead.

So in short:

Proper 3D Engine and Map format (BSP and/or OCTree)

Native Tonk/Vehicle physic support Because I have tonk autism

Even better modding support than ZDoom does, so something like Advanced Decorate

If possible it should be runnable on a 2004-5 machines, the UT2k4 engine looks good enough for me and seeing it has already vehicle physic* that should be a good benchmark. Also I like the aesthetics of earlier BSP based gampes and the custom maps made with those technology, it looks so simplistic yet pleasant at the same time to look at.

Modular Code and DoD/ECS coding style

Those few points are my main motives to make my own engine.

More elaborate:


72ca9e  No.16108315

File: df05f182380bf5d⋯.png (333.52 KB, 386x383, 386:383, tad.png)


Are you the guy who was working on that tank game in GZDoom a while ago? All while having a lot of issues with Graf and his bullshit?

I can honestly say that, I made an attempt at writing an engine while still not knowing how too confidently use functions, it had a lot of copy pastes and it was based on an OpenGL "Hello Triangle" code sample that I didn't even understand very well, I made pong and combat with no variable timesteps, so it was not viable to play ever… But, that's not really something that is even a good idea too do. You could try using this site to help learn C, it has some interesting challenges and when you finish, you should be more confident about programming with it, first of all… https://adventofcode.com/2018/day/1 I don't like how they use spyware for their authentication, but, it might be useful for you too try it out. If you can solve these problems, you can start writing a game engine, for sure…

Your engine's goals kind of look like goals I have for my current engine in that you want to work on a full-3D, BSP engine, too, all I can say is, good luck, if you want you can email me about it at ika4994@gmail.com and talk about programming over some instant messenger program

I have some ideafagging that I do about game engines myself, they mostly concern with how I can seamlessly embed BSP-PVS maps into a large voxel terrain using the SVO-polygon hybrid rendering for terrain, and BSP-PVS for buildings and interiors. But that's a whole other thing… If I make an engine after this one, that's what i'm going to be doing.

5db0f8  No.16108354


>Map format (BSP and/or OCTree)

Don't do BSP.

It's a curse, a relic of past times.

Building proper BSP Trees is a god damn art and they fail if you start doing anything outside of what the structure expects.

It may work for enclosed spaces, but beyond that it's a pain. Even leagcy hardware handles an octree for space partitioning.

33e304  No.16108357


>how makefiles work

They don't. That's why GNU made autotools. It grew into meta-metaprogramming to solve some problem that noone knows anymore.

I guess the original idea of "make" was to track which file changed and recompile only the needed parts. The makefile has info which connects source files to compiler generated files, and basically shellscript snippets to generate those files. This was probably good enough in the beginning of Unix + C, then things grew more complex. Now most makefiles are generated by some build-system tool. The Wikipedia "makefile" article has a cute little example, which does not resemble the makefiles of various popular FOSS projects.

I ignored makefiles and made simple shellscripts for the few small projects where I used GCC. If I ever need something more complex, I will try to learn CMake before GNU autotools. Or maybe I will be taken by a fey mood and make some half-finished custom build-system.

bf760e  No.16108364

File: 6810c135b8acce2⋯.jpg (84.49 KB, 790x398, 395:199, 1445282400942.jpg)


>Are you the guy who was working on that tank game in GZDoom a while ago? All while having a lot of issues with Graf and his bullshit?

Yeah I'm that guy, despite I always could run GZDoom without almost any trouble but seeing that he cares more about hardware requirement then a well oiled Engine I figured it would make it a bad long term investment which would be the case if I decided to fuck around with ZScript/ACS more. Because only the devil would know what next fuck up he is going to do, oh it already happened where his 3.7.x version has worse performance on my machine than 3.5.0, like around 20-30 less on Joy of Maps 4 intro map.As well the former developer of my Spring RTS project, I abandoned it long time ago because the performance and the pathfinding system is totally fucked up compared to the Swedish Yankspankers era.

> first of all… https://adventofcode.com/2018/day/1 I don't like how they use spyware for their authentication, but, it might be useful for you too try it out. If you can solve these problems, you can start writing a game engine, for sure…

Hmmm, I guess I will check it out later then, I have downloaded quite a few PDF's related to C/C++ which I want to chew it through slowly first before I look up on some websites for more. I went through few pages of the ANSI book already but for some reason the example with the char counting: "while ((c = getchar()) != EOF)" just doesn't work at all on my GCC/Clang compile, I must have spend at least 2-3 days with no success figuring out why the fuck it is not working at all. The warning message doesn't look helpful and it confuses me that it complains it is not ANSI compliant despite those examples are from the very same book. But yeah once I am done going through a few books and as you said then I can move slowly over the game engine side of things and hoping I will be able to do much more progress then I would be able to do with Godot. So right now I switched to another PDF the Introduction to C programming, practical guide for beginners (Einführung in C, Praktisches Lern- und Arbeitsbuch für Programmieranfänger - Doina Logofatu). Despite the odd code structure the examples are working fine with GCC/Clang.

>in that you want to work on a full-3D, BSP engine, too, all I can say is, good luck, if you want you can

>talk about programming over some instant messenger program

Thanks, I have pidgin/XMPP installed: SchlomoStein[AT]alpha-labs.net as well lurking on the /agdg/ IRC room.


So it is better to use the OCTree format that Cube 2 uses? Well fine by me because the map aesthetic is on par with BSP too. Is there somewhere I can read more about it why it is bad idea?

5db0f8  No.16108369


>why it is a bad idea

I recall an article on listing what you have to do to break BSPs, and how you quickly reach that limit, but can't find it.

Here a Stack overflow answer which sums it up, but no source either.


bf760e  No.16108382


>BSP-Trees are a special case really. They work very very well in 2D and 3D, but generating good BSP-Trees is an art form on its own.

So it is something only a medium-largeish dev team can afford writing such system? Hmm sounds plausible, yeah this stackoverflow page is quite sparse with the information, they don't even provide some sort of a comparison charts.

7a6365  No.16108627


>while ((c = getchar()) != EOF)" just doesn't work at all on my GCC/Clang compile

I vaguely remember having the same problem, and it turned out it didn't recognize EOF as End Of File, I had to use some Hex Code I dug up instead.

110398  No.16108795


1. Did you try using the corresponding movement function of the Rigidbody/CharacterController correctly?

2. Did you try moving the object in FixedUpdate instead of Update?

Incorrect use of these are the main reasons for clipping and/or delayed physics calculations.

For example Update framerate is higher than Physics calculation framerate, while FixedUpdate has the framerate frequency of the physics system.

Similarly, if you use a simple transform/translate then the gameobject will move to a position while ignoring obstacles ahead, whereas a "CharacterController.Move" function is moving the object while keeping obstacles in mind before moving.

72ca9e  No.16108827


The code you posted should work fine and i'm not sure why you had trouble, if you have a PDF that works then that's good, just, do some challenges, etc, with what you learned, and it should make sense, enough to start messing with the platform-specific API's that you need to do game development.




BSP has its limitations but its not unusable, there are projects besides mine on here that use BSP, but it's not easy either. you can get faster results with less problems doing something else. Something like what BUILD does?

bf760e  No.16108861


>The code you posted should work fine and i'm not sure why you had trouble

Well either the input gets stuck or the program doesn't respond at all when I use this c = getchar as it is, also it refuses to execute the printf(); expression when I added it inside the while() part. Luckily it doesn't seems to be related to the IDE I'm using (codelite) as even a plain gcc a.c a.o command produces the result, maybe its because I'm using Linux instead of Windows that does this odd thing.

Compiler output: https://pastebin.com/WGS0MHBR

The program: https://pastebin.com/gUGrywbz

>Something like what BUILD does?

I haven't look much how those BUILD engines map format is structure, I only know so far that it allows more advanced features then PRBoom/Vanilla Doom does.

af8193  No.16108920


I used BSPs initially for mine that I've not worked on for like a year now before swapping to something sector based like BUILD. Even then I only ended up using sectors for horizontal surface collisions and determining vertex colours for entities and surfaces in that sector and went with a spatial hash table for wall and entity collisions.

313ea3  No.16108959

File: 302ec8b3221f818⋯.jpg (136.96 KB, 600x453, 200:151, 1445007298732.jpg)


Literally just did char counting works on linux,Your problem is something else.

Upon looking at your code the reason it doesn't respond is that you are comparing to string literals instead of char ones,"" are strings(and thus arrays in C) while '' is a char.

And a quick swap&compile does confirm that fixing this lets your code work.

(Also you are using int instead of char for the variable c,which while technically the same type of data, does bypass whatever help the compiler could have given you.I don't remember if the book does it this way so I am just going to point it out)

ba16c5  No.16108988


To expand on what >>16108959 here is saying, you have to understand the types at play here. "\t" is a C string, so its type is char[]. When you compare against an array type, it decays to a pointer, so what you are doing is getting a character, storing it in C, and then comparing that character against a pointer. You are seeing if the integer value of the character is equal to the pointer address of "\t" in the binary, which is obviously not what you want to do. You have two options for these kinds of comparisons, you can either compare against a char literal, which will be the type you need (c == '\t'), or you can store your getchar result into a string and do a strncmp.

Pay attention to warnings, and always use -Wall -Wextra if it is available to you:

$ gcc -Wall -Wextra -ogetchar ./getchar.c
./getchar.c:4:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
./getchar.c: In function ‘main’:
./getchar.c:11:15: warning: comparison between pointer and integer
if (c == "\t")
./getchar.c:11:15: warning: comparison with string literal results in unspecified behavior [-Waddress]
./getchar.c:17:20: warning: comparison between pointer and integer
else if (c == "n")
./getchar.c:17:20: warning: comparison with string literal results in unspecified behavior [-Waddress]



> Also you are using int instead of char for the variable c

They're using C, not C++. C++ won't let you compare an int with a pointer. In C, character literals are of int type, not char:

$ cat ./chartype.c                         
#include <stdio.h>

int main(int argc, char **argv)
printf("%ld\n", sizeof('a'));
return 0;

$ gcc -ochartype ./chartype.c && ./chartype

$ g++ -ochartype ./chartype.c && ./chartype

169833  No.16109003


Read your fucking compiler warnings holy shit it's not giving you those for no reason. The other anon is answering your question but you should really listen to your compiler. They didn't put in those warnings just for fun.

72ca9e  No.16109030


This video might explain:


It should really be called "creating a BUILD style 3D game engine in C" because it's not related to doom's rendering method, it just looks "old", kind of. Its useful but I wish it talked more about these technical challenges, I could make a more interesting video… maybe.

Any way I messaged you on XMPP


Were you making this? : http://8agdg.wikidot.com/fps-arpg-hybrid

af8193  No.16109106


Yeah. I'm planning on picking it back up with a rewrite at some point. I re-wrote its editor in Nim and made a small puzzle game along with it a few demo days ago but I've been distracted with other commitments since.

bf760e  No.16109115

File: 831d18267b8a4e7⋯.png (252.07 KB, 868x900, 217:225, 11-02-19-1549913848_scrot.png)

File: 8cfda96e7b4445a⋯.png (34.19 KB, 551x300, 551:300, Oh Fug.png)


Ohh damn it, looks like this bad bydlon habit really caught me on this one. I'm too used to the fact that I always use the "" for print and other character related stuff because I find it a bit easier typing it that way instead of mixing it with "" and '' for different types of variables and such. Yeah I will pay more pay attention to this too so that I don't get it mixed again.

<so ' \n' stands for the value of the newline character, which is 10 in

ASCII. You should note carefully that' \n' is a single character, and in

expressions is Just an integer; on the other hand, "\n" is a string constant that

happens to contain only one character.

Oh man so I really should have paid more attention to this part, I guess its my fault for skimping to section 1.5.4 and not reading back to the previous part. Well at the very least I know it now, thanks again for pointing it out.

>Also you are using int instead of char for the variable c,which while technically the same type of data, does bypass whatever help the compiler could have given you

Well that's how this program got described on ANSI C section 1.5.3. Anyway I fixed this error now and had to add those brackets to make it work, without nothing works not even without my else if addition, despite the book omitted it.


I did got a few other programs still working fine despite those few warning errors that popped up so I thought I can be a bit lenient with that. I deserve all the bullying now tbh.

>>16108988 (checked)

>Pay attention to warnings, and always use -Wall -Wextra if it is available to you:

Alright I will make it as a default settings. Well the error message was confusing me because as I described before c is stored as a int and the author didn't mentioned why it gets stored as int instead of char *.


Those are my projects:





And I helped maintaining this one:


16bcc7  No.16109353

File: 443aab46eeaf209⋯.webm (12.63 MB, 800x600, 4:3, 2019-02-11 23-09-11.webm)

well the weapon prototype works

ba16c5  No.16109432


> Well the error message was confusing me because as I described before c is stored as a int and the author didn't mentioned why it gets stored as int instead of char *.

Two things.

If you're wondering about why a character is returned as an int instead of a char for a lot of C functions, it's mostly historical, I believe dating back to systems where an int and char were interchangeable types. A proper char type was added, but these calls (like getchar) weren't changed. A lot of this kind of nonsense is historical, rather than being related to logic (for instance, enums are accessible globally because that's also the way that structs were initially accessed, with all struct members being globally accessible, and being able to be accessed on structs of any type. For example, struct foo with member bar, when you access it as foo.bar, would originally do something like *((bartype*)&foo + bar), and the member itself was just an offset). If you're ever wondering why something confusing is done the way it is, you have probably a 50% chance of it being "because of history, and now we can't change it or we break a lot of existing programs."

If you're wondering why it doesn't return a char *, it's because it gets a character is an integer value, and a char * is a pointer that points to one of these 8-bit integer values (or an array of them) as a buffer of some sort. Returning a char * implies that you'd have to free it later, or that it's stored in static storage and will get overwritten later and you have to copy it out. If something is getting a single character by design (like getc and getchar), there's no reason to have it interact with any sort of buffer at all.

If you aren't intimately familiar with pointer semantics and implications, you really need to get your ass comfortable with them if you're working in C or C++.

> "\n" is a string constant that happens to contain only one character.

It contains two, technically. The newline, and the NUL character ending point (not a typo, NUL is used to refer to an ASCII 0-valued character, while NULL refers to a 0-valued pointer). You need to always remember where your null terminators are and keep them in mind, or you're likely to run into issues where you're reading garbage or overrunning your buffer and zeroing some neighboring variables (where a segfault would be a best-case scenario, and it's just as likely to just behave wrongly in confusing ways).

bf760e  No.16109475


> If you're ever wondering why something confusing is done the way it is, you have probably a 50% chance of it being "because of history, and now we can't change it or we break a lot of existing programs."

hmm it makes me wonder, wouldn't it then make more sense switching to a newer language that doesn't contain those historical baggage? I still have the chance to do that because I haven't made any noteworthy progress yet. Though if I would choose one now I honestly don't know which would it be, I don't know how much /tech/ meme holds water when it comes to Rust. I did looked a bit over Golang how it is but according to that one guy which I have yet to find it again he mentioned that there is a certain enforced coding style for it which limits its "sandboxy" nature so to say like C has with its bracket style for example.

>If you're wondering why it doesn't return a char *, it's because it gets a character is an integer value, and a char * is a pointer that points to one of these 8-bit integer values (or an array of them) as a buffer of some sort.

So should I then use all input related context as char * only instead of int?

b951b6  No.16109501

File: 13162a29a381906⋯.png (68.39 KB, 768x672, 8:7, floor seams.png)

File: c874cadf1f247e7⋯.png (64.91 KB, 768x672, 8:7, visible seam.png)

File: 9ca76956897eea6⋯.jpg (18.92 KB, 248x248, 1:1, 9ca76956897eea6662977d3839….jpg)

Why is godot drawing visible seams between tiles? Am I just a retard that misconfigured something?

6644f6  No.16109507

File: 27fa313e07cf229⋯.mp4 (6.41 MB, 640x360, 16:9, Old RuneScape Soundtrack -….mp4)

Where would a beginner start learning about composing original music for video games. Is music theory necessary/helpful? What about learning about thematic music; what makes ice world music sound icy? or medieval music sounds medieval? for instance.

169833  No.16109514


Not just that, the colors in general look different.

I think you might be suffering from some texture filtering/coordinates/bleed issues.

ba16c5  No.16109528

File: 4a5fabb4b1a1f7f⋯.png (110.26 KB, 1113x730, 1113:730, 2019-02-11T15_05_13.png)

File: 07ebe5ca4ee0a9b⋯.png (130.31 KB, 1149x770, 1149:770, 2019-02-11T15_05_29.png)


Did you turn off all filtering on those images? There are two layers of filtering that happen, and you have to make sure filtering is disabled for files as they're imported. You can disable it after you load it, but you have to go to the file specific settings, or change the import settings in a text editor. I've seen those kind of issues caused by that.

For instance, here is a tilemap scene I have. I click on the sprite in question, I click on the "texture" in the bottom right, and make sure all filtering flags are off in the inspector. You might have to do this for each individual texture, so if you can do it in batch (some sed and scripting knowledge [or vim macro knowledge] can help a lot here), it's usually better to.

b951b6  No.16109586

File: ac637e19cd9d50f⋯.webm (577.39 KB, 820x720, 41:36, movement test.webm)


Aha! That was exactly it. I knew there had to be something somewhere that was causing it. Thanks.

ba16c5  No.16109619


It might, but really, a lot of this history is important to learn. I still hold that C is a great place to start if you want to be a systems-level programmer, even if you never end up using it in the future.

> I don't know how much /tech/ meme holds water when it comes to Rust

It doesn't. Rust is a really good language with a really good design, but it's a fucking insane language to start with. Rust is so heavy-handed about ownership, typing, and higher-level programming concepts that you have to be a very seasoned programmer to get started with it. If you don't know whether you should be using Rust or not, the answer is probably "no".

Go is alright, and a good beginner's language. It's a pain in the ass to do a lot of advanced things, due to it's annoying type discipline, shitty error-handling, and lack of generics, but it's a simple language with an easy entry, if you can stand a garbage collector and having no control over memory.

> So should I then use all input related context as char * only instead of int?

No. You should use a char * when you are working with strings or need to use indirection to work with a pointer to a character, and int or char when you are working with characters, regardless of the context.

db5572  No.16109669

i want to do some small games just for coding exercising, is there an engine that could help me whit that whitout having to make an engine from a scratch?

e9100a  No.16109690


The three engines that come to mind are Unity, Godot & Unreal. Unity would be best for that, since Unreal is a bit of an overkill for small games and you'd have to use Blueprints Visual Scripting (or Unreal's quite large C++ API) and Godot forces you to use their own stupid language that you won't use anywhere else. (I know you can use other languages, but last time I checked, it was a bit of a pain).

Unity gives you a nice enough C# API.

ba16c5  No.16109711


If you want something simpler and lighter than what >>16109690 is recommending and know (or are willing to learn) Lua, LÖVE is a great simple Lua game engine: https://love2d.org/

That Mari0 game is made in LÖVE.

58c18c  No.16109729


Godot is great for small games. It uses GDScript which is basically Python. C# support is minimal and I would recommend against going into Godot with the idea that you're going to use C#. The engine is written in C++, which means you can program that way if you really want to but writing C++ code for godot is more if you want to modify the engine or add some feature that requires more performance than what is offered by a python ripoff.

It lacks many features that you see in more modern engines because it is relatively new compared to the big players. Want the engine to generate a navigation mesh for AI in 3D? Sorry, not until 3.2.

Unity has a very active community and can work well for small games. It uses C# which is strongly typed and is one of the best languages for developing on windows. It's been around for a very long time and so has a ton of features and a lot of tutorials, plugins, code snippets, etc.

Why not make one small game in each and decide which you like more?

b98713  No.16109760


If it's just for the learning experience you'd probably learn more making your games from scratch. You don't need an "engine" to implement Space Invaders or Pac Man, you just need a way to put pictures on the screen.

b951b6  No.16109875

File: cd61b3abe56226a⋯.jpg (41.66 KB, 400x330, 40:33, cd61b3abe56226a8ef6b98d30f….jpg)


>i no longer need to impliment my crappy hackaround to avoid godot's attempts at subpixel graphic positions and can still easily have subpixel positioning

Sweet, thanks.

Going from making roms and hacks in assembly to an actual engine is one hell of a change in methodology, holy fuck. I almost wrote a tile update and scrolling script with a fake positioning workaround because I didn't know about camera2d.

ecf1b0  No.16110579

My game is too niche to be enjoyed by anyone but me. I want to see people play and enjoy it but that's a pipe dream. It's too hard for anyone except dedicated players. I could casualize it to make it more appealing but I don't want the game to be that way.

da77d7  No.16110595


post a demo, queerboy

f04411  No.16110622


kojima, go home your drunk!

ecf1b0  No.16110738


I'm not yet satisfied enough to post a demo. I'll probably have one ready by the next demo day. I want to improve the stages and art. The game is mute now so I need to come up with sound effects.

01c5b0  No.16111194

File: 593219e9aec3b7b⋯.gif (4.26 MB, 500x500, 1:1, react_in_game.gif)

File: 5c9081d3be68073⋯.gif (3.79 MB, 500x500, 1:1, react_in_game2.gif)

File: e185f4f9c3e0bc9⋯.gif (2.96 MB, 500x500, 1:1, react_finished.gif)

More Shinobu autism.

2d0e6a  No.16112090

File: 32d309bd0662443⋯.png (205.6 KB, 2560x1440, 16:9, momo4.png)

This question applies more to 2D games I think, but do you think there's an ideal aspect ratio for certain games? The sidescroller I'm almost done with works well enough in 16:9, but I think a top-down (3/4 perspective) game using the same ratio would look a little too wide. Pretty much everyone has a 16:9 monitor, though (including myself), so I don't see myself forcing something more narrow on players.

Anyone played Momodora 4? That was a relatively recent game done in 4:3 and I thought it looked fine.

8bf72c  No.16112099


I don't understand this obsession with finding the "one true way" for everything.

There's no one size fits all solutions to literally anything besides math.

a41d3f  No.16112119


Everything is just applied math.

7e9615  No.16112283


It's dangerous to be too autistic about specifics. Programming is engineering and limits itself to practical applications. It's not practical to obsess on the way to do things when one thought out solution works already.


>Everything is just applied math.

The "best" aspect ratio for a 2D platformer isn't applied math. If you want an objective answer, the ideal screen covers the entirety of your vision.

9f35c4  No.16112482

File: 199faf5de335ecf⋯.gif (3.25 MB, 320x240, 4:3, y1WIJ46emH.gif)

Experimented with gridmaps to test frame rate, player can interact but has nothing to interact with yet, terminal has two scroll speeds now (you hold Run to activate), GUI is now all tilemaps, camera triggers and position waypoints working. Next is getting the door open and animating multiple sprites.

bf760e  No.16112513


I'm jelly of your Godot progress tbh.

53664f  No.16112522

File: ebbdcf02fffbcf2⋯.gif (64.32 KB, 226x260, 113:130, ManUsingComputer_XL.gif)

These kinds of questions perhaps gets asked a lot on these threads, but what's a good language for making a grid based JRPG like Lunar? Should i backpedal on learning python?

And also what should i learn about developing games with drawn 2D graphics on an older machine, and optimizing them to run there?

1e1c55  No.16112721

I’m thinking of taking a class at a technical school to learn how to program. Any suggestions for what a beginner should learn? C? C++?

16bcc7  No.16112727

File: 168da727cd03a1e⋯.mp4 (13.03 MB, 800x600, 4:3, 2019-02-12 20-52-29.mp4)

fd7c3b  No.16112753

I'm seriously considering making the switch from C++ to zig.

I'm never going to make a fucking game.

ecf1b0  No.16112910


My game is going to be 4:3 because it's what I'm used to. Almost every game I play uses that aspect ratio. 4:3 is the native aspect ratio for CRTs. Math is simpler with 4:3.


Have you considered RPG Maker?


Learn all the languages that pique your interest. Check out the wiki.


Never heard of that. I'll check it out.

b37681  No.16112916


If you don't want to make everything from scratch or use libraries, you could combine learning python if you use Godot since GDscript is similar. I'd recommend 2.1 if you want to support older hardware since 3.0+ runs like shit on toasters and you'll have to learn about using sprite atlases.

16bcc7  No.16112959

File: 2c01fe62e96bcc9⋯.mp4 (6.24 MB, 800x600, 4:3, 2019-02-12 22-00-22.mp4)


well the override masks obviously didn't work out as well as i had hoped

rip, i have to do IK in the future

e11d31  No.16113736


Never mind.

>Try zig out

>Try to use comptime_int

>Compiler spits out error and a link to a github page with an issue on it

58c18c  No.16113775

File: 28478439f029127⋯.png (99.36 KB, 180x216, 5:6, Arin.png)


>Link to a guthub page in a compiler error

What the fuck?

e11d31  No.16113799


error: compiler bug: integer and float literals in var args function must be casted. https://github.com/ziglang/zig/issues/557

58c18c  No.16113909


That's bizarre.

eaddc7  No.16113925

Late night where I live, I'm posting it before I go to sleep idea:

A website like github mixed with an imageboard that is centered around recruiting like minded C/C++/ASM programmers, 3D/2D artists and musicians to remake old games we'd like to replay. Invite only obviously and no talking about "the secret club", you would only be able to come out once your remake is fully done. I know people are bound to disagree on some things and that since it would be a small community it might be bad but there has to be a way to make it work. Am I too ambitious?

97e02f  No.16113934


Hey is there any way for me to follow your game? Like any social media page to follow so I can get updates on it? I love old school isometric stuff like this.

58c18c  No.16114198


That's perfectly achievable on a technical level. You'd want to find a hosting service with ample storage in addition to firmly requiring git LFS from the people using your service. You'll need very firm rules about opsec and clear punishments for breaking them established well in advance, as well as what you plan to do if things go tit's up so that people aren't surprised by the post "we're being investigated by the FBI" being followed by a sitewide purge and locking the sight for 3 months.

Small, tight-nit communities are good, not bad. They tend to police themselves somewhat.

To handle the Invite Only policy, you could have it where the project lead for each project can invite someone, then a trusted site wide admin does vetting on the invite.

To enforce the Invite Only policy, bans, and git remotes, you'll want to have accounts. Doesn't mean the image-board can't still work like an image board.

The biggest problem I foresee is people will want to get into the secret club just to be a part of the secret club or just to see what it's like, and people will want to talk about it as a form of social signaling. "Look at me, I'm in the secret club! Give me attention!" and the such-like. People will also want to get in just to leak information. Or someone may get frustrated that they were banned for posting all about their project on twitter, so they leak even more information.

Biggest problem I see is the fact that this is probably illegal. How are you going to deal with the police if they knock on your door? If it's anything other than comply you're playing a dangerous game.

9a237b  No.16114276


I haven't posted progress or made progress in more than a year.

8bf72c  No.16114686

File: a42b028a36c7f2e⋯.png (61.52 KB, 293x397, 293:397, u5zan23c.png)


>a way to find people

>but make it a secret club with incredibly high barrier of entry

3e5e04  No.16114834

File: defd30e1ddfa194⋯.png (272.83 KB, 560x700, 4:5, mio.png)


Sounds like fine idea to me.


Doesn't the FBI have better things to do than go after game developers? I highly doubt police are going to knock on your door because you made a video game clone..

17537e  No.16114861


They don't send police until you miss a court date. They send lawyers first and lawyers only know how to operate a pen.

3cc39d  No.16115006

File: 2beeb61cb84e49d⋯.jpg (517.67 KB, 2048x1152, 16:9, 20190102_025011.jpg)

File: 862c52b11966873⋯.jpg (534.34 KB, 2048x1152, 16:9, 20190106_174606.jpg)


Not sure if I shared this already. Didn't dev today because I was thinking of how to get the door working in a cheap way, but in the meantime here are some free hand sprites I was practicing.

58c18c  No.16115019


Plan for the worst hope for the best. Realistically I see this thing slipping under the radar if managed well.


I was thinking more http://www.sjgames.com/SS/ but now they actually find something illegal that they can shut down. Like I said this is the worst case. I don't see this as probable.

On a positive note, the site owner will probably qualify for Section 230 protections, so he won't go to prison regardless.

169833  No.16115201


>coding in languages that aren't even a decade old and don't have significant commercial use

Why did you expect anything but a broken pile of shit?


Varargs are a very fucky subject though. Even in C it behaves oddly, promoting types (float to double, char/short to int) without you having any say in it.


If you want to remake old games, then just remake it open source and make it require the original game. This has happened with a whole bunch of products already. (e.g. OpenRCT) From a legal standpoint, you're not really infringing on anything if you do that.

Of course since corporations want to milk that sweet retro HD rererelease money, you might get shit anyway. The solution to that is to not draw attention and stay relatively anonymous. Ideally host your website/repository in a jurisdiction that doesn't give a shit about copyright.

If you want to be invisible entirely to the public eye and make it a gated community only, then the actual specifics don't matter at all. The hard part then is actually getting people to come on board with your projects. Using an imageboard-style forum in this would be a poor choice though. The community is gated and as such there is great interest in people knowing and understanding each-other. Even if you enforce anonymity, people will get to know each-other due to the community being too small, so you might as well reap the benefits. Strict rules would need to be put in place to avoid it from derailing into a socializing/dicksucking environment.

That all said rather than making it one forum for everything, you're better off just using a public forum (e.g. 8ch/agdg/?) to recruit individuals and have each group set up their own project. That way, there is no single website to target.

eaddc7  No.16115607


>Biggest problem I see is the fact that this is probably illegal. How are you going to deal with the police if they knock on your door?

People who make fan remakes tend to only get DMCA'd and then nothing. I'll probably receive the DMCA of a lifetime by multiple companies and be forced to shut down. As for the secret club part I was thinking about recruiting people that I know can shut up about it, we'd adopt a fake team name for when we release and adopt another one for the next game that way, once an e-identity is burned, we can still be active under another name.


I was thinking about remaking Final Fantasy Crystal Chronicles, not an HD remaster like they want to release but a full remake with new customisation items, new bosses, new dungeons and online play and I know SquareEnix is lawsuit happy, so in that case they'd probably come after me. I was also thinking about doing it to the Legacy Of Kain series but Crystal Dynamics doesn't sue people for making remakes as long as you don't make money off of it.

>derailing into a socializing/dicksucking environment.

That's the part that scares me the most. Leaking once is somewhat fine as long as the main community and the dev doesn't get hit but the thing that can turn everything into a massive mess is exactly that, the tranny C.O.C.

b93477  No.16115672

YouTube embed. Click thumbnail to play.

Juan made a lecture on how to get AAA graphics with Godot+Blender+GIMP.

8bf72c  No.16115738

File: 3b32dc5535d2b53⋯.jpg (17.26 KB, 400x389, 400:389, 3b32dc5535d2b53cb85690488c….jpg)


>muh gimp

The tool doesn't make the art, the artist does. Though that said the artist can do the job much faster and easier and with more hair remaining on their head by using Photoshop.

adf62a  No.16115746

File: cc81f6c8e91f543⋯.png (3.55 KB, 394x92, 197:46, Krita confirmed by dubs go….png)



>not Krita

>inb4 muh text tool

6d7cb5  No.16115959


The only thing photoshop has on others is the content aware fill, which doesn't always work.

8bf72c  No.16116067


I don't think there's a single feature in Gimp that isn't worse in some way than it's PS equivalent.

Adobe seems dead set on making it slower and breaking things that weren't broken though, so the gap between the programs can only shrink over time. But on the other hand Gimp isn't known for fast development, so the likelihood that Gimp overtakes Photoshop before Krita does is not great. But on the third hand Krita devs seem to have become lazy and/or jewish so who even knows anymore.

5e6a3e  No.16116158


Also the memory leaks and how their software always seems to crash when it'll fuck you the most.

2b71bf  No.16116693


>we'd adopt a fake team name for when we release and adopt another one for the next game that way, once an e-identity is burned, we can still be active under another name

Atleast stick a monero wallet address on your game. You're still making a product so you should let kind souls donate to your dev team.

eaddc7  No.16116872


No, this could be misconstrued as taking payment by lawyers.

2b71bf  No.16116894


>misconstrued as taking payment by lawyers

How is anyone going to know who is accepting the payments?

eaddc7  No.16116933


>make fan game

>owners of the IP realize you're making the game and see the cryptocoin address

>dmca + lawsuit happen

>private investigators get hired to track members of the team

>arrest whoever they can

>they tell the judge you did a game without their approval and made money from it

2ede8b  No.16116951

File: e145dca79f18361⋯.png (1.15 MB, 1280x720, 16:9, ClipboardImage.png)

Tips on making guns satisfying to use during gameplay?

6d7cb5  No.16116970


Good sound, good animation, good impact on enemies and the environment.

665f49  No.16117023


It's all about presentation and very very little to do with effectiveness

If I were to go about it, I would make them as awesome to use as possible and balance to make the most satisfying also the best ones

The only question is "What makes a sound satisfying", and I wouldn't know the answer. The same for animations, particle effects and whatnot

You might even go as far as making your game visual style matching the most satisfying particle effects

72cd0c  No.16117033


Go to a shooting range that rents guns and try a bunch. Watch youtube vids of professional shooters and note how they handle the gun during recoil and how they reload. Note how there are very few service rifles that have a full auto only trigger group; semi auto is for killing, full auto is for suppression. Full auto recoil should make the gun jump in a semi uniform pattern. The AKM series for example has a slant brake that directs the gas pressure up and to the right to compensate for the massive bolt carrier in a right handed shooter. The shooter should feel as if they have control of their gun in semi auto. Quickly resetting to the original point of aim or very close to it. An AK should feel more powerful than an AR, while the AR should feel more controllable than the AK. And what >>16116970 said. In regards to sound, you should hear the action cycling, bullets being stripped from the mag, AND the blast from the gun.

Again, go shoot some guns if possible. It will help a lot.

96c99e  No.16117049

File: 7f40a57e50d04a6⋯.webm (6.67 MB, 800x500, 8:5, 7f40a57e50d04a6d8b4fc418b….webm)


Give it a kick and sound that matches the damage, which can be done in two ways.

Either make the external world react to the gun like in FEAR, or have the pc struggling to handle the gun like in EYE(next post).

Go to the shooting range and take notes. Watch the Ghost in the Shell movie for example and note how the animators all went to a week long trip just to shoot everything they could get their hand on.

96c99e  No.16117050

File: 53770cabdcc0983⋯.webm (11.75 MB, 1280x720, 16:9, eye 1.webm)

e51957  No.16117053

File: 3556f8e29e76f04⋯.webm (11.74 MB, 720x405, 16:9, FEAR without slowmo.webm)


chunky ass sounds

visible impact on enemies

shitload of environment sfx

basically just copy FEAR

7e9615  No.16117130


>visible impact

They're jumping off worse than the power rangers.

665f49  No.16117182


That's the best part

7de041  No.16119167


Damn this is nice. One of my problems with gamedeving is trying to figure out a good workflow, and this presentation gives me a good lead. I'm not sure what work goes where; do I add materials in blender or do I create them in godot? Do I build the level piecemeal in blender and assemble it in godot, or do I just build it all at once? Good stuff.

55f112  No.16121397

YouTube embed. Click thumbnail to play.




b1a276  No.16121869

>have a free day to dev

>power goes out

1ce717  No.16121904

>Have a free day to dev

>Computer is completely kill and I only backed up a small amount of shit on a memorystick

>The thing is fucked beyond repair

9e4c47  No.16122113


there's a "lesbian gives blowjob" vid I saw on pornhub a long while back and the chick looked EXACTLY like the guy who runs that channel.

8bf72c  No.16122287

File: 2c64db518a258d4⋯.png (179.72 KB, 556x409, 556:409, utnx28en.png)

>disable everything so I can refactor a thing

>a couple pixels appear

>god dammit

>disable some things so I can properly work on the thing

>can't see anything

>I'm tired

>change things from the ground up so it should be correct from the start to finish

>can't see anything

>losing all hope

>do esoteric tricks in order to see something, anything

>can't see anything, but an image shows up when the window is scaled, but then nothing else happens

>this is it for me

>start throwing around random things

>can't see anything

>about to kill myself

>scroll down and notice that I also commented out the call to render the window right at the beginning of the refactor

454ac1  No.16122305


>youtube embed

306f95  No.16122498

File: 9c213c7b474de38⋯.png (277.48 KB, 600x750, 4:5, 1547023493213.png)

I'm too much of a brainlet for coding

Is Blueprint (UE4) really easy enough for someone like me to learn? Basic Blueprint code kinda looked weirder and more complicated than basic C# code to me

16bcc7  No.16122513


it's the same

learn 2 code fag

306f95  No.16122530


I tried back in…November? Not sure.

I watched a guide on youtube to learn C# basics, that felt really rewarding. But once the guide was over I was kinda clueless as to how to actually keep learning and tried making Pong, finished it, it was playable but the code was really spagetthi and the ball movement was wrong

now I'm bored again and I kinda feel like I enjoyed my time coding so I was considering blooprints

bf760e  No.16122542


Well theoretically you can use blueprint but apparently it is very easy to make spaghetti in it instead of lasagne. Fugg now I cannot post this one fake physic theory cover which is totally not made in UE4 :^) pls gibs

169833  No.16123029

YouTube embed. Click thumbnail to play.


Add Garand ping to literally every weapon.

/k/ fags can fuck off with their realism. What makes something feel good is simply its feedback. There's a lot of small parts to weapons; the sound of shooting, reloading, hitting a wall, hitting armor, hitting flesh, the visual effects of impacting a wall, armor or flesh, the animation of the weapon, the way the recoil moves your camera and/or aim, the way your weapon moves whilst firing, the reload animation, and most importantly the actual usefulness of the weapon in gameplay situations it is and isn't designed for.

What the actual feedback effects should be differs not only per style of game, but also per player. One weapon sound may appeal to one group of players, whilst another weapon sound appeals to the other group. There is no "one size fits all" as people might claim.

My recommendation is that you simply look for things that visually and aurally satisfy you, and slap that on a weapon.

Go play a whole bunch of shooty games and find guns you like. Understand what parts of the feedback appeal to you.

After you got some weapons going, try to involve other people in the project and try to design weapons that appeal to them, giving you a healthy variation for your players to choose from.

6d7cb5  No.16123060


It's weird how satisfying the Garand ping is considering it means you're out of ammo. I'd imagine to soldiers it was kind of horrifying.

c51a53  No.16123062


Just start doing the game that you want to do and learn while doing it.

169833  No.16123071


You need something to motivate you through the war. For some it's waifus, for others it's Garand ping.

7e9615  No.16123162


>PTSD freakouts at every metal cling.

859473  No.16124642

File: bf0040e1c3d6ccf⋯.jpg (167.67 KB, 1280x1024, 5:4, simple_hand_1.jpg)

File: 2d36b1d0df8bf39⋯.jpg (168.78 KB, 1280x1024, 5:4, simple_hand_2.jpg)

File: 5fa73c64bfb1891⋯.jpg (99.91 KB, 1280x1024, 5:4, simple_hand_3.jpg)

Hellow there, can I shill my stuff here? actually I only have one free item right now but you may be interested in it, sometimes is good to lend other artists a hand.


That thing looks like a Revo K101 GBA clone, I had one of those.

859473  No.16124644

93534c  No.16124743


rip. I actually did the same thing on my C++ vulkan renderer; I forgot to call the function to push memory to vertex buffers and spent a good few hours ripping my hair out trying to figure out why nothing rendered.

8a5922  No.16124755


But the real question is, can you close the game without the validation layers going apeshit because of all the handles you didn't bother to free before destroying the device?

bf760e  No.16124761


>buy a coffee for Tio

>3 dollary doos

<2.65 yuro bucks

A few cents more and you could buy a coffee powder pack with 500gram, more cheap then buying a (((jewbucks))) one, fucking wanna-be oligarch.

72ca9e  No.16124772


It just crashes, but that's not an issue. I'm not going to waste my time writing deallocation code until the code that allocates stuff is final.

859473  No.16124798


The hand is free anyway, just shilling myself a little, I hope I can upload a full body with minimal topology later for other artists to use.

859473  No.16124818

If only I could figure out how to directly upload 3D models to ko-fi.


a8a035  No.16124820


ever heard of tracer rounds?

01c5b0  No.16124942


I think the thumb is coming out of the hand too high up. And I don't trust that topology.

859473  No.16124989

File: e8eacd7cb0c6806⋯.png (314.09 KB, 925x660, 185:132, ClipboardImage.png)

File: 7b340fce649bba8⋯.png (252.98 KB, 599x643, 599:643, ClipboardImage.png)


Since the hand uses bare minimum polygon count you can tweak it to your liking in that area, maybe I will revise it later, this is how it looks with some smoothing on my current project.

086ed7  No.16125028


those 6 edged star verts are not so good, anon.

306f95  No.16125032


Okay, if I fuck everything up I can just start from scratch I guess.

859473  No.16125037


Which ones?

4266a1  No.16125044

File: 2f681f4c813f34e⋯.png (1.06 MB, 1248x676, 24:13, ClipboardImage.png)

added some more building systems to my game

still got a gorillion 3d models to go until every structure and wall type is done but i'll get there eventually

859473  No.16125116

File: 5d1b424cb7b8cf1⋯.png (257.21 KB, 1280x1024, 5:4, ClipboardImage.png)

File: 9c0a483b764e2f6⋯.png (254.27 KB, 1280x1024, 5:4, ClipboardImage.png)

OK, I think I found those, new base topo I am certain someone will still criticize.

da77d7  No.16125435


Everything's capable of being criticized, that's the key to progress. The moment you begin to believe criticism is the enemy, is when you've failed.

442b64  No.16125442

I have been having trouble figuring out how to handle the targeting for an ability system in one of my projects. Some abilities target a vector (world space) position, some target another character, some target only the user, etc.

How could I structure my ability system to handle the different targets an ability needs? Should I not even worry and just do my best to keep checking for the different targets an ability needs in one place? Right now, I have an "Ability" class that contains an array of objects that inherit from "AbilityEffect". The AbilityEffect objects are what actually define what an ability does based on what has been passed. For example, if an ability containing "HealEffect" is passed a character object, the character object will be given health based on the value stored in "HealEffect."

da77d7  No.16125454


I'm no expert on programming, but I would have one target function, which is then passed input by what you want to get the desired effect. Probably be best to take that world space target you have and retrofit it so that the other abilities can use it to do their functions properly (getting the world space of the other character or the user). You can use that vector to pass into other functions as necessary (for your heal ability example, using it to determine if anyone's there to heal or not).

306f95  No.16125852

File: 7d99b7ac41706b0⋯.png (252.39 KB, 1059x1792, 1059:1792, ClipboardImage.png)

So I decided to start working on a fighting game and I'm already kinda lost

Should I be doing States using the animator or just within a script? If it's in a script, what do I even do? Am I supposed to use enums?

I found this guide http://gameprogrammingpatterns.com/state.html but pic related got me confused, what is state_ supposed to be?

d7125a  No.16125884


Just look at it nigga, state_ is a member of Heroine of type State.

Look at the cases in the switch statement. They're all the states defined in the enum. This shouldn't take you more than 2 seconds to figure out.

306f95  No.16125888


so they define state_ in a class that they didn't post or am i missing something?

6d7cb5  No.16125906

>>16125888 (checked)

Yeah _state is a member variable of the Heroine class (lol at calling it heroine for bonus sjw points, just a waste of time to type it out).

d7125a  No.16125931


"Instead of a bunch of flags, Heroine will just have one state_ field" pretty much means "add a State variable to the class and name it state_, we're not showing you the entire class code again just to add a single line"

7e9615  No.16125998

Does anyone has any experience or authority to give their opinion on

making a data-driven multithreaded ECS engine?

2ec062  No.16126016


Sadly not. It's a topic I wish to explore. Maybe I'll port some of codename-waifu's stuff over to Unity's new ECS system. I love playing with new toys.

e4729b  No.16126079

File: adda0c664b88524⋯.gif (2.3 MB, 596x379, 596:379, usherbot_stage.gif)

File: e39723d933e7a66⋯.gif (2.2 MB, 596x380, 149:95, chefbot_stage.gif)

File: f19485250280693⋯.gif (1.11 MB, 889x641, 889:641, maidbot_preview.gif)

Are megaman-likes still welcome? Looking for places to give it more attention. I've got a 3 stage demo on itch already. It's called Alphaman

dc5104  No.16126299

What are your opinions on instances in mmos? I think using them for dungeons/raids and boss fights is complete cancer but is there a place for them?


I'd play it.

a8a035  No.16126302

File: 6059b11158d342a⋯.png (11.04 KB, 320x77, 320:77, 320px-MEGAMAN_Logo.png)



Don't know what you're talking about.

859473  No.16126363


Never said it was bad.

b98713  No.16127308

File: 555010dc859aa4b⋯.png (25.81 KB, 620x446, 310:223, ClipboardImage.png)

File: 12640bc87e7f873⋯.png (20.75 KB, 287x827, 287:827, ClipboardImage.png)

File: 39d98ad7e77577f⋯.png (14.74 KB, 242x861, 242:861, ClipboardImage.png)

If Pelles C anon possibly the same guy as Sigma dev? is still around, I stumbled across your little Windows OpenGL sample program from nearly a year and a half ago in my code folder. The one with the rotating triangle. I ran it for fun and was surprised that it ran at an impossibly low FPS, the triangle lurching forward large amounts at a time, so I spent some time today messing around with the code.

First I confirmed it wasn't maxing out any cores (didn't even break 1% CPU usage), so I knew it wasn't a performance problem. Then I thought there was likely a problem with precision in the timing loop. Sure enough you used floats for all the timing variables, and changing them to doubles fixed the problem and provided a smoothly rotating triangle. But something still didn't seem right. I knew floats had limited precision, yet the "frequency" (actually a period) value fit in a regular float just fine with no noticeable difference in rounding.

I did other shit for a while, came back later and started testing various things. At some point I printfed the time values and noticed that they measured to several millions of seconds. QueryPerformanceCounter on Windows then must give an at least somewhat accurate running time since last reboot, which in my case was a very long time (nearly two months…) So of course that had to be the source of the precision problem. I changed the code to use single precision floats again and sure enough (second pic related), the timing variables only had enough precision left to represent half seconds! Presumably you never ran into this because you restart your machine at sane intervals.

The "real" fix was simple. Save the (long long int) start time returned from the first call to QueryPerformanceCounter, then whenever new_time is updated, subtract the start time from the latest call to QueryPerformanceCounter before you convert it to floating point seconds. With that, regular floats had more than enough precision to handle the timing loop, as you can see in third pic related. Though you should use doubles for time anyway; I remember reading that floats start to lose precision when measuring seconds after a few hours, though of course not to this extent.

You've probably long since fixed this problem in your real codebase, but maybe you or someone else will find it funny that someone was fucking around with and fixing bugs in a toy program you probably don't even remember writing.

72ca9e  No.16127423

File: 8985ba103e48ec9⋯.png (27.5 KB, 668x331, 668:331, idespawn_2019-02-15_21-02-….png)

File: 566e9b40c721335⋯.png (13.89 KB, 417x205, 417:205, idespawn_2019-02-15_21-03-….png)


That was me! And yeah, I am the same person who is writing the Sigma engine. Timer loops are really a big pain and I'm honestly planning on no longer even bothering to use floating-point time, and instead see what I can do with using 64-bit integer time, for frame rate limiting. (Physics can use floats, but conversions should happen as late as possible)

I've been working on that one piece of code for years, literally. Ever since I wrote my first timer in 2015. Every 6 months or so I find a way to improve it, or a problem that I didn't have before… I remember writing that program and forgetting about it, and then posting it in a thread once to prove that you can get a triangle on the screen in less than 100 lines of code? Someone was talking about how it was hard to set up OpenGL on windows, something like that. Then I had an argument about it because it was just a 1.1 context, and he was talking about a higher version, or something…

I knew it was pretty broken, but I never fixed it. I didn't think anything of it because I didn't think anyone else was even using it, pretty interesting…

Now, you solved the timer problem, but you've actually still left another bug in there, that I've fixed… I'll show you, you said your third pic is your timesteps, but actually, you can do better than that. The issue you're having isn't related to the timer, but its actually a loss in granularity caused by calling Sleep(1) every time check. This is good and it keeps the CPU usage down, but it actually has a problem where using it like this reduces the granularity of the timer to the size of the time-slice your process is given by the kernel! So in fact, you need to figure out a way to stop calling Sleep(1) after a certain threshold of time, so it can get off the granular time and be precise again. Take a look at my first picture, that's the timestep with the same problem yours has, and this is it after I fixed it. Here's my timer code in the HTT project:

//set up timers
LARGE_INTEGER freq = {0},min_tstep = {0},old_time = {0}, new_time = {0};
min_tstep.QuadPart = freq.QuadPart / 60;


float theta = 0;


//sleep threshold here is kind of arbitrary but this works for me right now...
if((new_time.QuadPart - old_time.QuadPart) < min_tstep.QuadPart - 10000){


if((new_time.QuadPart - old_time.QuadPart) > min_tstep.QuadPart){

float tstep = (1.0f / freq.QuadPart) * (new_time.QuadPart - old_time.QuadPart);

printf("Timestep: %llu Min: %llu Floating-point: %f\n",new_time.QuadPart - old_time.QuadPart,min_tstep.QuadPart,tstep);

theta += 50.0f * tstep;
theta = fmod(theta,360.0f);
old_time = new_time;


And here's the timer code in Sigma II, where I fix it, still needs some improvement:

void timer_update(stimer_t *timer){


if(timer->min_tstep - timer->tstep > cvar_getf("r_precise_wait_threshold")){

Mostly that it's doing a hash table lookup, checking that cvar multiple times a frame, really not necessary at all… I can just change that into a much simpler system.

72ca9e  No.16127424

File: 2f0df993cec85cc⋯.png (13.27 KB, 422x190, 211:95, idespawn_2019-02-15_20-59-….png)

File: 566e9b40c721335⋯.png (13.89 KB, 417x205, 417:205, idespawn_2019-02-15_21-03-….png)


I posted the wrong images, here is what I meant to post, first one is before, second one is after.

e04c2f  No.16127446

Invidious embed. Click thumbnail to play.

If I would ask, what would I do to replicate the combat of Kingdom Heart 2?

a8a035  No.16127457


put a new gimmick for every new enemy and every fight, and beat it by pressing the triangle button, put some canned animation in doing so

da77d7  No.16127461


Well, it's basically a character action game, so I would go about doing those mechanics first, and then adding the kingdom heart specific mechanics later (such as combo cards, magic, summoning, drive, etc.)

c51a53  No.16127502


That's how you get good.

7e9615  No.16127535

Invidious embed. Click thumbnail to play.

bc20e1  No.16127688

Shmup anon here.


I feel you, January I was mostly busy with work, it calmed down a bit at the beginning of February but I had a hard time restarting the feel for it.

I just took it slowly as well as having some other past time (drawing badly. But slowly getting better, also trying some analog ink+pen, only writing for now but hopefully drawing later)


There's no magic in coding or other craft, you have to try and reflect on it when it goes bad, and go at it again but better. Repeat.

On the explosion front, I changed the manual texture allocation from copy/paste to a GL_TEXTURE_2D_ARRAY, so I can more easily use more if needed (8 max with multi target rendering according to OpenGL 3.0 specs, more would be possible but machine dependent)

Also made it as GL_RGBA32F since I will need to keep value over 1.0.

The shader loop works correctly, framebuffer is switched fine and I also tested if my texture would indeed keep value over 1.0. There is still some initialization that I need to fix, but nothing dangerous (old picture is still visible, come from the change of 4 bytes to 4 floats per pixel)

So next is actually testing the crappy formula I wrote, arrange it most probably, and hopefully make explosion work and look nice enough. For real.

306f95  No.16128702

File: da4f7402117e09b⋯.jpg (74.25 KB, 615x820, 3:4, 1548572606547.jpg)


Instead of mapping attack, magic, items etc to inputs they just created a little sub menu (commands) for it

The only thing not bound to the command list is movement.

So you should try re-creating the command list first, don't even need anything fancy just make it functional,scrolling through it and selecting something like magic prints out "Magic" in the debug log and so on. then once you got it working you can add the actual features.

Could also do movement first since it's relatively easy if you really want but imo the commands take priority.

16bcc7  No.16128727

File: 5d427a511ac6ec0⋯.mp4 (5.26 MB, 800x600, 4:3, 2019-02-16 13-40-35.mp4)

ayy, working dialogue


using this shit if anyone's curious, i'm not gonna spend a year making a shitty node editor that doesn't even work right in the end

bf760e  No.16128762

File: 1870fb3b2b0faca⋯.mp4 (6.87 MB, 854x480, 427:240, boss of this gym.mp4)

File: 3e5715ed5be608c⋯.jpg (17.14 KB, 314x274, 157:137, question assburger.jpg)


>dialog system

y-you aren't the gitler box dev are you?

16bcc7  No.16128771

File: 8af714db6e7a83b⋯.png (412.78 KB, 865x760, 173:152, 8af714db6e7a83b7e6ecb35458….png)

97d824  No.16129441


>rewriting your code over and over again to follow autistic conventions

Mess up once, clean it up afterwards. Unless the system you have in place is hideously broken, there's no need to write your already existing code into a neat and perfect little package. It's most likely going to be a huge mess by the end, anyway like every other game. Just get your game done.

9bae6c  No.16129664


So the ghoul RPG project is dead?

16bcc7  No.16129718


too many creative differences with the artist, + it was spaghetti

10fa4e  No.16130004



thanks you two for the input

8bf72c  No.16130054

File: 8a8b92dbabe6519⋯.png (594.16 KB, 463x668, 463:668, 8a8b92dbabe65198969ec50b2a….png)

Why are font files so god damn complicated? All you need is the glyph vector shapes and their widths, and then some metadata with the font like baseline offset and what family it belongs to. At most special opentype ligature and justification info. But the actual specification for truetype/opentype files is a gargantuan nightmare.

Makes me want to create a new format that isn't such a bloated pile of cancer.

a8a035  No.16130223


Just use bitmap fonts

7e9615  No.16130231


Neither Firefox or VLC can open that webm.

8bf72c  No.16130238


I've been using them so far but they're very limited and clumsy, it's a huge pain to experiment or make new ones and you can't scale them well.

2ede8b  No.16130357

File: 92c214e7e4170aa⋯.webm (8.53 MB, 1280x720, 16:9, 2019-02-16 16-35-58.webm)

Alright, been whipping this up, testing the destructible environments in the game I'm making. Still needs some refining here and there, I used the cell fracture addon in Blender to help with the wood stuff but I still need to find a way to make it look more natural. I'm also thinking of learning boolean mesh operations for better optimization and randomness.

7e9615  No.16130392


Looks as good as premade destructibility can be. Looking forward to seeing a full environment.

f3cc4d  No.16130431

File: 8a50bc924109c43⋯.png (34.24 KB, 2624x900, 656:225, transitions.png)

File: 98da0df15a40692⋯.png (30.22 KB, 499x188, 499:188, particles.png)


I hope you're still looking to decorate some of the stages. The first gif you posted in particular needs some work. The room feels pretty hollow, as if it's a big generic platformer level. I assume you have mega man-esque transitions. You might want to instead make that room into seperate rooms that focus only on one axis. Falling in the top area could simply transition to the first hallway. Though the biggest improvement would be to the blocks you climb on the left, since it feels more like a wall jump ladder stuffed into the edge of a map, and that's the sort of thing that would make it feel like a poorly made ripoff. In general, if there is a big open space with nothing at all there, you probably shouldn't pan the camera at it.

Also, you might want to be aware at how much the particle effect from dashing clashes with everything else. It looks like he's just shitting mixels. You would probably do better animating a puff of dust that you occasionally plant, as opposed to that particle effect.

It looks like it could end up as a fun game. If there isn't a segment with pots of boiling water with lids that fly off as vertical moving platforms in Chefbot's stage then you need to rethink your life. I see lots of generic green robot cannons in your post, but no robotic attack spatulas or dishwasher bots throwing plates.


This makes me want to play Cyborg Justice.

f3cc4d  No.16130435


fuck I can't even crop

2ede8b  No.16130440


I hope going premade isn't too cheap a tactic as to actually programming the vertexes to break up real time? I'm not going to really do something on a large scale, most battles take place in small battle arenas, so I want to make them as interactive and feedbacky as possible.

7e9615  No.16130465


Wouldn't be fair to expect dynamic breaking. It's really complicated stuff.

58c18c  No.16130470

File: 64a1a8182a8366b⋯.jpg (166.66 KB, 1280x720, 16:9, woodBreak.jpg)


There's a GDC talk about how Rainbow Six Siege does destruction, if you want to look that up. May be more work than you want to do, though.

Pre-fragmented destruction works well enough for stone, concrete, glass, and small planks of wood, but falls apart with something like large slabs of wood.

Wood slinters when it breaks and if you are going pre-fragmented with a wood board you need to give the fragments those splinters. If you want better wood breaking the cells need to be stretched along the grain of the wood, and there needs to be more of them.

361338  No.16130498

File: 374d0560559f765⋯.png (6.52 KB, 493x402, 493:402, 00b88fc2d1f7d115a1050f0553….png)


Can't you just use a library?

a71589  No.16130524

File: a5576ad788278c2⋯.mp4 (1.23 MB, 1280x720, 16:9, 2019-02-16 19-44-01.mp4)

8bf72c  No.16130528


I'm too retarded to understand anyone else's spaghetti, and fuck every shitty make system.

e11d31  No.16130532


Because muh quasi-proprietary typesetting technology

7e9615  No.16130621

YouTube embed. Click thumbnail to play.


First time I saw cool dynamic destruction was with this video about Star Wars: The Force Unleashed. It as part of a tech demo on euphoria and havok physics. hey never did anything interesting with it, though.

01c5b0  No.16130644

File: 9ec914789312a53⋯.webm (1.04 MB, 480x480, 1:1, 2019-02-16 16-29-06.webm)

I finally started searching for a voice actress with the funds from the Patreon. I have a 5 minute long wordless script (a bunch of mouth sounds and noises for specific events). I asked a western voice actress studio and they said $1700. I noped hard. Then after digging into the japanese voice market, I was rejected at my first find because she didn't do business with foreigners. But then I found the voice actress for webm. I hired a translator and began business talks with her manager. We settled on my first generous offer of $250 and he agreed. They are now looking into her schedule to have her read my shit. VAs get paid pennies compared to the US.

2e90ff  No.16131073

Null terminated strings are literally cancer. Once you let them in once they spread because suddenly everything needs to support null terminated strings to do interoperability with them. It's simply insane using a tokenizer that fills the buffer its used on with null terminators. Additionally they make arrays and strings unnecessarily different.

a71589  No.16131272

File: accff5d1ee53b53⋯.mp4 (11.16 MB, 1280x720, 16:9, 2019-02-16 23-21-40.mp4)

650a6e  No.16131329


That skeleton looks like a Halloween decoration. Give him some rotten flesh and ruined clothing.

1e1f21  No.16131401


they did though star wars was shit and didn't utilize the physics the right way

GTA4 had eurphoria and it was amazing then they removed it from 5(along with all of the other physics improvements)

9bae6c  No.16132154


I think the ground is supposed to be desert sand, but the glossiness of the texture makes it look like it's all wet. Unless that's on purpose, you may want to add a roughness map for the floor.

0f5ad4  No.16132193

File: 3592d3ca9d67c2e⋯.jpg (117.03 KB, 1200x1074, 200:179, DzM5WqlUYAAf7hm.jpg)

If I wanted to make a netorare game with a focus on breaking down the player as much as humanly possible, what tools should I use?

9bae6c  No.16132214


A gun to shoot yourself with

7e9615  No.16132340


Yeah euphoria was nifty, but I was talking about the dynamic destruction. It was nowhere to be found in the force unleashed. I only remember some metal door pulling but those bends where prefab. Maybe wood wasn't star wars-y enough? In any case, the destruction tech in that video is cool but it was never given a chance in their products.


>$1700 for 5 minute read.

Shit's retarded. That's $20,400 per hour.


Do not bring misery unto the world. There's enough of that.

ec0451  No.16132343


Shit post but I wouldn't mind more pictures like that.

5db04d  No.16132348


That art style seems familiar. Is it from some tumblr-y type?

Also that's too T H I C C, it borders on cartoonishly out of proportion and just looks ugly.

b5d80b  No.16132370


>borders on cartoonishly out of proportion

But it's a cartoon my scro

591bd7  No.16132372

File: 86dd3625e80e1e5⋯.jpg (81.66 KB, 1047x488, 1047:488, 22.jpg)


Hehe silly

bc42c2  No.16132654

File: a2867c495d0c11e⋯.png (1.08 MB, 4800x3840, 5:4, render_old.png)

File: 3c9aa6e155e0c78⋯.png (2.26 MB, 4800x3840, 5:4, render.png)

File: 74f12147b5401bd⋯.png (126.72 KB, 1452x808, 363:202, old.png)

Decided to not get swept away by progress and learn Blender 2.8 before it's officially out.

Some of it is better, but a lot is more annoying in my opinion. I modelled a Lego vehicle that I was missing. Shitty old one provided as comparison.

I think Eevee as realtime render is good, but the glitches on more complex textures are an annoyance, still, net positive, even if everything looks kind of like it's made in Sketchup. Eevee as an F12 render however seems inadequate. If you're doing CAD industrial design or architectural mockups or something it's probably great, but if you have transparent anything, you basically have to swap to Cycles to get anything done right, which is sad.

Also, am I the only one who thinks that the new interaction commands are a nightmare? Alt+A to deselect (or just mash A) is dysfunctional and a total fail choice. I either tire my ring finger or have to move my thumb a mile from its standard resting place. It's not the only one, but the most annoying. Another thing is having the camera swap back to Perspective mode after picking an axis aligned view in Ortho is retarded (yes you can turn this off in prefs, but it's a shitty default). The new side aligned tab menu feels less accessible than the old one, but I get it; there's more real estate. This and I still don't have hotkeys to toggle between vertex, line and face selection modes.

I don't think they should have caved to the moaning of the inexperienced. Blender has a pretty linear learning curve I think (albeit long), and I'm not convinced this work has actually made it less steep. The UI is still totally opaque, still totally easy to ruin with errant dragging and clicking, and sidebars like T and N and others are still hidden meaning that people will have to read a manual to see all the functions.

Anyone else using it?

bc42c2  No.16132664

File: b13ef56b848390c⋯.jpg (13.18 KB, 349x308, 349:308, 1402130985423.jpg)


>tfw a tech demo made by one man in a cave with a box of scraps with the world's second worst game engine is better than literally every game made by AAA developers in the last 15 years

Good job, looks fucking awesome. I hope you have a game to go with that tech demo.

16bcc7  No.16132686

File: da28d059aa3753c⋯.mp4 (5.31 MB, 800x600, 4:3, 2019-02-17 16-00-02.mp4)

bf760e  No.16132689

File: c81fda87c01f465⋯.gif (350.7 KB, 263x239, 263:239, c81fda87c01f465123ab2b7ede….gif)


They fiddled with the hotkeys again? Looks like I'm going to stick with v2.78 for a while then. I find it is already breddy bad figuring what keys are free or not with the current setup. And breaking my middle mouse button again because they just had to use it for panning the camera.

2187a2  No.16132693

YouTube embed. Click thumbnail to play.




There are more sophisticated ways of creating pre-calculated damage. Embed related shows APEX, which UE4 comes with by default.


>I hope going premade isn't too cheap a tactic as to actually programming the vertexes to break up real time? I'm not going to really do something on a large scale, most battles take place in small battle arenas, so I want to make them as interactive and feedbacky as possible.

Proper geometry deformation is both hard and slow. Either way you'll have make sure the performance doesn't go to absolute shit as debris starts piling up. You have to do some thinking about the physics of all that. Not every piece of debris should have full collisions.

bc42c2  No.16132697



There's no reason not to upgrade because there is a legacy key mode that behaves exactly like 2.7X and Eevee is worth ditching blender render for if you use in-editor render to preview your changes because it's real time, but I want to try and keep with the times.

9bae6c  No.16132831


>lego vehicle

Rock Raiders anon? Is that you?

5e6a3e  No.16132926

File: 8c4146b6370c28e⋯.png (933.4 KB, 1752x550, 876:275, ClipboardImage.png)


It's from a guy who parodies tumblr.

bc42c2  No.16132978


It is me. Sage for blogging.

I refactored my shit. Concepts are clearly and properly decomposed into classes and it's seriously a lot better. What you saw before looked advanced but was a literal prototype and became unmaintainable. This refactor also seriously broke everything, but I have unit tests now. I also have source control. Believe it or not I didn't before because I was arrogant and lazy. I got a map appearing again over Christmas. It's textured ok. I currently have an issue where my vertex height setting code isn't matching up on neighboring tiles so the map isn't stitching together. It appears to be a rotation issue, so it seems like my fundamentals aren't quite right. Basically, I'll need a clear head and some time to sit down and figure it out. I'm super burned out on coding from my job (boss is abusive and deadlines are aggressive, but pay is great), I decided to finish the few remaining vehicles and whatnot I didn't do since I love Blender for it's capacity to commit thought to canvas so quickly.

I'm sorry. It's not what you wanted to hear. Generally I am extremely impressed by people who keep a job and make the huge progress we see here every thread. You are wonderful, good people. I wish you nothing but the best.

2ede8b  No.16132989


Thanks anon, I hope to do better


Quite unfortunate that Unity doesn't have any official support for destructive environments

2187a2  No.16133005


I know. We've been using a boolean shader to have bulletholes that go through walls, but sadly I had to throw it out today. We'll have to go with normal-mapped decals going forward.

8301b9  No.16133025


hehe silly is a girl

7e9615  No.16133116


certainly draws like a girl.

2187a2  No.16133249

File: 19f5ac9e5c2f895⋯.jpg (48.35 KB, 510x481, 510:481, 19f5ac9e5c2f895c5fc0ece241….jpg)

>time to start implementing demo day feedback

>most of our code is now obsolete

2ede8b  No.16133264


>boolean shader

I used something like that for my bullet holes. What's wrong with it? Why did you throw it out?

Additionally you won't have experience with deferred decal rendering will you? That aspect of Unity seems to have a lot of promise, I just don't know how to implement it unto transparent surfaces.

9bae6c  No.16133424


>I'm sorry. It's not what you wanted to hear

Buddy I'm just glad you're back and are generally okay, if a bit overworked.

I know where you're coming from, I also currently am working as an intern, nearly done with my semi-shitty college education for software engineer and haven't had the energy to dev for myself since Christmas.

Just rest enough to be healthy, and occasionally dev a little when you feel up to it. Better to occasionally dev than nodev because you feel bad about nodevving.

2187a2  No.16133454

File: 56cb131196ef800⋯.webm (1.03 MB, 1058x552, 23:12, shootan_in_3D.webm)

File: 139f1e875169406⋯.webm (2.15 MB, 944x494, 472:247, Dither.webm)


Vid 1 is a very early showcase of our game's main feature. During the DD we got some feedback and decided to use a stacked approach instead. It has a variety of practical upsides, but there is one problem: How do you hide the levels you're not currently in?

I experimented in Unreal (since switching engines was up for debate after the DD) and came up with a solution that uses dithered opacity. On top of that I implemented a shader that cuts a hole through everything that's in the way, so the player character cannot get obstructed. I decided to try to port this shader to Unity, which worked, as you can see in vid 2. (Sadly the shadows pop in. In Unreal the opacity masking also affects shadows, so the transition looks nicer. But it's not a problem for our purposes.)

The problems started when I went about implementing that shader magic inside the boolean shader. As it turns out, it can't be done. I looked through the screenspace boolean shader and analyzed how it works to render the frame, step by step. It can't work with transparency.

What happens if you make your "subtractee" (the object you want to cut something out of) transparent, is that through it you don't see what's behind. Instead, it masks out everything so that you see your background (e.g. a skybox). So when you set the object's opacity to 0, instead of becoming invisible, you just get a gaping hole through your entire world, through which you can see your skybox.

We had to make the decision to either drop the stacking and everything that might need transparency or the boolean shader. We decided that the latter would have to go, as decals would be an acceptable substitute.

>Additionally you won't have experience with deferred decal rendering will you? That aspect of Unity seems to have a lot of promise, I just don't know how to implement it unto transparent surfaces.

It's a great thing that you mention that, because I didn't try it out when I looked into Unity's HDRP. I only tried its decals on opaque surfaces. I absolutely have to try that out, before I spend any more time reworking our codebase. If it turns out that it doesn't work and just does in Unreal, I think I'll talk to Shodanon & the other bois about that engine change again. Because that might be the straw that breaks the camel's back. I'm not going to try to modify the HDRP. I've seen its code. There is a lot of it. I'm not willing to dive into it for what was supposed to be a small game.

16bcc7  No.16133529

File: 5eacd0ff1423c17⋯.png (150.99 KB, 1366x768, 683:384, Screenshot (2).png)

File: 22476f45d6dd193⋯.mp4 (1.41 MB, 800x600, 4:3, 2019-02-17 20-19-23.mp4)

time to totally forget about making a game and just fuck with the node editor for a year again

363c5a  No.16133623



That bloom makes it look like the battle took place at the bottom of an ocean. You might want to add stuff to the skeleton as the other anon mentioned. Otherwise it just looks like some random person died there. I'd recommend looking up grisly pictures of the dead after heavy shelling during WW1. Sometimes, there isn't much left, even if its just bones.

38a094  No.16133967

File: 78ab71b721e9db7⋯.jpg (63.79 KB, 850x1354, 425:677, __kirisame_marisa_touhou_d….jpg)

File: fbf5cb9d9f770ea⋯.jpg (89.55 KB, 850x1615, 10:19, __onozuka_komachi_touhou_d….jpg)

File: 734f85f91b32112⋯.jpg (35.56 KB, 850x633, 850:633, __onozuka_komachi_touhou_d….jpg)

File: 61553ec9db04a1a⋯.jpg (65.11 KB, 850x1387, 850:1387, __onozuka_komachi_touhou_d….jpg)

File: af72ae0f20bf45f⋯.jpg (92.71 KB, 849x1639, 849:1639, __onozuka_komachi_touhou_d….jpg)


I would really recommend removing the hard outlines of shadows. When it's dark enough out that you're losing color vision, darker areas tend to blur and gently fade into the illuminated areas. This would be even more true when the light source is hidden behind clouds. The light would be diffused so much that there'd be no shadows, just darker areas.

This artist manages to capture the way night looks, you may want him as a reference. https://danbooru.donmai.us/posts?tags=futon_%28kitsune_tsuki%29

7f6d81  No.16136552

I'm implementing unit selection, I'm gonna do it by having my normal render pipeline also draw entityids of triangles to a color attachment, depth tested and everything. Then I'm going to throw it and box coordinates (of the player's marquee selection) at a compute shader, all the ints I find within the box I'm going to flip on a bit buffer, so if I select 1, 2, 5, 8 I'll end up with (…)10010011 and then when I want to check if something is selected, I'll check its bit on the buffer. The downside is it'll be a bit expensive whenever I want to flatten that buffer into a list of entity ids, though I can mitigate the issue at small numbers of entityids. I was also thinking I can optimize it by generating transient entityids after screenspace culling, and then map them back to their real entityids so that my selection buffer is only the size of the entities being drawn and not the size of every entity in the game would, but that sounds like a huge pain in the ass so I wanna see how it goes first.

Does this sound like an okay approach? Alternatively I could also do approximations by guessing the size of a unit then doing the screenspace transforms in software and see if it is within or close to within my marquee selection. But it sounds probably inaccurate, and optimizing it will be a huge pain in the ass because I can't lever the rasterization pipeline to do the heavy lifting for me.

0897bb  No.16136700


What sort of game? What sort of camera? What sort of selection? What you're proposing might be the most over engineered solution to selection I've ever heard of (short of checking every vertex).

169833  No.16136876


Instead of wasting gpu power on it, just give every unit a hitbox and raycast against it when necessary.

It's perfectly fine to be inaccurate with clicking on units. In fact, its better to have an oversized clickbox.

c5620b  No.16136879


I just checked whether deferred decals work on translucent surfaces. If you're using Unity's hdrp, they do.

2ede8b  No.16137502


Thanks. Not a fan of the pipeline things though as other shaders instantly become unusable once they've been activated. It's something I'm going to have to get a full understanding of later but like anon said >>16133454 it's not worth it for a small project.


Couldn't you break the object into layers and have the cameras render each individually?

5e6a3e  No.16137566


Learn basic music theory, then just start making music and start actually listening to music. Make a note of beats, measures, etc.

You can quickly pick up what makes medieval or icy music sound the way it does by just listening to themed songs. Although when it comes to icy music in particular, I have to recommend Metroid as a series. The arctic sector of Fusion has great music and the two tracks for Phendrana Drifts are classics.

c5620b  No.16137612

File: e169bf9a11f5a5f⋯.png (1006.59 KB, 1603x829, 1603:829, ClipboardImage.png)


Yeah, your shaders have to be made for the pipeline you're using. In our case that isn't that big of a problem I hope.

>Couldn't you break the object into layers and have the cameras render each individually?

You need to be able to see multiple layers at once, so the logic puzzle connections between them can be visualized. Pic related is a mockup. Imagine having door in one level and wiring going through the floor. And it still doesn't fix the fact that we couldn't cut the hole through the level to show the player when he's behind a wall.

6d7cb5  No.16137644


Would turning off above layers completely while leaving connections still visible be an option? Seems like the simplest solution. You could use icons to represent waifu positions, buttons, and other interactive elements on disabled layers.

c5620b  No.16137812

File: b186e9caea399a2⋯.webm (479.61 KB, 1208x626, 604:313, SofterShador.webm)


>Seems like the simplest solution.

But the shader is really simple itself. It also looks cool when animated.

5e6a3e  No.16137891

File: 4ccdab4a93346d8⋯.png (196.99 KB, 810x634, 405:317, ClipboardImage.png)

>Want to spend time coding the game

>But also really want to spend more time designing characters and monsters for my idea

Help I'm at war with myself about what I should do today

0eb137  No.16137943

File: 60c829c4e773adc⋯.png (2.33 MB, 1920x1090, 192:109, S1E06B_Linc_sleeping_with_….png)

I want to create a very extensible 3D game in Unreal Engine 4. So I don't want anything to be hard coded, anything such as hit boxes, bullets, physics, loading/rendering systems, AI, in-game editors/scripting events, etc.

Basically I don't want Minecraft and Skyrim's usual problems, I don't want my modders to struggle with creating powerful mods. I don't want them to waste time figuring out workarounds and putting in effort for little results.

I want my modders and my players to be able to change the basics of the game with little effort.

What, what should I take into account before I do this?

16bcc7  No.16137950

YouTube embed. Click thumbnail to play.


do nothing

8cd855  No.16137954


Flip a coin. If you really want something more than the other, you'll notice that the moment you have flipped it.

402294  No.16137974


so you are just going to make your game with blueprints?

c5620b  No.16138060

File: 8eec120da6f7f02⋯.jpg (123.72 KB, 924x529, 924:529, faggot_cat_wants_you_to_co….jpg)


>What, what should I take into account before I do this?

1. You have to be properly fit in using Unreal. Don't even try to attempt this before you know your way around the engine, because modding in UE4 is a fucking mess

2. You'll have to use a version from Epic's launcher

3. Self-compiled isn't an option, therefore you can't do any engine modifications

4. You'll have to redistribute your modding tools through Epic's launcher

I've looked into modding and modding support leaves a lot to be desired in all modern engines. Godot may be a great option for moddable games in the future, but for now it still has a long way to go.

As far as UE4 is concerned, you have to know that packages only work in the engine they were created with. Not engine version, mind you, but the editor that is used to build the mods has to be the exact same compiled binary that was used to build the game. This means that you'd have to redistribute the compiled editor, if you used a source-build, and you're not allowed to do that. You're allowed to modify the engine and you're allowed to distribute the modified sources of it through the official channel (fork of the official repo on GitHub), but you're not allowed to distribute the binaries of a self-compiled editor.

Therefore the only way to ensure that your modders have access to the same editor you used to build the game, is to either use an official build or get in touch with Epic and try to figure out a special deal (which won't happen if you're a nobody).

I also never figured out to which degree you'd have to open-source your game to make modding possible and how updating would work. Every update may break every mod.

If you're already fit with Unreal, get reading. There's a modding board on their official forums.

169833  No.16138121


>What, what should I take into account before I do this?

That you're essentially building an engine on top of an engine, and end up producing nothing of value in the process.

If you want modding to be a thing, then write good code and make your code open source.

5e6a3e  No.16138852

File: 3c307566cf0d036⋯.gif (959.04 KB, 300x500, 3:5, time to button mash4.gif)



Decided on coding after I looked at which one was further along than the other. Got my player controller to work with slopes now.

ecf1b0  No.16139107


As long as you're making progress, there's no need to worry. Panic when you can't do either.

2d0e6a  No.16140037

File: 9e9fa7913142bb7⋯.jpg (22.8 KB, 252x244, 63:61, 1332682193025.jpg)

>all parts of my game are done, except the music

>don't want to make it

My game is a sidescroller that takes <20 min to beat and won't be sold anywhere. Do I just grab some tracks from VGMusic or not use music?

5e6a3e  No.16140073


There's thousands of public domain tracks made for vidya, I'm sure you can find one that goes well enough with your game.

2d0e6a  No.16140130


Yeah, I think I might just go with some songs from OpenGameArt from the wikidot page, actually. I looked through it and found some stuff that fits well enough. Thanks.

c51a53  No.16140583

File: 9d7e9fd142682bd⋯.png (145.36 KB, 1600x900, 16:9, sucks.png)

Can anyone explain me what I'm doing wrong with my raycast?

#include <SFML/Graphics.hpp>

#include <iostream>
#include <cmath>

using namespace std;
using namespace sf;

const int window_h = 400;
const int window_w = 520;
const int blocksize = 64;

const float fov = 60.0f;
const float pi = 3.14159;
const float ray_length = 500.0f;

float pos_x0 = 2.0f;
float pos_y0 = 2.0f;
float pos_x1, pos_y1, angle;

int game_map[10][10] = {

float to_radian(float degree){
return degree*(pi/180);

float rad_cos(float degree){
return cos(to_radian(degree));

float rad_sin(float degree){
return sin(to_radian(degree));

float rad_tan(float degree){
return tan(to_radian(degree));

const float plane = (window_w/2)/rad_tan(fov/2);

int main(void){

RenderWindow window(VideoMode(window_w, window_h), "Raycast");
Event event;


for(int x = 0; x < window_w+1; x++){
pos_x1 = pos_x0 + ray_length * rad_cos((angle + fov/2)-x *(fov/window_w));
pos_y1 = pos_x0 + ray_length * rad_sin((angle + fov/2)-x *(fov/window_w));

int steps;
float xpos = (float)pos_x0;
float ypos = (float)pos_y0;
float x_inc, y_inc;
float dx = pos_x1 - pos_x0;
float dy = pos_y1 - pos_y0;

if(abs(dx) > abs(dy)){
steps = dx;
steps = dy;

x_inc = dx/(float)steps;
y_inc = dy/(float)steps;

while(game_map[(int)xpos][(int)ypos] != 1){
xpos += x_inc;
ypos += y_inc;

float dist = sqrt(pow(2,pos_x0 - xpos) + pow(2, pos_y0 - ypos));
//float c_dist = dist*rad_cos(fov/window_w);
float c_dist = dist * rad_cos((angle + fov/2)-x * (fov/window_w));

float slice_height = blocksize/c_dist;
float middle = window_h/2;
float top = slice_height + window_h/2;
float btm = -slice_height + window_h/2;

Vertex line[] = {
Vertex(Vector2f(x, top), Color::Red),
Vertex(Vector2f(x, btm), Color::Red)

window.draw(line, 2, Lines);
cout << "pos x" << pos_x0 << endl;
cout << "pos y" << pos_y0 << endl;


if(event.type == Event::Closed){
}else if(event.key.code == Keyboard::Escape){
}else if(event.key.code == Keyboard::Z){
if(pos_x0 < 9){
}else if(event.key.code == Keyboard::S){
if(pos_x0 > 0){
}else if(event.key.code == Keyboard::Q){
if(pos_y0 < 9){
}else if(event.key.code == Keyboard::D){
if(pos_y0 > 0){
}else if(event.key.code == Keyboard::A){
if(angle == 360){
angle = 0;
}else if(event.key.code == Keyboard::E){
if(angle == 360){
angle = 0;
return 0;

2ede8b  No.16140679

File: ab963666126f332⋯.webm (14.77 MB, 1280x720, 16:9, 2019-02-19 00-32-53.webm)

Alright, so made some changes and updates

Improved the wood cells to act like splinters instead

Added a concrete block and a metal cube (which basically just creates dents, need to add some extra sparks and ricochet later)

Wood took the most work out of me but it's working fine now I guess, added some particles here and there too.

I'm basically done with it all, now all I need to do is just work on my characters and the maps they'll be fighting in.

58c18c  No.16140696


The wood looks a lot better. Nice job.

c1bc3e  No.16140700


but whats the fps like

7e9615  No.16140703


It's splintering perpendicularly from the grain. Looks better though.

7e9615  No.16140704


Looks a lot better, actually. Now it FEELS like wood.

2ede8b  No.16140709


Pretty stable actually but I had to experiment with the cell size before found something that was both comfortable and easy on the CPU. Battles take place in small rooms so I don’t really mind throwing a bit too much in there.

a8a035  No.16140755

File: ec0e89c5f7d226a⋯.png (29.61 KB, 526x406, 263:203, wall1.png)



this might help for debugging

Vertex line[] = {
Vertex(Vector2f(x, top), Color::Red),
Vertex(Vector2f(x, btm), Color::Blue)

the "second half" of your view is upside down

a6f10a  No.16140760


>pos_y1 = pos_x0

I have no idea about raycasting, but that's probably it.

Also, unrelated heads up: Exact comparisons with floating point numbers is asking for trouble because of rounding errors, even though right now you won't run into them. Consider checking whether the angle is below 0 or above 360 instead.

e11d31  No.16140764


What kind of a result are you expecting? I don't know anything about raycasting so I can only point out a few things:

pos_y1 = pos_x0 + ray_length * rad_sin((angle + fov/2)-x *(fov/window_w)); //Is pos_x0 supposed to be pos_y0?

else if(event.key.code == Keyboard::E){
if(angle == 360){ //should this be -360?
angle = 0;

e11d31  No.16140782


Ok what exactly are you trying to do here? Can you point me to an article or something?

169833  No.16140838


You calculate distance wrong.

>float dist = sqrt(pow(2,pos_x0 - xpos) + pow(2, pos_y0 - ypos));

pow(x,y) returns x^y. So you're raising 2 to the power of distance on an axis, rather than raising the distance to the power of 2 (and squaring it).

In addition, your use of radians & degrees disgust me. Mixing these two is already pretty terrible, but you have terrible fucking function names that seem to describe the opposite of what they do. (rad_sin() calculates sin()… taking degrees, rather than radians?)

b4f772  No.16140886

File: 7953cde0cf3072d⋯.png (417.79 KB, 1280x720, 16:9, unknown.png)

File: 89eb8259cdce5b1⋯.png (631.27 KB, 1280x720, 16:9, unknown (1).png)

Kingpin, a Quake 2 engine game recently got support for Trenchbroom through a fan plugin. So I've been taking a crack at remaking a Quake 3 map called q3tourney5. It was surprisingly easy to import textures into the game since the developer was an early supporter of using .tga as a texture format. A lot of Quake engine games require you to specify shit like a palette for textures so this is really nice and easy to work with. Right now I'm just roughing in geometry and getting the original map's scale. Quake 3 maps are ideal to remake since they're extremely tiny.

I'm right now debating if I want to go full 1-1 remake or make something closer to the game's original style which is urban and grungy like Max Payne.

7ba75c  No.16140887


I wish I spent the time learning to code instead of learning to use the adobe suite and logic pro. I can animate, make music and even model in 3d with blender but I feel like a hack since I cant code.

bf760e  No.16140916

File: 40860dabc56a4bf⋯.pdf (1.84 MB, The_C_Programming_Language….pdf)

File: 5614cb1b3b89804⋯.webm (4.09 MB, 640x480, 4:3, terry free software nigge….webm)


Just fuck around with C for a while, the syntax is relative simple to learn but you also need to learn how memory management works. The big upside of that you don't have to deal with niggerlicious C# (((garbage collection))) that is not suitable for games at all.

t. of same settis

a6f10a  No.16140932


>GC is unsuited for games

Please stop spreading this bullshit.

a8a035  No.16140941


GC might remove the garbage but you're never too sure and realistically it becomes more resource intensive than actually saving memory that it's suppose to do, just manually free the fucking memory and stop bloating my objects actually useful for games more than anything in other applications with retarded data i'm not using

a6f10a  No.16140949


>GC might remove the garbage but you're never too sure and realistically it becomes more resource intensive than actually saving memory that it's suppose to do

Does this have a meaning?

d7125a  No.16140964


Are you illiterate?

bf760e  No.16140966


Well is there any example of C# or other GC language that doesn't stops the game to do its work? So far I know from Terraria which uses C# has terrible performance when a battle heavy moment is going on.

a6f10a  No.16140994


>you're never too sure

Not sure about what? That the GC is doing its job? Is he saying there are leaks in common GCs?


aka the magic i no longer have to argue word.

>it becomes more resource intensive than actually saving memory that it's suppose to do

I have never once seen the argument that GC lowers overall memory consumption, so what the fuck is this even arguing against?

All of it reads like retarded FUD from a rabid C fanboy.


Concurrent GCs are not exactly rare, I'd be surprised if C# doesn't have one available. Java certainly does. Most of the poster children for "hurr GC is teh slow" perform badly because of shit programming, like Minecraft.

169833  No.16141032

File: 4da496acb304ed8⋯.webm (2.18 MB, 324x614, 162:307, output.webm)

bully me, agdg

b6248d  No.16141058


Obvious lack of smoothing groups and textures aside, looks pretty good overall. I like the hair. The face region will likely require some re-working, but obviously you aren't done with that yet right? Unless you plan for all facial features to be texture work, which can be done, but a cleaner surface to work with will probably be needed.

8bf72c  No.16141075


I don't like GC but the performance cost shouldn't really be relevant to anyone but AAA console games and esoteric systems that need to squeeze out a lot of performance, Factorio sounds like an example of an indie game that probably benefits from not having garbage collection.

efa7b4  No.16141085


She looks like she's trying to hide two ketchup bottles under her sleeves. Is this going to be some kind of silly and cutesy TPS?

169833  No.16141103


I have no idea how I want to do hands or face yet, so that mesh will change. Thanks for mentioning smoothing groups, I haven't really looked into how to any stuff with normals in blender yet.


Those are supposed to be oversized sleeves, but noted. I think I need to give those their own bones for the kind of animations I want to do.


Yes but with more hacky slashy than shooty shooty.

72ca9e  No.16141105

File: 88e9d2b52d831e5⋯.png (308.35 KB, 800x319, 800:319, microsecond.png)



Realistically you can get away with this style of programming, but it's what holds software back. Hardware is only used so efficiently, you are really making a sacrifice with that kind of choice. GC pauses, general inefficiency, plagues all games on new engines since all new games (Unity, Unreal, etc) are GC'd.

GC is unsuitable for games. It's possible to do it, but rejecting the GC is having a higher standard and saying, that you can do better. It's not as if there is some kind of benefit to using it any way, just another language, engine, etc. GC is saying "i'm not going to solve my problem". In the end, that's more damaging than taking the time to solve your problems.

a6f10a  No.16141124


What holds software back isn't garbage collection but a flood of unskilled labor on top of a completely rotten foundation (hardware, OS, languages, standards). It's turds all the way down and C is no exception. Bloatware existed in the old days too, so historically this doesn't add up.

>rejecting the GC is having a higher standard and saying, that you can do better

At the very least, the complete beginner who just got C recommended to him can't. Instead of bad performance he will instead have crashes and security vulnerabilities on top of bad performance. Even in general, the "performance" of C is mostly the performance of doing less. Finally, that you don't gain anything from GC is a blatant lie. Not having to deal with memory management takes off a great burden and opens up certain ways of programming in the first place, such as free use of closures.

079d0f  No.16141212

File: bf229a562443ea6⋯.png (565.76 KB, 1839x1011, 613:337, idunnohow.png)


better than what I just tried doing. I have no idea how you guys do this.

i just want big tiddies

72ca9e  No.16141284


I don't see how bloat, bad software, etc, existing in the past as well as the present changes anything about what I'm saying. If you care about freeing yourself from bloat, the only solution is to identify its sources and reject them. Rejecting GC is just one of the steps that you can take towards that ultimate goal of better software.

A novice will mess things up in any language. The only real difference here is how much potential each language has.

>that you don't gain anything from GC is a blatant lie. Not having to deal with memory management takes off a great burden and opens up certain ways of programming in the first place, such as free use of closures.

There is no burden to manual memory management. You should think of it like a class of math problems that you don't know how to solve yet. At first, they take a long time to solve, and a lot of reasoning. But afterwards, you should be able to quickly intuitively reason about them and solve them. Visualizing memory layouts and writing routines that realize those layouts are just another muscle memory skill that is part of knowing how to write code without a GC.

Another misconception is that the problems that need to be solved are somehow separate from the memory layout that is being used. But really, these problems are one and the same. Most optimization is just picking a more efficient memory layout. If you separate this into two problems and delegate one of them to the GC, that means you've only solved half of the issue.

The speed of C comes from being able to more effectively define the memory layout and control allocations. That's really it- this type of optimization doesn't exist at a higher level, and so C is faster because it has another class of optimizations. Assembly language has classes of optimizations not available to C programs, and so on… there are ways around this (writing C to generate specific assembly, writing C# to generate specific memory layout, GC behaviors), but it's not as effective as direct control.

0577de  No.16141322

YouTube embed. Click thumbnail to play.

Suppose I want to make a 3D rail shooter in the vein of Sin & Punishment where the camera essentially moves along a static path through the game world (embed related): how the hell would you even go about setting up that camera path? Would you have to pre-record a path by moving through the map yourself and having the camera mirror your recorded movements, or do you just input a zillion hand-picked map coordinates to define the camera path and apply a fuckton of easing to smooth out the camera movement?

72ca9e  No.16141382


The camera is basically just going between a series of points on a 3D beizer curves. So, as long as you can generate correct matrices out of your curve for the camera, you could place a ton of points like that. At some point I suppose you'd have to define the camera's specific movements, anyway.

a6f10a  No.16141436


You said GC was holding software back, which holds no water if the same problems of today existed before GC was common.

>A novice will mess things up in any language. The only real difference here is how much potential each language has.

Then why, for the love of fuck, should he use C? That's what this was originally about.

>There is no burden to manual memory management.

Then automatizing it should be trivial, yet for some inconceivable reason that is not only not done, it is also unsuited to games and holds software as a whole back. For another inconceivable reason, memory-related bugs abound even though avoiding them should be "muscle memory". Is everybody except you retarded or does your view of programming not correspond to reality?

>If you separate this into two problems and delegate one of them to the GC, that means you've only solved half of the issue.

Curiously absent: A reason for why this is supposedly not a solution. You even agree that you can control the memory layout in a GC'd language, yet somehow that doesn't count, because it is not as "efficient"; efficient in what sense? Certainly not in the sense of programmer time and safety. Ignoring downsides doesn't make them go away. Neither does my point about closures.

5e4e96  No.16141458


Not really difficult tbh fam. Here are some pointers:

>the camera is glued to the platform

>so you're really just looking into animating the platform's movement

>the camera does a little bit of movement depending on where the player stands on it, but that's just a simple offset that's being applied to the camera's position and rotation

There are a couple of ways the platform's movement can be animated. The most complete and powerful one would be to use proper keyframing animation. So if you were to use an engine like Unity, that already comes with animation tools, you wouldn't even have to program all that much.

If you wanted to implement something yourself, you'd have to either implement such an animation system or go with something more simple, as >>16141382 suggested. Although you shouldn't use Bézier curves. You shouldn't use Bézier curves for anything ever, period. When you think about using Bézier curves, use B-splines instead. Your system would have to support:

>interpolating between control points, so you don't have to input "a zillion hand-picked map coordinates to define the camera path"

>sharp corners

>ease of use

>easy controls for speed and having stuff like sounds or enemy spawning happen at certain points

If I had to do it myself and couldn't rely on built-in animation tools, I'd do the following:

>Define the path as a list of points

>A point stores its position, rotation and input- and output tangent (allows for curves)

>Internally, the representation of the rotation could be done using Quaternions

>However, using that in a path editing tool would be a huge pain in the ass

>For me as developer, each control point should show be two orthogonal unit vectors

>One would have to be the forward vector I want the platform to face, the other could be either the up- or right-vector

>This would allow for intuitive setup on my side

>Make the object follow the path at a constant speed

>This would ensure that the distance between two points doesn't affect how quickly you move between them

>To allow for sharp corners, I'd simply break the path up into multiple paths

>As soon as the last control point of the current path is reached, we start following another

Now we need a way to program stuff in (e.g. speed changes and spawning enemies at certain points)

>Create a separate list of "event points"

>Each event point stores the amount of time after which it happens and an event that is fired whenever it's reached

>The list is sorted by time

>Each path has its own even list

There you go. Hope it helps.

0577de  No.16141496



Thanks, that helps making it easier to visualize. Why shouldn't you ever use Beziér curves anyways?

5e4e96  No.16141565

File: bbaed985d52c5c9⋯.png (41.86 KB, 484x472, 121:118, ClipboardImage.png)


Bézier-curves shouldn't be used, because adding a control point increases the degree of the underlying polynomial by one and every control point has to be evaluated to calculate a point on the curve. This leads to two problems:

>the performance when calculating a point on your curve degrades really badly when you add points

>adjusting any single control point, changes the shape of your entire curve, which makes it a huge pita to do fine-adjustments

B-splines don't have those problems. They're more efficient changes to a control point are localized (see pic related).

6bc994  No.16141873


The fuck are you talking about? You don't increase the degree, you make it multiple segments, and each segment has one or two control points. Completely fixed computational complexity.

5e4e96  No.16141918


>The fuck are you talking about?

Literally the same thing you are.

>me: Bézier curves increase in complexity as you add control points

>you: don't add control points, to keep complexity down

Well, I suppose splitting your path into tons of segments would work, too. Or you just use the better freeform curve construction algorithm to begin with.

bf760e  No.16142801


>Then why, for the love of fuck, should he use C? That's what this was originally about.

Well then what kind of programming language would you suggest for a beginner to learn? So far from your post asides from mentioning C# and Java, I couldn't figure it out. I could have also suggested him to learn Bython instead which is indeed easier to learn compared to C (no need to worry about manual memory management) and I did learned myself it for myself for a while too with the sole intend to fiddle around with Godot but since Godot introduces 1 more problem (A new dialect to learn based on Python and several other languages) a beginner not only has to get used to the quirks of GDScript but also keeping in mind it is not also "pure" Python, at least that's how my impression I have so far from GDScript. Trying to read the Godot documentation leaves a lot of wishes to desire such as what this function does and what the fuck is even needed to get a basic game going without having to read a tutorial which is also even more sparse to find for Godot.

I have to admit my answer to him was not so serious and a bit too much memey.

I don't know anymore how good the support of Linux is with Unity, the last time I have checked it seems to be in Alpha/Beta stage and apparently there is also some shady stuff going around lately such as survey data not being turnoff able, at least that's how far I can remember of it now. The few minutes I spend fiddling around with Unreal Engine 4 was too unstable (too many crashes) for my taste and it is not quite free software either, which for a anon that is more concerned about such thing probably a bad choice.

So far the "best" experience I have with game development (not modding) is pygame, I haven't touched pygame for months by now mainly because I am too dis motivated having to figure out all the basic shit getting even a simple thing such as rotation and shooting too work. Since pygame existed for far longer time then godot there is probably more tutorials and/or documentation for it available I haven't digged into it too much yet. Not being distracted too much with some "oddly" designed IDE to put it midly like Godot is probably makes pygame even easier to use since you can just focus on the pure code structure instead.


Bydlon/Pygame is a relative simple start with game development, existed longer than Godot so a bit more info available

Godot is quite fresh so tutorials and documentation leaves a lot to be desired

Unity is probably the best shot if you want something that is widely used and are not too concerned with the foss side of things.


There is actually far more engines available out there that is free too but I don't have any experiences with them such as: Torque 3D, Grit Engine, Castle Game Engine, Luxe Engine, Urho 3D, Enigma.

7e9615  No.16142855


If you're a beginner, go for C#. It's versatile, relatively fast and of immediate usefulness.

c51a53  No.16143042


Thanks for the tip.


That was one of the mistakes but not the only one, thanks for pointing it out.


Fixed, thanks.




These are the inspirations. I tried to find other sources but most people simply copy and paste lodev's tutorial including the comments so I decided to make my own version of it where I would actually try to understand the maths behind it.


The sin, cos and tan function don't take radians, they take degrees so I have to convert the values before I feed it to the function.

>return cos(to_radian(degree))

< degree -> converts to radian -> is fed to the cos function

It's not meant to be clean, I'm trying to teach myself how all of this works, I'll clean it up later.

72ca9e  No.16143380


>You said GC was holding software back, which holds no water if the same problems of today existed before GC was common.

Still makes no sense. GC is an attempt at a solution, but it's a bad solution. You're bypassing issues like figuring out efficient memory layouts, allocations, etc, and instead using an inefficient layout, allocation, that you don't have to think about.

>Then why, for the love of fuck, should he use C? That's what this was originally about.

If you want to use it, why not? You don't need a huge amount of justification, if you have a reason to use such a tool. Are you saying he shouldn't learn it because it's supposedly more difficult?

>Then automatizing it should be trivial, yet for some inconceivable reason that is not only not done,

It's not done because reasoning about memory layout is part of solving the problem. At every level, besides maybe assembly, there are attempts to automatically solve problems you had on the level just before yours. And none of them really work in a good way, or better than a human. These are just inherent properties of these solutions, because they aren't aware of everything that you're trying to do- they cant be, so they don't know how to pick the best solution.

It's like the meme that, a compiler can optimize assembly better than a human. But the inherent properties of our programming languages make that impossible. That's because the entire point of a higher level of abstraction is to remove information and then automatically reconstruct it when you go down to a lower level.

>For another inconceivable reason, memory-related bugs abound even though avoiding them should be "muscle memory".

You can still make mistakes, no matter what. That doesn't invalidate the tool.

>Curiously absent: A reason for why this is supposedly not a solution.

The first problem is actually computing the desired result from the source data. The second problem is doing this in the most efficient memory layout. All I said was that, it's possible to program in such a way that is aware of the layout, even if you can't easily manipulate it. Like how most examples of efficient , fast programs written in a GC'd language go to great pains to avoid using the GC. That's going to get you some speed but it's not going to be as good as having direct, full access to the optimizations that you could be making in that area.

>Certainly not in the sense of programmer time and safety.

Any GC'd program that is non-trivial, that actually pushes the hardware, is going to force the programmer to rewrite code in a way that is very aware of allocations and deallocations, to try and mitigate the slowdowns caused by the GC. You're not saving any time, and the time it takes to write code that manages memory is pretty trivial. Safety is also really, not an impossibly hard task to achieve, you have a lot of tools, etc, to verify the behavior of your program, and those kinds of mistakes aren't the biggest issue.

>my point about closures.

Why couldn't you use closures in a non-GC'd language? It's just an anonymous function, right? Doesn't C++ have that? Either way, you're giving up the ability to use pointers, which, is an incredibly powerful, and useful, tool. I really cant imagine writing code without pointers because they're just such a fundamental part of programming.

2e90ff  No.16143564



You're full of shit. Unless you have a well documented garbage collector and know how to use it, the GC will fuck your performance over. If it's stop the world it will stutter, and if it's a fancier algorithm it'll take up processing power more regularly The biggest gain from manual memory management is that it causes you to think about when memory will be allocated and deallocated and the cost of doing so. You are touting the party line that GC means you don't have to think about this at all, when in reality it makes it more important that you ensure it's doing what you think it's doing. This is the reason GC languages have features specifically for profiling their garbage collectors. Additionally the garbage collector and associated runtime will add to the size of your program.

t. someone who regularly shills a garbage collected language

da96d8  No.16143703

Any good suggestions for learning blender? Tried a couple tutorials but not grasping it.

c51a53  No.16143712


What do you want to be able to do with it?

da96d8  No.16143717



c51a53  No.16143731

YouTube embed. Click thumbnail to play.


This should help you get familiar with Blender, once you can extrude and cut properly, you should be good.

da96d8  No.16143869


Coolness. I'll try this guy then.

e11d31  No.16143947


I've basically fucked up my version of your code and I really have other things I ought to be doing but one thing I notice is that for me, changing x_inc and y_inc to really small values in the direction of your ray vector <rad_cos(ray_dir)*.01, rad_sin(ray_dir)*.01> where ray_dir = (angle + fov/2) - (x*fov/window_w) seems to stop producing the nasty chunks, which seems to indicate that the problem is the increment values you're picking. I don't understand why you're picking them the way you are (why is there a "ray length" in the first place?). In the Lode tutorial, each time the ray is marched forwards, it checks whether to do a full step in the x direction or y direction every single time it marches the ray once, whereas yours only does it once, right before you decide to do the ray marching loop.

Also one thing I think you could do is have is just debugging one buggy frame (printing out all the variable values once for each cast).

Out of curiosity, why are you doing this?

c51a53  No.16144074


>why is there a "ray length" in the first place?

That's how I learned to do vector projection:


The vid is in French so you might not understand.

>Out of curiosity, why are you doing this?

I want to git gud and make my own raycasting engine, then I'm going to move on to making an engine based off the Duke Nukem engine.

c51a53  No.16144077

e11d31  No.16144215


Forgive me if I'm being retarded, but I don't see you doing any projection with ray_length. You're scaling the ray vector <rad_cos(…), rad_sin(…)> by the scalar ray_length and adding it to the initial position vector.

c51a53  No.16144225


pos_x1 = pos_x0 + ray_length * rad_cos((angle + fov/2)-x *(fov/window_w));

pos_y1 = pos_x0 + ray_length * rad_sin((angle + fov/2)-x *(fov/window_w));

It's right here, you take the initial position, you add the lenght and you multiply it by the cos or the sin to angle it.

c51a53  No.16144230


Nevermind, it's what you've said.

01c5b0  No.16144291

File: af0faffc2c9d336⋯.webm (14.19 MB, 894x720, 149:120, poking_1.webm)

Adding face and belly poking. This is a clip from my youtube reformatted for here.

Also what do you guys think about using parallax mapping in general? I feel like it's tech that just doesn't have much of a use anymore with the advent of beefy vertex units on most GPUs. It also has awful and nasty artifacts on diagonal creases and low-to-high ridges. I think it's obsolete for the future. Worked well in Amnesia though (2010).

58e95c  No.16144326


nah it came out hehe silly was larping as a chick. He's part of a twitter comic posse or something now.

d7125a  No.16144403


Why does she hate face poking so much? Pretty sure a gentle poke on the cheek or a boop on the nose is a gesture of affection, not bullying.

e11d31  No.16144428


Would you want to get poked on the cheek by someone?

d7125a  No.16144483


Depending on who does it, yes.

c488bf  No.16144502


I'm onto you anon, I know that you only took away sex features in your game so that your waifu isn't fucking anyone and everyone by your own hand. It's admirable that you had the foresight not to cuck yourself

7e9615  No.16144553


Parallax can be a plus if it's used in moderation (that is, small height differences).

01c5b0  No.16144573


You're funny. You can come over my house and fuck my waifu.

bc42c2  No.16145385


Stick with it. I tried and failed several times. I then had to learn it for university and got it in one short afternoon. The rest of my time has been spent learning about faster ways to do things I was already doing and the key shortcuts as muscle memory.

Some unwanted tips:

>the complex thing you want to make right now is likely too hard, thus no matter how well you do you'll end up disappointing yourself and this can be more emotionally taxing, so start by modelling things you're not emotionally attached to and work your way up

>don't start with organic, curvy, complex rounded shapes for the above reason. Industrial, more boxy design is easier to get results with and you can ease yourself into harder goals

>the most obvious way to solve a problem may not be the best. Experience will inform you the fastest way to a solution for a modelling problem, but if it seems difficult, laborious or insurmountable and you're not trying to do something conceptually difficult, there's probably a better way and looking to how others approach problems can be useful

>blender render (default renderer in Blender 2.7X versions) is not worth your time, it's relatively slow for what it is. Eevee is objectively superior in most ways, if you don't have the time for cycles

>getting your head around the fact that Blender uses a data model which supports multiple references to shared resources early can save some time (e.g. materials, you define them on an object, but they're actually created in a shared pool and you can use them on another object even though the UI doesn't make it obvious. The same is true of light sources. You can define one and then effectively redirect the properties of others such that they're clones of it)

bc42c2  No.16145530


Another thing:

>Blender has autosaves and recovery files. File > Recover Last Session and File > Recover Autosave

8bf72c  No.16145681

File: 877ddd01dd014ca⋯.png (389.52 KB, 590x441, 590:441, 1253295656.png)

>turn on gcc optimizations

>program crashes

>track it up to a random function call

>it just started crashing for some reason

>separate it from the stack of function calls so it's called separately

>stops crashing

>scratch head for 15 minutes

>finally it dawns on me, the function doesn't return anything, and since it's called like something(functionInQuestion()), the outer function ended up receiving NULL or some other random garbage

>this has worked for months without issue

2e90ff  No.16145704


Moral of the story: compile with -Wall. I don't know why the standard lets you do this, but I've had a similar problem.

621271  No.16146670


What do you mean by unwanted tips? That it's good advice but you won't like hearing it?

7b4809  No.16146931

File: 2640081a789762a⋯.png (1.17 MB, 1037x516, 1037:516, yeahboi.PNG)

I'm doing it bros. Halfway there for sure.

But seriously, I realized that, once I start, I'll probably never be able to animate the way I want to without motion capture. What are some games with good and fairly realistic animation that is not done via motion capture?

965025  No.16146935


Rain World

ba16c5  No.16146959


-Wall and -Wextra, and probably -Werror as well.

c51a53  No.16146966


>But seriously, I realized that, once I start, I'll probably never be able to animate the way I want to without motion capture.

Limitations force you to be creative, don't forget that. Also with one of the new IPhones you can do facial capture for very cheap and it's pretty good.

7b4809  No.16147131


I got that in a bundle but haven't played yet. Looks good. Anything 3d?


Gonna have to channel the spirit of Mark Ferrari then. Haven't heard of this IPhone stuff.

c51a53  No.16147150

YouTube embed. Click thumbnail to play.


Vid related 1:32

7b4809  No.16147504


Didn't even think of including facial animations but that seems really cool.

5a82d3  No.16147511

uv unwrapping is a hell and i dont know how people enjoy it

6d7cb5  No.16147973

YouTube embed. Click thumbnail to play.



Was your game a horror game called night shift or something?

da96d8  No.16147974


> unwanted

> implying

I'm grateful for any advice, and am certainly wanting to give it another go.

079d0f  No.16148144


wen ora ora?

32f8eb  No.16148540


GCC 5 and above perform some seriously retarded "optimizations" that assume undefined behavior can't happen and eliminate code based on that. If the problem occurred after turning on optimizations, I'm pretty sure you ran into that.


-Werror is usually a waste of time, especially with -Wextra which often complains about style problems. But yeah, enable warnings, you need everything you can get when doing C.

7b4809  No.16148541


You're thinking of that guy making a game in a gas station right? The pic was just me following a Blender tutorial on how to make a donut. My game idea is way more complex and never ever tier.

32f8eb  No.16148547


Also, the GCC devs are aware of this and don't give a shit that it breaks basically all C code under the sun, because muh standard xdd fix your code. Oh, and before you think LLVM is safe, of course it isn't. I'm still on GCC 4.9.4

bf760e  No.16148555


>GCC 5 and above perform some seriously retarded "optimizations" that assume undefined behavior can't happen and eliminate code based on that

Who the fuck made this decision?

>undefined behavior can't happen

This makes no sense at all. Did a red hat developer slipped into GCC now or something?

32f8eb  No.16148576


Andrew Pinski introduced this crap for signed integer overflow (which broke a shitload of overflow checks in 2007, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=30475 ), though interestingly enough that was in GCC 4.1. My 4.9.4 does not exhibit this behavior (even at -O3), so my best guess is that it got reverted and then reintroduced in GCC 5. You can test whether you have this idiocy with the following program:

int x;
for (x = 0; x < x+1; ++x);
return 0;

If your GCC is retarded, this will compile to an infinite loop.

bf760e  No.16148659

File: 733bd6bd5ce7d58⋯.png (1.76 MB, 2042x3258, 1021:1629, company drone nigger.png)

File: 7304e8b8c7f10ea⋯.gif (1.64 MB, 400x300, 4:3, [Eurobeat_stops].gif)


Yeah something funky is going on, when I add the #include <stdio.h> and add the printf("pizdec"); call before the int x gets declared the printf doesn't even get called at all, the console just gets stuck. My GCC version is 7. So from what I can understand from this code is that its supposed to actually just loop once since when x gets compared to itself plus one more, then it should stop at the first loop cycle already which does not happen. I also tried now with GCC 4.8 and even with this -fwrapv flag enabled it doesn't work for me.

I tried to research a bit who the hell this guy is and apparently he has (indirect) business with fucking Red Hat. There is no direct mentions of Marvell working/supporting Red Hat but apparently they are using it? Fucking retarded company drone nigger, of course his damned company just has to conduct business with Chinks, Pajeets and Jews no fucking wonder.

32f8eb  No.16148682


>So from what I can understand from this code is that its supposed to actually just loop once since when x gets compared to itself plus one more, then it should stop at the first loop cycle already which does not happen.

Not really sure what you're trying to say here. If signed overflow is well-defined (so with -fwrapv and on old GCCs), the code loops until x hits INT_MAX, at which point x + 1 wraps around to INT_MIN so that x < x+1 is false and the program terminates.

With the dumb optimizations, the compiler sees that x < x + 1 is impossible without invoking undefined behavior, concludes that the loop cannot terminate, and replaces the entire shebang with an infinite loop.

>I also tried now with GCC 4.8 and even with this -fwrapv flag enabled it doesn't work for me.

That's really weird, are you sure you did everything correctly? I don't exactly want to build an old GCC for two hours to check.

sage for not really gamedev anymore

169833  No.16148684





The compiler assuming undefined behavior does not occur is completely reasonable. Stop trying to outsmart the compiler and work within the rules of the language.

>Yeah something funky is going on, when I add the #include <stdio.h> and add the printf("pizdec"); call before the int x gets declared the printf doesn't even get called at all, the console just gets stuck.

Because printf doesn't flush.

32f8eb  No.16148686


Yeah haha if you don't want to get hacked just patch 20 million lines of code on your system that were written in the nineties. GCC has benchmarks to win, can't care about something like the real world. Hi Andrew.

169833  No.16148699


>Yeah haha if you don't want to get hacked just patch 20 million lines of code on your system that were written in the nineties.

Good thing that the ANSI C standard was already around at that time. So we can, without a doubt, blame the code for not following the standard that was already set in stone.

>GCC has benchmarks to win, can't care about something like the real world.

Literally use the previous version of the compiler or use flags that revert it to the old behavior.

GCC isn't a fucking subscription service. Those old versions are still there for you to use.

Relying on undefined behavior is a bug.

If you want to rely on a bug which honestly is something that you unfortunately have to do in the real world, you can just continue to use the same fucking version of the compiler. Do that. Don't blame newer versions of the compiler to not reproduce the same stupid bug, or else we'd be stuck with the same garbage for eternity.

32f8eb  No.16148716


I don't get you. The spoiler shows you clearly understand that doing this is retarded. The majority of C programmers don't even know signed overflow is undefined, let alone shit like strict aliasing. Nothing in the real world is written in 100% compliant C because the standard generalizes theoretical implementations rather than specifying a useful language.

What exactly is the value of a compiler that only compiles programs correctly if they were written by a platonic überprogrammer who is likely also a perfect sphere, but tells you to go fuck yourself if you make one mistake in the minefield that is C? This is a textbook case of ivory tower faggotry, which is ironic considering the language. The value of this compiler is theoretical. The damage it causes is real.

>Those old versions are still there for you to use.

The GCC devs actually disagree with this. Minor point, but still worth pointing out.

bf760e  No.16148719


>That's really weird, are you sure you did everything correctly?

My bad it actually does work with this flag enabled, it seems to take a little bit longer for the printf to appear and the standard exist message. I assumed this whole program would do it in a instant considering the major call is just a single for loop. I tested this flag with gcc 7.3.0 (Ubuntu 7.3.0-27ubuntu1~18.04)


>Stop trying to outsmart the compiler and work within the rules of the language.

Except for this particular code not even a single warning message gets produced with those flags enabled: -Wmain -pedantic-errors -Wfatal-errors -pg -g -W -Wall -fstrict-overflow -DNDEBUG . Which if its a undefined behavior shouldn't it produce at least 1 warning message with -Wall enabled?

169833  No.16148840


>I don't get you.

I've worked in embedded, where various forms of undefined behavior, like breaking strict aliasing, flat-out crash the system.

>The majority of C programmers don't even know signed overflow is undefined, let alone shit like strict aliasing.

That does not matter.

Because of how huge programming languages are, there will always be aspects of it that people don't know or understand.

At some point, a decision has to be made. Signed integer overflow could be defined as a wraparound, but it also could've been left undefined. Both choices are "weird", but the latter one makes more sense if you consider signed integers to just be integers, rather than the very specific two's complement wrap-around implementation of it that you assume they have.

Don't forget that the C language is meant to work for pretty much every platform, including platforms where char could be 7 or 9 bits, signed integers are one's complement, or floating point operations are done using 80 bits of precision except if you're using the competitor's CPU with the same instruction set, then you get 64 bits of precision. The language design decisions were made to accommodate these differences, in the hopes that code written for one platform would produce the same results for another.

>What exactly is the value of a compiler that only compiles programs correctly if they were written by a platonic überprogrammer who is likely also a perfect sphere, but tells you to go fuck yourself if you make one mistake in the minefield that is C?

You're over-exaggerating the complexity of writing C code.

If you write code for C assuming it is an abstraction of a ton of very differently functioning architectures, you wont be a cheeky piece of shit that tries to rely on edge cases like signed integer overflow.

If you have any doubts, google it. There's a stackoverflow on every aspect of the standard.

When you get to embedded&kernel land, the behavior of GCC here is very reasonable. C code is written to support a large variation of architectures that behave very differently. You cannot sanely expect integer overflows to behave identically on all platforms, but you can sanely expect the speedup from leaving it undefined. And that speedup might make it possible to use a cheaper variant of a chip in a product and save a ton of money.

>The GCC devs actually disagree with this. Minor point, but still worth pointing out.

You also disagree with the GCC devs on how to handle undefined behavior, and I disagree with them on other issues.

Look, I know you just want to tell the compiler to do very specific things. But the best advice I can give you is to not do that, and instead write down code that does what you want in the simplest terms with no space for misinterpretation. This not only makes it easier for the compiler to optimize and avoids almost all undefined behavior, but also makes your code more readable and maintainable.

Don't treat C as a close-to-the-metal language. Treat it as the abstract machine that it is. Assume its internal behavior to be arcane, and don't take shortcuts in trying to explain the compiler what you want.


>Except for this particular code not even a single warning message gets produced

Code being optimized away does not warrant a warning.

Secondly, most of the cool warnings you get are extra compiler features that the compiler developers add. They are not going to waste time writing warnings for issues that do not commonly occur. The case provided earlier is definitely not a "common" case.

32f8eb  No.16148952


I know why C made these decisions. They even make sense, assuming that the implementation picks up the slack in the concrete case. GCC does not. Does it make sense that a program that invokes signed overflow is compiled to a program that doesn't wrap around on an architecture where signed overflow wraps around? You know as well as I do that this is neither how C came to be nor what the standard authors had in mind.

>You're over-exaggerating the complexity of writing C code.

You have never written a correct non-trivial C program that relies exclusively on what's in the standard. This goes doubly so if you are working in embedded. Speaking of embedded people, let them enable this stuff manually if they want it. Don't enable it by default because a broken program is worthless even if it's broken very quickly.

>You also disagree with the GCC devs on how to handle undefined behavior, and I disagree with them on other issues.

Please spare me this dishonest bullshit, the GCC devs decide which versions get bugfixes and stay compatible.

>The case provided earlier is definitely not a "common" case.

Did the part where this affected shitloads of software in '07 pass by you or something?

What kind of reality warping field are you in, man?

7b4809  No.16149095

File: 661c94d91137131⋯.png (28.51 KB, 510x778, 255:389, shit.PNG)

File: cee73b83b37400d⋯.png (89.9 KB, 875x807, 875:807, tumor chad.PNG)

I've started following a character modeling tutorial and got lost too much into detailing the face. Though I haven't browsed the tutorialspace too much, the method I'm using seems shitty and inefficient. So what's the best tutorial for character modeling?

925400  No.16149133


Man, this has got to be some of the worst topology I've ever seen.

7b4809  No.16149146


I've literally just Ctrl R'd to oblivion. Help me, dude.

7e9615  No.16149198


Oh boy. Oh boy oh boy.

When making heads you have to take into account two factors: geometry (the actual artwork) and topology (the arrangement of polygons). It is best to separate the two. First, use sculpting tools to make a head, without caring about polys. After you've made something you like, you can use topology tools to manually make poly loops that conform to the artwork. Don't try to make both together, that's going to end up in a mess.

The tutorial you're following seems outdated. Modelling organics these days is all about freeform sculpting. Retopology can come later. If you're just learning modelling, make something more angular, like a scifi ship, not a fucking head.

7b4809  No.16149243


No need for panic, I've realized that I'm doing a horrible thing by abusing edge loops but wanted to see how far I can go without stopping. I've watched Oney model a chimp for a few minutes a couple of weeks ago and I think he used the method you've mentioned.

>Modelling organics these days is all about freeform sculpting

That's including animals? I just wanted to fuck around and eventually make a small low poly knight so I used this. Are there any videos you'd recommend?

7e9615  No.16149299

YouTube embed. Click thumbnail to play.


Arrimus 3D does good modelling vids. In the embed he shows the method I'm talking about, though he uses Zbrush for sculpting and 3dsmax for retopo. Skip to about 9:00 to see the method. This is what I used on my own experiment (topo.png).

Very low poly would not need sculpting, probably, but with something as complex as the head you posted you're starting up wrong. I've never used blender but a quick search shows it does have sculpting tools. Check out ear.png, it's a good example on how low poly can come from high poly sculpture.

7e9615  No.16149303

File: 5cbca2c134e3929⋯.png (63.09 KB, 608x712, 76:89, ear.png)

File: 7b21dc8ae64ca75⋯.png (373.76 KB, 1920x1040, 24:13, topo.png)


embeds and uploads are incompatible, apparently.

7b4809  No.16149365



Thanks, I appreciate the help. Gonna do some more beginner modeling tutorials and try out the sculpting stuff afterwards.

a41d3f  No.16150002

What's a lightweight DAW/audio editing program? I need to splice some sounds around. I never liked Audacity, but is that the go-to tool?

7e9615  No.16150020


Yeah, Audacity is popular among the FOSS. I've recently heard about Lmms too (it looks good!), but have never tried it.

Regarding paid software, you'll get different answers, but FL Studio often wins the popularity vote among professionals and enthusiasts alike. Starts at 99 USD.

58c18c  No.16150034


Audacity is very good for sound recording and minimal sound editing. When you get into more serious sound editing people tend to use Ableton Live or FL Studio. Audacity is so universal because it's been around forever, runs on any system, has an OK feature set, and because of it's age has a good number of plugins.

306f95  No.16151048


>Modelling organics these days is all about freeform sculpting

even anime?

39dd86  No.16151571


It's messy but it could be way worse.

e33834  No.16152379

What do you want to see in a shmup? What can be done to make a shmup better than other games in the genre?

7a6dbd  No.16152495


Add lots of cute ships

f206b8  No.16152682


>What do you want to see in a shmup?

Something to affect scrolling speed

086ed7  No.16152765


you can sculpt anime, but the usefulness of it depends on what style of anime you're talking about.

e33834  No.16152809


Lots of cuteness and enemy variety is planned.


What would be the benefit of this? Controlling the difficulty?

d1ffa6  No.16152827


Branching paths, either on a world map or in the level itself. Also, npcs that fly and shoot with you and react to the level.

e4729b  No.16153103

File: 74f734ae84f80e8⋯.gif (277.33 KB, 713x533, 713:533, chefbot_dialog.gif)


Thanks for the tips, anon. Some of the most useful advice I've gotten so far.

I've got some generic (skppable) dialog going now too. Text obviously not final

f94a4d  No.16153139

Just found this place, how's it like here?

5c4922  No.16153158

File: 94cfae1b70411d9⋯.png (308.69 KB, 1411x816, 83:48, arms.PNG)

So the sculpting thing is nowhere near as hard as I feared it would be, it legit kind of depressed me thinking I wouldn't crack it.

I have a question though - the elongated spheres in the back are objects I planned to attach as arms and legs but the long rectangles react really badly to brush deformation. Is unifying objects not possible and do you have to go the long way about it? Am I doing something wrong? Cause I really don't want to model hands and feet from the scratch.


ty fam

7e9615  No.16153165


This place is the nicest, most friendly of all 8chan, surpassing even /christian/ in it's positivity. However, honest feedback won't hold punches, so having a thick skin is a necessity. Weakness of character is the cardinal sin here, but humble progress posting is cheered on.

7e9615  No.16153175


Nice stash.

>long rectangles react really badly to brush deformation.

Can't you just subdivide the spheres prior to sculpting? One common strategy is to make a very basic poly with the basic volume and sculpt on that.

f94a4d  No.16153191

File: 7e27738d596bd9f⋯.png (281.1 KB, 1080x1920, 9:16, 1550855345027.png)

File: 75c1f5173734989⋯.png (187.04 KB, 1433x341, 1433:341, the bad news.png)


thanks for the heads up, I've been looking for a place to go to as it seems that hiroshimoot is gonna really fuck up 4chan now. Obviously 4chan /agdg/ will also be hit.

Also, is this place semi-active? I've gone to the 8ch /vg/ agdg and they post about once per few days, while the /agdg/ board is a crawl. Sorry for all the questions

e33834  No.16153235


If I made an RPG, I'd give it an overworld and shmup combat, but I'm making this a pure shmup. There will be multiple scenarios but branching paths are not planned.


You think 4chan wasn't bad enough before? Only now it got too bad for you? 8chan has a lot of niche boards which are slow but high in quality. This is the fastest place you'll find discussion about game dev on 8chan.

5c4922  No.16153242


That solved it. Did that before and the faces got all fucked up when they interacted but I gave it more care and attention this time and it seems to be working out.Thanks.

7e9615  No.16153264


This place is pretty active, but 8chan as a whole is smaller than halfchan. These threads are the main place, and /agdg/ is more like devblogs (it's pretty dead). This is the first I hear about a /vg/ agdg thread.


Your sculpting looks good. Looking forward for your retopo efforts.

8bf72c  No.16153306

File: 70d6956093a3a69⋯.png (405.02 KB, 1147x646, 1147:646, l0xl43b5.png)



Enjoy your stay for 1 day or so until you realize it's literally nothing like always and go back.

f206b8  No.16153350


>What would be the benefit of this?

Going fast. Give a time bonus at the end of the stage. Maybe also give a bonus based on the precentage of enemies killed (or just a flat bonus for killing all enemies) so the player has to figure out how to go as fast as possible while still killing everything.

Unrelated to scrolling speed, save score as currency when player gets a game over or beats the last boss; and use the currency to unlock ships/characters, weapons, etc.


>Features with 4chan pass

>Post a thread/response

Holy shit, i thought they "merely" added accounts, i didn't know it's outright SomethingAwful now.

e33834  No.16153630


One of the goals is to never have a quiet moment in the game. If enemies are killed too quickly, more should appear. Enemies currently drop score items that can be picked up. There's a score bonus for killing enemies but not for killing all of them. Giving a bonus to killing more enemies sounds like a good idea. Maybe the score for killing an enemy can increase each time.

>Unrelated to scrolling speed, save score as currency when player gets a game over or beats the last boss; and use the currency to unlock ships/characters, weapons, etc.

There's probably going to be unlocks but they'll have to be done in a way that makes replays possible to balance.

965025  No.16153761


>This place is the nicest, most friendly of all 8chan, surpassing even /christian/ in it's positivity

That isn't really a big accomplishment when /christian/ is a passive-aggressive shithole run by a (((Discord))) clique who don't understand basic ideas like reaction images.

5c4922  No.16153940


Thanks. I really hope it isn't as tedious as it seems to be.

7e9615  No.16153980


I found retopo to be a comfy thing to do. Look at the video I embedded. It's nice and easy.

7f6d81  No.16155536

File: 2d68970cf2623fb⋯.png (77.49 KB, 722x549, 722:549, 2019-02-23-051518_722x549_….png)

Why haven't you started writing your own engine?

72ca9e  No.16155574

File: 79599481b8c8ac6⋯.png (16.47 KB, 417x256, 417:256, sigma2_2019-02-09_01-19-17.png)

File: 7e5b338f40f40b4⋯.png (9.82 KB, 384x191, 384:191, sigma2_2019-02-09_00-55-40.png)

File: 3d41d7e98c9574b⋯.png (16.15 KB, 417x243, 139:81, sigma2_2019-02-10_03-30-42.png)

File: 420e24180f5f896⋯.png (10.33 KB, 417x178, 417:178, sigma2_2019-02-16_21-55-36.png)


Already working on it, here are some of my validation layer errors.

7e9615  No.16155610


How do you manage the complexity without madness?

72ca9e  No.16155628


It takes a while. Writing Vulkan code is really paralyzing because of it though. I seriously can't hold a complete model of what's happening in my head and I'm only really beginning to get the kind of memorized, mental model of it all that you really need to have to be able to think about this system at a high level.

Most of my code is commented out, thousands of lines of dead code, I'm rewriting everything, and i'm almost there. But it's making more sense to me now, I can think about what I'm doing. Programing this thing is like constantly realizing that there was some other, massively complex component that I forgot about, that changes everything that I thought I was doing. But lately I've been doing better with it. Probably will be able to post real results soon. I just have a bug in my geometry shader that i'm trying to figure out. After that I should have visual results to post.

7f6d81  No.16155649


>What sort of game

Space rts

>What sort of camera


>What sort of selection


>What you're proposing might be the most over engineered solution to selection I've ever heard of (short of checking every vertex).

It turned out to be a bit simpler when I realised having compute shader subpasses makes no sense, so I just have another renderpass/subpass where I draw my selection rectangle, and any pixels tested in my entity id buffer during the frag shader gets marked as selected. Yes its probably very overengineered anyway but I don't like it when I click next to a unit and it selects the unit and a little bit is just trying to stretch my legs in vulkan


>Wasting GPU power on it

This is actually very, very cheap. Drawing geometry and drawing my selection rect will be things that happen anyway, I'm just using them to tell me what actually falls within the selection rect.


>bug in my geometry shader

I kept reading that geometry shaders are perf destroyers, what are you using it for?

72ca9e  No.16155683

File: 15d85c561dcfa2b⋯.png (6.33 KB, 390x159, 130:53, qrenderdoc_2019-02-23_00-0….png)

File: 811e8b74d382545⋯.png (15.76 KB, 618x355, 618:355, qrenderdoc_2019-02-23_00-0….png)

File: e4ce5c36f6fc187⋯.png (12.85 KB, 554x354, 277:177, qrenderdoc_2019-02-23_00-0….png)


Just putting some text on the screen, as long as it's less of a performance destroyer than sending too much data over the PCIe bus then it should be an improvement. Basically I send 64 bits per char, and a matrix, this is much less data then actually constructing all of the vertices, texture coords, etc. on the CPU. (that would be 256bits per char).

Anyway the issue here is that i'm trying to multiply the vertices by this matrix I have, but instead of getting what I want, I get this garbage. The first vertex is supposed to be (-0.9,-0.9,0,1), something along those lines, but instead of that I just get this, basically the geo shader is suppose to generate a perfect 1x1 square starting at the position outputted by the vertex shader. Not an issue with the matrix being transposed wrong, its something weird and i'm really not sure what it's all about. The shader is just doing stuff like this:

vec4 tmp = gl_Position;


gl_Position = tmp * hud_data.m;

It's really, very strange.

16bcc7  No.16156584

File: d5d24f30b57ac29⋯.mp4 (4.16 MB, 800x600, 4:3, 2019-02-23 14-37-14.mp4)

one small feature at a time

UI was an absolute mess because i originally made it work with pawns in mind and not inventory components

16bcc7  No.16156871

File: f0de0b9928677d7⋯.mp4 (13.13 MB, 800x600, 4:3, 2019-02-23 16-44-35.mp4)



6d72bc  No.16157342

File: 93d1e4dba29c958⋯.jpg (9.51 KB, 255x255, 1:1, feed_plz.jpg)

What code language to start with

e4729b  No.16157361


Depends on what you want to start doing. If gamedev, maybe play with Unity + C# or godot + gdscript (basically python).

8bf72c  No.16157363



6d72bc  No.16157379


C# or gdscript? Good to know. I was going to pick up some books. I hear python is good for beginners but maybe I'll snag a C# book.

16bcc7  No.16157391


learning from books is for fags and nerds, video tutorials are objectively better

e4729b  No.16157504


I personally started with python, but I didn't learn how to utilize OOP until I switched to Java (basically C#) which treats everything as an object. Once that clicks you can switch over to any language with ease

6d72bc  No.16157516


>not using both and learning to code a tree outside

You will see the superiorness of my big brain. you will see

I like using both

2e90ff  No.16157572


>pajeet thinks typing what some soyboy on youtube typed is learning how to program

I think it's pretty obvious from the number of people that post here "I was following a video tutorial and didn't know what to do after it ended" that the target market for video tutorials is people who have no business programming. Read a fucking book.

16bcc7  No.16157605


experience by trying to copy someone's work > pretending to understand what some words in a book mean

bc42c2  No.16157647

File: 99c3e21f290ad3d⋯.png (1.2 MB, 2400x1920, 5:4, render.png)

File: 75f2d578c99ec23⋯.png (81.07 KB, 960x540, 16:9, render_old.png)

File: 7d362d0e1b31a05⋯.png (2.97 MB, 4800x3840, 5:4, render.png)

File: 8820fdeafa14d92⋯.png (1.63 MB, 4800x3840, 5:4, render_old.png)

Redid the Granite Grinder and Docks.

>tfw you keep forgetting it's faster to use boolean modifiers in Blender than to stitch things by hand

>tfw your chrome shader looks better in editor preview than in render



Only that he didn't ask for tips and that it's a bit obnoxious.


C# because it's relatively easy and your experience is relevant in the software industry if you want a job out of it.


I think books are a waste of money, personally. I've never seen knowledge in a lrn2code book that justified the purchase, unless we're talking advanced technical manuals on how to design and patterns to use with systems at mega scale, etc, which are a different matter.

2e90ff  No.16157677


I see that struck a nerve. Books have examples to copy too, they just provide much more detailed explanation which retards like (You) can skip to benefit just as much from as videos. In context of the question even beginner books are better than videos because you're going to have to start reading about the language eventually so you had better get used to it.

6d72bc  No.16157687


I'll look up some stuff online and see what I can find.

I kinda wanted to make something texted based. I've always liked the level of interactivity you can get with them. Thats not to say I wont go farther but it would be fun to mess with. I'll check out the C# stuff then.

16bcc7  No.16157703

File: 3cc86809c1eeea6⋯.jpg (29.05 KB, 872x844, 218:211, unidi.jpg)


seeing someone do something is far better than being told what to do and wondering why it doesn't work

da96d8  No.16157738


Some people need the practice to get a feel for something. Honestly both ways are useful.

6d72bc  No.16157752

File: 2f2f3e6811c959c⋯.jpg (33.8 KB, 270x398, 135:199, assdfg.JPG)


We all learn different anon there is no need to fight.

086ed7  No.16157768


interactive online courses offer the benefits of both, as an alternative.

bc42c2  No.16157797


If you're doing C#, consider the MSDN. It's already an encyclopaedia and puts other languages' documentation to shame. It's probably one of the strongest features of .NET development and often has up to three or more examples per page for a concept.

add8bf  No.16158220

File: 95a62aeba7d7043⋯.png (89.24 KB, 353x332, 353:332, questionblinikot.png)

Is there a point when details in the sculpt become redundant? Like etches, and such.

What's the general opinion on automated retopology tools like Instant Meshes?

e11d31  No.16158386


LMMS is unstable as fuck, even on Linux. Audacity is pretty robust. Pirated FL Studio is my personal favorite. I made this in it (along with Synth1 VST):


Problem is, I can't use it on GNU/Linux, so fuck making music. It's not like my game is ever getting finished anyways.


I can't help but feel like there could be some more retard-friendly way to make a Vulkan renderer (maybe even something like visual programming/GUI system to help keep track of all the fucking dependencies and get rid of the boilerplate; maybe setting values for a struct is just selecting a value out of a drop-down menu or some shit).

I've been playing around with another memelang called Terra, which is based on Lua.

>C-like low-level language with manual memory management

>can be both compiled and run in an interpreter

>C compatible

>can be metaprogrammed with Lua

Experience so far:

>Compiles faster than C++

>Metaprogramming/compile-time capabilities are insanely powerful

<Metaprogramming results in indentation hell

<Error messages are opaque as fuck

<Can't import some C macros

<Wish it had C++ references and const

So far I've managed to write a massive pile of spaghetti that takes a Lua table like this:

properties = {
deviceType = {
limits = {
maxImageDimension2D = {
mode = "add"
features = {
samplerAnisotropy = {},
multiDrawIndirect = {}
extensions = {
VK_KHR_swapchain = {}
queue_families = {
graphics = {
present = {
special = {
["GLFW"] = {};

And converts it into a messy function that can be used to select a Vulkan physical device using a scoring system similar to Overvoorde's tutorial.

72ca9e  No.16158442


>I can't help but feel like there could be some more retard-friendly way to make a Vulkan renderer

Have you looked at AMD's VK-EZ library?


I don't know the details of your language, but, as long as it works. It looks like you've just started, that kind of code, won't need to change ever basically, it's just when you start with your descriptor sets and pipelines and stuff. So, good luck! I hope that you can get far with it.

e11d31  No.16158460

File: 7baff35ad0be4ed⋯.webm (755.29 KB, 569x320, 569:320, triangles.webm)


This satisfies my autism greatly.


I'm actually the anon who was talking about multiDrawIndirect last thread. I did actually end up writing a C++ renderer that rendered multiple triangles using commands, vertex, and instances all from GPU memory (with different per-instance data), but I didn't go far beyond that and instead decided to rewrite everything for probably the 10th or 11th time, but in memelang.

7e2c74  No.16158695

File: c9f35c322d7601d⋯.png (712.4 KB, 1001x729, 1001:729, fuck.PNG)


Tried out manual retopology in Blender just now (badly positioning every face and vertex) and it made me want to give up because of how fucking tedious it was. Then I revisited your video and upon digging a bit realized that Blender too has a mode where you attach the positioning to the surface. Will test it tomorrow.

I'm guessing pic related is awful? Cause it feels awful. What are some guidelines for retopology? I only know of the 'always use rectangles' one.

7e9615  No.16158764

File: ba776375fb4a391⋯.png (344.44 KB, 744x688, 93:86, retopo2.png)


>positioning every face and vertex

What? Did you even see the video I embedded? The sculpt is like a mold and you'll make a new mesh by drawing polygons that conform to the previous mesh. You don't retopo by moving around the sculpt's vertices.

7e9615  No.16158773


Look up "3D face topology" for some images on what good loop arrangements should be, and learn whatever Blender's retopo tools are and how to use them.

7e2c74  No.16158792


I was using an overlay mesh, dude, it's just hard to see. The video you've attached showed use of a different software so I just skimmed a bit which was a mistake. I'm new so I'm checking loads of videos, one of which showed manually adjusting the mesh over the model, rectangle by rectangle. That's the one I followed.


Yeah I'll do that but later. Being an idiot about this drained me.

68dfb2  No.16158795

File: 7c9e6d8fc04df55⋯.jpg (71.65 KB, 1200x424, 150:53, 7c9e6d8fc04df5532b4041025f….jpg)


As >>16158764 said, you create a completely new mesh on top of the old one.

1. Create new, separate object

2. Enable snapping

3. Set snapping to "snap to face"

4. Create a new mesh that conforms to the old ones shape (i.e. completely disregard where the old one has its vertices and edges, hence the snapping to faces part)

5. Use automatic symmetry/mirroring, if applicable, because it literally halves the amount of work you have to do

6. Work in edge selection mode to extrude quads rapidly

7. Only switch to vertex selection mode for minor touch ups every now and then

8. Don't beat yourself up over it. Characters and animals are the most difficult discipline of 3d modelling.

7e9615  No.16158820


Your retopo mesh is too dense in polys. Keep it simple.

bc20e1  No.16158861

File: cdb8892a92fb80a⋯.mp4 (158.4 KB, 320x320, 1:1, maybe_i'm_getting_there.mp4)

Looks like shit, but maybe I'm getting somewhere.


e11d31  No.16158871

File: a273ca117c95096⋯.webm (6.78 MB, 1280x720, 16:9, Hyde_Tech_Tips.webm)

7e9615  No.16158931



965025  No.16159082

File: 247d5d0fe5adcef⋯.png (447.23 KB, 600x500, 6:5, be happy to be alive.png)

If any of you fags are working on Godot games/shitposts, you could get it featured in Godot's showreel thing.

Are you proud of your game (published or work in progress) and would you like us to showcase it in Godot's 2019 showreel? Please send us a short video (10-15 secs) for us to include it!


If your game can scale resolutions, please submit a 1920x1080 video (or 1280x720 if not possible)
If your game is pixel perfect, then send the video at native resolution

Attach the video in a mail to contact@godotengine.org. Don't forget to include the title of your game!

Submissions close in March 8!

ecf1b0  No.16159130


How about making a showreel for /agdg/?

7e9615  No.16159146


Don't think were there yet, unless you're cool with >>16158460

e11d31  No.16159149

Ok is anyone familiar with how an executable gets loaded into RAM? Is there a deterministic way to get the address of a global variable at compiletime?

e11d31  No.16159165

bfe2e9  No.16159215


I know that feel. Even compiling with -Wall won't save you because usually it comes down to a memory management issue. For some reason optimised code crashes easier if you delete something twice, or access deleted memory.

bfe2e9  No.16159296

File: 763ba63997ab81b⋯.jpg (94.54 KB, 667x598, 29:26, Memoryeditortutorial2.JPG)



Depends on the OS. You can do it with Windows. There's a lot of programs which can hook into an application's memory

e11d31  No.16159339

File: a31ead1f3bee81f⋯.webm (5.73 MB, 569x320, 569:320, ROSS - Dress for Less.webm)


>Microsoft's Windows Vista (released January 2007) and later have ASLR enabled only for executables and dynamic link libraries that are specifically linked to be ASLR-enabled.

ef6a62  No.16160097


As you have already seen, ASLR will fuck this up. It's in theory possible if you statically link; static binaries usually have a completely fixed address layout and due to implementation quirks ASLR is usually not available for static binaries. But you can't fully statically link with glibc (because lol Drepper) and I'm pretty sure you can't statically link Windows' libc either (for technical reasons afaik, but definitely for license reasons).

More importantly, why do you need this info?

169833  No.16160117



1. Then disable ASLR.

2. What are you doing that the usual &globalVariable doesn't work for?

bc42c2  No.16160702

File: 09933e9ca65df40⋯.png (1.51 MB, 1150x720, 115:72, Proto_Granite_Grinder[2]_w….png)

File: 240a48a510a3d0c⋯.png (3.95 MB, 4800x3840, 5:4, render_prototype.png)

Hope everyone's having a good AGDG sunday.

I found a bug in .blend file appending; the object imported OK, but was invisible and unselectable. Had to mess around with object visibility for half an hour to get the imported object to appear. Finally it appeared when I focused on it with the '/' key. Frustrating, but I guess it's only a beta. Also, crashes out the ass today and Windows decided to close applications at its leisure because it was low on memory.

Otherwise decided to model up an unreleased LEGO prototype version of the Granite Grinder because it has a goofy sort of pimp walk look to it and makes me laugh.

You can download it here if you want to judge my shit for some reason or are interested, since it's not a serious one. https://volafile.org/get/B-lK7dU_ZtTBG/GraniteGrinderPrototype.rar

2b9b01  No.16160725


>I've never seen knowledge in a lrn2code book that justified the purchase




Go here >>>/pdfs/315

ctr + f whatever language you're looking for, there are plenty of books on python/c#/java

If you have space on your HD to spare, I would go ahead and save some books on C++ too.

You might not use it at the start, but later on you might decide you want to try it.

16bcc7  No.16160748

page 13, new bread


















169833  No.16160847


rip gay bread

you wont be missed

72ca9e  No.16160855

169833  No.16160866


thx for edible bred

7e2c74  No.16161064

Blender fags, I need help. I think I made a mistake using a cube for sculpting (a foot) cause my brushes are now going schizophrenic. Apparently they either add or subtract based on which plane they're on, which considering the cube is now a mush is a problem. I'm making indents and bumps with a single stroke and I don't know how to fix it.



Alright good stuff. Thanks guys.

[Return][Go to top][Catalog][Nerve Center][Cancer][Post a Reply]
Delete Post [ ]
[ / / / / / / / / / / / / / ] [ dir / bmw / dempart / his / leftpol / marx / wmaf / wmafsex / xivlg ]