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

Reply via email to