Reputation
31,685
Next tag badge:
575/1000 score
120/200 answers
Badges
3 45 93
Newest
 Nice Answer
Impact
~767k people reached

11h
comment How to make inputing large inputs more engaging
Hi @Christer, this question seems too open-ended to me for this site, as you're primarily asking for people's opinions on fun rather than a solution to a concrete problem. You might be able to change the wording to ask for solutions to your example approach or you might want to open the discussion on a general game design forum like those on gamedev.net.
Feb
4
answered Should the bullet trajectory calculated by server or by client?
Jan
28
comment Projection type used in videogames
To clarify, Samed's approach is called an orthographic projection, and is commonly used for many applications in 3D rendering. What an orthographic projection lacks is an indication of depth. To achieve depth, you must use a perspective projection, which are covered in pretty much any bog-standard 3D rendering textbook, or Wikipedia.
Jan
27
comment What is “game logic code?”
@HolyBlackCat: Nothing I was getting at would preclude use of 120hz rendering. I absolutely was not recommending a fixed draw rate; that's just amateurish. There should be one global game clock whose delta is measured in terms of render frames that feeds into the accumulation value for the fixed-rate game logic tick. That global clock drives graphics, including interpolation. You can pause graphics by setting the clock scale to 0. You can have hierarchical clocks so e.g. UI still runs and animates while character interpolation stops, too, very very easily.
Jan
26
comment What is “game logic code?”
@HolyBlackCat: that's arguable. What if I want to pause graphics? What if the frames of animation affect the game (attack animations corresponding to hitboxes, etc.) ? Visual interpolation still implies that "time" (as in the game's delta time) is passing, but if time is passing and you're not Updateing then what else is getting out of sync? Player inputs being missed, network events not being processed, etc? The game should be driven off of a single clock, with fixed "ticks" for game logic or physics derived from that clock, and derived graphics state also driven by that same clock.
Jan
26
comment How to handle GameObjects that have been destroyed but are still held by others?
@sydan: it does to an extent, and that will work. For your average indie/hobby game you shouldn't run into too many of the more serious disadvantages of weak_ptr and shared_ptr. My experience with both has led me to utterly and absolutely despise the entire concept of shared ownership and weak pointers, but that's me. :)
Jan
25
revised How to handle GameObjects that have been destroyed but are still held by others?
added 264 characters in body
Jan
25
comment How to handle GameObjects that have been destroyed but are still held by others?
@sydan:hat's Mostly a documentation problem. I tend to object to designs that attempt to "stop abuse" anyway (if you don't trust your programmers...). Certainly you want to make correct use of your interfaces easy and obvious! But the more you try to hold people's hands and prevent them from doing stuff, the more you get in their way of doing actual work. And no, my example didn't illustrate cross-frame pins, but threads were a bad example anyway (updating answer).
Jan
25
answered How to handle GameObjects that have been destroyed but are still held by others?
Jan
24
comment Relation between game systems and components in a component-based architecture?
@artganify: I suggest the gamedev.net forums for more open discussion, or the chat feature on this site. I avoid giving private help; if you have a question then chances are that plenty of other people have the same one, so if I spend time answering it I want it somewhere public and indexable by Google. Also, there are plenty of other people that can give the same (or much better) advice than I can, so asking in public is more beneficial for you as well. :)
Jan
24
comment Relation between game systems and components in a component-based architecture?
@artganify: there are plenty of solutions there. The common ECS approach is to just have global ComponentAdded and ComponentRemoved events that your Systems listen for. A similar variant is for your Entity to have a list of not only their Components, but also the ComponentFactory used to create that Component, so the factory can now have a Destroy method called for any component instance it created. With the right allocation approach, you can even make that "automatic" without storing explicit factory references (e.g., see which page owns the component and link factories to pages).
Jan
21
awarded  Nice Answer
Jan
21
comment Transform components in ECS
@DMGregory: aah, good point. I didn't really think of that as a separate type of transform I guess. :)
Jan
21
comment picking 3D objects rendered using instancing
@introVertice: your x, y, and z are the locations of the cube. Assuming that you have no scaling, you know that your cube is a unit cube at that location. Now take your picking ray and do a collision check against the ray and the AABB at that location.
Jan
21
answered Transform components in ECS
Jan
20
answered picking 3D objects rendered using instancing
Jan
19
comment Adding new components and systems in my ECS requires lots of boilerplate code
@djscrew: gotcha. The name map to factory function sounds like what you want. I've found it useful to instead map to a factory class though since there are potentially multiple operations you want, e.g. create, clone, load, save, destroy, validate, etc. that can be part of a component's manager rather than member functions of the component itself (and the manager can just forward to component member functions for the cases where you're fine with a simpler object model).
Jan
19
answered Adding new components and systems in my ECS requires lots of boilerplate code
Jan
18
answered Relation between game systems and components in a component-based architecture?
Jan
17
answered Component arrays vs. entity structs?