Jump to content


  • Posts

  • Joined

  • Last visited

rebel1324's Achievements

  1. After pushing the boundary with this game, I found that a lot of potential is just laying around but not or can't be utilzed due to some conditions. It is the mixed between rant and request at the same time but pardon me. I'm willing to add more and some of examples what it can be like. (it takes some time to figure how to upload videos / images unfortunately.) Lack of Dyamic Lua Items Creating item is painful. Especially for ammo I know world dictionary is a thing but there is no way to register items directly to world dictionary as far as i know. If we have that kind of control, we could add something like: Create bundle items easily (bundle of ammo, bundle of items.. etc..) Create Ammo Types and Magainzes easily. Currently I don't have perfect idea for this one but adding an event would be good. especially an event that fires when the "can register item" boolean is true. Lack of font lua bindings I know font is evil but it is very limiting to make anything look good without interfering the vanilla UI without font library bindings. Only way to detour this issue is to use PZ's Sprite Renderer's render poly. Which is going to be pretty slower than java because handling rendering code and using the interface at the same time might slow things down when it becomes the standard. What could be done is something like this: Currently registering font is limited by hard coded name (such as Small, Medium...). Please use this hardcoded name as a blocklist to protect the vanilla font instead of allowlist. By lifting the limit of font, you can do something like: Adding glowing fonts (with bitmap font magics), Nice Shadowed font, Font Icons (Icon Atlas instead of loading heck ton of icon file) etc. Lack of rendering events By adding ability to render model (at least a static object) with rendering events like (OnPreDrawItemSprite, OnPostDrawItemSprite) we can make attachments / magazines visible based on the state of the item. this can be utilized to other item that has multiple states. What could be done is something like this: Adding pre-post rendering events for character and items (Except zombies, I know the performance is going to tank) OnPreDrawItemSprite (when the game try to render item sprite for items on the ground) Allowing modders to insert some models before rendering the sprite texture OnPostDrawItemSprite (when the game try to render item sprite for items on the ground) Allowing modder to modify the shader properties for dropped item sprite OnPreDrawEquippedItem (when the game try to render item in the player's hand) Allowing modders to add some nice features like toggling laser / flashlight effect and etc This can be used for displaying water bottle's content (if the shader some property like that ) OnPostDrawEquippedItem (when the game try to render item in the player's hand) Allowing modders to interfere shader properties and textures OnPostRenderItemSprite (when the game finished render the item sprite on the ground) OnPreRenderItemSprite (when the game about to render the item sprites on the ground) Adding sprite sheet renderer could be good. by adding render(tex, sheetX, sheetY, sheetIndex, x,y,w,h, r,g,b,a), modders can add many events Lack of projectile rendering control To create some neat projectile weapons, we need something rendering event for projectile RenderProjectile(item, factor, direction) would be good factor is start to finish, which is range of 0 to 1. If possible, by combining the ingame's sprite rendering system dynamically rendering 16 sheet or 4 sheet of multi angle sprite sheet would be good because the projectile can spin when it got thrown. direction can be used for determining which sprite / angle to draw the model can be utilized to rocket like projectiles OnImpactProjectile(item, squre) allowing modders to add sprite rendering on certain square (like rpg) ---- Standardized Vanilla UI hooks/events Currently there is TOO MANY monkeypatching to override the vanilla UI. This should be stopped. We need standardized hook or event to render the default ui hooks/events to ensure more compatiblity between the mods. Consistent Weapon Methods / Properties Checking weapon's current ammo with two Java interface call is bad idea. (at least for me) There should be a one method that calculate how many bullets are in the weapon. Strange Inventory Events we need more specific events for inventory. OnContainerUpdate is absolute performance garbage because it get called everywhere and everyone thinks this is a good way to use this for every single inventory caching / event detection. There is no useful hook for detecting inventory transfer. We need more specific inventory transfer code. OnTransferItem(entity, fromContainer, toContainer, items) OnUseItem(entity, container, item, action, params) OnDeleteItem(entity, container, targetItems) more events like when the container targets get changed would be good. Lack of event handler managment How am i going to remove the event? The event should be added with Event.SomeBodyOnceToldMe.Add(handlerID, callback) so we can remove it later with Event.[].Remove(handlerID) Current structure is extremely cursed. There is no way to recover accidental event register spam. Asyncronous I/O I know code should be thread-safe in order to be asyncronous. But, if it's related with File IO or Standard IO, in terms of lua - to prevent additional performance loss I think implementing async feature for print would be nice? I saw so many mods are abusing print feature and making debug build so god damn slow to start a new character. Local HTTP API Server for ease of debugging Or at least some sort of unix socket please. I'm sick and tired of pressing buttons. Maybe auto reload with file watcher? Tbh in-game console is good enough but it is really hard to inspect the big data. Here is the hack im using. https://pastebin.com/A1s1uPHu Animation is inconsistent, restrictive and not controllable. Idle aim animation is cursed https://theindiestone.com/forums/index.php?/topic/54177-4171-shooting-animation-jittering/&tab=comments#comment-354273 Pistol animation is not going to work with full auto. This means pistol's attack rate is tied with animation. Combat Animation should be layered with State and Event. Event animation should be instantly replayable. An animation set source file is absent. I wish i can make dual pistol anim set but there is no good source to begin with. I really don't want to mess with anim system without source files (since the animation has root transform.) There is no way to add additional moveset (i know this is kinda good if its there.) Like prone or roll. You can add something like action but that's not really going to work. From lua interface, there is absolutely no way to play with current weapon system. i know its hard but maybe vertex / skeletal animation for attached model? this can be used for something like pistol slide. Vertex animation means shapekey animation in blender. (This animation feature should only work on player to prevent lag) animation can be done with vertex shader too (... this is more harder) Adjusting attachment position or giving some sort of additive vector to attachment like, when you have something adding (0, 10, 0) to position of attachment "muzzle" something like this. (ofc this should be calculated when the attachment model get registered on the model) All weapon part should able to get more status, For example: if i make Folding Stock Part player should able to change weapon part moddata or state or whatsoever. (its kinda possible now i guess) the model for weapon part should changes based on the Folded, Extended state stored in weaponpart weapon part should able to change the weapon animation set Lack of additive / emissive shader feature Laser, flashlight etc. This can be great if it's combined with rendering feature suggestion above. Weapon attachment code is very restrictive and cursed HandWeapon WeaponSlot[] WeaponPart[] This can be used to melee weapon too HandWeapon new WeaponSlot("Grip") new WeaponPart("LeatherGrip") new WeaponSlot("Base") new WeaponPart("Nails x 10") new WeaponPart("Chain") Feature for weapon rendering addModelAttachment(id, model, params) removeModelAttachment(id, params) This feature can be utilized like this. Adding this feature will earn you some times because modders will make custom modding system by themselves before the dev team reworks on the weapon attachment codes. -- On reload weapon:removeModelAttachment("clip") -- reload finished weapon:addModelAttachment("clip", "Base.M16ClipATH", ...) -- On drop (before rendering the weapon to render target texture) if weapon:hasMagazine() then weapon:removeModelAttachment("clip") end
  2. * Version 41.71 * Singleplayer / Multiplayer * No mod * New Save * Reproduction steps: just shoot fast while standing still or moving 1. animAngle does not change in aim state. a. but animAngle changes when its in turning state. b. shooting replaces turning state thus, rapid fire create strange jittering in rapid fire cycle. 2. animAngle does changes in strafe state. a. because of this, unlike aim state, strange jittering is not happening in strafe. Affected Gameplay Experience: Inconsistent accuracy Unresponsive User Input ---- Aim 2022-05-22 00-06-42.mp4 Strafe 2022-05-22 00-06-48.mp4 2022-05-22 00-06-42.mp4 2022-05-22 00-06-42.mp4
  • Create New...