I only create a client entity when it needs an effect. If it doesn't need to render a particle or a model, it doesn't create one.
On Mon, May 28, 2012 at 7:40 AM, Psy_Commando <psycomma...@gmail.com> wrote: > Just to add to this, I found out that Tony's suggestion of using > clientside only entities on the client to represent visually bullets, is > the most viable. Since with the non-entity clientside bullets, you can't > attach an effect, or have it follow the projectile... Or at least you can't > with the new particle system. > > Here's the final result : > http://www.youtube.com/watch?v=xbeM9sg0DX0 > > > On Tue, May 22, 2012 at 10:25 PM, Psy_Commando <psycomma...@gmail.com>wrote: > >> Nice. I wonder what other tricks you mean, it sounds pretty interesting :) >> >> Anyways, here's the code I forgot to post in my last mail : >> http://pastebin.com/dcpppD3b >> >> Its called in the PostRender() method of the game system. >> >> >> On Tue, May 22, 2012 at 9:26 PM, Tony "omega" Sergi >> <omegal...@gmail.com>wrote: >> >>> http://youtu.be/Zl1K4Ep9jVg >>> That was mine. I'm sure i have the code laying around somewhere. >>> Also, I did an alien swarm implementation as well, i'll look around for >>> it, if need be. >>> After thinking about this, I want to revise the whole thing some more >>> with some other tricks that I've learned over the past 2 years :-> >>> >>> >>> >>> On Wed, May 23, 2012 at 6:13 AM, Psy_Commando <psycomma...@gmail.com>wrote: >>> >>>> Woops, thanks, I didn't think about that .. >>>> Anyways, I converted it to an AutoGameSystemPerFrame, and it works. The >>>> only think left to fix is the bullets appearing in weird places, with weird >>>> sizes. : >>>> http://www.youtube.com/watch?v=xFKhODC1j34 >>>> Its the blue wireframe mesh, that appears behind the player.. >>>> >>>> Here's my rendering code, Its all bits from the C_BaseAnimating code. I >>>> suspect its my transform that's wrong, because I don't really know what >>>> that matrix is supposed to contain.. >>>> >>>> >>>> On Tue, May 22, 2012 at 4:34 AM, Tony "omega" Sergi < >>>> omegal...@gmail.com> wrote: >>>> >>>>> .. Make an AutoGameSystem. >>>>> >>>>> >>>>> >>>>> On Tue, May 22, 2012 at 2:17 PM, Psy_Commando >>>>> <psycomma...@gmail.com>wrote: >>>>> >>>>>> Finally got it to work, the server part at least. For some obscure >>>>>> reasons, my manager entity spawns only on the server, the client-side >>>>>> part >>>>>> doesn't spawn at all, even if I create it with CBaseEntity::Create ... >>>>>> >>>>>> >>>>>> On Sun, May 20, 2012 at 9:29 PM, Tony "omega" Sergi < >>>>>> omegal...@gmail.com> wrote: >>>>>> >>>>>>> The point of this system is so that you DON'T have to network >>>>>>> anything. >>>>>>> You don't create an entity, and you don't network any information. >>>>>>> If you start doing that, you might as well just make entities, and >>>>>>> do it the same as usual, as you then lose the whole point. >>>>>>> >>>>>>> In theory, you could just make one entity for using the render >>>>>>> handle, it just becomes messy to maintain, but I had thought of doing >>>>>>> the >>>>>>> same thing. >>>>>>> -Tony >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Mon, May 21, 2012 at 9:44 AM, Psy_Commando <psycomma...@gmail.com >>>>>>> > wrote: >>>>>>> >>>>>>>> Thanks for the answer. >>>>>>>> >>>>>>>> But after looking at that solution, I have a few more questions: >>>>>>>> Any ideas on how to network an array of structs with their own >>>>>>>> sendtables ? I want to network the bullet info struct for each bullets >>>>>>>> from >>>>>>>> the server to the client. >>>>>>>> >>>>>>>> And, instead of creating many client entities, can I just have one, >>>>>>>> with multiple models ? I saw I could call the model renderer with model >>>>>>>> data. >>>>>>>> >>>>>>>> Also, what do you mean Adam by "assigning the sprites your >>>>>>>> particle manager"? >>>>>>>> >>>>>>>> >>>>>>>> On Sun, May 20, 2012 at 1:26 AM, Tony "omega" Sergi < >>>>>>>> omegal...@gmail.com> wrote: >>>>>>>> >>>>>>>>> I did something similar to this in Project Valkyrie for all >>>>>>>>> projectiles that don't need special functionality like seeking. >>>>>>>>> Essentailly I have a manager that runs on both the client and the >>>>>>>>> server, which handles the projectiles moving and doing traces for >>>>>>>>> damage >>>>>>>>> etc, and the client handles the visual representation. >>>>>>>>> You still have to create a client-side entity for each projectile >>>>>>>>> if you want to display a model though. >>>>>>>>> >>>>>>>>> Additionally, I have a system in the gamerules that networks a >>>>>>>>> projectile index to keep them in sync; Every projectile when it's >>>>>>>>> created >>>>>>>>> is then assigned the same ID ( ie: when a client projectile is >>>>>>>>> created in >>>>>>>>> prediction, it gets the new ID from the networked gamerules list) >>>>>>>>> which the >>>>>>>>> server also pulls from. Eventually this number gets cycled back down. >>>>>>>>> Then when the client receives an event from the server saying the >>>>>>>>> projectile has impacted, it has an ID so that it knows which one to >>>>>>>>> terminate. >>>>>>>>> >>>>>>>>> This system works really well, and if you're not using a lot of >>>>>>>>> model based projectiles, or insane particle effects, it's capable to >>>>>>>>> have >>>>>>>>> thousands of projectiles active without any major perf hit. >>>>>>>>> Unfortunately, in Valkyrie, some of the effects are a little >>>>>>>>> heavy, and due to the development time taken, they were never really >>>>>>>>> optimized, so Valkyrie still hits a rendering bottleneck with them. >>>>>>>>> >>>>>>>>> I had done another test for simulating just "bullets" (only the >>>>>>>>> impact rendering, and occasionally a tracer if desired) for a properly >>>>>>>>> simulated ballistic system, it worked quite well, but I never rolled >>>>>>>>> it out >>>>>>>>> into any production environment, as nothing I have ever worked on has >>>>>>>>> really needed it. It still has some issues with losing >>>>>>>>> synchronization over >>>>>>>>> drastic angle changes, but it performs extremely well. >>>>>>>>> -Tony >>>>>>>>> >>>>>>>>> >>>>>>>>> On Sun, May 20, 2012 at 1:35 PM, Psy_Commando < >>>>>>>>> psycomma...@gmail.com> wrote: >>>>>>>>> >>>>>>>>>> Hello, I was wondering if it was possible to use the technique >>>>>>>>>> the left4dead devs used for the infected, to handle non hitscan >>>>>>>>>> bullets ? >>>>>>>>>> The technique I'm talking about was referenced in an article on >>>>>>>>>> the vdc : >>>>>>>>>> "If you're creating lots of individual objects all the time, >>>>>>>>>> consider rolling them all into a single manager entity. This is how >>>>>>>>>> Left 4 >>>>>>>>>> Dead handles huge numbers of infected: they are all "finger puppets" >>>>>>>>>> of the >>>>>>>>>> director."(https://developer.valvesoftware.com/wiki/Entity_limit) >>>>>>>>>> >>>>>>>>>> Essentially I'd want to create simple "entities" for each bullets >>>>>>>>>> and have them handled by a manager entity. But I was also wondering >>>>>>>>>> how to >>>>>>>>>> get the simple entities to transmit to the client, along with their >>>>>>>>>> data ? >>>>>>>>>> >>>>>>>>>> The main reason I want to do this is because I have a lot of >>>>>>>>>> sprite based projectiles to handle. >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> To unsubscribe, edit your list preferences, or view the list >>>>>>>>>> archives, please visit: >>>>>>>>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> -Tony >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> To unsubscribe, edit your list preferences, or view the list >>>>>>>>> archives, please visit: >>>>>>>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> To unsubscribe, edit your list preferences, or view the list >>>>>>>> archives, please visit: >>>>>>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> -Tony >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> To unsubscribe, edit your list preferences, or view the list >>>>>>> archives, please visit: >>>>>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> To unsubscribe, edit your list preferences, or view the list >>>>>> archives, please visit: >>>>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> -Tony >>>>> >>>>> >>>>> _______________________________________________ >>>>> To unsubscribe, edit your list preferences, or view the list archives, >>>>> please visit: >>>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>>>> >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> To unsubscribe, edit your list preferences, or view the list archives, >>>> please visit: >>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>>> >>>> >>>> >>> >>> >>> -- >>> -Tony >>> >>> >>> _______________________________________________ >>> To unsubscribe, edit your list preferences, or view the list archives, >>> please visit: >>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>> >>> >>> >> > > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders > > > -- -Tony
_______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders