1 line
16 KiB
JSON
1 line
16 KiB
JSON
[{"categories":["General"],"content":"Hopefully this will not be a yearly tradition of me updating the site, making one post, and leaving it untouched.","date":"2022-08-23","objectID":"/site-redesigned-2022/","tags":["Website","Update"],"title":"I Redesigned the Site","uri":"/site-redesigned-2022/"},{"categories":["General"],"content":"Hopefully this will not be a yearly tradition of me updating the site, making one post, and leaving it untouched. I wanted to write some posts this summer, (not really this summer more like five days ago), and either Jekyll wouldn’t put them into each projects’ feed or they wouldn’t show up. I had recently watched “Hugo in 100 seconds” by Fireship and had been looking at themes for a bit. So then instead of trying to recall what painful, voodoo witchcraft I needed to do to actually get these posts to display, (this was because I made my own theme, Jekyll is actually very cool) I switched over to Hugo and the LoveIt theme. I’ll probably fork and mess around with a custom color palette, but it’s now way simpler to write a post, just do hugo new content\\posts\\postname\\index.md and write! Another reason for the move is that I won’t get security alerts for the Gemfile being out of date, Hugo isn’t included in the website repo and everything is just a mostly static webpage anyways. The theme also looks more modern than the old one, and it supports comments. I’m unsure whether or not to allow comments or if I can under GitHub pages. By the way, go check out the video. The guy makes good informational content. ","date":"2022-08-23","objectID":"/site-redesigned-2022/:0:0","tags":["Website","Update"],"title":"I Redesigned the Site","uri":"/site-redesigned-2022/"},{"categories":["butterengine"],"content":"I feel like I wrote this code before...","date":"2021-08-08","objectID":"/butter-dejavu/","tags":["Butter Engine","Update","Programming"],"title":"Getting Deja Vu Right Now","uri":"/butter-dejavu/"},{"categories":["butterengine"],"content":"I feel like I wrote this code before… Up until last week, I have been working on the base rendering, textures, and 3D projection which all felt vaguely familiar (cough cough..TF2 OpenGL \u0026 Java..cough cough). As well as a basis for mod loading. But for this week, I didn’t do much (less than I wanted to) but I did do research into physics, cameras, model loading, and entity component systems/ECS. ","date":"2021-08-08","objectID":"/butter-dejavu/:0:0","tags":["Butter Engine","Update","Programming"],"title":"Getting Deja Vu Right Now","uri":"/butter-dejavu/"},{"categories":["butterengine"],"content":"Base Rendering I’m really happy with the way this got done. The mesh class makes a bunch of BufferObjects that hold the OpenGL pointers and have base functions for cleanup. This allows very easy derivatives of the Mesh class for whatever they needed. public class FooMesh extends Mesh { //... @Override public void Create() { //Make our VAO VAO = new BufferObject.VAO(); VAO.Bind(); //Array of non specific BufferObjects bufferObjects[0] = new BufferObject.VBO(vertices, 0); //Static classes that inherit BufferObject. //These are binded and attached with no intervention bufferObjects[1] = new BufferObject.CBO(vertices, 1); bufferObjects[2] = new BufferObject.TBO(vertices, 2); IBO = new BufferObject.IBO(indices); VAO.Unbind(); } //... //Rendering, method calls are pretty self explanatory. //Inputs aren't final. //I'm not happy with the Entity being passed in for rendering when Entity's hold meshes public void Render(Entity entity, Camera camera) { VAO.Bind(); enableVertexAttrib(); IBO.Bind(); material.Bind(); shader.Bind(); SetUniforms(entity, camera); DrawElements(); shader.Unbind(); material.Unbind(); IBO.Unbind(); disableVertexAttrib(); VAO.Unbind(); } } Derivatives were made when going through the tutorials but were ultimately removed for the approach of having a better base because having a different Mesh for color and then for texture and then color, but color is never used… It was just a headache for general refactoring and keeping them up to date. A lot of buffer stuff was taken from TF2 in Java \u0026 OpenGL. ","date":"2021-08-08","objectID":"/butter-dejavu/:1:0","tags":["Butter Engine","Update","Programming"],"title":"Getting Deja Vu Right Now","uri":"/butter-dejavu/"},{"categories":["butterengine"],"content":"Textures Right now, only Albedo is being used and the Material class is nothing but a holder for SlickUtil Textures. I want the Material class to hold all of the textures without order and you leave it to modders to make their shaders and textures line up. I’m only using SlickUtil right now because of the ability to load Textures from class resources rather than the file path. But I’m ultimately going to replace it with my one Texture class because of the [model loader](#Model Loading) not using class resources. Supposedly we can load from resources, and call the function to load model from memory or textures from memory with STB, but I have no idea what the size of the buffers should be. Smiley is rendering but streched!\r","date":"2021-08-08","objectID":"/butter-dejavu/:2:0","tags":["Butter Engine","Update","Programming"],"title":"Getting Deja Vu Right Now","uri":"/butter-dejavu/"},{"categories":["butterengine"],"content":"3D Projection JOML is being used for math and matrix loading and what not but this may change (see the physics section). Once I did this, it kinda made me think about what next. I thought I should focus on an ECS system for holding positions, rotations, etc. which right now is the Entity class that should be derived from but will change (see the ECS section). This was kind of the thing that spun off into the unproductive week. Although this was not easy at all because the shader was originally going from different matrices in the wrong order. //... uniform mat4 model; uniform mat4 view; uniform mat4 projection; void main() { //How it should be: //gl_Position = vec4(position, 1.0) * model * view * projection; gl_Position = projection * view * model * vec4(position, 1.0); //... } But here it is now working just right: Smiley looking better now\r","date":"2021-08-08","objectID":"/butter-dejavu/:3:0","tags":["Butter Engine","Update","Programming"],"title":"Getting Deja Vu Right Now","uri":"/butter-dejavu/"},{"categories":["butterengine"],"content":"Mod Loading The Main class no longer holds any GLFW and is instead held in the Window class, similar to the Mesh class and BufferObjects. Mods right now hold a lot of control over what’s happening. This is still subject to change because while this was going to be a render engine, it quickly became this bigger thing and the order of events right now is: Rendering (v0.1) -\u003e ECS/Physics (v0.2) -\u003e Audio/Sound (v0.3) -\u003e Events/Mod Loading (v0.4). So we aren’t even done with v0.1 and shouldn’t worry about the specifics of this just yet. I just want to emphasize that this is a render engine before a game engine, no matter how much I want the latter. ","date":"2021-08-08","objectID":"/butter-dejavu/:4:0","tags":["Butter Engine","Update","Programming"],"title":"Getting Deja Vu Right Now","uri":"/butter-dejavu/"},{"categories":["butterengine"],"content":"Cameras Absolute pain, never again. Jokes aside I just need to do more research because right now it looks like this: Should just leave it static right now with no movement… ","date":"2021-08-08","objectID":"/butter-dejavu/:5:0","tags":["Butter Engine","Update","Programming"],"title":"Getting Deja Vu Right Now","uri":"/butter-dejavu/"},{"categories":["butterengine"],"content":"Physics Well, more of the research of it for Java. The best solution would be to use JBullet, an outdated port of Bullet. It’s the easiest to set up and using LibGDX port while similar, has no real prebuilt support for shapes and has to be done manually. LWJGL has a binding, but with a client-server architecture which is just terrible for doing anything simple. The only problem is, it uses javax.vecmath while right now I’m using JOML. Managing both is a pain and javax.vecmath has Transform objects, similar to Unity, so I’m gonna need to refractor a lot to use vecmath. ","date":"2021-08-08","objectID":"/butter-dejavu/:6:0","tags":["Butter Engine","Update","Programming"],"title":"Getting Deja Vu Right Now","uri":"/butter-dejavu/"},{"categories":["butterengine"],"content":"ECS For ECS I’m gonna go with Ashley, a LibGDX solution. It seems like the only one used for games but not hard to build from scratch either, as a concept. Of course, I’m not going to dump a bunch of hours into custom-made when this is good enough. Although I don’t know much in this and it is mainly up to developers on how they should organize this and this may change. ","date":"2021-08-08","objectID":"/butter-dejavu/:7:0","tags":["Butter Engine","Update","Programming"],"title":"Getting Deja Vu Right Now","uri":"/butter-dejavu/"},{"categories":["butterengine"],"content":"Model Loading This is in no way finished as it is not grabbing all possible data right now, which is kind of driving me nuts but I’m gonna try to ignore it for now until the data being grabbed, like material data, can be used in engine. Here it is so far, using the smiley texture and the dragon model: Model loaded!\r","date":"2021-08-08","objectID":"/butter-dejavu/:8:0","tags":["Butter Engine","Update","Programming"],"title":"Getting Deja Vu Right Now","uri":"/butter-dejavu/"},{"categories":["general"],"content":"General things I need to do with the site","date":"2021-08-08","objectID":"/general-catchingup/","tags":["Website","General"],"title":"Catching Up \u0026 Centralizing","uri":"/general-catchingup/"},{"categories":["general"],"content":"General things I need to do with the site ","date":"2021-08-08","objectID":"/general-catchingup/:0:0","tags":["Website","General"],"title":"Catching Up \u0026 Centralizing","uri":"/general-catchingup/"},{"categories":["general"],"content":"Catching Up There’s a lot that hasn’t been covered yet on other projects that would just take way too long to write pages and posts for those pages on projects that were canceled or have seen very little progress. I plan on updating this site every week with what I have been up to. ","date":"2021-08-08","objectID":"/general-catchingup/:1:0","tags":["Website","General"],"title":"Catching Up \u0026 Centralizing","uri":"/general-catchingup/"},{"categories":["general"],"content":"Left Click Counter Mod The only thing I would change or work on with this is the system detecting left clicks. Which looking back, is not at all accurate. Although this would require me to change the updating system and as explained in the centralizing section, this probably won’t happen. ","date":"2021-08-08","objectID":"/general-catchingup/:1:1","tags":["Website","General"],"title":"Catching Up \u0026 Centralizing","uri":"/general-catchingup/"},{"categories":["general"],"content":"Game Time Mod I think this would be more suited as a general-purpose desktop app that works similar to the way Steam keeps track of hours. It would also be a general-purpose, statistic-keeping app with a name change. ","date":"2021-08-08","objectID":"/general-catchingup/:1:2","tags":["Website","General"],"title":"Catching Up \u0026 Centralizing","uri":"/general-catchingup/"},{"categories":["general"],"content":"Sparticus Yeah ummm… got a little too ambitious with it. At the time of the announcement, I knew very little about Unity, and because of how Unity works at a very high level, you either use tutorials or sit confused about it, doing nothing. Aside from that, texturing alone took forever and got me burnt out. The networking, which was promising at first, turned into a system that I was making changes to with no idea if anything was working. Essentially a programmer’s worst nightmare, being stuck in a pandamonium of whether to continue or not with something that would be a pain to debug later. I’m not completely lost on the idea. Sonic Ether’s ray tracer for Java Edition is still in early development and doesn’t use any of the fancy RTX/DLSS features or the AMD counterparts. Continuum Shaders have similar goals, like redoing the graphics engine with the latest OpenGL and then going to Vulkan later. They also plan on using the new ray tracing and upscaling features too! Google Search Console for the website clearly shows people have an interest in high fidelity, PVP clients. ","date":"2021-08-08","objectID":"/general-catchingup/:1:3","tags":["Website","General"],"title":"Catching Up \u0026 Centralizing","uri":"/general-catchingup/"},{"categories":["general"],"content":"Underground Duels This project started sensibly as a way to play a deathmatch FPS on school Chromebooks and learn how to use Mirror Networking at the same time. One small problem though, FPS games are very mice reliant. The alternative would be to have keys on the keyboard function similar to joysticks. It also always bugged me that the only way people talked about networking movement in Mirror was through always trusting the client. This bugged me a lot. Then I remembered of The Ship. A fun, murdering delight with the remastered (Remasted) made in Unity! But no progress was made here either as it’s extremely hard to decompile and C# out of Unity 2015 due to so many issues with version compatibility that it’s not worth the hassle for anyone to do. The remastered version is broken now as no localhost connections will work despite whatever configuration. I sent an email to their support team on the issue and offered my help to fix it, but I haven’t gotten a response. ","date":"2021-08-08","objectID":"/general-catchingup/:1:4","tags":["Website","General"],"title":"Catching Up \u0026 Centralizing","uri":"/general-catchingup/"},{"categories":["general"],"content":"TF2 OpenGL \u0026 Java Postponed until Butter Engine is “done” read here on my current work with Butter Engine for more info. I followed LearnOpenGL.com’s tutorial to get started on this. This was kind of my deja vu when working on Butter Engine. ","date":"2021-08-08","objectID":"/general-catchingup/:1:5","tags":["Website","General"],"title":"Catching Up \u0026 Centralizing","uri":"/general-catchingup/"},{"categories":["general"],"content":"Weeb Detector Although just a one-off thing, I may add more prank features or make it Linux/MacOS compatible. It did help me get more familiar with networking in Java. ","date":"2021-08-08","objectID":"/general-catchingup/:1:6","tags":["Website","General"],"title":"Catching Up \u0026 Centralizing","uri":"/general-catchingup/"},{"categories":["general"],"content":"Centralizing I would like to merge the Sparticus site into here and update Left Click Counter mod to use this site for updating and whatnot, but seems very easy to over-engineer and mess up the update process. So I’m going to leave it like it is for now unless I get bored and run out of projects. I’m also working on adding a page on here for every project. So when I’m old and decrepit, I’ll update my first ever Minecraft mod. ","date":"2021-08-08","objectID":"/general-catchingup/:2:0","tags":["Website","General"],"title":"Catching Up \u0026 Centralizing","uri":"/general-catchingup/"},{"categories":null,"content":"About","date":"2019-08-02","objectID":"/about/","tags":null,"title":"About","uri":"/about/"},{"categories":null,"content":"\rA banner I made\rThis site is the best place to catch up on my projects and to get the downloads for my projects when they come out. I work on various things like game development to modding Minecraft. Any project will have its own subdomain and page. If you want to talk to me personally about something, here’s my email. ","date":"2019-08-02","objectID":"/about/:0:0","tags":null,"title":"About","uri":"/about/"}] |