It looks like you're new here. If you want to get involved, click one of these buttons!
Title: Tick
By: Epic Games
Code: C++
*Function called every frame on this Actor. Override this function to implement custom logic to be executed every frame. *Note that Tick is disabled by default, and you will need to check PrimaryActorTick.bCanEverTick is set to true to enable it. * *@param DeltaSeconds Game time elapsed during last frame modified by the time dilation
virtual void Tick( float DeltaSeconds );
Overview
Tick is the method used on Unreal Engine to allow programmers to execute code before each frame of the game is rendered.
This code is executed several times per second, and it's critical for the overall performance of the game. In a conservative scenario, a video game rendering at 30 frames per second will call this function at least one time for each actor.
Questions for Discussion
Some of my questions are derived from my lack of experience in academic research, so please bear with me
Comments
For me, it is sometimes helpful to start with a prototypical or extremely atypical. So something prototypical might be Unreal Tournament, and how it uses Tick, for example. Something atypical might be some Unreal-based art project or conceptual experiment that is playing with perception -- and might be using Tick in surprising or revealing ways at the limits of expected design.
The thing that is challenging about starting with a method that is used by almost everything, everywhere... is that it is everywhere! When I am getting thousands of hits for it in a code base, I can browse, but sometimes I then need to refine the question....
Personally I would say either or both, whichever seems more productive to you! Many people (like me!) may not be fully familiar with what a C++ virtual function is, so it might be worth touching on some of the very basics -- what the role of Actor is in the Unreal framework, if Actor is abstract and whether an implementation is required for any Actor, if an Actor can have a Tick() that does nothing....
Thanks a lot, Jeremy. I'll play around with your ideas and see which one fits better
I've been trying to structure some writing exercises to work with this code. I don't have an exact idea of what I'm gonna find, but I believe that as an exercise, they can be of help. I'm posting here the intended structure to hear your opinions about it and also to see if there is one of them that may be of particular interest.
I would try to finish at least one of these items within the duration of this workgroup, so if there is any interest in one of them, it will help me a lot to know it so that I can prioritize my work. Thanks to all
They all sound interesting, but I personally was particularly curious about this because I'm not sure I understand. By Seriality Studies, which specific authors / traditions are you referring to -- I have seen this used in a few ways. The feminist tradition, or the study of serial narrative forms, or both, or...?
Thanks, your questions are helpful to me
I was referring specifically to the Digital Series, as presented by Shane Denson in this project: http://kairos.technorhetoric.net/22.1/topoi/denson/index.html
I used a similar framework for my thesis project, but I didn't examine the Unreal Engine code as much as I would want to. In the example project, in the Case Study section, he shows some visual techniques that may be useful to work with a big codebase.
Maybe with this example, it will be more clear what I was trying to say
Hi!
It has been jam-packed days, and I'm not progressing as I would like. Nevertheless, I'm committed to keeping my work on this topic. However, I would like to receive and advice about how to continue once this workgroup ends. Because I'm not a teacher or an academic researcher, I don't know which could be a good way to share the progress and troubles of my work and improve based on the feedback. Is there any online community to keep the exercise going? Any other advice?
Thanks a lot
The tick function is a very interesting one to me. Not only because it's executed that often and thus seems to be essential to the performance, but also due to it's definition in relation to the actor (https://docs.unrealengine.com/en-US/Programming/UnrealArchitecture/Actors/Ticking/index.html).
Since you are mentioning power relations, it is (imho) super interesting to examine the discussions online on how to implement the tick() function "right" or efficient. This makes the quesion explicit who is actually acting and being acted upon? The programmer, coder or the framework, engine? A possible lead might be the discussion on how to "bend" implementations in order to gain performance and effectiveness at the same time. I don't know, if there is any of this online, since I did no deeper research by now, but I'm curious and saved a lot of youtube videos(+ discussions below) to watch later.
Additionally: analyzing the tick function's usage on github for example, as @jeremydouglass suggested might be a good way, I was thinking of forking several repos and rebuilding an overview over the different use cases in an own repository.
Directly working with github, not only for research, but also to reassemble and distribute the findings might be an elegant way to go further. It also allows other users to watch your work and get in touch with you via the discussions. I'd love to follow your research and progress over there on github.
Great question.
One method would be to create a web-accessible repo with your code and use its facilities to add comments, create analysis in logs or documentation files, experiment with modifications using named branches, or use the issues feature to open questions that you want to investigate / resolve. This would then give you urls that you could tweet / email etc. For example, if you used GitHub, you could also invite or @ directly people already on that platform to have code-centric conversations.
Another would be to create a research blog that hosts a diary of your work -- e.g. WordPress, Tumblr etc.
Another would be to choose an appropriate forum -- e.g. a forum on Unity programming, for example -- and start a long-running mega-thread on your investigation. This would depend on the forum and its community norms, of course.
I wonder if anyone else has suggestions on this?
Currently the Working Group doesn't host a running forum / listserv for ongoing projects, but we could also think about the possibilities there.....