Game Design Megathread

Author Topic: Game Design Megathread  (Read 443559 times)

I use Unity at work for mobile apps and games, most of which are 2D but also include some 3D stuff, and I've discovered that Unity is just garbage for everything. There's legitimately no way anybody could use Unity for anything serious outside of rapid prototyping, unless you really hate your audience.

I can't tell if I want out of this company because I hate the workplace or because I hate Unity. Maybe a combination of the two.

ok i learned that opengl vertex buffer objects exist and i was like holy stuff this is probably way faster than the fixed functions that i was using previously so i set out on a journey to convert my stuff over to VBOs and holy loving stuff it took me 3 days to do it but i finally loving did it. i probably spent like 8 hours trying to figure out why stuff wasn't working and it was because jogl needs motherloving direct floatbuffers and not the non-loving non-direct loving floatbuffers and where does it tell you this you may ask loving nowhere holy stuff i spent loving 4 hours yesterday going insane because of these loving floatbuffers but it works now so everything is ok

here's the benefits of working with VBOs instead of the fixed functions if anyone is wondering
- load in all the vertex data once at the start of the program and not every single time the render function is called
- VBOs aren't deprecated in later versions of opengl, the fixed functions are
- you get to work with GLSL and i don't think you can with fixed functions. GLSL is some real magic stuff and its why blockland has shaders and why any game ever has shaders.
- its simple once you figure it out (it only took me like an hour of research to figure out how they work, it just took 8 hours to implement it in loving jogl though because they left out a crucial loving fact in the documentation)
- every half decent tutorial will use VBOs because VBOs are the way of the future
- you can index your vertices or whatever i haven't researched it yet but it boosts performance and this stuff isn't doable with fixed functions. it works sort of like the .obj file does based on the description of it i glanced at
- backface culling which boosts performance

there are some downsides like having to do all the matrix projection yourself which is super loving complicated i think only mr. jeffery opengl the creator of opengl knows how to do that stuff but there's about 50000 libraries that are dedicated to making that crap easy for you so it isn't much of a downside. another downside is that its a bitch to get working 100% but that doesn't matter in the long run.

still don't know how to even begin doing animations because i haven't looked up the tutorial so if you know about opengl and know how to do animations post a quote and tell me about your experience learning that stuff

aAAAAAaaaA i want to learn gml because drag and drop is Gay but i cant find the motivation and i don't want to spend money to learn how to do this stuff aA

aAAAAAaaaA i want to learn gml because drag and drop is Gay but i cant find the motivation and i don't want to spend money to learn how to do this stuff aA
there's like millions of "learn gml NOW" videos on youtube, for free

aAAAAAaaaA i want to learn gml because drag and drop is Gay but i cant find the motivation and i don't want to spend money to learn how to do this stuff aA
gml is a pretty easy language to learn once you figure out the conventions of the engine

Yeah GML is incredibly easy and will greatly increase your productivity in comparison to drag and drop.


i got basic ambient lighting working. i was going to post point lightning too but i don't like how that stuff renders right now so forget you. ambient lightning still needs some work too because i don't like how dark it is but i don't give a stuff at least its working.


edit: its dark because i multiplied the normal vector by the projection matrix while i was trying to figure out what to do to get any shading at all. when you do this the brightness changes depending on what aspect ratio you set which is a pretty obvious way to find the bug if you know what the projection matrix is
« Last Edit: October 02, 2017, 11:11:41 AM by Gytyyhgfffff »

welcome to the gyt engine checkup that nobody cares about i don't care about nobody caring it's nice having a sort of blog

got textures working. colors or anything else like colors in my engine will be handled with textures, as shown above. the downside about the texture stuff i've done so far though is that you can only have one texture image file per model, so you can't have something like blockland where there's like 50 different image files you use for various colors. there probably is a fancy way of doing this by stapling together images and offsetting particular UV values to match different areas of the stapled image, but i'm not going to do that now because what i have is good enough. hint for anyone who is working on this opengl stuff themselves: setting the normalized parameter in the function glVertexAttribPointer() to true when you load up the textures seems to reduce the stuffty looking blending affect you get when your face is at the edge of two colors that looks something like this: https://puu.sh/xOGlJ/908c6aae41.png

things to do after this point:
- make it so the .obj reader detects which image file to use for the texture
- for .obj's without any texture have some sort of blank texture that they pull from so i can continue playing around with shaders/debugging without having to worry about textures
- preload the textures instead of loading them in the init method so you can do all the loading at the start of the program instead of loading up the textures as you create the objects in-engine

for the curious and ones who are unaware of my previous posts this is not going to be another blockland 2 but instead some sort of quake clone. my engine is progressing at a decent pace i think for someone who knew jack or stuff about opengl only 2 weeks ago

also if you're looking to do collision in your games like i was and thinking to yourself hell i'll make a collision detection thing by implementing homebrew raycasts don't do it because its massively loving complicated involving loads of math you were never taught or never heard about so just go the pusillanimous individual way out and use the bullet physics library to make your life about 50000000000x more easy. plus you could code in physics objects into your game and that never fails to kick ass.


i want to make a video game that emulates nintendo 64 era rendering as closely as possible. is there a modern day game engine that could pull such a feat off? ive seen very promising results with unity, but apparently unity is an ass of a game engine. unreal seems like its too modern to regress in that fashion, and game maker is well....... game maker. ive seen people make some pretty kick ass looking ps1 games in game maker, but i dont think game maker could handle an actual story based game in that style

do you guys know some good mechanics for a 2d platformer game?

do you guys know some good mechanics for a 2d platformer game?
run and jump

i want to make a video game that emulates nintendo 64 era rendering as closely as possible. is there a modern day game engine that could pull such a feat off? ive seen very promising results with unity, but apparently unity is an ass of a game engine. unreal seems like its too modern to regress in that fashion, and game maker is well....... game maker. ive seen people make some pretty kick ass looking ps1 games in game maker, but i dont think game maker could handle an actual story based game in that style
p much unity would be the best option


there's lights right now. i'm doing them really poorly in both glsl and in java because the java code is really inefficient because it makes arrays for light information every frame for every object but i don't care right now. i'm thinking of optimizing that by having a set amount of lights per object which means you could have a lot of lights in a scene without hitting any sort of limit. to do that i would see if there were any lights in range for an object and if they are in range then the light information will be passed to the glsl. the issue with this is i'll still have to do a lot of looping per frame per object so i'll have to research a better method for that. for the glsl lighting equations i just took the blockland equations but i will probably find my own because the blockland equations look like stuff. there's some really complicated lighting models like microfacet BRDF but that stuff is really complicated and probably overly realistic/intensive for what i want to do.