New Reply
Name
×
Email
Subject
Message
Files Max 5 files50MB total
Tegaki
Password
[New Reply]


Next event: Demo Day 8/8


2020-04-27_03-34-07_(1).mp4
[Hide] (2.7MB, 1280x720, 00:13)
Post what you're working on.
>>123 (OP) 
Man that looks like it has some serious potential.
Replies: >>127
2020-04-30_16-14-36.mp4
[Hide] (4.9MB, 1280x720, 00:24)
>>124
demo day soon
Replies: >>130
Wrote a program to compile my game. It spawns a subprocess for each file. If each file is done and there's no errors, it links them. It's a lot faster than compiling one file at a time. Highly recommended to anyone that has a large C/C++ project.

Getting ready for demo day.
Replies: >>130 >>149
>>127
The scale of this looks staggering.

>>129
You mean a makefile? GNU make already does all of that and it also checks if your code has any updates to see if it's worth compiling.
Replies: >>131
>>130
>You mean a makefile? GNU make already does all of that and it also checks if your code has any updates to see if it's worth compiling.
I don't like Make and feel comfier using a custom script.
Replies: >>132 >>149
>>131
What's wrong with make?
Replies: >>133
>>132
After setting up a more complex makefile myself I can say that it's not fun to learn. It's extremely logical, but also so alien to other programming languages to the point where it's almost like relearning how to code. It also has some short comings. For example, I wanted to make all my C rules depend on all files within the directory so if I cahnged any files within that same directory it would have to recompile that script. However, I couldn't really find a way to do this since I wouuld have to do something like %.o : %.c ${dir $< ... } or whatever, which does not work because you can't dynamically generate dependencies like that.
2020-05-01_23-44-51.webm
[Hide] (7.7MB, 1280x720, 00:46)
AI will still be pretty dumb this demo, but now they can hear your footsteps.
Replies: >>152 >>351
>>129
>>131
that sounds both interesting and impressive anon. have you looked into how ninja works yet? might give you some ideas.
>>147
I really like that silence pistol. It reminds me of the one from n64 james bond. Although the silencer is a bit blocky.
Replies: >>162
2020-05-16_20-07-35_(1).mp4
[Hide] (6.5MB, 1280x720, 00:32)
>>152
thanks, I got that feeling too. I'm fond of the blocky suppressors tbh.
The demo day level is being expanded
mhiSPqj2uO.webm
[Hide] (4.5MB, 1024x600, 00:14)
lasers, alarms, computers
qVkI2Z2U65.gif
[Hide] (708.9KB, 717x320)
First time I post on this site, hope it doesn't die out. Anyway, dunno how much peep there's in this place but it sounds comfy enough to post progress. 

Pict related is the end result of the core engine in C++. I also have a homemade UI and all that thing, I'm not sharing picture of it because I don't have a proper font yet. From here on I'm consider making a game or something. Maybe a rpg, I dunno.

geno sprite is obviously not mine.
Replies: >>166 >>167
>>165
I like that lighting you’ve done in the background. Very nice effect.
Replies: >>174
>>165
Looks nice.
Replies: >>174
>>166
>>167

well that was quick, I'll try to post my relevant weekly update in here(anything visual). Also, if you're refering to the straight line on the light, it's not an effect in itself but just how the rendering works, which is  inspired from:
https://github.com/s-macke/VoxelSpace

in mouvement, it's weird to look at, but not unpleasant I promise.
Replies: >>176
>>174
>in mouvement, it's weird to look at, but not unpleasant I promise.
actually, i like the jiggly physics things going on. just don't go overboard with it haha.
Replies: >>185
ClipboardImage.png
[Hide] (14.7KB, 1309x213)
Brinstar_Tileset.png
[Hide] (193KB, 1024x720)
How does this tileset look? It needs more detail but I'm not sure where/how. I've been using the Brinstar tilesheet as a sort of reference but it's hard to replicate without simply copying it completely. Feel free to scribble/make my game for me
Replies: >>193
>>176
the weird thing is the terrain, not the mouvement. the terrain gets weird due to the level of detail being rather small in range. It forces the game to be a horror game in a sens. Which I'm totally okay with.
>>177
It is good looking and I couldn't do better. But for proper criticism, you need more solid volume. Try going for more defined shape like rectangular prism. I'm looking forward to see you grow. You're in a great start.
Screen_Shot_2020-05-22_at_20.01.33.png
[Hide] (882.4KB, 2272x1468)
output.webm
[Hide] (523.3KB, 2046x1198, 00:04)
I'm trying to do weekly progress reports.
So, since last week:
>Campfire
Developed pipeline how to add objects
>Bus
Damn, it was harder than it looks
>Toilet
For the sole purpose of working toilet door I've added interaction system
>Firs level nemu
>WASD as some anon suggested
Replies: >>202
>>201
did you make your own sprite?
The bus and the tent looks good. Also
Replies: >>203 >>205
>>202
the "also" is a type, ignore it
poster_5.jpg
[Hide] (429.8KB, 740x1000)
>>202
No, I have dude who can paint and willing to work for loolz. And he paints nice posters.
Tent and grass are stolen from LPC.
Replies: >>206
JdkftOa9ou.mp4
[Hide] (668.2KB, 686x438, 00:22)
Here's an update of my shit, trying to post here weekly prevents me from stopping, so here's my procedural UI library from scratch on comic sans with bad lightning.

>>205
You have an amazing artist, hope you guys are motivated t'ill the end.
Replies: >>208
>>206
That is really looking neat, Anon. Any plans to integrate a sprite sheet with different views on the guys as he turns and walks, etc.?

Keep going Anon, we believe in you! :^)
Replies: >>209
>>208
>That is really looking neat
I love you to

>Any plans to integrate a sprite sheet
I can't really draw sprite, in fact, the sprite isn't mine. I'm still practicing my human anatomy on paper. I'm considering buying a tablet or finding an artist who's willing to dedicate his free time on a game that look like that
>with different views on the guys as he turns and walks, etc.?

Right now for any character sprite, I plan on copying paper mario TTYD, so a walk cycle from front and a walk cycle from back. I'm going to test the 360 view with a normal map and a depth map this week just to test if I can get a perfect 3D illusion on this engine. It might make a good demo for finding an intership for the next semester.
Replies: >>211
>>209
You can literally just use your own human-anatomy practises to map out how to create sprite sheets and properly use them within your game. The mechanics of it all, yea? And then your block-out will make things really obvious for when the artist does come along. 

Lay some groundwork now ahead of time.

>It might make a good demo for finding an intership for the next semester.
It just might! Good luck, lad.
Sans_titre.png
[Hide] (134.6KB, 1154x480)
Sans_titr2e.png
[Hide] (41.5KB, 519x354)
barely did anything this week due to uni and searching an intership. I generated normal maps on sprites if provided a depth. Car is not mine obviously. The normals looks a bit noisy compare to the clean depth map. It does the job for now but if it's visually problematic I might look for a better way.
Replies: >>213 >>219
>>212
>The normals looks a bit noisy compare to the clean depth map.
How many rays are you casting? Also, are you doing something to randomize the gather of the normal vectors?

Good job, keep it up lad.
Replies: >>219
output1.webm
[Hide] (599.9KB, 1128x722, 00:11)
output.webm
[Hide] (215.4KB, 970x606, 00:06)
Had an ambitious plan for this week but failed miserably.
But still, weekly progress
>Added hand to indicate interaction
>Implemented walking into water
>Made tutorial for art guy how to make levels.
Last one took a lot of time
gendo1.jpg
[Hide] (19KB, 399x300)
Not sure where else to post this:
What do you think an "anti-Undertale" game would have? By "anti-Undertale" I mean something that doesn't punish you for becoming more powerful at the expense of others, and that isn't overly soft-hearted, but isn't over the top in edge either. I have some ideas as to how this game would work, but I'm curious about others' input.
Is there a cracked copy of Aseprite for Ubuntu?
Replies: >>217 >>221
>>216
>5 seconds search time:
https://github.com/aseprite/aseprite
Replies: >>220 >>221
How does wolfrpg compare to RPG maker?
>>212
On a small update on this: I used to only code on this project when I feel a bit down on life, but as of this week, my whole rendering is broken for good and the project is dead. For anyone who actually believe I could achieve anything with this, I couldn't get one interview for an intern.

>>213
>How many rays are you casting?
around 65k fo the terrain. Anything else isn't raycasted. It's just sprite well calculated at the exact spot and scale and there's a depth texture for cuting part of the sprites.
>Good job, keep it up lad.
nah, it's dead
>>217
yeah i posted without searching first, i'm retarded
was a bitch to build and had to use an old version but it's finally working now
>>216
>>217
How is GraphicsGale compared to Aseprite?
Replies: >>223 >>226
Is Pyxel Edit good? Is it better than Aseprite?
>>221
Seconding. Mostly curious about how the animation compares to Aseprite. Also, fuck Aseprite's faggot devs.
>>221
impressive GET with that poster ID
Replies: >>227
cirno_embarrassed.jpg
[Hide] (111.6KB, 360x425)
>>226
output.webm
[Hide] (30.4KB, 322x292, 00:00)
Screen_Shot_2020-06-07_at_09.57.41.png
[Hide] (120.7KB, 710x484)
Weekly progress
>Added small splash animation
>Continuous integration
Dumped a lot of time to setup actions on GitHub. But now it automatically deploys to itch.
>Pioneress now can do emojis
Hope, CI will payoff in the long run. It took a lot of effort.
Replies: >>229
>>228
>emojis
*Emoji, because they're Japanese.
Replies: >>230
>>229
>Emoji
Thanks I didn't knew they are Japanese.
But dictionary says
>plural emoji or emojis
Replies: >>231
>>230
The dictionary also says that "nationalism" means something along the lines of "excessive patriotism", which it does not. And there are different dictionaries with different definitions. It is listed because enough idiots who don't know better have used "emojis" as the plural form despite that it is uncountable, being from Japan (and the worst thing to come out of that shithole in recent memory).
Replies: >>243
I've had this guilty urge lately to say fuck doing my own 3D engine and just use Unreal.
Replies: >>233
Matsuoka_Shuzo_-_NEVER_GIVE_UP!!_[English]-KxGRhd_iWuE.mp4
[Hide] (2.2MB, 640x480, 00:34)
>>232
Whoa there, Anon. Don't be too hasty tbh.
ClipboardImage.png
[Hide] (159.2KB, 1774x989)
moar sprites
still feels like they're missing something but I don't know what.
Hey /AGDG/ there's something I want to bounce by you guys, because I've been on the fence about it.

I'm an anon who has undertaken the task of making a rewrite of feralpheonix's Uncommon Time, last year. As far as script, I've made a whole ton of progress on that front- about 70% done to be precise.

Lately however, I've been meditating on just what kind of game I'd want to make. I've realized that the Uncommon time Project I've been making is exactly what I want to make. The problem is, I've been getting into Godot, and part of me wants to use parts of the story and go on my own path with it.

I really don't know what to do, /AGDG/. RPGmakerVXAce is nice, but it has the problem I have with most of the entry-level game engines: accessible with some things, but completely asinine if you want to do anything more advanced. The thing is, I'm still learning how to use Godot. I have plenty of programming experience, except that It's frustrating trying to relearn how to program in GDscript. The last time I did game programming was flixel with Actionscript 3, that was years ago.

It wouldn't be too hard for more to reimagine the characters, the setting and the world for what I've made for my Uncommon Time project, the problem is, I would have to redo all the busywork-related assets by scratch. If I do this, I would be able to actually sell the game for money, and not be bound by the requirements of Uncommon Time as an IP.

The flip-side, with just using RPGmaker and hacking my way through with it. I could actually get this project done. I wouldn't make any money with it, and FP could have a reason to get pissed at me, but it would be an actually-done game. At times, THAT is the most important.

I don't know what to do /AGDG/ what should I do?
>>123 (OP) 
https://www.youtube.com/watch?v=O60Pd7bDKQQ

we made a trailer for the project in OP
62eeb6778f8f2545b5ed74eaf50e4f5d7cd7479c0bd5c068e35a606641285d12.jpg
[Hide] (28.9KB, 446x446)
>Start porn game
>It's niche, not fetichistic shit, but niche
>Slowly build fanbase
>Very very slowly
>Depression attacks
>I stop publicly making updated
>In that time my popularity explodes
>But since I'm not around people assumed I abandoned the game
>I didn't, I was working on it, just didn't want to interact with anyone
>mfw I lost my oportunity to ride the wave
Damn it.
Replies: >>239
>>238
are you JackONinedev?
Porn is the easiest way to earn money these days, just make a triumphant return and people will eat your shit up.
Even better, tell your story to your followers and you'l get extra support
also post spoilered samples
Replies: >>240
Spoiler File
(2MB, 1920x1080)
Spoiler File
(1.8MB, 1920x1080)
Spoiler File
(2MB, 1920x1080)
Spoiler File
(2.1MB, 1920x1080)
408305_WhatsApp_Image_2019-08-19_at_3.30.47_PM.jpeg
[Hide] (9.8KB, 228x540)
>>239
>are you JackONinedev?
Nah. I think Jack-O-Nine Tails is a cuck brothel game.
>just make a triumphant return and people will eat your shit up
I really don't want to rip people off or something. The porn game scene is bad enough as it is. There's still people supporting me, but if I continued to post progress and updates I'd have more money now without being a piece of shit.
>Post spoilered samples
I know, >3D gobbos from illusion, but when I started I didn't have a lot of options. I'm learning hot to draw for my upcoming game, both traditionally and pixel art for my upcoming game, last pic related. I'd also love to hire an artist for my other projects, because I really don't want to use Koikatsu, but I just have to. I'd share my profits on patreon, but I don't really make a lot of money.
Replies: >>241
>>240
>Nah. I think Jack-O-Nine Tails is a cuck brothel game.
guy was agdg too

 >3D gobbos from illusion
the style makes things nondestinct. I think I might have seen your game... even a demo, a while ago on 8. But that could have been another guy using Illusion's models
If you feel like a piece of shit about taking peoples money, just make an update to the game. Make it worth their time
though they are coomer degenerates and perhaps should be milked dry instead
Replies: >>242
>>241
>guy was agdg too
I know he was, but that doesn't change how I feel about a game where you only train your waifus so they can be fucked by others, regardless of the option to keep them, it means nothing if the end goal of the game is making money out of selling them.
>the style makes things nondestinct
I know and I hate it. Most people use Honey Select or that new one that came out relatively recently, though. I use Koikatsu because of a more anime style, since I wanted the game to be 2D in the first place.
>If you feel like a piece of shit about taking peoples money, just make an update to the game. Make it worth their time
I already am, I did release an update recently, but it's far from what I wanted it to be.
>though they are coomer degenerates and perhaps should be milked dry instead
I only have 4 patrons so who knows. And I know one of them just pledges out of pity. I wish I could make enough to actually focus on game development exclusively.

Here's a link, if you are interested. I don't have anything behind pay walls because that's gay.
https://mega.nz/#F!0dt01SKR!r5TuTMcYfA1woIdH6JGYcA
Replies: >>244
Screenshot_2020-06-08_at_21.44.30.png
[Hide] (1.4MB, 2056x1202)
Screenshot_2020-06-14_at_20.22.05.png
[Hide] (678.2KB, 2272x1468)
Weekly progress
>Finally made a menu
>Arts guy made decent looking level
>I had to refactor this unmanageable mess with few dozens of objects
On the bright side I was forced to learn to make tiles that are bigger than one tile. 
>>231
I'll keep that in mind
Replies: >>245
>>242
>Ich will
yeah that was what I remember

good luck on the new project, my dude. Hope it will fare better. Don't let depression get ya, the fact you have patrons at all and have people that care for your stuff, even if degenerate, is reason enough not to take the blackpill.
>>243
Looking good, anon, keep at it!
Raycast_reaction.mp4
[Hide] (4.2MB, 1920x1080, 00:08)
I got raycast and damage response working.
Now all I have to do is actually program an enemy AI. Should be totally easy. :^) 


:^(
Replies: >>249 >>266
>>246
Good work. 
>npc ai
Maybe study A* path planning Anon?
https://www.gameenginebook.com/
Replies: >>250
>>249
It's Unity, so I can likely use their navmeshes. If not, then I could make use of A*. Thanks, anon.
Replies: >>266
Screen-Recording-2020-06-21-at-1.gif
[Hide] (231.8KB, 558x442)
Weekly progress
>Implemented dialog system.
It's simple AF, but took a lot of time to figure out.
ClipboardImage.png
[Hide] (47.5KB, 752x554)
working on implementing a basic jump mechanic, the main problem i'm having is I don't know where to put the last block to prevent mashing the jump button for infinite height.
>inb4 fisher price code
i've always hated programming, i've just started working on this for real and it should come on its own while I'm working on it.
Replies: >>254 >>371
>>253
>Fisher-Price code
Is that Scratch? I've always thought it looked like a great approach to teach beginners programming logic. Eventually you'd want to leave the interface behind for simple text itself, but the enforced structure is probably helpful in the beginning when you're just beginning to learn coding I imagine.
Replies: >>255
>>254
it's Stencyl, working on making a metroidvania since there was another guy doing the same thing with the same engine (Ghost Song), but after I started working with it I found out that he switched to Unity about a year ago because Stencyl was too restrictive for him.
Replies: >>256
>>255
Interesting. Apparently Stencyl's design mode that you capped here was taken from Scratch.
>"...The concept of Design Mode as a form of end-user development originated with MIT's Scratch computer language learning environment, and was used with permission for Stencyl."
sauce https://en.wikipedia.org/wiki/Stencyl

If you're still having problems, figuring the the step and can explain what you're goal is in pseudo-code, I imagine that I or others here might be able to help.
Replies: >>257
ClipboardImage.png
[Hide] (54.9KB, 1034x497)
>>256
finally got it, might as well post it for any other nodevs that use the same engine
doesn't account for collisions yet though, so the player can still just walk over pits if they don't jump
Replies: >>258
>>257
Good job. It looks like you can setup fairly complex conditional tests with Stencyl. Have you switched over and looked at it in the text view yet? Keep going Anon!
i think the most daunting challengs for me is going to be creating the sheer amount of artwork needed for the game. programming is actually a very small portion of the work compared to making assets. would it be worth it in the long run to hire a guy purely for art?
Replies: >>262 >>264
>>261
I feel you man. I would've dropped project dong ago if not to highly motivated art guy.
Not that it's necessary or something.
>>261
literally just create shitty stick-figures and put them on sprites as proxies. This will
A) allow you to keep making progress instead of over-thinking the 'muh_arts' meme
B) allow you to keep making progress by going ahead and blocking-out the animations, motion paths etc.
C) allow you to keep making progress.

Did I mention just keep moving forward Anon? Getting hung up on things you have little control over and not just figuring out how to go over, under, or through the obstacle is the single.greatest.key. to failure. Now stop making excuses and get your ass in gear. Time is short.

Keep moving forward.
>>246
>>250

If you're aware of "Unity Learn", there is full course on NPC AI.

https://learn.unity.com/course/artificial-intelligence-for-beginners
Fresh progress
>Working on AI
Damn, it's harder than I thought
>Implemented action list
>Still have no idea how to implement GoToPostion action
Hope to resolve it until next week's report. Also I think I need sensor system.
Screen-Recording-2020-07-12-at-1.gif
[Hide] (88.8KB, 284x302)
Screenshot_2020-07-12_at_13.24.32.png
[Hide] (38.2KB, 478x294)
>>271
My images
Replies: >>273
>>272
Reminds me of Stardew Valley
2020-07-18_05-41-38.mp4
[Hide] (4.6MB, 1280x720, 00:23)
2020-07-18_18-57-00.mp4
[Hide] (935.9KB, 1280x720, 00:04)
We have huge fans
Replies: >>286
>>275
This looks so comfy eerie
Comfeerie
Screenshot_2020-07-28_at_21.31.57.png
[Hide] (60.6KB, 442x510)
output.webm
[Hide] (126.1KB, 432x434, 00:06)
Died for a few weeks but I think, I'm back on track.
>Added icons for actions
>Added GoTo action
>Implemented "Speak" action
>Refactored Doors
>Added first sensor to check if toilet is occupied
>Added "Mine" level, artist was working on for a while
My AI code is a mess. I need to clean it up heavily.
RT-post-rehersal-day1.png
[Hide] (143.9KB, 639x416)
Rehearsal day 1 is complete.

>Notable changes
--New-character Marybelle is now a part of Aubrey and Alto's mini-quest to get Aubrey a legal ID- mostly since, 1. She's his mom. and 2. She's more or less a living-legend in-game. I've got it planned so that act 3 sidequests explore that the "living legend" part is not quite hyperbole.
-Rehersal sequences will be changed to account for Alto's new siblings, Mezzo and Soprano. And unlike OG-UT, shit gets real on rehearsal day 3.
2020-08-05_02-25-27.webm
[Hide] (10.1MB, 1280x720, 01:46)
Containers and shops
Replies: >>300
output.webm
[Hide] (245.1KB, 960x642, 00:09)
>Implemented light switch
>Implemented minecart fall
>Fixed low FPS in mine level
>Fixed collisions in mine
>Implemented light flicker
Replies: >>300
Post-rehearsal-before-metronome.png
[Hide] (338.1KB, 1595x935)
Currently laying down dialogue sequences for cutscenes for rehearsal days two, three and the first performance atop Metronome Tower. Pic related is just before you actually enter Metronome tower.

-I admit, these cutscenes are just as wordy as OG-UT's are. My hope is that my storytelling will be much more compelling and entertaining. If there is a way I can cut dialogue and get the story I want to tell across, let me know, please.
-I want to get things to be at bare minimum, Programmer's-art-level ready. Ideal goal is nuclear teagan, but when demo-day comes I'll release what I've got, then update it once I get to Nuclear Teagan. After that, I wait for the next demo day to release.

>>296
>>298
Diggin' that shit, anons, keep it up!
UTRW-empty-manor.png
[Hide] (114.2KB, 640x418)
Weekly progress update, didn't feel like I did too much, but this is something.

-- Changed an error where the Solfege shopkeep incorrectly refers to the band as "girls" despite clearly seeing Mezzo as a boy two other lines in.
-- More progress done on the front of the rehearsal days.
-- Changed up the music for when it starts snowing in Arpeggio pass, I would like to keep the music track for Aubrey's theme as intended..
-- sporadically adjusted a few portrait choices for characters in cutscenes
-- Mapping for spoiler-worthy-stuff.
-- Rewritten some sequences in the new, empty manor map of Bel Canto (pic related). Old version (and new version when implemented) of the writing are viewable by interacting with three spots while either Saki or Marybelle are in your party. Marybelle joins your party temporarily during the post-rehearsal sequences of day one and two, but not day three.
Weekly report
>Implemented bladder for pioneeres
>Implemented framework for AI
>Fixed collisions here and there
>Added show emoji action
output.webm
[Hide] (302.5KB, 960x642, 00:09)
Progress:
>Added new enemy
>Added AI for it
Framework turned out nicely. I wrote like 5 lines of GDScript to make it work.
>New death animations, thanks to pixel artist
UTRW-polyphony-jail.png
[Hide] (322.1KB, 1193x841)
- Day 2 progress : rehearsal sequence complete
- Day 2 Post-Rehearsal still in progress, dialogue is laid out, cutscene pathing and other event semantics will be continued.
- Day 3 dialogue almost fully laid out.
- Squashed a bug in Teagan's room that continues displaying Teagan from the post-move-in-sequence of Bel-Canto.
- Working on mapping for polyphony's new guard-station/jail.
- Laid out some sparse normal NPC dialogue for the secret-final-arc. Little things that will make everything come together, and are best gotten out of the way now.
- Audio software and tools set-up and ready to start producing. No guarantee I'll actually get to that this month or september. Art will be more important once I get my dialogue progress to act 2.
UTRW-post-rehersal-day2.png
[Hide] (173.7KB, 639x415)
Small update for today. Had quite a few missed dev-days due to IRL getting in the way.

- Day 2 post-rehearsal progress continued. Rewrite of Saki's backstory implemented. New Graveyard cutscene implemented. (pic related)
- Updated raw writing for Act 2 Pizzicato Trail revisit.

Holy shit, Bel Canto's finally coming along, I'M GONNA MAKE IT!
UTRW-Cantabile-manor-2.0.png
[Hide] (392.9KB, 929x895)
UTRW-quote-on-quote-rehersal-day3.png
[Hide] (110.9KB, 635x413)
HOO BOY! I thought I wasn't getting much done this week like last week, but HOLY FUCK! The crunchiest scene in the entire rehearsal set is done. Now, day 3 I unfortunately cannot show much to you due to just exactly what that scene sets up, so you get an angry-stare-Teagan instead.

On another note, due to the logistics required for the upcoming cutscenes, The Cantabile manor has it's front yard trimmed.

-Day 3 Rehearsal cutscene complete
-Day 3 post-rehersal cutscenes have the script implemented,
-Picked out a temp track from Tales of Symphonia- Judgement of Mana, to put in place as Metronome Tower's music.
-Script progress for act 2 updated, specifically, some emotionally-raw moments for waifufags. Gotta have those to make the upper moments all the more sweeter you know.
UTRW-bel-canto-inn-2.0.png
[Hide] (361.9KB, 859x863)
Hey everyone, this update I've felt like I'm made a good chunk of significant progress. Which is nice, because I'm gonna take a little break from gamedev to flex my drawing muscles on a small non-UT project I've been putting off.

Weekly Progress Report
-Added in about half of the day 3 post-rehearsal cutscenes and events. It's a dialogue-heavy day for sure, but I hope the pacing keeps things from dragging on.
-Edited Bel Canto's inn to be 1. more fitting of the high-class-town area, and 2. to accomodate space for new cutscenes. (Pic related)
-Changed Mezzo's class title from rhythmist to percussionist.
-Added in an act 2 boss fight to the debug room. Spoiler-heavy. Ingame, it will be skippable as to prevent what would be a soft-lock for that area.
-Added in in events that store recovery items away during Glissando Arena. Not fully implemented of course, but it should be implemented come the Nuclear Teagan release.

See you the 28th!
LAZ_01-work.png
[Hide] (207.8KB, 400x300)
A got  a bit more on track. So, weekly report.
>Added interactive popups
>Added cockpit
>Made essential buttons work
>Fixed bug with interaction, some anon pointed out
2020-09-24_12-46-22.mp4
[Hide] (6.8MB, 1920x996, 00:21)
2020-09-24_17-01-16.mp4
[Hide] (6.1MB, 1920x996, 00:19)
tme to get wet
Replies: >>322
>>321
>1st video
>water effect

It's particle system or some kind of animation ?
Replies: >>336
Screenshot_2020-09-27_at_20.15.28.png
[Hide] (113.1KB, 1024x768)
Weekly report
>Added energy bar
>Added energy
Weekly Progress Report
- Back from side project dealings. Ended up changing gears to something different than drawing, but no biggie.
- Did some writing for Act 2 and 3, specifically post-party-split dialogue, and Arietta's Uncommon time.

Back in business, time to get shit done.
output.webm
[Hide] (1.3MB, 1280x962, 00:31)
Yeerk's weekly
>AI now can react on Yeerk
I was hoping to also add attack, but unfortunately it stays for the next week.
RT_Saki_Aubrey_SD_sketch.jpeg
[Hide] (78.1KB, 969x719)
Uncommon Time Rewrite Progress

Current Progress report
-Continued with raw writing for act 2 and 3. Getting close to completion.
-Drew some initial concepts for the ex-worm and ex-faggot.

Not much done for the current playable progress of the game, but since I got art to eventually do. Pic-related, is a super-deformed imagining of what the faggot and the worm will now look like:
Sakarias "Saki" Toikka, The wild-man. Auberon "Aubrey" Spica, the faerie-halfing from long-ago. 

this is not the intended artstyle, this is something silly and without anatomy perfectionism so I can show you characters at their most-basic form
Replies: >>328
output.webm
[Hide] (212.4KB, 1280x962, 00:01)
Yeerk's weekly
>Still working on attack
Animation is in place, but no hitbox yet and no mechanism to exit the state.
the_pain_of_vomiting.png
[Hide] (108KB, 640x414)
>>326
Uncommon time Rewrite Weekly Progress Report
-Changed up character class names; only the Cantabiles will have musician-themed class names.
-Continued progress on day 3 post-rehearsal cutscenes. pic related
-Added a reset button for Metronome Tower's pre-boss area to prevent a potential post-cutscene soft-lock.
-Certain Act 2 writing sequences put in limbo for now. Not technically cut, but close to the chopping block and I'm hesitant on it.
Replies: >>333
output.webm
[Hide] (1.1MB, 2048x1202, 00:09)
After two weeks instead of one
>Pineeres's attack is finally working
>Yeerk is dying
I've had to implement additional animation system that is unrelated to movement for that. Pretty happy with result.
Core mechanics are almost done. Hope to finish them next week.
>>328
since the cafe was down last time I was doing weekly updates, this one is a bi-weekly plus one day because yesterdayt was not worth uploading on. No screenshot either because nothing I've done this week is really worth showing.

Weekly Progress Report
-Finally got around to downloading inkscape and testing shading on it. My aim for this week is to draw a character and get a completed art piece out to you guys so I can show "yes, I can do art, and at the barest of minimums have it not be shit".
-Crushed the rest of the unformatted nametags in Nuclear Teagan.
-Crushed unformatted nametags in Glissando Arena.
Replies: >>971
output.webm
[Hide] (313.1KB, 960x642, 00:09)
Screenshot_2020-10-31_at_21.48.31.png
[Hide] (12.8KB, 292x236)
Yeekr's weekly
>Implemented reaction on dead bodies
>It's now possible to eat pioneeres
Art guy was busy so visuals aren there yet. Shouldn't be a problem though.
Main mechanics are ready. It makes me happy.
I plan on making 1st level by the demo day.
leejy5.mp4
[Hide] (13.2MB, 1920x996, 00:41)
>>322
sorry dudem missed your question. It's an animated alpha map
Replies: >>341
DEMO DAY currently underway on these boards:

https://zzzchan.xyz/v/thread/18328.html#18329
https://8chan.moe/v/res/149845.html

post your stuff, repost here: >>338
>>336
can you reupload anon i know im days late but i wanna try your game been looking forward to it
Replies: >>344
ClipboardImage.png
[Hide] (383KB, 787x449)
>>341
sorry about the wait. here's the more refined demo. 
https://shodanon.itch.io/peripeteia/download/i7bzqNEKmw6JJ_JwEOYbEoAvVbJUhnPVA5Efab9_
Replies: >>352
>>147
Reminds me of Deus Ex. What's your game called?
Replies: >>352
>>344
>>351
this is the game
>>123 (OP) 
Does this board have a Board Owner?
Replies: >>370
>>368
I ran the original 8chan board for a few years, while the anon.cafe one had a different owner for a while. I jannied here, didn't log in for a long time, now I discover it has been transferred to me. So the answer is "yeah, it has one".
Replies: >>380
>>253
Start writing code threw a language in an engine,I say this by experience it much more modifiable and easy in the long-term.
>>370
Congratulations, I guess.
Downloaded Unreal engine 5 to mess around and make a game or two. Got nowhere with it yet, since I'm starting from scratch. Anyone else using unreal 5?
>>123 (OP) 
Can I use this space to bounce ideas off?
UIIdHw.png
[Hide] (42KB, 315x250)
I've started several projects (games and visual novels). I'm not quite sure which one is good enough to be worth finishing.

You can find almost all of them on:
qrayz.itch.io
Replies: >>452
>>451
HackSim seems like a good concept to put in a game instead of the typical hacking minigame. I didn't try the others, especially the VNs since they rarely feel like games to me, maybe I'll get around to them later.
astar.png
[Hide] (28.6KB, 1204x838)
astar_colors.png
[Hide] (30.1KB, 1204x838)
astar_debug.png
[Hide] (44.3KB, 1204x838)
Finally got A* path-finding working after a couple of days of banging my head against it. Test program here is done with Raylib.
Replies: >>480
>>477
based raylib user, how are you liking it?
Replies: >>481
>>480
It's a true joy to work in. I'd recommend it to anyone, really. Dead simple to use, only needs a single header included, no cumbersome build system,  with tons of useful built-in functions (all optional, mind you) with straightforward interfaces and a minimum of proprietary objects. To any beginners out there still fucking around with SDL2 or SFML or god forbid, raw OpenGL, you gotta switch over.
Replies: >>529
>>481
>To any beginners out there still fucking around with SDL2 or SFML or god forbid, raw OpenGL, you gotta switch over.
Does it have support for things like sound, networking, and concurrency?
Replies: >>530
>>529
Raylib is a single-header library, so I'm sure it'll play fine with your threaded and networked application. That said, neither of those are 'built-in'; you would need to provide your own. Sound, however, is very well supported, see 'module: raudio' on the cheat sheet: ht tps://www.raylib.com/cheatsheet/cheatsheet.html

As far as networking goes, no it's not included right now. See this thread about developing a networking module for Raylib and the solutions users came up in the meantime: ht tps://github.com/raysan5/raylib/issues/753 People seem to like enet: ht tps://github.com/zpl-c/enet ht tps://github.com/nxrighthere/ENet-CSharp Here's an example of using enet with Raylib: ht tps://github.com/JeffM2501/raylib_networking_example nbnet was also mentioned at the bottom but the link was dead there so: ht tps://github.com/nathhB/nbnet 

Just gonna drop this here for everyone too - giant curated list of game development libraries: ht tps://github.com/Caerind/AwesomeCppGameDev World's your oyster, mates.

As for threading, CPP has had concurrency support since C++11, and using posix threads (pthread.h) should be supported by all platforms. The trick to threading, of course, is all about resource access, as long as you aren't trying to access a resource (something in RAM, the GPU, whatever) with two threads at once, you should be alright. So while trying to render a complex scene using two or more draw threads will absolutely fuck your shit up, using a thread to calculate updates to game state (pathfinding, line-of-sight, physics, sound, background resource loading, etc. while your main thread is going through all your draw lists, you should be alright. You also have to ask yourself, "Do I really need concurrency in my game?" Even toasters today have 3+ GHz processors pipelined miles deep. I guarantee you can see better than the 2-4x speedup of threading by just fixing your approach somewhere. Got 300 entities recalculating their pathfinding every frame and struggling to hit 60 FPS? List them up, and update 30 of them every frame, in round-robin fashion. Now you're updating everyone's path 10 times a second instead of 60 and your shit's 6x faster. Stuff like that. If you're even considering raylib for your project, I really wouldn't worry about threading. Look at the complexity and speed of games in the 386 to pentium 4 era and look at the processing power we've got today. You could absolutely make a Quake-like in Raylib if you wanted to. As long as you don't write your shit all retarded, you'll be alright. Here's a really basic threading example for raylib: ht tps://www.raylib.com/examples/core/loader.html?name=core_loading_thread
Replies: >>531
>>530
Great reply thanks. I'll look into it now.
DOOM.png
[Hide] (375.6KB, 1284x838)
DOOOM.png
[Hide] (254KB, 1284x838)
DOOOOM.png
[Hide] (153.9KB, 1284x838)
DOOOOOM.png
[Hide] (94KB, 1284x838)
Was curious about the state of DOOM-style BSP engines since I still see so much chatter over modding and source ports and shit. Went looking for some actually free code and found something called rtdoom over on the shithubs ht tps://github.com/mausimus/rtdoom Took a few minutes to change a few things to get it to compile on linux with GNU Make and somehow it worked. Dropped in some WAD off freedoom and this is the result. Occasional visual bugs like in the last pic and Z-level movement isn't handled too well but otherwise ran ok.
high.png
[Hide] (73.3KB, 964x758)
low1.png
[Hide] (61KB, 964x758)
low2.png
[Hide] (39KB, 964x758)
crate1_diffuse_small.png
[Hide] (32.4KB, 64x64)
Playing around a bit with 3D in Raylib. Loaded a mesh from an OBJ file, then rendered it at 320x240 and scaled up 3x for a kind of old-school, PS1 look. First shot is with the old 512x512 texture, second is scaled down to 64x64 and contrast tweaked a bit to bring out some detail. If I get some free time again I think I'll try making the camera first person and use a vertex lighting shader too.
Replies: >>585
screenshot000.png
[Hide] (73.5KB, 960x720)
screenshot001.png
[Hide] (47.5KB, 960x720)
>>583
Oops, had bilinear filtering on for the last 2 shots. These are more what I was going for.
Replies: >>586
screenshot000.png
[Hide] (102.2KB, 960x720)
screenshot001.png
[Hide] (92.3KB, 960x720)
screenshot002.png
[Hide] (97.1KB, 960x720)
>>585
Now with affine texture mapping by adding "noperspective" interpolation qualifier to the default vertex and fragment shaders. Next I gotta find a more complex model to try it out on.
Replies: >>587
>>586
Since they won't upload: 
base.vs
#version 330

// Input vertex attributes
in vec3 vertexPosition;
in vec2 vertexTexCoord;
in vec3 vertexNormal;
in vec4 vertexColor;

// Input uniform values
uniform mat4 mvp;

// Output vertex attributes (to fragment shader)
//out vec2 fragTexCoord;
noperspective out vec2 fragTexCoord;
out vec4 fragColor;

// NOTE: Add here your custom variables

void main()
{
    // Send vertex attributes to fragment shader
    fragTexCoord = vertexTexCoord;
    fragColor = vertexColor;

    // Calculate final vertex position
    gl_Position = mvp*vec4(vertexPosition, 1.0);
}

base.fs
#version 330

// Input vertex attributes (from vertex shader)
//in vec2 fragTexCoord;
noperspective in vec2 fragTexCoord;
in vec4 fragColor;

// Input uniform values
uniform sampler2D texture0;
uniform vec4 colDiffuse;

// Output fragment color
out vec4 finalColor;

// NOTE: Add here your custom variables

void main()
{
    // Texel color fetching from texture sampler
    vec4 texelColor = texture(texture0, fragTexCoord);

    // NOTE: Implement here your fragment shader code

    finalColor = texelColor*colDiffuse;
}

relevant bit in main.cpp:
Shader shader = LoadShader("base.vs", "base.fs");
Model model = LoadModel("crate.obj"); // Load model
Texture2D texture = LoadTexture("crate1_diffuse_small.png"); // Load model texture
//SetTextureFilter(texture, TEXTURE_FILTER_BILINEAR);
model.materials[0].maps[MATERIAL_MAP_DIFFUSE].texture = texture; // Set map diffuse texture
model.materials[0].shader = shader; // Set material shader

screenshot000.png
[Hide] (48.4KB, 960x720)
screenshot001.png
[Hide] (53.4KB, 960x720)
_screenshot000.png
[Hide] (65.1KB, 960x720)
_screenshot001.png
[Hide] (69.7KB, 960x720)
Well, shit. Ifrit was a little hard because he came upside down, scaled up 1000x, and needed two diffuse textures but otherwise they're just plug and play. Models grabbed from ht tps://www.models-resource.com by the way.
Replies: >>589
screenshot002.png
[Hide] (85.7KB, 960x720)
screenshot000.png
[Hide] (84KB, 960x720)
screenshot001.png
[Hide] (124.5KB, 960x720)
>>588
An attempt at lighting. Looking a little washed out, think I set the ambient light value too high. Shame too though, it appears the lighting model from here ht tps://github.com/raysan5/raylib/blob/master/examples/shaders/shaders_basic_lighting.c is Phong (per-pixel specular) and not the more period-accurate Gouraud (per-vertex). Gonna have to read up on lighting models and shader code to see if I can't change that, though I did find some code here ht tps://garykeen27.wixsite.com/portfolio/gouraud-shading that might do it.
Replies: >>590
>>589
Maybe you clipping maximum brightness for a texture. 200red50green50blue+150 white=255red,200green,200blue, which is almost white. if  Can you change shader, so its capped by the original texture values? That way stuff could only become darker, but never washed out. Try rendering some gradients to look what is going on. However washed up look is quite common for simple light engine in games, like in fucking dark souls 2.
Replies: >>592
srgbtexture_gamma.png
[Hide] (129.8KB, 960x720)
srgb_tolinear_gamma.png
[Hide] (118.7KB, 960x720)
comparison.png
[Hide] (264.4KB, 1920x720)
gimp_colorspace.png
[Hide] (87.7KB, 645x462)
>>590
>clamping colors in the shader
I player around with that, didn't fix it. The problem ended up being color space and gamma correction. Turns out I was using sRGB color space PNG images for the textures (which is normal for images meant to be displayed as-is on a monitor) and the final step in the fragment shader was applying gamma correction to convert from linear color space to the sRGB color space expected by the monitor. The double conversion was causing the washout. Commenting out the gamma correction resulted in something somewhat closer to correct, but that wasn't a proper fix. It turns out color and lighting calculations need to be done in linear color space for the math to work out right. The proper way to do it is to either use texture images that are already in linear color space (GIMP can do this for you, see pic related), do calculations, then gamma correct OR, use sRGB color space textures, convert to linear color space in the shader, do calculations, then gamma correct back to sRGB for display. In the side-by-side comparison shot, you can see I've done that in the 3rd and 4th pics, resulting in (virtually) identical outputs. The other images are all incorrect in some way or another. See references for more information and the shader code I borrowed for the color space conversion.

The final fragment shader ended up looking like this:
#version 330

// Input vertex attributes (from vertex shader)
in vec3 fragPosition;
//in vec2 fragTexCoord;
noperspective in vec2 fragTexCoord;
//in vec4 fragColor;
in vec3 fragNormal;

// Input uniform values
uniform sampler2D texture0;
uniform vec4 colDiffuse;

// Output fragment color
out vec4 finalColor;

// NOTE: Add here your custom variables

#define     MAX_LIGHTS              4
#define     LIGHT_DIRECTIONAL       0
#define     LIGHT_POINT             1

struct MaterialProperty {
    vec3 color;
    int useSampler;
    sampler2D sampler;
};

struct Light {
    int enabled;
    int type;
    vec3 position;
    vec3 target;
    vec4 color;
};

// Input lighting values
uniform Light lights[MAX_LIGHTS];
uniform vec4 ambient;
uniform vec3 viewPos;

const float SRGB_ALPHA = 0.055;

// Converts a single srgb channel to rgb
float srgb_to_linear(float channel)
{
    if (channel <= 0.04045)
    {
        return channel / 12.92;
    }
    else
    {
        return pow((channel + SRGB_ALPHA) / (1.0 + SRGB_ALPHA), 2.4);
    }
}

// Converts a srgb color to a linear rgb color (exact, not approximated)
vec4 srgb_to_rgb(vec4 srgb)
{
    return vec4(
        srgb_to_linear(srgb.r),
        srgb_to_linear(srgb.g),
        srgb_to_linear(srgb.b),
        srgb.a);
}

void main()
{
    // Texel color fetching from texture sampler
    //vec4 texelColor = texture(texture0, fragTexCoord); //  get texture color as-is
    vec4 texelColor = srgb_to_rgb(texture(texture0, fragTexCoord)); // get fragment color from texture and convert to linear color space
    vec3 lightDot = vec3(0.0);
    vec3 normal = normalize(fragNormal);
    vec3 viewD = normalize(viewPos - fragPosition);
    vec3 specular = vec3(0.0);

    // NOTE: Implement here your fragment shader code

    for (int i = 0; i < MAX_LIGHTS; i++)
    {
        if (lights[i].enabled == 1)
        {
            vec3 light = vec3(0.0);

            if (lights[i].type == LIGHT_DIRECTIONAL)
            {
                light = -normalize(lights[i].target - lights[i].position);
            }

            if (lights[i].type == LIGHT_POINT)
            {
                light = normalize(lights[i].position - fragPosition);
            }

            float NdotL = max(dot(normal, light), 0.0);
            lightDot += lights[i].color.rgb*NdotL;

            float specCo = 0.0;
            if (NdotL > 0.0) specCo = pow(max(0.0, dot(viewD, reflect(-(light), normal))), 16.0); // 16 refers to shine
            specular += specCo;
        }
    }

    finalColor = (texelColor*((colDiffuse + vec4(specular, 1.0))*vec4(lightDot, 1.0)));
    finalColor += texelColor*(ambient/10.0)*colDiffuse;

    // Gamma correction
    finalColor = pow(finalColor, vec4(1.0/2.2));
}


references:
ht tps://en.wikipedia.org/wiki/SRGB
ht tps://learnopengl.com/Advanced-Lighting/Gamma-Correction
ht tps://github.com/tobspr/GLSL-Color-Spaces/blob/master/ColorSpaces.inc.glsl
ht tps://www.shadertoy.com/view/lscSzl
Replies: >>593
ffdtex0.png
[Hide] (20.2KB, 128x128)
ffdtex0_linear.png
[Hide] (29.2KB, 128x128)
ffdtex1.png
[Hide] (17.4KB, 128x128)
ffdtex1_linear.png
[Hide] (22.5KB, 128x128)
>>592
The textures in question - you can see the linear color space ones are darker and a bit "black-crushed". Or not, it looks like they're being converted to sRGB on upload.
Replies: >>594
>>593
Nevermind, they posted more or less ok.
bb4.jpg
[Hide] (74.2KB, 642x482)
bl1.png
[Hide] (30.9KB, 640x480)
bl2.png
[Hide] (106.7KB, 640x480)
https://ily888.itch.io/billys-quest-for-love

instruction manual → https://shithole.neocities.org/gggg.html

UPDATED JUNE 2023!!

r18+ nudity , drugs and course language. Guide Billy in his life searching for love. go to school, interact with the residents of the village, and find love! maybe.. Your choices will affect later events. Working time clock 1 sec is 1 min. game ends on the 5th day. the usual game flow goes like this: go to school in the morning, wait for it to get dark outside, then go to sleep in the bed, repeat until day 5.

Controls: Arroy keys to move. z is accept/interact. x is menu/cancel.

Bugs:-flying the airship over doors will get u stuck.
-dont press any directions during scripted events like the intro, u will get stuck.

update 2023:
-fixed skipping school bug.
-removed save from menu.
-removed garbage from pocket watch.
-removed junk hud.
-more information. more dialogs. changed some dialogs.
-signs.
-school music is quieter.
-a message to sleep at night.
-more wheelz interaction.
-princess doesnt run away after festival.
-airship now requires chocolate.
-chocolate is much cheaper.
-longer window for finding magic tiger.
-skipping school being triggered at the wrong time glitch fixed.
mud.png
[Hide] (93.2KB, 1494x987)
Got around to working on an older long-term project again, a graphical MUD. Been a boring couple of days doing nothing but sockets, threads, and MySQL but account creation, login, and chat is in place at least. Only a few more days like this and I might even get to some gameplay.
Replies: >>756
>>755
Cool. Do you have a specific idea in mind?
Replies: >>757
mer1.jpeg
[Hide] (580.9KB, 1184x729)
mer2.jpeg
[Hide] (376.8KB, 1202x1080)
mer3.png
[Hide] (331.8KB, 693x555)
arena1.jpeg
[Hide] (86KB, 950x534)
tes.jpeg
[Hide] (296.2KB, 2560x1440)
>>756
I have a lot of ideas, but right now they're kind of all over the place and not yet crystallized. So right now I'm cranking out the boring ass back-end infrastructure stuff while I work out the gameplay details and come up with something both interesting, yet scoped properly enough to actually be doable in a human lifespan. What I have for an idea so far is your classic fantasy, first-gen MMORPG-like graphical MUD, sometimes lovingly referred to as a "database simulator" if you know what the back end looks like on one of those. As for graphics and UI, think Meridian 59 or the Everquest UI from 1999 - Large text box in the center, surrounded by hotkeys and UI elements on the sides, and first-person 3D world view above. I'm trying to take the best features of MUDs like the high degree of interactivity (especially via commands like /look, etc.) and ease of content creation (mainly descriptive text, dialog, and database entries) and meld that with the controls of a more modern RPG: actually being able to backspace before sending text, WASD to move, hotkeys, mouse look, click to select, drag-and-drop items, etc. "Rooms" will exist like in your average MUD, only that you will be able to move around freely inside of them. Think again, dense, meandering, and claustrophobic Everquest maps vs seamlessly loading, sprawling, empty nu-RPG maps. Even outdoor areas will be "rooms". Level architecture may be DOOM-like - I would like to be able to leverage the mature map editing resources available for DOOM if I can, rather than use blender or roll my own. As for models, NPCs, other players, MOBs, etc. should be billboards to start (think Elder Scrolls Arena or Daggerfall), though a move to full-3D in the future would be cool. What I would like to do to stand out, if not exactly to innovate, is to bring back the interactivity you can find in MUDs, as well as in tabletop games - being able to use words to get additional information or manipulate the environment. Think typing /search to search the area around you for traps, hidden passages, and similar. Or using /look, to get clues about an area without them having to be explicitly modeled into the world: animal tracks, scratches in the floor, a suspicious crack in a wall. Being able to /get something that only exists in text, maybe only after having /search'ed for it. Should allow for a small team to flesh out a world without needing 200 indian sweatshop workers with pirated copies of Maya to do it.

That's what I got so far.
Replies: >>764
wiz4.jpeg
[Hide] (68.9KB, 1024x640)
mer4.jpeg
[Hide] (143.4KB, 750x563)
equi.jpg
[Hide] (430.6KB, 900x675)
tes2.jpeg
[Hide] (577.5KB, 1920x1080)
wiz2.jpeg
[Hide] (280.4KB, 1280x960)
More reference pics.
Replies: >>764
>>757
>>758
That does sound fun, good luck anon!
Replies: >>778
>>764
Thanks. It should be fun, if you're into tabletop and old-school gameplay (and it ever gets made). Making an MMORPG (or more realistically, an MORPG) has been an almost life-long dream of mine, ever since I sank my highschool years into Everquest. Since then, I've tried to follow the MMO space but nothing has kept my interest for more than a few weeks. Later, I (tried to) get into MUDs, seeing as they influenced the making of EQ to such a degree that they were taken to court by the DIKUMUD guys and made to swear that their codebase did not contain any stolen DIKU code. I was never able to get past the telnet clunkiness and having to set macros for every little thing just to kind of keep up with the scrolling text "/attack %t with handgun" and shit. Never got into dwarf fortress for that reason too but whatever. Later got into tabletop from seeing how a lot of MUD's more free-form gameplay was based off of that, focus on small-group dungeon crawls, abstracting the environment away through descriptive text, high level of interactivity, etc. Everquest's world, lore, major NPCs, etc. were also lifted directly from one of the dev's old tabletop campaigns, which I believe was a major factor in them getting a game of that scale out the door with the team and time they had, couple dozen people and ~3 years IIRC.

Recently, I've been following the development of an indie MMORPG by the name of Monsters & Memories, an Everquest clone, surprisingly the first one since EQ's release 24 years ago (WoW clones being a dime a dozen). The lead (dev? designer?), Shawn Lord, was a designer on EQ since the (very poorly received) Shadows of Luclin expansion, though I believe he was lead designer during the (very well received) Planes of Power expansion. They too, are going old school with the gameplay and graphics, and they are also incorporating MUD-style text commands into the game. He talks about MUD commands a little at the end of this video ht tps://yewtu.be/watch?v=-Vihut0iKt4 The guy streams his development on the Monsters and Memories channel, and it can be pretty interesting, at least to listen to. You get to see a lot of gray-box work, database stuff, talk about design, etc. Worth a watch in my opinion. Shawn's personal channel - ht tps://yewtu.be/channel/UCFl_3ktLNPYUeicLmhSvB1Q?sort_by=newest has some good videos about behind-the-scenes EQ development and design stuff, a lot of which was news to the fan community when he posted it, quite cool if you're interested in that sort of thing.

So I've mainly been working on network stuff recently. I had been using a TCP sockets library, mainly because it's MIT licensed, easy to use, and offers TLS/SSL encryption. I know, TCP can have some nasty latency versus UDP and nobody uses it outside of browser games which are forced to, but apparently there are some "zero-latency" tricks out there like running multiple sockets per client (being able to send another packet before receiving the ack from the first one), disabling Nagle's algorithm (an anti-network congestion thing where small packets are buffered and combined into one larger one), reducing resend delay to the minimum, etc. I'm not too happy with it though. I've had to make some changes to it (which is something I don't like to with external libraries) to set some socket options that need to be set on creation, as well as to allow the sending and receiving of unsigned chars, not just signed ones. It also doesn't have async support out of the box, though I've been able to add it with STL threads. I currently have on the server side a threaded listener that gets incoming socket connections and adds them to a queue for the main thread to pick up. The main thread passes these to a threaded sender and receiver, which simply loops forever select()-ing the open sockets for activity, and if found, getting their packets and adding them to a queue for the main thread to process. The async sender/receiver also checks for new packets to send from a queue that the main thread pushes to. The client is similar, with a main thread for game stuff (input, display, etc.) and a threaded TCP client for async sending and receiving. It works, for now.

I've been doing a lot of reading though, and network stuff is a lot more involved than I first believed. Thus I'm looking evaluating nbnet - ht tps://github.com/nathhB/nbnet and enet ht tps://github.com/lsalzman/enet to save me a lot of low-level networking work, as well as to be able to use UDP, albeit with "TCP features" like ordered packets and reliable packets (will resend if no ack). enet is apparently mature and well-supported, notable for being developed for the Sauerbraten/Cube or whatever FPS. The tutorial at ht tp://sauerbraten.org/enet/Tutorial.html makes it seem straight-forward enough. nbnet is simpler, focused on smaller, hobbyist use. That said, it has an example showing off most of the library's features, using raylib, which is awesome. You can see videos of the raylib example in action here ht tps://yewtu.be/watch?v=BJl_XN3QJhQ and a little tank game here ht tps://yewtu.be/watch?v=Nz28tMpLfTQ From here, I'm going to be testing these network libraries, as well as developing a simple offline RPG to give me something to actually simulate on client and server, something like the raylib example: players log in, show up in some enclosed space with a color and player name, move around, chat, maybe fight an enemy, etc.

Some of what I've been reading:
ht tps://web.archive.org/web/20180823014904/https://gafferongames.com/categories/building-a-game-network-protocol
ht tps://pvigier.github.io/2019/09/08/beginner-guide-game-networking.html
ht tps://www.cs.umd.edu/class/spring2018/cmsc425/Lects/lect22-multiplayer.pdf
ht tp://ithare.com/tcp-peculiarities-for-games-part-1/
[/blog]
Replies: >>803
37923874.png
[Hide] (5.7KB, 274x311)
It sure is great when something planned out in your head goes off juuuuust right. (keypad for a safe, four letter code)
Replies: >>801 >>803
>>799
Cool. What's it for?
Replies: >>836
mud_multi.png
[Hide] (27.1KB, 1033x813)
axes.png
[Hide] (827.5KB, 1916x1014)
collision.png
[Hide] (34.6KB, 1290x844)
collision2.png
[Hide] (32.1KB, 1285x843)
>>799
What went just right? You got some code or a video to follow up with? Let us know what you're working on.

>>778
Update. I ended up going with enet for networking. It's mature, straight-forward to use, allows multiple channels per connection, and does both reliable (guaranteed delivery) and unreliable packets. Played around a bit and got to where multiple players could log in and the other players would see their movements. Definitely need to use client-side prediction though, because even on the same machine (with 8ms round-trip time for some reason, OS stuff?), movement was pretty jerky even at 30 server ticks (updates) per second. enet documentation leaves a lot to be desired though, like all fucking libraries it seems, so there's still a lot of features I'm not able to use yet. Have to do some profiling too then to see if these socket operations and stuff really aren't blocking. Next up with networking is to see about using cereal ht tps://github.com/USCiLab/cereal to serialize/deserialize (convert cpp types like float, etc. to bytes and back again) data for packets instead of the ghetto casting to and from uint8_t I'm doing now.

Speaking of libraries sucking a dick. I'm still looking for a C/C++ physics library for capsule -> mesh collision detection and can't find shit. Apparently "free to use", "doesn't require a Phd to use", "compiles and links without errors per the instructions", and "has documentation/tutorials/a how-to-get-started" is too tall an order for even these libraries that have been around 10+ years and have thousands of stars on shithub. Reactphysics3d almost seems like it would fit the bill, but I'm getting odd behavior with it. For instance, moving directly perpendicularly into a wall will slide me along it to a degree that can't be explained by floating point errors or collisions with edges of tris in that wall. I'm also finding myself limited by the information given with a collision. You have a number of "contact pairs", which seem like 1 per triangle collided with, for a concave mesh. You're also given the local and world coordinates of the "collision point" on both of the intersecting volumes. Which I can only assume are the two closest points on the 2 shapes - the world mesh and collision capsule shape. That's not to say that there isn't any documentation, in fact rp3d was the only library I could find with something like this: ht tps://raw.githubusercontent.com/DanielChappuis/reactphysics3d/master/documentation/UserManual/ReactPhysics3D-UserManual.pdf - a decent user manual. Still, it just mentions in passing that the library does collision detection and that you can get the points, what that means however, remains a mystery to me. I get the feeling that I need to somehow use the movement vector at the time of collision, combined with the intersection vector (which again, has no explanation and I can only assume is the normalized vector formed by the pair of intersecting points), to determine the order in which the triangles were intersected and resolve collisions in that order, changing movement vector and re-checking collisions after each tri. 

Fed up with how React was treating me, I rolled my own capsule -> triangulated mesh collision per ht tps://wickedengine.net/2020/04/26/capsule-collision-detection/ Getting access to the triangle data with an .obj imported into raylib isn't hard, and the page offers a pretty good explanation of the algorithms and implementation (though the included code contains several bizarre errors that I can only imagine are put there to deter copy-pasting) right up until the end where he goes all "now draw the rest of the fucking owl". So I've got some bugs in my implementation and it's pissing me off, reminds me of early days with 2D platformer collision. 

Anyway, some screens of my experiments.

I'll try to do a proper post on some of this shit when I can organize my thoughts better. Right now I'm getting a little frustrated at this sort of 
>I don't fully understand/can't implement this complicated 3D maths/physics/rendering thing
>Let's try using a popular open-source library, that's what all the cool kids do
>I don't understand/can't use this library and there's no documentation outside of the source code
>fuck
loop I've gotten myself into the past few days. Next up: get a proper camera set up, WASD/mouse-look/no-clip style so I can get a better look at what's going on with this collision bullshit.
Replies: >>808 >>810 >>836
collide.webm
[Hide] (5.8MB, 1090x804, 00:28)
>>803
Finally got it working. That fucking faggot from the wickedengine site, I swear to god. Shit's all fucked up. Not just typos and copy-paste errors either. Taking the absolute value of the dot product of the triangle normal and the capsule center line vector (for whatever fucking reason) was keeping me from colliding with polygons that were over my head, even though I could collide with back-facing polygons from below. What an ass.
Replies: >>811
1423363071997.jpg
[Hide] (302.5KB, 640x848)
>>803
>I don't understand/can't use this library and there's no documentation outside of the source code
It's even better when there are docs but they're flat-out wrong, and when you ask about how things actually work after banging your head against the thing for hours you get a heaping helping of vagueness, denial, gaslighting, or - my favorite - some obscure drivel about how the library's internals being built a certain way means that the astonishingly contradictory behavior you're seeing is of course obvious.
Replies: >>811 >>813 >>814
gravity.webm
[Hide] (6.9MB, 1278x800, 00:35)
>>810
Tell me about it. And people wonder why everyone's always re-inventing the wheel.

>>808
Added gravity back in. Everything seems ok, I just need to do some raycasts to get proper behavior on slopes and stairs - don't slide down slopes if they're less than such-and-such angle, "pop up" to the next stair when walking into it instead of "rolling" up it, etc. Currently takes 150 microseconds to do all the collision detection and resolution, colliding with 1 mesh of roughly 350 tris. That's not terrible, considering 150uS is less than 1% of the frame time (60 FPS is ~16667uS) and the collision detection routine is horribly unoptimized. Working on partitioning the world into a cubic grid, and keeping a list of tris that intersect each cube. Should be easier to implement than an octree, plus empty cubes don't take memory or time to check, and which cubes need to be checked for collisions can be directly calculated from player position, without recursively traversing a tree structure or anything like you would with octree. Aiming for less than 50 collision tris or so per cube, giving a worst-case scenario (player AABB overlaps 8 cubes) of 400 tris per frame to check against. If I still have issues, for example with multiplayer (all other players visible to the client need to be collision tested against the level geo as well to accurately predict their positions), I can decrease cube size and/or add threading, discarding duplicate collisions after all threads finish (if each cube got a thread, some tris exist in multiple cubes).
Replies: >>812
polys.png
[Hide] (45.8KB, 1280x837)
>>811
Update: I added spatial partitioning - just a regular old 3D cubic grid. Brought collision time down to 20-60uS on average, from 150uS before. Not the craziest improvement, but it's at least consistent now, no matter how many triangles make up the mesh. Tested by adding a torus with a bunch of subdivisions to the mesh - 20-60uS when not in that cell, ~3600uS when in it. Mesh info:
TOTAL MESH TRIS: 4124
TOTAL MESH TRIS In CELLS (DUPES AND ALL): 5491
CELL TRI COUNT MIN: 2
CELL TRI COUNT MAX: 1947
CELL TRI COUNT AVG: 54
Not bad. I am going to need to process the mesh offline though; It takes ~2 seconds to sort the tris into their respective cells with my current shitty implementation. This is a bad example though, as the average and max are heavily skewed by the polygon-dense torus in that one spot, but I hope you get the idea.
Replies: >>817 >>823
>>810
Sounds a lot like unreal’s legalese documentation.
It should not take over an hour to explain how to do something as simple as making a light switch.
Replies: >>817
>>810
Bonus points if they tell you that you’re doing something wrong. Like no shit.
camera.webm
[Hide] (15.4MB, 1284x802, 00:28)
takemehomecountryroads.jpeg
[Hide] (373.3KB, 1280x803)
>>812
Fuck me this video is not easy on the eyes.

>>813
>Unreal documentation
I can only imagine. Anyone else play around with the Unreal Engine 2 SDK when it released? With the outdoor area with the thatched hut and the cave with the torches with the particle flames and shit? I want to go back.
Replies: >>821 >>822 >>861
mouselook.webm
[Hide] (13.4MB, 1278x800, 00:22)
>>817
Mouse look working. Apologies for the file sizes.
Replies: >>861
>>817
tried to make a few prototypes of different genres in UE4 and 5. I am 100% sure mainstream engines like Unreal and Unity are sabotaged so you cannot complete anything beyond a shitpost game on it. Unless you are part of a zogbot propaganda "AAA" studio.

Asking questions about concepts like optimization so your project isn't a laggy POS that crashes often even in an empty, brand new project is a guaranteed ban in any UE developer community. The gaslighting is off the scale. While they LARP about wanting people to ask questions. (so they can permaban them without warning) 


Is there even a way to obtain a copy of the UE2 SDK anymore?
That demo level is way better than the templates UE4/5 provide.
Replies: >>830
>>812
>but I hope you get the idea.
I do indeed Anon. It's alway a good idea to normalize/regularize your sensor/control mesh patches down to the bare minimum beforehand (presuming thats feasible -- that is, your mesh is stable (which in this case it should be)). GG.
Replies: >>829
bb1.png
[Hide] (1.4MB, 1920x1080)
bb2.png
[Hide] (1.6MB, 1920x1080)
bb3.png
[Hide] (2.1MB, 1920x1080)
bb4.png
[Hide] (1.7MB, 1920x1080)
>>823
>It's alway a good idea to normalize/regularize your sensor/control mesh patches down to the bare minimum beforehand (presuming thats feasible -- that is, your mesh is stable (which in this case it should be)).
You lost me. I was talking about splitting the mesh into regularly sized chunks to speed up collision checking - only checking collision with the triangles contained within the chunks you are currently intersecting. I'm not using any kind of subdivision or modifiers in Blender, just good old fashioned low-poly modeling - what you see is what you get. As a graphics target, I scrapped the DOOM-like idea I mentioned before as being too limiting; I'm aiming for somewhere between Everquest and Metroid Prime, in terms of verticality?, poly count, materials, and lighting. DOOM-like would not offer any real content creation advantage over low-poly modeling and UV-mapping in Blender, while imposing some nasty restrictions - no slopes, vertical walls only, no level geometry overlapping on the z-axis; fuck that. Some shots of Everquest (1999) dungeon zone geometry for reference; this is more what I'm going for - organic and winding, vertical, interconnected, almost 3D-plaformer-like. Little trivia: the original Everquest engine was adopted from Verant Interactive's previous title Tanarus, a 3D tank game, and it uses a Quake BSP compatible level format, they just have a different file extension for it, .s3d.

I've also been thinking lately about how to split the level geometry mesh for frustum culling (not trying to render tris that aren't in view of the camera). Currently, I am importing the terrain mesh from an .obj file to a raylib Model, then using raylib's DrawModel() to render it. Importing the terrain obj right now results in 2 meshes (a Model holds an array of Meshes)- one for each material used on it (it has a wall stone texture and a ground texture). I would like to do a mesh per 3D grid cell, but given that 1 mesh = 1 material, I may end up with total_meshes = number_of_cells x num_different_materials_in_that_cell, which could easy result in thousands or even tens of thousands of individual meshes, some with only a handful of tris. That is, unless I used a different grid size for rendering than I do for collision. Even my shitty Ryzen APU will do 1M+ tris at 60 FPS, I could realistically split the level into 8 cells around the origin and call it a day. I'm trying to plan ahead though. At some point, I would like to try to stream the level geometry from the server. Texture, shaders, that sort of mesh material data could live on the client, while vertex data would be streamed, with the primary goal being preventing datamining and exploitation. Your account isn't flagged as holding the key to the door to area X? Then your client doesn't have the geometry data for area X. You want to look hack at it? Good luck. Move hack into it? Enjoy falling under the world. So ideally the zone level data could be split into chunks that could be streamed to clients as they need them/become allowed to access them. Maybe I could do a scale factor between vis cell and collision cell. Say, 1 vis cell holds 64 collision cells (4 x 4 x 4). So each chunk update would send 1 vis cell and 64 collision cells. Who knows.

But whatever. Looking into raylib's Model and Mesh classes now to see about creating custom classes based on those that would allow me to create new meshes on the fly, merge meshes, and append meshes to a list held by Model, or just work with a list of meshes directly when viewport culling and rendering. Going to ramble a bit about my design ideas here but, a client would have a bunch of "zones", which is an EQ term for a somewhat-expanded MUD "room". Ideally, each zone would only include as much geometry data as is needed to start a new character there and start walking around. Not to mention that the client would only come with zone data for the starting zones, none of the surrounding zones or end-game dungeons or anything like that. As your character moves around the starting zone, more geometry would be streamed in as you approach it/it could possibly become visible from where you are, and saved to disk. So I would like to be able to append to the level geometry data held by the client, but obviously not as one contiguous mesh that gets rendered every frame, as that would quickly become expensive. So it would be more like a list of chunks that grows. When the player moves to a new "zone", the server would have to check what chunks that client has in that zone already, then send them the minimum that they need to enter the new zone. For instance, the entranceway and surrounding rooms. Or, if teleporting to a new zone, the area around the teleporter site. Shit like that. The idea is to keep secrets secret for as long as possible. Is there a locked door that no one's been able to find the key to yet? Then no one has the level geometry beyond it. High-end raid dungeon no one is high enough level to get to yet? No one even has a zone file for it then. I think this sort of approach is critical to the success of a niche MMORPG in today's climate, and completely technically feasible with today's internet bandwidth; it's not the 1999 dial-up days any more.
Replies: >>839
>>822
>Is there even a way to obtain a copy of the UE2 SDK anymore?
I really doubt it. I'm sure you can find the code and shit if you go looking for it but I don't believe back then they were offering it for free* like they do the current unreal engine, it was more a demo IIRC, so you would have to license it from Epic and all that bullshit.
2023-06-28_22-53-51.mp4
[Hide] (877.5KB, 768x480, 00:15)
2023-06-28_22-55-08.mp4
[Hide] (1.1MB, 768x480, 00:14)
One of the things I worked on. Base (code, rules, premise) is done, but it would need content (fun situations + art + sounds).
Replies: >>835
>>834
Neat. Not sure what exactly but you've certainly got something here. Turn-based tactical RPG? Tell us more about what you're trying to make. What's going on in the second video? Is that graph/mesh thing supposed to be the overworld map?
Replies: >>838
>>801
Game I'm working on.
>>803
I was sitting in the bath, drunk as all fuck thinking about how I could add some pizzaz to a simple get safe code followed by a open safe event and tried putting the idea into game code. It worked perfectly on the first try.
Replies: >>837
>>836
What's the game?
>>835
>Turn-based tactical RPG?
Slight chess inspiration like Into the Breach. With a twist on status effects. To be under any of the 3 "locks" inhibits you in combat, but will benefit you if you stick with it.
>Is that graph/mesh thing supposed to be the overworld map?
Yes, like a pirate's treasure map, each zone stays consistent.
>Not sure what exactly but you've certainly got something here.
The idea is a bit highfalutin and probably needs to be described with art, but basically that it's okay to be a skeleton.
Replies: >>840
blockoutdude.png
[Hide] (1.1MB, 1920x1017)
sittingdude.png
[Hide] (1021.5KB, 1917x1012)
nodes.png
[Hide] (453.5KB, 1573x1008)
swarthy.png
[Hide] (1.4MB, 1286x808)
table.png
[Hide] (978.4KB, 1917x1008)
>>829
Update. Getting ready to do some block-out/gray-boxing in order to get a feel for player scale, zone size, and the like so I can refine the character controller (move speed, turn speed, FOV, jump height/length, etc.) as well as add NPC pathfinding, visibility/line-of-sight, and stuff like that. In the final game, in addition to just walking around, I would like to have jumping (clearing small gaps and low obstacles/ledges), swimming (free movement in 3D space while within a water volume), crouching (for moving through low/tight spaces not designed for humans) and climbing (ladders - not interested in scaling cliffs and shit). So I need to get an environment in place to test all of this. Was doing some research and came across a good resource on level design. ht tps://book.leveldesignbook.com/process/blockout/metrics This section in particular talks about what I'm trying to do now and the importance of getting it done early. See these pages too for similar good reads:
ht tps://book.leveldesignbook.com/process/layout
ht tps://book.leveldesignbook.com/process/blockout
Also reminds me that we need a game dev literature thread.

Got a hold of some low-poly human figures from ht tps://quaternius.com/packs/backgroundposedhumans.html and got them into blender to replace my 60x60x185cm box I was using. They needed to be scaled down to the proper scale and the soles of their feet go below the floor about 1cm but that was a few minutes fix. Also inset some faces and added eyes to the one standing male, couldn't tell which way he was facing before when flat shaded. I'll be using these guys to set up doorway height/width, table/counter height, room size, and such. Take for instance, a tavern room with one long counter and 2 employees behind it, plus room for 3 tables that can each sit 4-6. Rather than just eyeball it and make some vaguely shaped room, I can drop placeholder tables and people sitting around them, then actually walk around the space. Can I get from the doorway to the bar OK? Is anyone sitting so close to the fireplace that they'll catch fire? That sort of shit. Once the size of homes and buildings is established and I have a few examples of each, cities and towns can be blocked out using those, and the world and dungeons proportional to those. I worry though, that my block-out dude is not as anatomically correct as he could be - might want to grab something from makehuman or whatever if I want to make objects "shoulder-high", "knee-high", "waist-high", etc.

I got some of those 1-meter grid prototyping textures from Kenney: ht tps://kenney.nl/assets/prototype-textures I took one of the "dark" themed ones, scaled it down to 256x256 and added more readable text in the upper-left corner. Going to make a few more in different colors for grass, dirt, stone, water, wood, etc. Had to set up "triplanar texture mapping" in blender to get proper texture scaling and alignment. Searched around and found a niggit post with this pic that basically did the trick ht tps://i.imgur.com/lhWopKh.jpg I think he's using 2.8 or something though because it's a little different from mine (3.5). 

Fun shit. Beats grinding out network code at least.
Replies: >>854 >>863
>>838
Interesting. Sounds very "gamey" though. Is there an in-world explanation for these "locks"? Are they magical effects? Combat stances?

>Yes, like a pirate's treasure map, each zone stays consistent.
I don't really get it. What made you go with that instead of your classic RPG overworld map?

>The idea is a bit highfalutin and probably needs to be described with art
I'd like to hear more about it. Is this something currently in active development?

>it's okay to be a skeleton.
As a live, flesh-and-blood human I'm literally shaking right now.
Replies: >>841
2023-06-28_22-54-20.mp4
[Hide] (591.4KB, 768x480, 00:09)
>>840

>Are they magical effects?
Like curses, preventing using abilities/tools or turn you into a skeleton.
>I don't really get it. What made you go with that instead of your classic RPG overworld map?
By dividing the world into "zones" you can quickly write any encounter you want. Kind of like fallout. Eventually I want "penciled in" landmarks.
>I'd like to hear more about it. Is this something currently in active development?
Nothing right now, I want to get an artist eventually, if my time doesn't get too divided. All I can do is describe. vid related. These things get put on hold for something else.
>As a live, flesh-and-blood human I'm literally shaking right now.
It's a "painless" instant process in-game.
Replies: >>842
>>841
>fallout
Now I get it. Like a point crawl from tabletop games. 

>Nothing right now, I want to get an artist eventually, if my time doesn't get too divided. All I can do is describe.
So you're leaning into flavor text to set the scene, I see. Nothing wrong with that, just gotta brush up the UI to support it.

>These things get put on hold for something else.
Tell me about it. You working on a few projects at once or just don't have the time to commit right now? Would be cool to see you take this further if you have the passion for it and a proper design in mind to make it fun and stand out from other tactics-style RPGs.

I tried and failed to make a joke about being triggered by your skeleton remark, like "it's ok to be white."
Replies: >>846 >>848
>>842
>So you're leaning into flavor text to set the scene, I see. Nothing wrong with that, just gotta brush up the UI to support it.
The shop UI is messy, but I don't think adding anything to the dialogue UI is top pri
>spoiler
Heh. Well it will be important later.
Spoiler File
(370.3KB, 2200x2149)
>>842
>"it's ok to be white."
Literally shaking r/n
Replies: >>850
Spoiler File
(13.8KB, 468x60)
Spoiler File
(12.1KB, 459x63)
>>848
>Literally shaking r/n
Replies: >>851 >>854
>>850
>2nd pic
Lol
triplanar_blender.png
[Hide] (1.2MB, 1920x1014)
nouv.png
[Hide] (16.9KB, 1282x802)
workingiguess.png
[Hide] (207KB, 1286x808)
ok.png
[Hide] (181.4KB, 1284x807)
hmm.png
[Hide] (310.6KB, 1286x807)
>>850
2spooky4me

>>839
Update. So I said before I was getting started with some block-out type work in blender, right? And I found a nice shader to let me do triplanar mapping inside blender, so I can see a 1m grid overlaid on the world. Well everything was going fine until I imported the meshes into my project and... there's of course there's no UVs. Turns out the triplanar shader works on the world coordinates of the meshes, and doesn't affect their UVs at all, unlike what you would get in a Quake-style editor like Radiant or Trenchbroom where you can lock the texture UVs to the faces or to the world, and the information is exported with your map. Well, fuck me. Did a bunch of panicked searching and almost gave up and went with Trenchbroom for blocking out before I remembered that if blender could do triplanar mapping with a shader, then so could I, in theory. Took a few hours and it was extremely painful but I did manage to get something working. The way the z-axis texture is oriented is different than how blender does it but fuck it. What matters most is that the "1 METER" text is upright and reads left to right but... I have no way of verifying that the proportions are correct on non-axis-aligned slopes/angles because of perspective skewing and it's driving me crazy but whatever.
Replies: >>855
out.png
[Hide] (1.1MB, 1920x1081)
>>854
Blender has a lot of mapping options, including UV, local object and global (sometimes global is called "generated"). Also you can just use appropriate scale in blender for everything, its one of the main rules. You can simply export default blender texture. Also you might want to switch to 2x2m objects, because I use them. 
Also I use 2x2 "cage" to see scale of things. Texture is not really okay way to measure object size, especially when they are using UV mapping, and whole thing is just handmade, not adjusted to realscale in any way. If you move a vertex, it will move UV coordinates.  You can probably do it with code, but it is annoying to do/learn for a very little benefit. Worst case you can use a couple of gradient shaders with ZYX coordinates for input, or some simple shader which draws a white line when XYZ has integer value.
Replies: >>859
>>855
Triplanar texture mapping doesn't use UV coordinates; the world coordinates determine the texture mapping, with 1 blender unit (1 meter default) equaling 0-1 in UV. Right now, in both blender and in my project, the "1 METER" texture is grid aligned, at least on the primary axes. So I can slap down any arbitrary geometry and it'll get textured properly according to the face normals. This whole grid texture block-out thing is pretty standard, look at something like Unity probuilder. 

As far as texture baking goes, I did see that suggested as a fix elsewhere and it was the next thing to try should I had I not gotten this shader working. Hopefully the UVs get baked too? Who knows. I'll deal with that when I go to bake lightmaps.
Replies: >>860
>>859
You export UV as part of the model, depending of file format. OBJ export gave me perfectly working model with working UV, however you need to unwrap object first. You dont really need to bake anything for it.
Replies: >>861
>>860
>You export UV as part of the model, depending of file format.
I know that. I'm saying that this is a shader, a procedural texture if you will - you don't UV map the model. These videos: >>817 and >>821 have a UV-mapped and textured .obj as the terrain. Textures generated inside blender need to be baked to be used outside of blender, unless you can do the same material/shader set up in your engine, which is what I did here - world coords to texture coords shader in blender -> world coords to texture coords shader in raylib, no UV mapping involved. Because I'm trying to block out test environments quickly. If you follow.
Replies: >>863
ClipboardImage.png
[Hide] (809KB, 1920x1081)
>>861
>I know that. I'm saying that this is a shader, a procedural texture if you will - you don't UV map the model.
Actually they can use whatever as input, especially UV, but I get what you meant.
However fucking with textures to make a global grid, used for size reference, seems like a strange idea to me. Why not just make a huge grid mesh, and keep it around, while you still need it? >>839 Also here texture coordinates in blender for image texture set "object" and image textures almost always use UV. Or instead of grid just 2*2 boxes placed every 10*10 meters, very easy to make. Now that I think about it, 10m tall object is a good reference because it should take a second to drop 10m.
Replies: >>866 >>867
LDB_Blockout_Iterate.gif
[Hide] (1.7MB, 1130x733)
block1.jpg
[Hide] (331.5KB, 1920x1200)
block2.jpg
[Hide] (381.6KB, 1920x1080)
block3.png
[Hide] (1.2MB, 1829x944)
block4.png
[Hide] (689.2KB, 1311x720)
>>863
>a grid
Not the worst idea, if your world is mostly flat. Raylib comes with a grid drawing function (though the y-axis is up).
void DrawGrid(int slices, float spacing); // Draw a grid (centered at (0, 0, 0))
but you could do the same thing with the line drawing function too:
void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color); // Draw a line in 3D world space
But my world is going to be everything but flat and I'm also not just trying to measure this and that. Did you take a look at the e-book I linked about design? The block-out, "metrics", and playtesting bits especially. See pics if not for an idea of what I'm talking about. Odds are I'll be running, jumping, swimming, swinging swords, and throwing fireballs inside this "1 METER" grid space for a very long time. Least I can do is make it easy to iterate on and to grasp feeling of space and movement and the such.
Replies: >>870
>>863
>10m takes 1 sec to fall
Never mind, I feel bad after I though about it for a second.
Replies: >>868
>>867
Don't worry, I got what you meant - after falling for 1 second, you will be traveling at 9.81m/s. Another reason why it's nice to be able to work in meters and not something like Quake units - you have a basis to work from. A human male character can be ~1.85m tall, with eye line (camera height) at 1.75, which gives you a starting point to start playing with character speed and field of view. I've been using a tape measure a lot too recently - measuring furniture, room sizes, doorway width/height etc. They'll all need to be adjusted of course, usually made larger, but it's a starting point.
block.webm
[Hide] (18MB, 1276x798, 00:30)
An idea of what I'm working with atm. Ignore the first "house" - was taking way too long to do with proper topology and triangulation so I gave up. The "building" next to it was done proper block-out style in a couple minutes by copying and pasting a wall section - kind of like that gif I posted here >>866 . The block-out in that gif was done with Trenchbroom by the way, something I'm still considering incorporating in my production pipeline somewhere.
Replies: >>873
skybox.webm
[Hide] (12.4MB, 1280x800, 00:21)
>>870
Added a skybox and fixed a bug with the camera up/down.
Replies: >>874
>>873
Nice, great to see each stage of the development.
Replies: >>875
cave.webm
[Hide] (13.8MB, 1282x802, 00:26)
>>874
Thanks. I been meaning to make my own thread but I'm being lazy. Here's a video with an interior cave-like space being lit with point lights. I'm working out ideas for the lighting model at the moment so I whipped up a little test space in the corner here.
Replies: >>877
lighting1.png
[Hide] (344.2KB, 1283x801)
lighting2.png
[Hide] (306.8KB, 1284x801)
lighting3.png
[Hide] (225.3KB, 1284x802)
lighting4.png
[Hide] (311.2KB, 1283x804)
lighting5.png
[Hide] (259.8KB, 1283x804)
So I mentioned I'm working out a lighting model for the game world. I will be leaning heavily on good old-fashioned "vertex lights" like we saw a lot of up until the advent of pixel shaders and per-pixel lighting around the time of Half-Life 2 and Doom 3 and similar. Vertex lights can look nice if your geometry supports it - no triangles the size of the screen, make sure your vertex normals are smoothed where they should be smoothed and split where they shouldn't be, and watch how stuff clips through one another. The best thing about vertex lights: they're stupid cheap and because of that, practically unlimited. In addition to those, I'd like to bake lightmap textures, even if relatively low-res. Vertex lighting can also be baked (vertex colors), and may be an alternative if lightmapping doesn't have the look or performance I want. No reason to render static lights on static geometry every frame like I was doing in the last video - that sort of stuff gets baked. Baked vertex lighting also has the advantage of not standing out when compared to lightmapped surfaces, if anyone remembers back when doors and other moving objects stood out from background static geometry because of that. It has the disadvantage of not capturing fine shadow detail though. That said, the lightmap could be disabled while the object is in motion or otherwise not in it's original place. Will have to experiment.

I'm also working on a day-night cycle using a directional light that rotates around the zone, light direction facing the center of rotation. The light will change color and intensity based on time of day. Dawn/dusk - dimmer/orange-ish, midday - brightest/white-est, night (moonlight) - very dim and blue-white. That's easy enough to implement, I just need to choose what meshes are affected by it and which aren't, hence the interior/exterior space testing (the inside and outside are two separate meshes). Right now, I'm not able to do any kind of fade between interior/exterior, but I'm going to try using a point or maybe a directional light at the entrance to simulate light coming in from outside. How that will work with doors opening and closing, I don't know yet. 

Dynamic lighting will be done by having a list of light sources held by each mesh. On every frame, each mesh will update its list depending on distance to dynamic lights (mesh bounding sphere to light radius collision) and pass those values to its lighting shader. Sphere to sphere collision checking with squared distances (no sqrt) is the fastest 3D collision check, so a fancy spatial partition scheme may not be needed. May be a different story if I end up with 100s or 1000s of meshes per zone like I mentioned before; we'll see.

So far I've got planned for lighting:
>Directional "sun/moon" lights for zones fully or partially outdoors.
>a lot of dungeons will be dark, like real fucking dark. Bring a light.
>baked static lighting (vertex? 
>dynamic vertex lighting (player light sources, spell effects, flames/lava, etc.)
>players may "glow" Dark Souls style if they have a light source equipped
>NPCs may give off light, if they're made of fire or lava or some shit 
>moving objects will be vertex-lit only
>dynamic shadows are being looked into. Shadow maps look the easiest, compared to stencil shadows or other fancy stuff

Pics are me playing around with some crude interior lighting. First pic is the default lighting shader from the one raylib example: 
ht tps://www.raylib.com/examples/shaders/loader.html?name=shaders_basic_lighting
ht tps://github.com/raysan5/raylib/blob/master/examples/shaders/shaders_basic_lighting.c
Notice there's no fall-off/attenuation. The light travels infinitely in all directions, changing intensity only with angle of face to light source. Next pic shows the same with proper fall-off. This is with a light radius of 4 meters I think, and a linear fall-off. Next pic is looking further into the "cave". I wasn't too happy with the way the light seems to end pretty abruptly like in the 4th pic, so I changed the fall-off to quadratic instead of linear. Basically just intensity (0.0 to 1.0, calculate with "min(0.0, (1.0 - distance / radius))") * intensity again. Gives a much smoother result.
Replies: >>877 >>878
>>875
>>876
Interesting. Will that cave become an example of your world chunk idea?
>if anyone remembers back when doors and other moving objects stood out
Oh yeah, that's a common problem in Quake mapping with the baked lightmaps.
>So far I've got planned for lighting
Sounds flexible, should allow for building a strong atmosphere.
Replies: >>880
>>876
Nice explanations Anon. Thank you very much.
sunlight1.png
[Hide] (393.7KB, 1283x804)
sunlight2.png
[Hide] (385.6KB, 1284x801)
sunlight3.png
[Hide] (354.2KB, 1282x804)
>>877
>Will that cave become an example of your world chunk idea?
No. I just needed some geometry to let me test different lighting styles. The world chunking thing is still in the works. Obviously collision is in place, as I can walk around these blockout spaces. Chunking will be 

"Outdoor" zones will still contain caves, tunnels, building interiors and the such, and a naive skylight implementation will end up penetrating into those. So the idea was to split interior meshes from outdoor ones, then do something for the transition zone to make it less jarring. For instance, opening a door to a building could enable a point light in the doorway, that affects only the building's interior meshes. The point light color would be the current zone "sunlight" color (though maybe brighter to account for fall-off, which directional lights don't have). The ambient light value of the interior meshes could be changed as well, from say... {0.05, 0.05, 0.02} to (0.12, 0.12, 0.12} or something, then reset to default when the door closes again. Just thinking of things that may come up and how I might tackle them.

>Sounds flexible, should allow for building a strong atmosphere.
I hope so. As far as atmosphere goes, and I may have mentioned it before, I'm going for the level geometry of Everquest, which you can view here: ht tp://www.ulftek.com/eqscout/ Check out old sebilis, crystal caverns, or lower guk if you want to see some god-tier dungeons. Combined with the level geo/lighting of Metroid Prime, which you can check out here ht tps://noclip.website/ Tallon Overworld and Chozo Ruins being good examples of "fantasy" environments. Ambitious? Maybe. These are games from 1999/2001.

Tried my hand at doing the whole "sunlight coming into interior space" thing. Eh. Better, but not quite there. Think I'll worry about it about it again when I get around to dealing with light baking.
Replies: >>881 >>887
>>880
Fuck me. I forgot that players and mobs can move between outdoor, sunlit spaces and interior, unlit spaces freely. Might need something like a collision volume to partition the two, and have the point light at the entrance affect PCs as well.
rei.png
[Hide] (707.6KB, 1284x802)
no.png
[Hide] (986.2KB, 1284x803)
pool.png
[Hide] (925.9KB, 1284x805)
water.png
[Hide] (1.5MB, 1920x990)
swimming.png
[Hide] (99.4KB, 1284x805)
Update. So while I didn't do any more than a debug print, I tried my hand at line of sight calculation today. What I'm doing is tracing a line segment from NPC eye position to player eye position, then checking for mesh triangle intersection at a distance of less than ray length. If any triangle intersects ray like that, the check ends early with no line of sight. It's easy enough, I just need to take it a step further and use the level geometry chunking system with it. Right now I'm calculating distance between PC and NPC, seeing if it's less than LOS range, then checking against every tri in the map. Getting about ~500-600 microseconds for one LOS check. Definitely going to need all the optimization I can get though, considering it will be done server-side, for all PC-NPC interactions.

Next up: swimming. The plan so far is to use the water as a collision volume, which you can see in the 4th pic. Basically a bounding box encompasses the level geometry that should be underwater. For some zones, this may be one single box that extends from some z-level downwards - think islands sticking up out of a flat ocean. Different movement rules and physics will apply whether the player's collision capsule's center is in the water volume or not. Out of water volume, normal run in 2 dimensions + jump, crouch, climb, etc. In water volume, can no longer crouch or jump, but can move in all directions. Falling into a water volume from above will have the player fall normally until their center intersects the water volume where they will then decelerate quickly. Standing in shallow water, where the player center is out of the water volume, will allow movement like normal. I will also be using the player's eye position to determine the render mode. If the player's eye point is inside the water volume, the ambient lighting will be changed to match that of the water volume (probably dim and blue/green), and the distance fog will be made much more aggressive (reduced visibility). I'd also like to blend a cube-mapped animated caustics texture over meshes under the water if I can, because that looks cool. Torches, lanterns, etc. will not work underwater but other magical sources of light will. The collision check for whether one is in water or not will probably be a naive approach (check every volume against player center and eyes every frame) since point -> bounding box collision is cheap, and I can't imagine having more than a handful of separate water volumes per zone. 5th pic outlines some of the plan as it stands. I still haven't come up with an easy solution for getting the player up out of the water where it meets land at a sharp angle. In real life, you just grab on and hoist yourself up on out, like getting out of a pool, but we're working with capsule collisions here. Maybe on collision I can shoot a ray from player center point one player width long and if it doesn't hit terrain or the water volume, allow movement up onto the colliding mesh. That or put a short invisible "ladder" volume along those edges, which come to think of it, act a lot like water volumes: while colliding, you can look up and push forward to move upwards. Got to experiment some.
Replies: >>890 >>959
>>880
>Chunking will be 
I have no idea what I meant to write here.
rayromano.webm
[Hide] (11.3MB, 1280x800, 00:41)
>>886
This is pretty much what I was going for: distance fog for lower visibility when in water, underwater mesh brightness based on distance to surface + the usual angle to light source shading. Still have to figure something out for the water surface. I'd like to have the water's surface reflect the sky/ceiling from above, and just be semi-transparent from below (assumes above water is brighter than below water). Still gotta do animated caustics for under the water, again with intensity based on distance from surface. Should look pretty slick.
Replies: >>892
shader.webm
[Hide] (15.9MB, 1282x804, 00:44)
>>890
Played with swimming and the underwater shader some more. Looking into navmesh pathfinding stuff now. The recast/detour library ht tps://github.com/recastnavigation/recastnavigation seems to be the go-to solution for that, looking for resources on that at the moment.
Replies: >>959
Spoiler File
(155KB, 489x443)
In my other game I was making an objective marker script while in the middle of it this happened. It looked like the works of a stalker ex-boyfriend so I thought it was neat. The objectives work now.
Replies: >>958 >>960
>>950
Cool. What's the game?
Replies: >>960 >>966
serval_coffee.jpg
[Hide] (147.6KB, 960x1275)
>>886
>>892
>pool.png
You motherfucker.
>>950
>>958
Forgot to mention I also did skeleton tactics. This is an experimental XCOM type game where you can focus on just strategy layer and interception of sites. I wanted to act out the idea of multiple fights happening happening at once. Something I imagine is humanity losing grasp of a planet. You get to see that from a map view without any interruptions like going to a tactical layer.
>>958
Forgot to mention, no name yet, and ALSO BUMP
>>333
Are you still alive?
ClipboardImage.png
[Hide] (3.1MB, 1902x932)
2023-08-19.webm
[Hide] (5.4MB, 1920x1080, 00:10)
ClipboardImage.png
[Hide] (1.6MB, 1902x932)
The more I do, the more I need to do, and the more things can break. 
Same fucking code to move "character" and move whole tileset, just a fucking t.x=v.x. It works for character, but doesnt work for ground. Managed to fix it, but it becomes apparent I need to start cleaning up testing code and useless shit. Had "my_viewport" and "viewport" and "camera", all of which (were supposed to) do the same fucking thing. 
Its really discouraging. But hey, at least bare minimum works. Looks like shit tho, at lower scale. So, I would either need to remake assets, or change how I render things, but maybe it will look better with more varied assets.
Replies: >>988
2023-08-19_21-49-35_2.mp4
[Hide] (2.3MB, 1920x1080, 00:21)
>>123 (OP) 
experimenting with writing a data-oriented vulkan renderer with branchless optimizations for potential performance gains.
just seeing how fast i can open vullkan windows rn... each window can have its own attached rendering state or share a common state e.g for split-screen or something like that...
Replies: >>988
2023-08-25.webm
[Hide] (6MB, 1290x954, 00:11)
ClipboardImage.png
[Hide] (2.7MB, 1902x932)
>>977
Did some random shading, just to measure how it would look. And made some (wrong) controls. I wanted to do zigzag rendering of tiles, but it seem to be impossible, due to my laziness, and not wanting to deal with complexity of transforming everything into zigzagged coordinates. Technically it is just a temporary way to render, and later I want to make a buffer for stuff to be rendered in desired order. Next is forest generation, and rudimentary light system. 
>>987
How does it indicate anything related to vulkan? I assume window opening is just part of winapi. From what I read vulkan is awesome, but it provides very low level access/api, so you will have to build everything yourself, and it takes a lot of time and effort, which is not something indie devs have. 
Still fun to see, and good exercise.
Replies: >>994
test.png
[Hide] (33.8KB, 422x599)
virtualboy.png
[Hide] (2KB, 136x125)
Spent a couple hours trying to figure out why the projection matrix in my compute particle system wasn't working only to realize I'd forgotten to homogenize the transformed vectors. Also accidental virtual boy mode.
Replies: >>991
logo_(2)_vb.png
[Hide] (1019B, 115x86)
>>989
>Also accidental virtual boy mode.
Neat. Have an edited anon.cafe icon I made a couple years ago but never did anything with it.
yellow_leaves_brownish_bark_PR.png
[Hide] (694.9KB, 771x739)
yellow_leaves_brownish_bark_SM.png
[Hide] (48KB, 154x148)
yellow_leaves_brownish_bark.png
[Hide] (1.7MB, 1920x1080)
>>988
>make a forest
>well, I need to make texture cropper/resizer/converter
>default sdl api is a bit fucked, and I have no idea how to make transparency work, so either colorkey(good way anyway) or look into libpng
>and some simple "enhancements" filters would be great
>and I would need working interface to use them
>sdl works for now so whatever
>but to make proper converter I need json loader/data manager
I should look into hierarchy of the stuff I need to make, before making other stuff.
Replies: >>995
ClipboardImage.png
[Hide] (329.3KB, 786x466)
direction0_W_frame_1.png
[Hide] (43.7KB, 270x300)
rocky_cropped_should_be_good_grass_5.5.png
[Hide] (1.9MB, 1000x500)
direction0_W.png
[Hide] (871.4KB, 782x962)
>>994
Made simple automatic texture cropper with offsets. Just need to attach them to data files, and/maybe gui. And now I can process character tiles and implement proper systems for them. 
And make better grass tiles. They are flat, and I rendered all of them at the same time and just cut off the mask, now I can render each tile separately, and keep blades of grass which go outside of default rhombus, and even use any kinds of image processing on them. (hopefully it will look better). But that is an improvement for later, current grass works perfectly for a placeholder.
ClipboardImage.png
[Hide] (385.7KB, 790x439)
0030.png
[Hide] (587.1KB, 1000x1000)
ClipboardImage.png
[Hide] (77KB, 227x277)
Note to self. Dont use 1000*1000 resolution for renders instead of 1024*1024, especially when you batch rendering something on cpu. For "less precise" stuff like trees and other decorations, it might be fine, but walls and ground tiles must be precise.
But on the bright side, I figured out why grass renders always had dark spots in the middle of each tile(Pic2). I simply forgot to give renderer more bounces for transparency (it was only 4 total), so everything transparent turned into black.
>now I just need to pack everything
>lets search for already made simple packing algorithms
>here is link, everything is explained in it!
>link is for 200 page scientific paper on packing anything into a box
Welp, Could have been worse. So many topics are so well researched, but its practically impossible to read through all of them. Packing even has free tools for it, but adapting them for my exact needs is the same, as doing it from what I already have. 
Next up, is making my tileinfo.json format to be compatible with Tiled editor. And a format for character sprites. And technically, at that point, I would be able to start actual game developement.
licardev.png
[Hide] (1.4MB, 1920x1080)
libre Trackmania clone under CC0, in C99 with no libraries, uses own 3D renderer, own physics engine
bump for demo day
sample_b.mp4
[Hide] (3.2MB, 960x704, 00:12)
Didn't feel it warranted a whole thread but took part in LD55. The theme is summoning so you play as a bunny summoned to court but instead you kick the crap out of carrots and avoid getting run over by police cars. Didn't get as much as I wanted done (as always) but it was fun. Page includes source too. https://ev-dev.itch.io/cac
Replies: >>1201 >>1204 >>1207
>>1200
Seems interesting enough that you could flesh it out further if you wanted.
>>1200
Nice. But ears should be more reactive to jumping and landing.
Replies: >>1205 >>1210
>>1204
It's quite stiff overall.
Replies: >>1210
quad_sprites.png
[Hide] (1.7KB, 63x319)
diagonals.png
[Hide] (15KB, 600x449)
tiletests.png
[Hide] (169KB, 1022x651)
zzzchan brainrot is becoming too much for me to handle so I'll try blogposting here for now.

I may have come up with a new way to do tile rendering inspired by Starbound's tilesheets. There's 5 problems I'd like to solve all at once:
1. Diagonal sprites usually explode the complexity of the spritesheet by a LOT, which is a lot of work for an artist.
2. I want to be able to put 2 slopes next to each other. If you turn a tile into a triangle like in Terraria, it cuts the tile in half and you can't fill it with another tile. Putting 2 tiles in the same spot would make everything more complicated than it's worth. Starbound solves this by making certain tile types connect diagonally, but it's kinda complicated and limited.
3. I want to be able to create a very thick edge for sprites, for example the blue meteorite bricks in Terraria have a prominent orange border.
4. I want to be able to overdraw the tile a lot, for example crystal and leaf blocks in Starbound look really good because they render on top of adjacent tiles.
5. The edge should blend into the tile properly, for example the leaf blocks in Starbound would look weird if the border and the middle sprite were drawn completely separately. The reason they look good is because each sprite variation has it's own borders associated with it, which also makes the spritesheet very simple.

So my idea goes as follows. To start with, each tile is drawn out of 4 separate parts: one for each corner. This way you only need to draw 5 sprites to create all the possible connections between solid blocks, and the edge can overdraw half a tile's worth both inside and outside of the middle sprite. All the edge sprites should be designed to connect with to the plain tile at the top, that way you'll get a seamless edge even if the sprite is complex like leaf tiles.

As for slopes, rather than turning tiles into triangles like Terraria does, use the Starbound method of connecting diagonally, except make it manual. The player can toggle connections between corners. If a tile is flagged to connect diagonally, it'll connect diagonally into that direction. If not, it'll be drawn normally. I'm not 100% sure how to piece together the sprites for diagonals, but at the moment it looks like you just need 7 extra sprites per corner. So in total you need about 5+7 "full size" sprites for each tile, or just 5 if you don't need diagonals.

If this works the way I hope, it should be extremely versatile and easy to make sprites for.
Replies: >>1208 >>1220
>>1200
I think more varied floor sprites would make a huge difference, currently it's almost no different than a solid rectangle. Also some kind of flashy particle effect when you punch.
>>1206
Sounds like a good problem to solve, I'll be interested to see your solution develop anon.
Replies: >>1209
shapeset.png
[Hide] (31.5KB, 865x641)
I think I cracked the code, and it actually only requires 4 extra sprites, so it's 9 in total. At first I thought you'd have to layer multiple sprites on the same spot in some cases, but turns out that (unless I'm missing something big) you can do every possible shape just by swapping the 4 corners. Pic related, on the left are all the sprites you need, and on the right is some random shape I built with them.

I don't know how hard it'll be to make good looking sprites, I think that as long as you can make leaf blocks and hard metal surfaces, then you can make anything. I need to implement this so I can experiment properly, it's super tedious to make test shapes in an image editor.

>>1208
I might make a proper explanation/tutorial for the implementation and how it works, assuming it ends up working. I've never seen such a simple and effective solution to this problem.
Replies: >>1211
>>1204
>>1205
IIRC, doesn't the Tutorials thread (>>12) have some kinds of information like that from the 12 Principles of Animation? In this case the two most important ones being Squash & Stretch, and Secondary Animation.
Replies: >>1212
ClipboardImage.png
[Hide] (562.2KB, 698x763)
ClipboardImage.png
[Hide] (23.4KB, 250x208)
ClipboardImage.png
[Hide] (25.8KB, 250x208)
>>1209
>tiles outside of tile borders
Render order will be painful, since everything is at the same distance. Unless you want to make "in between" tiles, to determine what you want on top, which is fine, but complicated. It will give you option for borders (as you wanted), but require more sprites. I guess It can be solved with "wide tiles dont allow other types of wide tiles nearby". Or have specific tile rendering priority, which would mean more complicated rendering.  
>how difficult it will be to draw
Drawing a single sprite should be as difficult as drawing entire set, except for figuring out how to make sprites seamless. So, if you make proper blank tiles and some simple demo program for tilesets, it should not be a problem. Unless you plan to make different tilesets interact or blend with each other, in which case it becomes more and more complicated with each additional set. 
>I've never seen such a simple and effective solution to this problem.
Aren't you clever, Mr. Humble!

Picrelated is cc0 from. 
https://opengameart.org/content/good-cc0-art
Replies: >>1218
>>1210
Oops, I meant (>>23)
Replies: >>1214
https://www.boristhebrave.com/permanent/23/03/tileset-creator/
https://www.boristhebrave.com/2021/11/14/classification-of-tilesets/
Also.
>>1212
Yeah, you're right. Technically he does everything right (reaction frame, slight pause, slight pushback) but it diesn't feel as good.
Replies: >>1216
if (key pressed){
    if (key not_pressed){
	
Being retarded is hard work.
Replies: >>1217
>>1214
EXAGGERATION IS USUALLY THE ANSWER TO THAT ISSUE!111ONE!!ELEVEN!!

:DD
>>1215
>Being retarded is hard work.
Lel. Everything is hard work!  :D

The key difference is to work at doing things you like (or at least that serve as stepping stones to the rewards you desire). Cheers, Anon.  :)
>>1211
Keep seething in bitter jealousy as your inferior brain struggles to comprehend my supremely high IQ designs.
tilesystem.png
[Hide] (56.1KB, 960x600)
Implemented the tile system and it works very well so far. There's a couple kinks I need to figure out, notably diagonal tiles leave empty gaps (shows as purple pixels) next to them unless I draw background tiles behind foreground tiles. It's wasteful to draw all the background tiles that are hidden behind foreground tiles, so I need to figure out a way to only draw the necessary ones.

The dirt and leaf sprites are from Starbound.
Replies: >>1254
forks.png
[Hide] (180.5KB, 607x588)
Here's also all the fork shapes recreated from >>1206
pipemaybe.png
[Hide] (56.4KB, 762x378)
Tried to make a pipe-style texture similar to the Starbound copper pipes, and it doesn't work too well. It kinda works but there's not as much control as I'd like to have, the fact that the corners don't know about each other is great for simplifying the sprite, but it severely limits the amount of control you have over shapes that go "through" the sprite. The Starbound pipes don't look good either if you make a 2x2 shape though.
Replies: >>1222
>>1221
Looks fine except for lack of overlapping pipes.
Replies: >>1223
bronz.png
[Hide] (94KB, 764x508)
>>1222
It looks even better if I steal the pipe texture from Starbound. It's not perfect but I guess it's usable, the main downside is that you can't put an opening to the end of the pipe. Maybe I could create special sprite exceptions for certain corner combinations.
Replies: >>1224
>>1223
Are the purple spots transparent in the source file?
Replies: >>1225
clip.gif
[Hide] (167.4KB, 480x300)
>>1224
Purple is window background color. It happens because background tiles aren't drawn if there's something in front of them, diagonal sprites don't cover the entire tile so the purple ends up showing through. I'll have to tweak this anyway because transparent tiles like glass and fences need to have transparency anyway.
Replies: >>1229
clip.webm
[Hide] (213.3KB, 480x300, 00:13)
What's even the point of gif if the thumbnail doesn't animate.
Replies: >>1227
8e149b493c4f67056e59f37e55e29725d48773208a0c676fa701d4d8d227d79d.jpg
[Hide] (42.5KB, 500x500)
>>1226
Limitation of jschan, I guess. I don't like it either.
Replies: >>1228
magszines.jpg
[Hide] (541.1KB, 2166x955)
Not exactly gamedev but I made a Stalker Anomaly mod, I can't actually upload it though because moddb is shit and won't let me make an account. There's a few mods that remove/replace the porn mags for various reasons, but what bothers me personally is that they are pointless. So I replaced them with crafting/repair related magazines and buffed their repair bonuses, one helps with weapon repair, and the other helps with all repair but gives a smaller bonus. Now they should actually be valuable to find.

>>1227
Some other jschan imageboards have animated thumbnails. When I'm trying to show an animation I prefer to use animated gifs since you can see the animation right away and makes the thread look more lively, but if the thumbnail is not animated then it's hard to tell that it's an animation so I'd rather post a webm which has the play button on top.
Replies: >>1230
>>1225
Depending on how you render things, sometimes its faster to just render everything all the time. Alternatively, you can just edit sprites to cover missing pixels. I had similar problem with scaling, non-square sprites caused problems when they needed to be seamless. 
 
Good read on that. 
https://www.factorio.com/blog/post/fff-264
>>1228
>Not exactly gamedev but I made a Stalker Anomaly mod
Many gamedevs started out with mods as did many games. Maybe we should have a modding thread?
Replies: >>1231
>>1230
If there's other people who delve into modding then sure. The only game I'm interested in modding is Stalker, and it's too infuriating to mod so I won't be doing much. Maybe I'll try again in 2037 when Anomaly or something similar is ported into OpenXRay.
Note to self: always use movement vector(s) for every actor, instead of modifying position. I can simulate any number of forces, by simply adding 2+2 together.
Replies: >>1233
>>1232
One of those small insights that makes a big difference.
Replies: >>1234
>>1233
Now I only need to learn how to fix spaghetti and do general refactoring.
foodicons.jpg
[Hide] (172.6KB, 1106x458)
canned_food.jpg
[Hide] (128.5KB, 1079x723)
I ended up making 2 new mods after all. By default cooked foods had shitty icons and used some stupid symbol to differentiate between tiers, I made it so each tier has an entirely different icon (roasted < gray bowl < gold bowl). It kinda works together with my older food rebalance mod which removes water requirements from tier 1 foods (so it's basically just roasted meat). Took me a while to figure out how to do this since there used to be only 1 icon per food type and the water symbol was added on top separately, and because the config files are a mess of random properties.

Second mod is that canned foods cannot be eaten, you have to open them with a swiss knife first. Took me all day to figure out how to do this since it required scripting and changing the functionality of existing items (I don't want to modify all the item drop/spawn/trader settings to have sealed cans, so I had to remove the ability to eat the default item). This also works with the older food rebalance mod which changes the advantages and drawbacks of different foods, the advantage of canned foods is that they're very clean, the drawback is that they're heavy, and now they also require a swiss knife to open.
Replies: >>1236 >>1237
>>1235
Nice tweaks anon, the can opener mod sounds like a cool immersion boost.
Replies: >>1238
>>1235
>finger food
spilledfood.jpg
[Hide] (223.3KB, 1176x638)
tallbottles.jpg
[Hide] (198.5KB, 1343x519)
>>1236
Immersion? Here's some immersion. I made a mod that adds a chance for certain foods to spill out if you move around too hard or if you take damage from something. You get a number of "spilled food" items that are in total worth about 1/3 of the satiety that the original food item had.

I also remade the inventory icons for beer/vodka bottles to be tall like other bottles. I've seen other mods that do the same, but they tend to look weird so I tried to make them look as similar to the original icons as possible. I just took screenshots of the in-game models and edited them, so they're slightly more accurate too. Also the beer bottle only has 1 use by default for some reason, so I made it have 3 uses like the other bottles.

I wasn't supposed to mod any more but here I am. I don't know if I will, but I want to do a complete foods overhaul, there's lots of different foods in Anomaly but it's hard to care because of how similar they all are. I want to make them more varied so you can make more interesting gameplay decisions. Here's my "vision" so far:
- Roasted meats are decent general purpose food and easy to cook, but also radioactive and an inefficient use of mutant meat.
- Cooked bowls are the best foods all around, but spill out if you move too hard so you have to keep a cooking kit with you and cook them on-the-go, eat straight out from a trader, or move slowly. The cooking recipe also uses some of your water.
- Canned foods are much heavier than other foods, require a swiss knife to open, and may spill like bowls if you keep opened cans on you (so it's better to carry sealed cans along with swiss knives).
- Snacks like nuts and raisins are very light weight, have many small bites so you can top up your satiety, but increase thirst slightly and are kinda expensive and hard to obtain.
- Military rations and MREs are by far the most effective foods with no downsides other than also being by far the most expensive.

There's other plain foods like sausages and bread, I'm not sure what to do with them. They're very abundant and sold by many traders so they shouldn't be good, but it doesn't make sense to make them expensive. Maybe just slightly worse version of roasted meats.
Replies: >>1239 >>1241
>>1238
Sounds like something for cata:dda instead of stalker.
Replies: >>1240
>>1239
I'd agree if you were talking about normal Stalker, but Anomaly is a clusterfuck of masochist survival and half assed ideas. Some of the systems like cooking aren't even useful unless you want to roleplay, I'm just trying to make some of it have more of a point. Why even have 20 different foods + 30 cooked ones (not including drinks) in the game if they're all effectively the same thing.
Replies: >>1241
>>1238
>>1240
>I made a mod that adds a chance for certain foods to spill out if you move around too hard or if you take damage from something.
That's an interesting mechanic, makes me think of Death Stranding somewhat.
>I wasn't supposed to mod any more but here I am.
Keep at it anon! The experience and fun will be worth it alone.
>Why even have 20 different foods + 30 cooked ones (not including drinks) in the game if they're all effectively the same thing.
This bothers me too, so many games have dozens of food items but little reason to care which is which.
matches.jpg
[Hide] (83.2KB, 1029x221)
I made a whole walkthrough about how I made this mod and was going to make a modding thread, but then my computer froze and lost all the screenshots that I had in MS Paint and now I'm mad so fuck it.

I made it so rain makes it harder to light cigarettes. Cigarettes are almost weightless so you can easily have a bunch of them on you at all times, which makes alcohol kinda useless for healing radiation. This isn't enough to nerf cigs though, I'm not sure how to balance them in a way that would make me consider using any other item.
Option 1: give cigs comically harmful stats so you'd only carry them as emergency backup.
Option 2: buff alcohol so it has almost no downsides except weight.
Option 3: buff radiation so you have to cure it more regularly, that would make the downsides of cigs more pronounced, but this is way too hard to do.

Radiation pills are easy to balance in this equation, they're light and a medicine so it makes sense that they're the very expensive top tier cure.
Replies: >>1243 >>1245
>>1242
>my computer froze and lost all the screenshots that I had
That sucks anon, hope you figure out the problem.
>I'm not sure how to balance them in a way that would make me consider using any other item.
Option 1 sounds like the right sort of idea, some kind of physical fatigue effect maybe?
Replies: >>1244
>>1243
>hope you figure out the problem
My computer crashes probably 2 times per year, it's NSA watching me and pressing the crash button when it's most annoying to me. My text editor saved all the text so I didn't lose the actual content though.

>some kind of physical fatigue effect maybe?
I didn't consider adding a new debuff effect, that sounds pretty interesting. It might be difficult to do, I'd have to add an icon about the debuff to the item description window and to the HUD, and there's important mods that improve the item description window which I don't want to conflict with. Modifying existing things is easy enough but adding new ones gets complicated, being able to do that could be very useful for other purposes though. One downside of this idea is that alcohol has a drunkenness effect which screws up your aim, so adding another debuff that equates to "you're screwed in a combat situation" makes them more similar.

Another idea I had was that your character has to actively smoke for the whole duration of the heal (~30-60 seconds), so equipping any item or doing some other actions cancels it. Might be confusing if I can't add some kind of smoke and/or sound effects.
>>1242
That's a shame. You should switch to something that autosaves, like paint.net.
Replies: >>1246
>>1245
I have Krita for serious stuff and it autosaves, but it's way more clumsy. I use MS Paint because it's by far the most convenient for quickly slapping stuff together, it's extremely light weight, I can open new windows instantly which is in some ways superior to switching between tabs, if I paste an image the canvas automatically expands to fit it in, it just does what I tell it to do instead of asking me for confirmations in popup windows, I don't have to use 50 keyboard shortcuts for basic things, I don't have to look for the correct layer because everything goes to the same one...

One of the programming projects I've been meaning to get to is making a better version of MS Paint that's also cross-platform.

>paint.net
I recall wanting to try it but noped the fuck out during installation because the whole installation process was too weird and spyware-esque. Might have been a different program though.
Also, since it's all on 1 layer and it treats background color as transparency, it doesn't need it's own file format so you can just use PNG directly.
1361104408001.png
[Hide] (40KB, 760x797)
>100 objects = 2000 fps (if I disable cap)
>101 objects = 32~ fps
>101 objects + mouse movement = 60~ fps
Can you guess what was the problem? It was radeon drivers, "helpfully" reducing framerate to 30-60 frames when they feel like it.
Replies: >>1249
>>1248
And how did you fix it?
Replies: >>1250
halloween-costume-skeleton-grim-reaper-wearing-black-robe-white-background-gesturing-sad-depressed-expressions-137984894.jpg
[Hide] (19.8KB, 630x900)
>>1249
Turned it off in driver control panel. But it really fucked things up, when I tried to fix it. 
>maybe its because (screen)texture goes over 2048*2048
>maybe its because of some weird transparency issue
>maybe its because of sprite scaling
>maybe I simply did something wrong
>maybe I used i, instead of j, and it runs thousand times more than it should
>maybe its wrong event handling
>maybe its some sdl bug
>maybe its some cursor issue
>maybe its vsync issue
>maybe its dx/opengl issue
Tried to adjust all of it. 
The only similar problem to mine, was wrong event handling, entire game logic was handled at any event, for example mouse movements. And some guy mentioned that windows can decide when to refresh the window, for example when mouse moved.
I checked driver updates, and they mentioned this fucking "feature" in them, and I recalled trying to use it (it didnt work).
im_not_a_math_guy_but...png
[Hide] (143.3KB, 464x194)
Nobody cares if I rant a bit right? I'm going to rant a bit. Thanks for reading my blog. Trying to mod Stalker leaves me so frustrated that I want to make my own similar game. The deeper you dig the more convoluted and inconsistent everything becomes.

Even the surface-level details make no sense, like if you want to make an item that removes exactly 10% thirstiness, the thirst value of the item needs to be -0.72, but then every mod that shows the percentage or a thirst bar filling up or whatever uses the wrong calculation so they will show up as 12.5%. If you want to use a value that shows up as 10% (even though it isn't actually 10%) then you need to set the thirst value to -0.576. This makes it very difficult to balance items.

Don't even let me get started on timed buffs that have completely incorrect nonsense, pic related. If you want a specific timed mSv reduction, the calculation I ended up figuring out is: total_msv/seconds/23220. In other words, the timed msv reduction value for the item in this pic is 0.00086132644272179 which communicates neither the value on top, nor the value on bottom. I'm pretty sure the green number on top (which comes from a mod) is the correct amount reduced.

Yesterday I tried to rebalance a couple weapons and discovered that the stats displayed on weapons aren't really representative of anything real. In the process of figuring out which of the 200 values to change, I found a script where the game prints the stats on screen (at least I think so). Ignoring that the calculations are nonsense once again (different item stats are in arbitrary inconsistent ranges like from 2.1 to 0.0 and 3.0 to 1.0 and 0.0 to 1.5), I modified those stats on the weapon and ended up changing the displayed ergonomics and accuracy values massively (far more than buying any new weapon in the game could) without noticing any actual difference ingame. That completely changed how I think about weapons, if the stats don't matter then why not just pick the one that I like most aesthetically? But when you start going there, you start wondering why play at all, what's the point of exploring and finding cool new stuff if it's basically just cosmetics?

Makes me wonder how the hell this game ever got made in the first place, but it does kinda explain why all the numbers in everything are so arbitrary and why there's no rhyme or reason to things. One of the mods I want to make most is rebalance all the weapons and armors so they are more comprehensible and varied and there's more progression through "tiers" and different factions have different advantages and such, because currently they make no sense whatsoever from game design standpoint. There's just so many weapons and armors in the game and the stat/price differences are mostly insignificant and meaningless and difficult to reason about, and it's almost impossible to figure out what effect the stats even have (what's the practical difference between 5% and 7% electric protection?). If I want an armor that's good against fire anomalies, I don't even know if there is such a thing, it's as if they hit the randomize button on all the stats on all the armors and divided the result by 20 so the differences look insignificant, and then removed the decimal numbers on the UI so most items just show "1%" or "2%" on everything. On a related note, I don't even want an armor that's good against fire because non-physical damage types are so rare, the only stats that matter in reality are physical and radiation protection, which is another painful missed opportunity. Why aren't different areas of the world "themed" to lean more towards different damage types, and armors balanced towards certain protections, so you could actually use your brain to figure out the best course of action. I want to make that mod too. It would be so much more cool if things in the game had more meaning, which is kinda what I was trying to do by modding consumables and trying to make them have different characteristics. (On that note, I messed around with cigarettes more, nothing I did caused me to even consider carrying non-cigarettes until I nerfed the hell out of their rad healing so they're only useful to shave off small amounts of it, and prevented you from lighting them when outside due to "wind", that weightlessness is just far far too convenient.)

And that's just the simplest, easiest, surface-level item numbers, it gets worse depending on what you want to look at. Every time I try to modify something on the scripting side, I end up spending hours trying to untangle the uncommented spaghetti and 1-4 letter nondescriptive variables to understand what the hell it's trying to do, nevermind lua being dynamically typed so you could have a completely nonexistent variable name somewhere which doesn't stop the game from starting but will crash it at some random point when it's used, some basic functionality like hunger and radiation being in engine-side so you can't change them (unlike tiredness and thirst which are implemented through modifiable scripts), and other problems that make everything harder. Mods seem to follow very similar patterns, I tried to modify one UI mod and I just don't fucking understand what causes someone to write such a convoluted mess for such simple functionality, there was like 7 lines of seemingly arbitrary calculations modifying 2 different variables one after another that mapped something into a range of 0.0 to 0.55 and then immediately normalized it back into 0.0 to 1.0. The goal of that was to make a progress bar for some value.

Anyway, the more I delve into this the more all the different things build a picture in my mind and makes me think it's a waste of time trying to improve it, that it would be easier and more satisfying to make a game from scratch than try to improve this one. Problem is that it's a big 3D game and I'll never have the time and skills to make something comparable even if I accept PS1-tier graphics, but I can't help but to dream of how much better it could be than this shit. I'm thinking of making a similar 2D game, but it just can't be the same, it would inevitably be more like Project Zomboid.
Replies: >>1252 >>1253
>>1251
Wow anon, I had no idea Stalker was such spaghetti code. Sounds like making a new game is going to be necessary to explore your ideas.
>Problem is that it's a big 3D game and I'll never have the time and skills to make something comparable even if I accept PS1-tier graphics
Maybe you need to start small and work your way up? Better to have a fun game with a reasonable scope than to end up in a similar situation.
Replies: >>1254
14a9a0adf1e8384249f9398822fd490d04f32295f627f0588b38ef67c5991f00.jpg
[Hide] (57.6KB, 959x910)
>>1251
>Nobody cares if I rant a bit right?
You're good.
green.png
[Hide] (99.2KB, 872x446)
>>1252
>I had no idea Stalker was such spaghetti code
To be fair to Stalker, I'm modding Anomaly. There's a whole history of large scale overhaul mods for Stalker, as far as I know Anomaly is their final form so I don't exactly know who to blame for the mess, how much of it is from the vanilla game, how much from Anomaly, and how much just brought over from other mods.

>Maybe you need to start small and work your way up?
I'm thinking about it. It's not that I can't make a 3D game, but I don't want to use an engine and I really struggle with programming anything related to graphics even in 2D. Somehow no matter what new approach I try, it always turns into a mess and I find new problems and get stuck and demotivated.

At this very moment all of my semitransparent colors get dyed with the background color and I haven't been able to figure out why. The pink lines in >>1219 aren't actually pink, the color being drawn is something like rgb(1, 1, 1, 0.2). If I change the window background color into green, all the lines get dyed with green instead, pic related. I just start hating programming and get burned out every time I try to do rendering, I can't tell whether I'm retarded or cursed or 400% autistic or all of the above.
Replies: >>1255 >>1261
>>1254
I remember similar problem, you probably changing renderer default color, or something similar, its an easy fix. You probably will encounter problems with seams on tiles when scaling later. The solution is to keep scaling to values without seams, solving it in any other way is not worth it. 
>semitransparent
I advice you to sanitize your tiles to have binary alpha (even if its stored as 8 bit). While rendering them is not that taxing, they create problems anyway. 
>it always turns into a mess and I find new problems and get stuck and demotivated
Welcome to the club.
Replies: >>1256
>>1255
>seams on tiles
I've already solved all of that.

>changing renderer default color
What would I even change it to though? I don't want colors to be dyed with anything, I want it to use the color that I gave it. It's so frustrating that I can't just write pixels onto the screen myself and then I have to deal with this kind of shit because of it.
Replies: >>1257 >>1261
>>1256
Have you tried white as the background color? That shouldn't cause any tinting.
Replies: >>1258
>>1257
If I set it to white then black colors become gray. If I set it to black then white colors become gray. There's no background color that gives the correct result as long as it's being blended into my colors. The alpha channel of the background color makes no difference.
I started reading documentation regarding blending and I think I had an epiphany about what's causing it. It's because the blending function is wrong. Basically if you draw with a color that has 0.6 opacity, the background ends up having 0.4 opacity, and then those get blended together. Then the intermediary "canvas" gets drawn on top of the green background. I could be wrong, but I think this is what causes it, currently investigating how to fix it.
Replies: >>1261
fixed.png
[Hide] (102.6KB, 724x580)
Yep.

Before:
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
After:
glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
Replies: >>1262
>>1256
>seams on tiles
>I've already solved all of that.
It will return. 
>what color should I use
What color do you want? Lets use >>1254 for example. If you want lines to be semi-transparent, you should use 0,0,0,1 as default renderer color and whatever color you want (x,x,x,0.5) to draw them. In your case, it seems that green is the default color, so everything rendered with transparent pixels, will have green background, including the screen background. When drawing lines on top of everything else, you should declare color, and in SDL2 it should work normally, unless you use intermediate texture. 
https://wiki.libsdl.org/SDL2/SDL_BlendMode
Would be helpful to know what engine you are using. It sounds like extremely common problem. 
>>1259
>0.6 + 1 =0.4
Its worse, sometimes x0.5 + 0.3c +z0.5= 1z +0x +0c. 
Fix is probably something easy, dont worry about it.
Replies: >>1263
>>1260
Nice one. Is that straight up OpenGL you're using?
Replies: >>1263
>>1261
Tile gaps should only appear for me if floating point inaccuracy gets so bad that numbers are off by 0.5.

>>1262
Yes. I've thought about learning Vulkan just because OpenGL frustrates me so much at times, but Vulkan might end up being even worse so I can't commit to that plan.
Replies: >>1264
>>1263
There are wrappers for opengl, unless you want to learn it, its probably better just use glut, glew or whatever most updated wrapper is.
Replies: >>1265
>>1264
I don't really have a problem setting up and using a graphics API so a wrapper doesn't help me. Getting the correct results on screen without crap performance or massive spaghetti in the code is the hard part, everything's too clumsy and complicated for me to get things done. For example in my current implementation I need to edit like 5 separate places in my code every time I want to add a new shader.
search_engines.png
[Hide] (148.1KB, 910x1299)
I hate the modern internet I hate the modern internet I hate the modern internet I hate the modern internet
Replies: >>1267 >>1268
>>1266
This AI shit is making dead internet theory real.
>>1266
Dont use jewjewGo, use https://etsi.me/ or at least brave search. But yes, it fucking sucks.
43478260_p0.jpg
[Hide] (816.9KB, 1200x849)
I went on a tangent looking into what 3D rendering techniques are used these days. Apparently Stalker was one of the first games to use deferred rendering, and it's what people use(d?) for a long time mostly because it's much more accommodating for rendering many light sources. Supposedly forward rendering is better except for that; it's performance suffers when you have many lights, but people came up with ways to make it even faster than deferred rendering, and I found this which seems like a further upgrade that I haven't seen mentioned anywhere: https://www.youtube.com/watch?v=nyItqF3sM84
Ancient news by this point but it's pretty interesting, especially if you read any lighting tutorial and get told that forward rendering is bad for lights.

I'm reading that a lot of modern renderers are deferred, but also that some of the new AAA games use forward, Unity uses a mixture of both. All rendering "tutorials" are super old, and most new tech demonstrations focus on very high level things and ray tracing and global illumination, so it's hard to figure out what the basic rendering process is. This website has lots of presentations throughout the years, very interesting to browse through: https://advances.realtimerendering.com/

It's a little sad that all information about rendering is focused on one of 2 things: realism or anime cell shading. I'd love to see techniques for getting interesting and for the lack of a better term "emotional" graphics, not just realism and wacky indie cartoon shaders that get old in 5 minutes. Like imagine a game that looks like pic related.
68465058_p3.jpg
[Hide] (286.7KB, 1200x600)
Or this.
Replies: >>1272
One could argue that light and shadow are the most memorable parts of any video game.
ClipboardImage.png
[Hide] (3.2MB, 1500x860)
ClipboardImage.png
[Hide] (469.1KB, 640x300)
>>1270
I dont see how this would be possible, unless everything is prerendered, and just applied light effects on top. We cant even make film grain effect which dont look like shit. And even if something looks okay as a static image, it often turn to shit when animations are involved. 
Modern shaders work on per pixel basis. What you asking is making them work on entire image at the same time, while noting previous frames, so it doesnt look like shit. Modern "AI" does this stuff, but its stupidly expensive. 
While its not impossible, its really difficult. Even making a single textured model, which would fit this style. 
Wolfwalkers cartoon was made with heavy usage of blender, and you probably cant tell if anything is 3d.
Replies: >>1273
2020-05-13-image-21.jpg
[Hide] (465.3KB, 2491x1401)
>>1272
>I dont see how this would be possible
If I asked you to make an engine that renders pic related in 60 FPS, you'd end up saying the same thing.

That picture looks difficult because we spend all of our time around realistic shading techniques instead of creative ones, but I can almost guarantee that it would be easier to come up with tricks for rendering that than coming up with the stuff that modern engines do. Obviously you can't make a pixel perfect replication of that image, but you could make a game that looks just like it. You could get pretty far along just by creatively using surface normals and brushed textures and relative positions to modify lighting, and adding some kind of post-processing on top that's aided by vertex/normal/texture/depth data so it looks consistent in motion.
Replies: >>1274
>>1273
>people are just not creative enough, because they hate beautiful things
No, its because its really hard to replicate. You are not the first guy who come up with "what if cgi looked awesome" idea.
Replies: >>1275
1659741915389467.webm
[Hide] (2.9MB, 534x652, 00:13)
>>1274
Who are you quoting?

Only amateur indie devs make "aesthetic" renderers and they're obviously less skilled and have less time and resources than AAA engine developers. Big budget devs who do stylized graphics always go for clean cell shaded art like this which doesn't require any remarkable techniques beyond edge detection and custom vertex normals.
normals.png
[Hide] (83.7KB, 372x299)
1508803426868.gif
[Hide] (1.7MB, 640x278)
yhGjCzxJV3E.png
[Hide] (922.5KB, 1595x840)
normal_map.png
[Hide] (312.3KB, 522x256)
I keep mentioning normals and wondering how many people know exactly what they are, I feel like you might not if you don't interact with rendering or 3D yourself, so here's a mini tutorial.

Each triangle or vertex can have a "normal vector" attached to it, a normal usually points perpendicular to the surface of the triangle, and you can easily calculate lighting by comparing the directions of the camera/light/normal. In some cases you can make the normal vector point into a custom direction and "trick" the shader into thinking that the triangle points somewhere other than where it actually points to, it gives you more fine control over the lighting. There's also textures where each pixel is a normal vector (you might've seen those colorful textures), or you can render normals into a texture in real-time, there's all kinds of ways to use them but the main use is to manipulate the apparent angle of surfaces for lighting purposes.
Replies: >>1277
fff-324-tree-debug.mp4
[Hide] (6.9MB, 768x432, 00:09)
>>1276
They can be used for anything, using them to make flat surfaces look 3d is just one of the more clever designs. 
https://www.factorio.com/blog/post/fff-324
Replies: >>1278
leaf.png
[Hide] (42.4KB, 542x590)
>>1277
I'm not sure what the exact definition is. To me a normal vector represents a direction, which is different than a position/offset. I think things like waving leaves are usually done with some kind of an offset. They're effectively the same concept used in a different way though so it doesn't really matter.

I've thought about how to do waving leaves too but I can't figure it out. My idea is pic related; use an offset texture where each pixel of a leaf in a texture has offset to the center of that leaf, that way every pixel of that leaf can get the same value from a "wind offset" texture, and you could then animate the wind texture however you want with liquid/smoke simulation or whatever and the leaves would animate independently from other leaves.

The problem and reason why this won't work is that shaders work in the opposite way than how you'd intuitively think, the output of a fragment shader is always a screen pixel and you can't change that, you can only change where from a texture you pick the color for that screen pixel from. So you can't pick a value from the offset map to change where to output the pixel to. I think you can probably make it work somehow but I'm not experienced enough with shaders to figure out how.
Replies: >>1279
ClipboardImage.png
[Hide] (399.4KB, 605x403)
tuatara_bulge_uvs.mp4
[Hide] (175.5KB, 600x600, 00:01)
>>1278
>and the leaves would animate independently from other leaves
I have no idea how you trying to do this, from your explanation. 
>I think things like waving leaves are usually done with some kind of an offset.
Usually they just rotate the whole model a little, or just the leaves if they are fancy. Its leaves, no one cares, you can have square leaves and no one will notice. And in case of factorio, UV offset is also one of the most common ways to do fancy 2d effects.
>shaders work in the opposite way than how you'd intuitively think
No.

Few other examples of similar stuff. 
https://simonschreibt.de/gat/diablo-3-wings-of-angels/
https://simonschreibt.de/gat/diablo-3-resource-bubbles/
Replies: >>1280
shaders.png
[Hide] (32.7KB, 842x360)
>>1279
>I have no idea how you trying to do this
Did you read the post because I said that it doesn't work. The goal is to move leaves independently from other leaves, in 2D. You can just apply the wind distortion into the whole tree sprite or whatever, but it won't look as good.

>no one cares
Shut up nigger, you can't tell me as the developer of my game that I don't care.

>No.
Yes.
Replies: >>1281
>>1280
>pic
I think you confusing textures with shaders. No one thinks that you pick a color and than decide where to render it. Its not a mono color real life printing press. Have you used computers before? 
>The goal is to move leaves independently from other leaves, in 2D
Yeah, I had similar idea, but for something else, cant even remember what, but it was related to depth of 2d sprite. In your case its as easy as assigning random colors to each leaf, and use it as UV offset. Or better yet steal factorio idea. 
>Shut up nigger, you can't tell me as the developer of my game that I don't care.
Good luck with your failed ideas. The more you spend on stupid shit, like making perfect leaf physics, the less you will spend on actual game. Especially if you ignore all and any advice, and try to do it, in your own way.
Replies: >>1282
>>1281
I think I'm talking to an AI right now.
Replies: >>1283
ClipboardImage.png
[Hide] (192.5KB, 800x670)
>>1282
No, you are just stupid and arrogant cunt. You literally think that everyone misunderstands how shaders work, because you cant understand them.
Replies: >>1284
>>1283
>arrogant cunt
I become that way when I'm trying to accomplish something and solve an interesting problem and then some faggot comes along and tells me I should stop caring. If you don't care then don't reply, if you don't know how to do it then don't reply, stop wasting my time.

You can only change the destination where you draw in the vertex shader, but you don't use normal map textures in the vertex shader. You use normal maps on the fragment shader, and when you're in the fragment shader you can no longer change where you're drawing your pixel, you can only change what color to put in it.

In other words, you can't move a leaf with a normal map. You can distort the texture as a whole, but you can't move an independent leaf. In order to do it, the leaf normals would have to already be moved into the destination and then you use those to get the leaf pixels from the actual leaf texture. But if the normal values were moved to the destination, why didn't you just move the actual leaf pixels in the first place and read those?
Correction: you CAN use normal maps in the vertex shader, but then you're moving the whole mesh.
I want to know what esoteric knowledge Anon has picked up in his journey of gamedev.
Please share it with me.
Replies: >>1291
Funky_Laptop.png
[Hide] (943.1KB, 634x623)
adding sqlite databases into my godot game instead of a gorillion strings everywhere, i've done it before so it's not too hard but getting the queries structured right in gdscript is pretty tedious
Replies: >>1289 >>1290
>>1288
What? How is typing strings into a database better than typing strings into variables?
Replies: >>1292
00c4eff4991c133a.jpeg
[Hide] (135.9KB, 1024x768)
>>1288
>adding sqlite databases into my godot game to store strings
Replies: >>1292
>>1287
>what esoteric knowledge Anon has picked up
You can make videogames if you don't give up.
571ad1dd1104a8737aff49cb6718fd46ef97a3098308117372c4d3d627287530.png
[Hide] (24.1KB, 455x261)
>>1289
>>1290
because otherwise i will have a shitton of 
>day1MessageID string
>day1MessageSubject string
>day1MessageContent string
>day1MessageRead bool
etc.
unless there's a better way of doing that that doesn't involve strings everywhere, or nodes with all the prewritten strings attached
if i'm being a retard please tell me
Replies: >>1293 >>1295
>>1292
Won't an array (of a struct) do? Unless you have so many entries that it won't fit in the RAM, embedding a full blown SQL db engine sounds like an overkill.
Replies: >>1294
>>1293
It's not giving much overhead right now, and I find it easier to manage the messages in an external program right now than adding them in the IDE. If for some reason SQLite starts dragging the whole game down then I can find another way of adding it in, but it should be fine for now.
>>1292
Usually you'd just put a big array or associative array somewhere and get values from that, even if you want to save things into it for a save game, saving a JSON file with the same names/indexes will work for almost all cases. But if a database feels more comfortable for you and you're not querying it 120 times per second, then there isn't much harm in using one.

Can you post an example of what your code would look like before using a database and after using a database?
Replies: >>1296
>>1295
It'd most likely be a big nested array in a dictionary based on message ID, which I could probably do but right now doing it from a database is just a lot easier. Right now I'm more concerned about getting to first playable even if it runs like garbage (but it's running pretty well on my 10 year old Celeron laptop right now).
Replies: >>1297
>>1296
I'm just trying to understand what a database would help with. For example I'd do something like this (pseudocode):

enum Message {
	Message_None,
	Message_Day1,
	Message_Day2,
	Message_QuestFoo,
}
Messages = Array()
Messages[Message_Day1] = { Subject:"Hello", Content:"World" }
Messages[Message_Day2] = { Subject:"Hello", Content:"World" }
Messages[Message_QuestFoo] = { Subject:"Hello", Content:"World" }

ReadMessageIds = null

function load_game () {
	ReadMessageIds = read_json_file("save.json")
	if (ReadMessageIds == null) ReadMessageIds = Array()
}
function read_message (MessageId) {
	ReadMessageIds[MessageId] = true
	save_json_file("save.json", ReadMessageIds)
}
function print_messages () {
	for (i=0; i<Messages.count; i++) {
		msg = Messages[MessageId]
		if (ReadMessageIds[MessageId]) set_text_color("white")
		else set_text_color("yellow")
		print(msg.Subject, msg.Content)
	}
}
Alternatively you could use an associative array with a string ID instead of an integer enum ID. I'm not sure what a database would make easier, or maybe I'm misunderstanding what you're doing.
Replies: >>1298
>>1297
Well for starts there'd be a lot more to keep track of for each message entry. They're all "emails" which contain
>date and time message was sent
>sender
>subject
>recipients
>message
>attachments (optional)
>read/unread flag
So a dictionary of arrays may work better, such as
[code]gdscript
messages = {0: [date, sender, subject, recipients, message, attachments[attachment 1, attachment 2,]. isRead]}
[/code]
and so on
Replies: >>1299 >>1300
>>1298
why are code tags different here wtf
Replies: >>1300 >>1301
>>1298
The same general idea works almost no matter what the messages have in them. If the messages are "generated" rather than pre-defined story messages, then a database solution starts to look more similar and makes more sense, but I still don't see it being more convenient or reducing the amount of strings in the code. I understand using a database, but not how it's related to the reason you gave.

>>1299
I gave up trying to remember them for every imageboard, I just copy the tags from the faq every time I need them.
>>1299
I wonder if [spoiler]spoilers [spoiler] in spoilers[/spoiler] are fucked[/spoiler]?
Replies: >>1302
1659172515819841.png
[Hide] (220.3KB, 500x372)
>>1301
And when I said I copy the tags from the faq, I meant ALL the tags. If I was a dictator I would make it illegal to use anything other than bbcode for formatting.
[New Reply]
306 replies | 237 files
Connecting...
Show Post Actions

Actions:

Captcha:

- news - rules - faq -
jschan 1.4.1