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

Reply via email to