[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / r / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology


Thread archived.
You cannot reply anymore.


[Advertise on 4chan]


File: Ferraris.jpg (798 KB, 3318x2160)
798 KB
798 KB JPG
1993 Cherry Red Ferrari Testarossa Edition

/gedg/ Wiki: https://igwiki.lyci.de/wiki//gedg/_-_Game_and_Engine_Dev_General
IRC: irc.rizon.net #/g/gedg
Progress Day: https://rentry.org/gedg-jams
/gedg/ Compendium: https://rentry.org/gedg
/agdg/: >>>/vg/agdg
Graphics Debugger: https://renderdoc.org/

Requesting Help
-Problem Description: Clearly explain your issue, providing context and relevant background information.
-Relevant Code or Content: If applicable, include relevant code, configuration, or content related to your question. Use code tags.
Previous: >>106843063
>>
there are people RIGHT NOW who have published games on steam who don't know what a hash map is or how to write a shader.
thoughts?
>>
>>106939650
Video games are a creative product, not a technical product. I'm sure a great many film animators are unfamiliar with the mathematics of quaternions
>>
>>106939663
fucking posers.
>>
>>106939650
>thoughts?
anyone who cares about this is an insecure nodev
>>
File: mon eyes.webm (2.94 MB, 1436x964)
2.94 MB
2.94 MB WEBM
Look at this cutie!

...but don't make eye contact.
>>
Check out my indie game, it's stil not finished. It's a beta.
I made with Bevy
https://rumba-studios.itch.io/jumperia
>>
File: fucked.png (8 KB, 174x437)
8 KB
8 KB PNG
look at all these draw calls for a single model. how fucked am i?
>>
I wrote a library for parsing quake-style .map files from level editors like trenchbroom so you can use trenchbroom for engine dev and not have to write your own 3D level editor

https://gitlab.com/anachrohack-public/mapfileplusplus

Windows only rn but that's just because I haven't added a glm implementation yet
>>
>>106939650
It doesn't matter if they're more successful than you are. You're focusing on the wrong thing. Focus on bettering yourself instead of trying to pull others down. And yes I know how to write shaders and hashtables.

>>106940945
It seems excessive yes, is each blue bar a drawcall here?
>>
>>106940989
yea by far most of them are draw calls. its the intel sponza fbx model, the 150mb one, split up by each node and material, so 405 total draws
>>
File: sponza_curtain.png (29 KB, 785x453)
29 KB
29 KB PNG
>>106941030
I use Sponza for my graphics prototypes regularly, in my renderer sponza is like 22 draw calls and each object looks like this when it gets submitted. I would look at your renderer code, maybe we have different models but each distinct object in the scene (or group of objects like this) should be a single draw call. You can check in renderdoc. My guess is that you're rendering correctly but every submitted drawcall is like a tiny group of triangles for some reason, so you end up with a million drawcalls instead of a low number.
>>
File: fucked2.png (26 KB, 469x295)
26 KB
26 KB PNG
>>106941110
im using this sponza model https://www.intel.com/content/www/us/en/developer/topic-technology/graphics-research/samples.html before that i used one i found from unity which was also i think 22 calls
the calls are generally pretty fat, considering its 11241024 indices (not yet optimized it from triangle lists to strips)
>>
>>106941201
I set a personal limit of 1,000 draw calls per frame on desktop, 500 on mobile. If your frametime is high its probably not the number of draw calls, 405 calls is nothing for a modern gpu. Implement culling first and see what happens. I use vertex pulling and bindless or imagearrays so that I can get my drawcall count down to an absolute minimum, but its not necessary
>>
>>106941349
around 750fps. once i figure out how to load pbr materials from an fbx file, if thats even possible, ill get around to culling
how hard would you say it is to go from bindfull to bindless? maybe even get around to deferred materials too
>>
>>106941349
trying to get your draw call count down is cargo culting, the amount of draw calls you make matters much less than what a draw call is actually doing
>>
>>106941444
I agree which is why I said it's not necessary.
>>
>>106940777
welcome back, did you take a break or just been hiding?
>>
>>106942182
I lost my drive, so this is a recreation from the parts I managed to recover. In the meantime I also hopped through several different projects, most of them posted here too
>>
>>106939650
>hash map
what the heck is that
>>
I don't get quaternions, they sound super useful and simple but I'm having big issues with it
how do I restrict the pitch (up and down) so the camera doesn't do a barrel roll?
only way seems to be to calculate the pitch with an atan2 but that gave fucky results at turning points where it still rotated because it was dividing by close to zero
my solution was to accumulate the y pixels moved so I always know the pitch but that's a hack that only works because I'm moving the camera with my mouse like an fps game
>>
File: 1751370159027995.png (129 KB, 393x486)
129 KB
129 KB PNG
>>106942879
I believe you could discard the y/z components after converting the quaternion to a matrix and taking the a b c column
[a 0 0 0
b 0 0 0
c 0 0 0
0 0 0 0]

Then create a new rotation matrix about x
[1   0       0      0
0 cos(t) -sin(t) 0
0 sin(t) cos(t) 0
0 0 0 1]

where t is the pitch from a b c clamped to your required angle, if atan2(-c, sqrt(a^2 + b^2)) acts weird when the sqrt is near 0 you can apparently use (-c + b) / 2 to approximate the pitch for small angles
>>
man, models are a mess
why do some models use "bump", others "displacement", and others "normal" to mean the normal map? why does assimp have them as separate texture types
I feel like it's such a rabbit hole to make the model loading compatible to every little detail, but I don't know how to mess with external tools to fix the models
I mean, the basic ones I can, the wavefront .obj that I can ctrl+f and replace the name
>>
I'm not a game dev, but I have a question. Why dont any games use a "director" (Valve's left 4 dead spawn generator "ai") for entity interactions that keeps track of your game progress and then adjusts reaction through with a single entity interaction system? I understand that some games do use dynamic interactions that update with progress of games, but I feel like those are coded manually for each entity and these dynamic interactions are only there for important NPCs only. Where as a single unified entity interaction would give dynamic response for every single entities. And it shouldnt be compute expensive since it would be interaction only or entities that are in the small radius of the players.
>>
>>106943243
I don't really get it, doing the atan2 of the abc vector is giving me the yaw.
Thanks anyways, I think I'll leave it as it is since it's working.
I have bigger issues, like the 3GB intel sponza model crashing my engine with OOM even though I have 32GB of RAM and 12GB of VRAM
>>
File: anonymous.png (460 KB, 963x870)
460 KB
460 KB PNG
i fucking HAAATE cpp
i fucking HAAAATE vulkan
FUCK these niggers
FUCK these niggers
FUCK these niggers

these two technologies are created to gatekeep by default

FUCK these niggers

why can't everyone use comfy java and opengl
>>
bros I have been slamming my head against a brick wall for hours.
I've read the docs, I've asked the chatgippity.
>>
>>106945315
>why can't everyone use comfy java and opengl
maybe not everyone can, but you can.
with the new native method handles, loading the GL library and calling opengl functions from java should be straightforward, especially since many GL functions just need a few floats and ints (and enums), so you don't need to marshal any objects. Don't even need to use lwjgl then. Just load a few methods yourself and start blasting some draw calls.
>>
>>106946511
>emscripten
a fellow visionary, I see
>>
>>106939650
Not everyone is doing this for the money. I already have a job as a game developer, I do this in my spare time, the goal is still to release a successful game but I am not desperate to do so.
>>106942879
Use rotors.
https://marctenbosch.com/quaternions/#h_0
>>
>>106947707
>let's use rotors because they're easier to understand than quaternions
>they aren't actually easier to understand than quaternions
>>
>>106947707
the article shows some code comparing rotors to quaternions.
https://marctenbosch.com/quaternions/code.htm
they're pretty much the same. the only point the article makes in the end is that rotors are conceptually easier to visualize in 3D.
>>
Would you guys mind giving me some advice for my engine website? I am not really a designer.
https://ris.neocities.org
>>
File: firefox_QADPKXJoTq.png (672 KB, 1634x1137)
672 KB
672 KB PNG
>>106948432
Made a few small adjustments. Here's the stylesheet:

https://pastebin.com/AcrsJyBh

>Replaced font with sans-serif font
>Added spacing in between lines
>Made the width of the center column mobile-friendly
>Collapsed the height of the center column to take up only as much height as it needs
>Made the iframe width responsive to mobile/desktop views
>Centered the navigation bar a little bit better
>Added emphasis to the navigation links

To get this to work on mobile, add this meta tag to your html <header>:

<meta name="viewport" content="width=device-width, initial-scale=1" />


This tells a phone browser to treat the site as a mobile site (i.e, fix the width of the site so it doesn't look like desktop). I added comments in the stylesheet in the link above explaining what each thing does
>>
>>106948432
>>106948651
For the screenshots page, I added this:

i {
line-height: 2rem;
text-align: center;
color: #545454;
max-width: 50rem;
margin: 0 auto;
display: block;
}

img {
margin: 0 auto;
}


However, you should be careful with this: these css rules will target ALL
<i>
tags, so if you put them inline in your home page it will fuck things up. What you should probably do on the screenshots page is add a class to the <i> tag, like:

<i class="caption">...</i>


and add css rules to
.caption
to distinguish it from an ordinary
<i>
tag

Anyways, this centers your images and captions, and makes the color on the captions a little more dull
>>
>>106948211
>they aren't actually easier to understand than quaternions
They are though.
>>106948388
>they're pretty much the same. the only point the article makes in the end is that rotors are conceptually easier to visualize in 3D.
That is the point. You can just use them instead of quaternions with minimal changes, all you gain is that they are easier to visualize/understand.
>>
>>106949653
if you cant understand quats because your math is weak then some expanation of rotors full of math is not gonna help
>>
Quaternion just stores an orientation relative to some assumed global x-y-z coordinate axes. Or that's how I understand them, at least.
>>
>>106949718
I can understand quats intuitively even though I don't understand any of the math
a quat is the same as when you pierce a foam globe with a skewer and rotate it, you're using the orthogonal vector to rotate
I read the whole rotors thing, didn't understand a word, but I assume that instead of using the orthogonal vector you use the plane it rotates in, making the two very similar but the rotor easier because you don't need the backwards thinking of orthogonal to what
>>
>>106944216
That almost certainly requires the dev to know how to program and I suspect most game devs cannot program (at least today). With LLMs existing there will be somehow be significantly less competent programmers coming from generations under us.
>>
>>106949799
>I suspect most game devs cannot program
games cant program themselves
>>
>>106949823
Don't need to for a half baked prototype from drag and drop game engine
>>
>>106949844
too bad most games aren't half baked prototypes then
>>
Is it even possible to get a job in the game industry anymore, or is it one of those completely closed off industries like Hollywood, where the only way to get in is through nepotism?
>>
>>106949858
It's easer to get a job in the game industry than it ever was before
>>
>>106949855
Are you joking?
>>
>>106949876
How? From what I've read they've laid off like half their entire industry in the past 3 years. Nobody with zero industry experience could ever hope to compete for the tiny amount of job openings against tens of thousands of people with years of experience already working in the industry looking for a job. I don't think I've ever even seen a game dev job listing that didn't require you to have previously worked on at least one major game title.
>>
>>106944216
>>106949799
>why doesn't anyone just do X?
You can get your answer pretty easily by trying to implement it. Like most things.
>>
>>106949881
Yes, 99% of the games you play had programmers on the dev team
>>
>>106949899
>I don't think I've ever even seen a game dev job listing that didn't require you to have previously worked on at least one major game title.
Doesn't that basically describe all games though?
Game industry keeps getting bigger and churn keeps getting higher
>>
>>106949912
>all games
I meant all jobs
>>
>>106949904
I can already tell you're retarded. I'm not arguing any further.
>>
>>106944216
I don't have many examples, but aren't directors always for enemies, like alien isolation and l4d or that one with a nemesis system
those are all things you fight and overcome, I don't see how it could be changed to random or even important npcs
it's easy when they're enemies, because all you're doing is dynamically changing the difficulty through numbers, but how would that work on the story level where all you have is dialogue
maybe I'm misunderstanding?
>>
>>106949934
I can tell you're from /v/ and don't work on games
>>
>>106949959
I am Ygg Dev, you?
>>
>>106949976
whats ygg?
>>
>>106949985
>>106843063
>>
>>106949919
Not really. There are plenty of programming jobs that just require experience, which can include college projects or any kind of other personal projects or open source contributions. But every job opening in the game industry specifically requires you to have worked in the industry before.
>>
>>106950070
I work in normie software engineering and have never seen a job posting that gave a fuck about personal projects or college work. Entry level jobs want to see internships
>>
>>106950084
That's not really true, but even if it was, you can still just do freelance work or something and that would count as "industry experience". In the game industry, they specifically want you to have worked at one of the handful of big game studios or your experience is completely irrelevant to them.
>>
File: chicken_cigarette.jpg (58 KB, 640x640)
58 KB
58 KB JPG
>>106950120
>That's not really true
>source: (my ass)
>>
>>106941110
is this a model specific thing or does your code combine the meshes?
I got the sponza model from here https://github.com/jimmiebergmann/Sponza and each curtain is its own mesh
it does 392 draw calls because it has 392 meshes
>>
>>106949943
Well, on the dialogue level, you can simply have a host of greetings, conversation topic relating to player progress(builds/gears/parties/major global story events), scene changes, weather/time, etc. By default, most games have static character dialogue with static texts like "Hello", and that seems like a place where players can have a more nuanced/dynamic dialogue. You can call it a dynamic unified dialogue system, if its just limited to dialogues. However, with a dynamic entity director for all things in the game, enemies/npcs/weather/music/etc, this would control behaviors of all. Some NPCs might greet, others might be silent, others might be chatty, etc. Depending on randomized/unique personality modifiers of each NPCs. If the entities are dynamic, you can store all the behaviors, dialogue, model states, in a single database. There's so much potential for crafting very unique NPCs behaviors/dialogue through a global entity database system that can be modified dynamically. And imo, I would think a unified entity system would save time/effort for the game developer and give their characters/npcs/world much more vibrance. This should imo scale from indie devs to even large AAA games and be able to scale their world/game much better.
>>
>>106950970
You don't really know what you're talking about
>>
File: 1759249456243847.png (1.06 MB, 900x900)
1.06 MB
1.06 MB PNG
Anyone know a good IRC or discord channel or something to talk about engine dev with other people
>>
File: lorena.jpg (68 KB, 498x500)
68 KB
68 KB JPG
Gay ass tee on Carmack.
>>
File: 1760704718269682.jpg (26 KB, 236x320)
26 KB
26 KB JPG
>>106951152
>celtic music

I think carmack may be king of the chuds
>>
File: s1lv03o05q7f1.png (708 KB, 1268x800)
708 KB
708 KB PNG
>>106951152
>gay ass tee on Carmack
You don't say.
>>
>>106946511
I think PLATFORM_WEB_SDL might help, assuming that it also does the audio for raylib.
I don't use raylib or use audio.
also you seem to be using optimizations, wouldn't hurt to use debug info and I think there is a extension for debugging wasm on some browser that might help.
Also different browsers behave differently (I don't think it applies here however).
>>
also, long time no post.
What do you guis think of my game engine, instead it's build and based on webkit2gtk and C language.
so, right now, I'm working on the hot-reloading feature reading javascripts

Technically, I'm shifting from opengl to webgl/Webgpu or maybe even using webasm libraries.
Also seems like it's impossible to run or port webkit2gtk to windows and also I've plans
probably using flatpack or maybe appimage for Steamdeck.
>>
>>106951923
I think people should not be building games with web technologies
>>
>>106951959
Technically, that's your opinion and I respect that.

But for using html5/css and using JS for game mechanics is nothing new.
And also I can make use of that HTML5/CSS for the game menus/GUI/font system that I don't like to implement.
>>
>>106952062
Using JS for game mechanics isn't common
HTML based UI frameworks exist but they were pretty shitty and slow
Really it's just when you have a hammer every problem looks like a nail, you know webdev so you think you can apply it to games, but web tech really just sucks ass for games
>>
what are you guys doing to procrastinate?
i just added small string optimization to my string class
>>
>>106951747
how did he get wide like that? did he do 1 pushup every time his code was compiling?
>>
>>106952209
its probably just the shoulders
>>
File: file.png (162 KB, 851x635)
162 KB
162 KB PNG
picrel is me right now
>>
>>106951766
Nevermind, that SDL platform doesn't exist...
>>106946511
you probably need to set -sEXPORTED_RUNTIME_METHODS=ccall
BUT I don't see the error for it. But the documentation says you need it, and 2 weeks ago, they added -sEXPORTED_RUNTIME_METHODS=ccall to cmake by default.
>>
>>106953035
im rooootating
>>
>>106950889
my code doesn't combine the meshes, so the gltf I downloaded of sponza precombined them already
>>
File: 1751327392938823.png (509 KB, 2874x1615)
509 KB
509 KB PNG
Slow but steady progress on the Vulkan renderer, finally got a textured meshes rendering with very basic point lights. Lots of infrastructure work under the hood that doesn't really show up yet and took the lion's share of the time. The mesh and texture are from HW2
>>
reminder optimizing for triangle strips is pointless, because it prevents you from storing different attributes per vertices, and also it's a quite old form of optimization. it's more important (and easier) to optimize your index buffer to make use of the vertex transform cache
>>
>>106953035
I look like this
>>
>>106953522
For textures are you using descriptor indexing or directly binding them?
>>
Debating between starting PBR or compositing effects like SSAO/Bloom/etc
>>
>>106939650
the problem always has been focus and self discipline people on 4chan are here for a reason they usually don't have that.
>>
>>106953782
I have material instances that store instance specific data such as image index in a buffer. I pass the "pointer" (VkDeviceAddress) to the shader via push constants which then fetches the image via the index (well, technically fetches the image descriptor from the descriptor buffer).

I am unsure what that makes it, I never touched any rendering (OGL, D3D, etc) before jumping into this so I'm just taking the path that seems the closest to normal programming, I have little knowledge of anything outside of it (or even inside, I'd lie if I said I was certain about my current Vulkan code).
>>
>>106953949
Basically what I do except I’m lazy and I do one buffer per material where the address is the material index. I’ll fix it one day but when there’s only like 9 materials total it’s not high on the list. Sounds like you’re using descriptor buffers instead of pools, are you?
>>
>>106946511

>>106947529
I want my game to run on itch.io so I can share it with my frens, I don't want to web dev or use emscripten but I see no other option.

>>106951766
>>106953344
Turns out I had to compile raylib myself instead of using the prebuilt release for web.
>>
>>106954093
>Sounds like you’re using descriptor buffers instead of pools, are you?
Yeah for images and image samplers. I've tried to get rid of as many descriptors as possible elsewhere. Might try to make the renderer fully bindless later, already part way there with the heavy usage of addresses etc.
>>
>>106951747
Getting ripped is a sensible decision.
>>
Decided I wanted to do PBR and image based lighting so I simply asked copilot in visual studio to do it for me and it did. Why would I bother learning all that math shit when AI can do it for me.
>>
Z-up.
>>
>>106956052
Kys
>>
File: output4.gif (78 KB, 240x240)
78 KB
78 KB GIF
>>106952175
Added an "export animation as .gif" button to my texture editor. It's not the greatest, no transparencies and .gif is overall generally unreliable, doesn't loop on windows photo viewer. But it's still pretty neat.
>>
>>106954835
>I don't want to web dev or use emscripten but I see no other option.
you mean, isn't everyone like this
>>
>>106956052
There is no up in space
>>
>ywnb as cool as John Romano and John Carman
why even live bros
>>
File: frogsmile.jpg (53 KB, 900x900)
53 KB
53 KB JPG
AI agent is heckin awesome
it set up working network interface between c++ server and unity client, running and dependencies resolved, all within minutes
>>
File: screenshot.png (115 KB, 1280x720)
115 KB
115 KB PNG
https://aussie114.itch.io/ab-workout
https://github.com/aussie114/ab_workout

This is almost a game, but it's at least a finished project.
>>
File: 1731365433046327.jpg (71 KB, 912x1024)
71 KB
71 KB JPG
>>106956052
Forward? X+.
Right? Y+.
Up? Z+.
>>
>>106948732
>>106948651
Thanks! I will check out your fixes. Do you think that it looks better if the content div takes only as much height as it needs? I thought it looked weird that different pages have different sized boxes
>>
>>106958770
There'll never be a game with the same impact as Doom ever again, just accept it
>>
>>106961706
minecraft
>>
>>106961706
Oppai Slider 2
>>
>>106961808
doom spawned a successful genre, minecraft spawned slop and degeneracy
>>
>>106962980
yeah but it had an even bigger impact than doom
>>
>decide to use RmlUi to handle the user interface
>can create user interface in any web dev program and copy the html over and change a few things to fit the rml syntax
>thought it would be easier than creating my own which it is for general layout and look
>drag and drop fails and segfaults constantly
>doesn't maintain style or formatting on dragged elements
>documentation is good but examples are limited
>chatgpt sends you in the wrong direction everytime
I've never been so close to chucking the whole computer out.
>>
>>106964685
Let this be a lesson, Anon. Hell is other people's code.
>>
>>106956052
What's up direction in a top-down game with varying altitudes?
>>
unironically feeling sick trying to get post processing effects I made in Unity 2023 to work on Unity 6

sure, they're doing a better job at writing documentation/API stuff this time around, but holy shit I have to jump through so many hoops to do what used to be something simple
>>
>>106967024
>but holy shit I have to jump through so many hoops to do what used to be something simple
Feels like that with a lot of tech recently. Why complicate shit that worked just fine. It's like I'm pushed to use LLMs to find basic UI elements that used to be always visible, but not they are not even findable anywhere until you press a key combination.
>>
File: file.png (22 KB, 663x388)
22 KB
22 KB PNG
I'm trying to color UI elements based on the system theme.
In older Windows (what Windows XP called "classic") you could get the window bar color and other colors using the GetSysColor() function. This actually still works as of Windows 10 when theming is disabled (but results in an ugly window).
In modern Windows, the function GetThemeSysColor is supposed to replace it. However, when I call that function, I get the same "classic" colors.
Do you know what I'm doing wrong?

Relevant code:
HTHEME hThemeData = OpenThemeData(hWnd, L"Globals");
if (hThemeData == NULL) return;
COLORREF cActiveTitle = GetThemeSysColor(hThemeData, COLOR_ACTIVECAPTION);
_tprintf(TEXT("COLOR_ACTIVECAPTION = %u\t%u\t%u\n"),
GetRValue(cActiveTitle), GetGValue(cActiveTitle), GetBValue(cActiveTitle));
>>
>>106964685
to me it sounds like you aren't using address sanitizer.
if the crashes are happening inside of the library, you can build the libraries with address sanitizer easily, you just add a triplet and add this:
#from https://decovar.dev/blog/2022/10/30/cpp-dependencies-with-vcpkg
# default values from the original x64-windows-static-md.cmake
set(VCPKG_TARGET_ARCHITECTURE x64)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE dynamic)

set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -fsanitize=address")
set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} -fsanitize=address")

Note that this is for msvc address sanitizer, on linux I believe you need to add it to the linker flags as well (if you add it to the linker flags on msvc, I think it complains about it).
then I just set the triplet path to my triplet folder, set the triplet and run (on manifest mode, I prefer classic mode but it's not a very logical, you need to manually install the triplet version of the library, I use it because it uses less space across multiple projects).
>>
>>106968261
*but you don't need to build the library with address sanitizer for the library to be sanitizer by address sanitizer.
it just adds some extra checks (primarily stack stuff and C++ STL changes).
I always forget that valgrind (linux) and dr memory (windows), are easier to use (and asan won't check for uninitialized memory), but it could take 10 minutes for your game to start because it's 100x more slower than address sanitizer (especially on startup).
>>
File: vertex.jpg (72 KB, 1842x867)
72 KB
72 KB JPG
Fuck
1 vertex misaligned for no reason
https://github.com/SpaghettiCodeMasterThe/Godot-Quadtree-Terrain-V2
>>
File: apu-kot.jpg (31 KB, 604x516)
31 KB
31 KB JPG
i kinda like cpp
>>
>>106968518
>i kinda like cpp
I hope your keyboard was made by logitech or something. Pretty fucked up otherwise.



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.