The search index is currently processing. Leaderboard results may not be complete.

Member

6

372

Moderator

3

8765

Member

3

1501

Member

2

5041

## Popular Content

Showing content with the highest reputation on 10/09/19 in all areas

1. 3 points

## why c++ doesnt have many features of many modern languages like c# languages?

Definitely not the case. There are still tons of very useful data structures other than linked lists which aren't represented as (purely) sequential elements in memory. One exceedingly-common-in-games examples: chunked arrays. An "array" that is a list of fixed-sized chunks, where those chunks might be sequenced in another array or in (gasp) a linked list. This is a _very_ common data structure for storing _large_ "arrays" of items since it allows much more efficient handling of memory blocks/pages and mutation of contents, and it's still very cache-friendly so long as the chunks are of an appropriate size. Such a data structure can still be random-access (if the chunks are stored in an array) and hence can be efficiently std::sortd, etc. Even in the standard library itself, types like std::deque or std::map/std::unordered_map make use of iterators for such _basic_ functionality as "debug print all the values." There's tons and tons and tons more uses here. Database query responses. File I/O. Lazy computation or generators. Filters and transformation pipelines. etc. There's a very valid argument to make that the incoming ranges feature could long-term supersede iterators (since the idea is that almost every pair of iterators could be replace by a range, and even most raw pointers can be replaced by std::span, for improvements both in ergonomics and safety). That's a very different discussion and has abolutely nothing to do with linked lists, though.
2. 2 points

## Release Date Announcement

Hi gamedevs, We are happy to announce the release of Nanotale in early access on the 23rd of October 2019. http://www.youtube.com/watch?v=5IohCH2aCx8 Wishlist the game on Steam Why in Early Access? The initial plan was to release the full game in September 2019 but then, we noticed that if we really wanted to release the game we dreamed of along with our community, it would take a little bit more time. So, we decided to polish the first 35% of the game and put it in your hands to make sure that we are on the right track while finishing Nanotale. We give more info about the early access and its content in the following video. http://www.youtube.com/watch?v=Z2kd_ams2fo&t=4s The more feedback we get, the better our game will be at release. So, thank you in advance for your support! Have a wonderful week. -VirginRedemption
3. 2 points

## why c++ doesnt have many features of many modern languages like c# languages?

One of C++'s fundamental design philosophies is that the runtime cost of things should be minimized, even if that means omitting something that makes life easier for the programmer, if there is a chance that the convenience feature could lead to unexpected runtime overhead. I work almost exclusively on C# projects, and our team is full of programmers who don't fully understand the ramifications of the language features they're using. I see code where every single member access has been changed to use ?. even when the objects can be trivially shown to never be null at that point in execution. Every single one of those gets expanded into a runtime null comparison and potentially complex branching. I suspect that this being heavily abused is one of the reasons that C# 8.0 introduced support for non-nullable reference types, but I haven't had experience actually using that to see if it solves this abuse or not. Of course it's always possible that programmers can misuse C++ to the same extent, but if the language has fewer convenience features then a programmer has less stuff to potentially abuse. In my opinion C++ is better off if it sticks to its fundamental strengths and doesn't sacrifice those strengths trying to appease everyone.
4. 1 point

## Box2d overview

Thanks Dirk, box2dlite is exactly what I needed. Thanks for your help, your presentations have been very helpful.
5. 1 point

## Is my parallax mapping ok or not?

Haven't worked with parallax mapping myself so far, so I can't help you with the details but it looks to me like it only works in the horizontal direction. If you compare the edges of the learnopengl picture with yours, you 'll see what I mean. So I would narrow down the debugging to every instruction that affects the vertical direction. Greetings
6. 1 point

## Starting the journey of creating my game

Do you have any bias towards the engine you are going to use? Actually, I would suggest to use Unity3D(C#). This is perfect way to create 2d platformer from scratch. And it will not be time consuming to come up with something and implement because there are tons of framework for Unity3D with explanations how to do that. And in the past I built and released some projects including 2d platformer on Unity3d. Now I am more interested in multiplayer games. Couple days ago I started learning this part of game development. There is the second reason why to choose unity3d. Because in case with java you will have to find third parties tools for level editor. As usual it will be MapEditor. I am not sure that this way is more convenient than to have built-in level editor in Unity3D. Java is one of the best way for server part of games. But of course it is up to you.
7. 1 point

## Frustums, bounding boxes and can one object see another

No magic - it's just math, which can be replicated in pretty much any environment as needed. (Not to say it's trivial necessarily - just that is can be done.) Although I've read the whole thread, I don't remember everything that's been discussed, so I may be repeating some things. But, what you'll need to do obviously depends on some variables, like how the environment is represented and so on. I gather from your initial post that this is 3-d and that therefore purely 2-d solutions won't suffice. It also sounds like there are two problems you want to solve: being visible or not based on position and orientation (ignoring obstacles), and whether there's an unobstructed line of sight between two entities. For the first problem, you could do what a typical camera system does, which usually involves a frustum built out of planes. There are other options though, such as a visibility cone or some other ad hoc solution. That's probably the easier of the two problems to solve (determining line of sight can be more demanding). In any case, if you run into problems you can always post back here.
8. 1 point

## why c++ doesnt have many features of many modern languages like c# languages?

The list nodes can in theory be scattered all over the memory. If that's the case, multiple successive accesses to the same list can cause more cache misses, if the distance between the nodes is to far. Arrays on the other hand are always stored in a single block of memory.
9. 1 point

## why c++ doesnt have many features of many modern languages like c# languages?

Well, your post wasn't helpful at all. Instead of just saying "You got brainwashed by microsoft", one should look at the advantages and disadvantages of a certain feature, and how well it could be integrated into an existing language/system.
10. 1 point

Yes, but do not confuse colors and normals. The color gradient is a result of interpolated normals and using them for shading to get the color. (So dpending on shading, there may be other unknown factors that affect colors and how smooth they change over the surface) Finally it's also worth to know that even if normals form a nice gradient over a single triangle, the gradient (or slope, or derivative) itself is not continuous accross edges. Se even with interpolation and per pixel shading the tessellation can become visible unfortunately (would be too expensive to fix).
11. 1 point

Most triangle meshes are a discrete approximation of a continuous, curved surface, so interpolated normals are just a visual trick to make them appear smooth and curvy again.
12. 1 point

## How to find investors to build a very expensive game?

How did it go?
13. 1 point

## why c++ doesnt have many features of many modern languages like c# languages?

Yeah C++ doesn't have those in the 'core' language, mainly because they're the kind of functionality that can be provided through libraries. For example instead of events you might use Boost Signals2. For delegates the C++ standard library has std::function that you can use. For properties I would just say it's something that is typically achieved by writing member functions. https://en.cppreference.com and http://www.cplusplus.com/reference are pretty good for learning about what's in the core language and what's in the standard library. While https://www.boost.org/doc/libs/ is a large set of high-quality community libraries and one of the most influential projects in the C++ world. Several libraries from Boost have since been standardised into the C++ standard library (e.g. boost::shared_ptr became std::shared_ptr).
14. 1 point

15. 1 point

## 🎮 Graphics and Sound Effects - Indie Game Devlog #7 🎮

▼ Watch the Devlog on YouTube ▼ ▲ Watch the Devlog on YouTube ▲ Hey everyone! I recently started the development of N.E.S.T, an action-packed, looter-shooter mobile game, and have been logging the progress through videos on YouTube every week! You can view the full playlist here. I would greatly appreciate if you could support the development of this game by subscribing to me on YouTube here, or by following me on itch.io here. Thanks for your time, and hope to see you all there!
16. 1 point

## how do I get my sprite to move up and down once

It's not about re-inventing the wheel or using pre-made libraries (which many of us do), it's about understanding how things work. Using other people's code with zero understanding of what is going on will never develop you into a good programmer. If you don't want to "re-invent" the wheel then stop working with OpenGL and pick up Game Maker Studio and work with pre-made templates. You've been at this for over 14+ years now and have almost nothing to show for it. If you continue to stay on this track by copying and pasting other people's code and coming to the forums looking for help you will only create additional frustrations for yourself and other people. You're also robbing yourself of time which you'll never get back. I would suggest aligning yourself with something you're good at and something you have passion for as I'm extremely confused on your end goal here... I genuinely would like to see you succeed but it's very apparent programming isn't for you, but at the end of the day you'll do what you want regardless.
17. 1 point

## how do I get my sprite to move up and down once

The issue here is that Phil has been known to copy and paste code without actually understanding what is going on and how to reproduce the same result without references. This is why we're seeing the same issues popup since 2006... This is also why I don't provide him with actual code examples anymore and in the past I provided either pseudocode examples or in layman terms but he could not take those examples and actually code it. https://www.google.com/search?q=phil67rpg+opengl+site%3Agamedev.net If Phil cannot explain in his own words why something works then he really shouldn't be moving forward. If this is too complex for him then he should just use something like Game Maker Studio. We're doing no service to Phil by spoon feeding.
18. 1 point

19. 1 point

## Programmer Starting team

@asdfzitro I was just wondering. Seems like we have a couple people with 3D programming/modeling experience. No 3D artists yet...
20. 1 point

## Simultaneous turns? (turn-based strategy)

I don't understand your first example approach. If turns are simultaneous, there shouldn't be a "first to move" player. If you mean that units move immediately as players move them, without waiting for the turn to end, then it's no longer turn based, it's just real time with extra steps. It would also be imbalanced towards the player that moves early, or late, depending on the rest of the game. Simultaneous turn based games that I have seen so far would have both players plan their entire turns, and then everything would resolve at once.
21. 1 point

## My main complaint with OOP

In a good OO design, this doesn't happen. The Circle class Must be the representation of a circle in the geometric sense and nothing else. It cannot be allowed to depend on something that isn't geometry, such as a spatial index, a Canvas, or a file. This is called the "single responsibility principle": forcing together multiple responsibilities means creating tensions when anything changes. Should derive from a Shape interface or abstract class, together with other shape types. This makes clear that there are functions that apply to any shape (e.g. computing area, perimeter, bounding shapes), and operations that only make sense for circles (e.g. construct a regular polygon with the same center and the same area and a given number of sides, which can be useful as an approximation) In practical terms: The renderer should find a way to treat all shapes the same way (e.g. if the Shape interface offers a point containment test and a bounding convex polygon the renderer can test samples inside the region of interest) or segregate different Shape subclasses by their different rendering methods (e.g. scanline rendering of circles, scanline rendering of whole convex polygons and scanline rendering of a triangle decomposition of nonconvex polygons) A spatial index should probably deal with Shapes and their bounding shapes only. Serialization could be allowed in Shape classes because it's so basic and intrusive, but keeping it outside would be cleaner.
22. 0 points

23. 0 points

## why c++ doesnt have many features of many modern languages like c# languages?

C++ is a long term language for huge projects If C++ somehow added all those high-level features into the standard library, there would be even more legacy to maintain until C++ has to break backward compatibility or die. If you want a fresh start, there are many competing languages with a better balance of safety, speed and readability, but their elegance comes at the cost of being forgotten when the next shiny language arrives with adaptations for the next hardware or abstract platform. STD is already bloated and outdated The C++ standard collections belong to a museum by having older parts optimized for single-core computers with small but fast memory that's insignificant compared to computation. Today we have huge but slow memory with fast computation and using a linked list as a default container is like a bad joke about cache misses. This obsoletes iterators and the whole system that relies on them. Third-party libraries can be changed with every new project, adapt for custom needs using operand overloads and take advantage of the latest hardware using SIMD extensions and GPU features.
24. -1 points

## why c++ doesnt have many features of many modern languages like c# languages?

Microsoft brainwashed you with C#, now you belong to microsoft.
25. -3 points

## why c++ doesnt have many features of many modern languages like c# languages?

Nice downvoting, thanks again.

1. 1
2. 2
3. 3
4. 4
5. 5
• ### Member Statistics

• Total Members
260759
• Most Online
6110