https://www.youtube.com/watch?v=Bl-St5n7l-Ethe video is at a weird resolution because i haven't programmed in full screen yet. its running at 70 fps because that's my fraps settings, without fraps on and vsync off my framerate on my good pc runs the game at like 500-1000 fps and keeps it running like that until i spawn way too many particles/shapes. on my somewhat stuffty laptop it runs the game at like 300-400 fps without vsync
details: since everyone is posting about how they're making a game from scratch i thought i would continue the fad by posting more about my game engine. since my last post i have gotten jbullet working in my engine which means that i'm a lot closer to make guns and proper player movement and maps. i've also figured out how to get weapons on screen and figured out the math behind getting muzzle point placement which is pretty cool. particles are now in and there's some transparency sorting errors but i have some ideas on how to fix that however it won't work for all the errors. i'm using instancing to create particles, which means that you basically put all the particle position/rotation/scaling information into one buffer and tell opengl to render it all at once. its much more efficient than rendering each particle individually and trust me my old particle system sucked ass and it used that method. the way i'm doing it as described by an opengl tutorial is to render all the particles belonging to one particular texture at once and create different instancing buffers for each particle texture, which of course screws up the transparency sorting because you're going to end up drawing many particles on top of other ones when it shouldn't be done like that. i think i can fix that but there's still some issues with the particle transparency sorting because sorting particles based on their distance to the camera is a really stuffty way of sorting particles. if you know how to sort particles properly post how to because a cursory search on my part hasn't turned up anything. i also have a pretty good keybinding system in that is really versatile and even has support to change binds between mouse buttons and keyboard keys which involved a bit of a hack to work. according to git that's all i've done since october 10th which isn't a lot but i'm happy with the progress. the next thing i'm going to do is probably get a weapon image system like blockland's working so you can control how fast a gun fires and have particles emit from different nodes and stuff like that so stay loving tuned. maybe i'll even do animation if i feel like i want to die by programming myself into insanity.
pro-tip for anyone making a blockland clone/engine: to get particles that are like blockland's particles with
useInvAlpha = false; use
glBlendFunc(GL_SRC_ALPHA, GL_ONE) instead of
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)