Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411493 Posts in 69377 Topics- by 58433 Members - Latest Member: graysonsolis

April 29, 2024, 06:07:02 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)The happy programmer room
Pages: 1 ... 254 255 [256] 257 258 ... 279
Print
Author Topic: The happy programmer room  (Read 678855 times)
oahda
Level 10
*****



View Profile
« Reply #5100 on: November 08, 2017, 03:38:22 PM »

Prinsessa... Crazy

What kind of game are you making anyway?
This is just test stuff as I'm writing the graphics engine, so it's not representative of anything, but here are some of the ideas I've been playing around with in Unity:

https://imgur.com/a/v6zxl
https://twitter.com/avaskoog/status/905409227715424256

I'm thinking it's going to be similar to Majora's Mask but focusing on different things (no combat for instance; more like a detective game with puzzle solving and time travel).
« Last Edit: November 08, 2017, 03:45:27 PM by Prinsessa » Logged

JWki
Level 4
****


View Profile
« Reply #5101 on: November 08, 2017, 03:46:12 PM »

Kinda happy with this tiny nothing-special thing - a little performance graph widget, shows how long rendering took in ms and also visualizes recent averages, minimum and maximum frametimes.
Avg, min and max are being refreshed every few ticks, current values are being streamed in from the right to the left, hence the less-than-minimum values on the left of the graph in the screenshot.

Logged
oahda
Level 10
*****



View Profile
« Reply #5102 on: November 08, 2017, 03:50:21 PM »

Ooh, stuff like that always looks fancy, altho I'm not sure I read a graph better than a stream of numbers. Did you render it easily using some ImGui thingy or did you have to use your graphics API and render to texture or something?
Logged

JWki
Level 4
****


View Profile
« Reply #5103 on: November 08, 2017, 04:01:53 PM »

Ooh, stuff like that always looks fancy, altho I'm not sure I read a graph better than a stream of numbers. Did you render it easily using some ImGui thingy or did you have to use your graphics API and render to texture or something?

The graph is just ImGui::PlotLines(), plus some extra rendering also using ImGui draw commands. It's primarily to see hitches and spikes for which a visual representation is optimal I think.
Logged
ferreiradaselva
Level 3
***



View Profile
« Reply #5104 on: November 08, 2017, 04:43:54 PM »

Prinsessa... Crazy

What kind of game are you making anyway?
This is just test stuff as I'm writing the graphics engine, so it's not representative of anything, but here are some of the ideas I've been playing around with in Unity:

https://imgur.com/a/v6zxl
https://twitter.com/avaskoog/status/905409227715424256

I'm thinking it's going to be similar to Majora's Mask but focusing on different things (no combat for instance; more like a detective game with puzzle solving and time travel).

That's a cool mechanic Grin

Edit:
also happy because it seems my lib is being useful to others (as there are people opening issues and adding code to it).
« Last Edit: November 08, 2017, 04:52:23 PM by ferreiradaselva » Logged

oahda
Level 10
*****



View Profile
« Reply #5105 on: November 12, 2017, 09:13:41 AM »

Good list of all the final C++17 stuff: https://www.viva64.com/en/b/0533/

That's a cool mechanic Grin

Edit:
also happy because it seems my lib is being useful to others (as there are people opening issues and adding code to it).
yay!
Logged

Ordnas
Level 10
*****



View Profile WWW
« Reply #5106 on: November 13, 2017, 04:45:34 AM »

Good list of all the final C++17 stuff: https://www.viva64.com/en/b/0533/

That's a cool mechanic Grin

Edit:
also happy because it seems my lib is being useful to others (as there are people opening issues and adding code to it).
yay!

For now only "constexpr if" could be useful, in case you use it in conjunction with reflection code (if templated object is float type or other).
Logged

Games:

oahda
Level 10
*****



View Profile
« Reply #5107 on: November 13, 2017, 07:50:28 AM »

Besides that, I would/will (I can't switch everywhere yet—it was enough of a hassle to get C++14 for my engine working on six platforms—but as soon as I do, I'm replacing it) primarily be using…

  • std::optional because I already have my custom version of that in my codebase and a need for it, so it's nice to have it in the standard library

  • std::filesystem because I'm already using and liking boost::filesystem and it's nice to have that moved to the STL since compiling Boost stuff is icky… and since I'm only using this in my tools which don't need to get built for all the target platforms (unlike the games made with the tools), I'm planning on updating them soon! c:

  • I have loooots of places where I've wanted to use insert_or_assign() on a map but couldn't and had to write something lengthier

  • STL string/number conversions are nice, especially if they have less overhead

  • structured bindings for multiple return values YASSS

  • specifying the nested namespace scope in one line!

Then a lot of the other things just seem like nice quality-of-life additions (or things that just feel cleaner, like using std::byte instead of char) that I might have use for on occasion. Also nice to see some seriously deprecated stuff get completely removed to fix at least some of the bloat that C++ struggles with.

Still holding out for modules! Sad
« Last Edit: November 13, 2017, 11:59:11 AM by Prinsessa » Logged

Crimsontide
Level 5
*****


View Profile
« Reply #5108 on: November 13, 2017, 06:54:46 PM »

Besides that, I would/will (I can't switch everywhere yet—it was enough of a hassle to get C++14 for my engine working on six platforms—but as soon as I do, I'm replacing it) primarily be using…

  • std::optional because I already have my custom version of that in my codebase and a need for it, so it's nice to have it in the standard library

  • std::filesystem because I'm already using and liking boost::filesystem and it's nice to have that moved to the STL since compiling Boost stuff is icky… and since I'm only using this in my tools which don't need to get built for all the target platforms (unlike the games made with the tools), I'm planning on updating them soon! c:

  • I have loooots of places where I've wanted to use insert_or_assign() on a map but couldn't and had to write something lengthier

  • STL string/number conversions are nice, especially if they have less overhead

  • structured bindings for multiple return values YASSS

  • specifying the nested namespace scope in one line!

Then a lot of the other things just seem like nice quality-of-life additions (or things that just feel cleaner, like using std::byte instead of char) that I might have use for on occasion. Also nice to see some seriously deprecated stuff get completely removed to fix at least some of the bloat that C++ struggles with.

Still holding out for modules! Sad

I don't know, every change they make seems to be 1 step forward 2 steps back.  There are so many 'got-ya's', caveates, and issues with every single construct now that even writing a single line of code feels like walking on egg-shells.  They need to focus on making the language cleaner, more ortho-normal, more sane.  Adding more features is the last thing C++ needs at the moment.  The cracks between the different 'features' just keep getting bigger with each new release...
Logged
JWki
Level 4
****


View Profile
« Reply #5109 on: November 13, 2017, 11:54:28 PM »

I halfway agree with Crimsontide here. My primary concern is that they're putting too much stuff in the standard library and the core language itself is starving. I've actually enjoyed most new language features, like lambdas, constexpr, decltype, etc,but I'm not a fan of most library additions. Well and the general direction the developments are moving towards (lose c-isms, no more raw this and that) is super weird to me, most conferences give me the impression that they don't want anyone but library writers to use the features that make C++ actually useful - if I want a completely safe, high level language, I certainly don't use C++. I use C++ to be able to have full control at all times, and that means I have to use raw pointers, manage my memory and all that dangerous stuff.
« Last Edit: November 14, 2017, 01:39:31 AM by JWki » Logged
oahda
Level 10
*****



View Profile
« Reply #5110 on: November 14, 2017, 02:32:59 AM »

C++17 unfortunately feels more like a "patch" to C++14 than a proper upgrade; a few nice things added/fixed, but overall disappointingly few anticipated features actually made it in. See you in three years. Shrug
Logged

Ordnas
Level 10
*****



View Profile WWW
« Reply #5111 on: November 15, 2017, 12:57:39 AM »

I halfway agree with Crimsontide here. My primary concern is that they're putting too much stuff in the standard library and the core language itself is starving. I've actually enjoyed most new language features, like lambdas, constexpr, decltype, etc,but I'm not a fan of most library additions. Well and the general direction the developments are moving towards (lose c-isms, no more raw this and that) is super weird to me, most conferences give me the impression that they don't want anyone but library writers to use the features that make C++ actually useful - if I want a completely safe, high level language, I certainly don't use C++. I use C++ to be able to have full control at all times, and that means I have to use raw pointers, manage my memory and all that dangerous stuff.

You still have full control at all times with C++, I think it is just a way to embrace the direction of where the industry are heading, high-level paradigms and patters that are easier to implement in a high-level language, where time and money forces you to write fast and in a type-safe manner, and for the programmers that are coding with high-level languages and wants to use C++ without losing all the benefits of a new high-level language can offer, garbage collectors, handlers, smarts etc.
Logged

Games:

Garthy
Level 9
****


Quack, verily


View Profile WWW
« Reply #5112 on: November 15, 2017, 01:20:49 AM »


std::any is in C++17? About time it made the standard library. Wink

I've been using boost::any for years now. It's a very clever hack and it blew my mind when I first encountered it. Very nice when you want to pass around or hold a type-safe opaque reference to a resource without imposing any restrictions whatsoever on what the resource can be.
Logged
Crimsontide
Level 5
*****


View Profile
« Reply #5113 on: November 15, 2017, 01:32:40 AM »

most conferences give me the impression that they don't want anyone but library writers to use the features that make C++ actually useful

I completely agree.  I don't think a lot of people here have actually read the standard, or tried to write a standard compliant container, or something similar.  The reality is that nearly 99% of C++ code out there, while perfectly fine and valid IMHO, is not standard compliant.  Cause the standard is a mess, and most of the features don't work together in a coherent fashion.  Move conflicts with exceptions (hence the noexcept hack), inheritence doesn't work with automatic variables (can't properly subtype, slicing errors, etc...), templates clash with name lookups, move clashes with perfect forwarding.  Every single construct has pages, in the standard, of rules that have to be memorized in order to not accidentally step on the 'undefined' land mine.

Don't get me wrong, I'm with Winston Churchill on this (sort of), C++ is the worst language except for all the rest Smiley  But IMHO, you shouldn't have to memorize a 1622 page document just to write a program.

I love advanced features, I like high level programming, I love the fact I can do high level in C++ and then switch to low level all in the same program, I like the power, I like the flexibility.  But we've lost the forest for the trees.  The language itself has become a bigger challenge than the programs we're building with it.
Logged
oahda
Level 10
*****



View Profile
« Reply #5114 on: November 15, 2017, 01:43:57 AM »

Those are basically my sentiments too. It's bad, but at least as an experienced user I can mind my own usage. Feel sorry for newcomers.
Logged

JWki
Level 4
****


View Profile
« Reply #5115 on: November 15, 2017, 02:04:44 AM »

I halfway agree with Crimsontide here. My primary concern is that they're putting too much stuff in the standard library and the core language itself is starving. I've actually enjoyed most new language features, like lambdas, constexpr, decltype, etc,but I'm not a fan of most library additions. Well and the general direction the developments are moving towards (lose c-isms, no more raw this and that) is super weird to me, most conferences give me the impression that they don't want anyone but library writers to use the features that make C++ actually useful - if I want a completely safe, high level language, I certainly don't use C++. I use C++ to be able to have full control at all times, and that means I have to use raw pointers, manage my memory and all that dangerous stuff.

You still have full control at all times with C++, I think it is just a way to embrace the direction of where the industry are heading, high-level paradigms and patters that are easier to implement in a high-level language, where time and money forces you to write fast and in a type-safe manner, and for the programmers that are coding with high-level languages and wants to use C++ without losing all the benefits of a new high-level language can offer, garbage collectors, handlers, smarts etc.

Different tools for different jobs. Don't get me wrong being able to have both low level and high level constructs is one of the things that I like C++ for but tbqh the high level stuff that the committee is pushing isn't exactly what I'd want from a high level language.
Logged
Crimsontide
Level 5
*****


View Profile
« Reply #5116 on: November 15, 2017, 02:33:52 AM »

Different tools for different jobs. Don't get me wrong being able to have both low level and high level constructs is one of the things that I like C++ for but tbqh the high level stuff that the committee is pushing isn't exactly what I'd want from a high level language.
To get this back to more a 'happy programmer' discussion, what would you like to see them add, do, or change?
Logged
ferreiradaselva
Level 3
***



View Profile
« Reply #5117 on: November 15, 2017, 05:12:47 AM »


Progress ^^

The scene is 3D and the character is just a plane rotated 80º to reduce the perspective deformation.

I've worked (prototype'd) on part of the logic of this game before doing the 3D, but then was 2D. Now it's copy-n-paste (in some cases).
Logged

qMopey
Level 6
*


View Profile WWW
« Reply #5118 on: November 15, 2017, 07:52:02 AM »

Edit: Actually this post is kind of long, so I'll make a new thread here: Run-time Texture Atlases - Design Thread (2D games).
« Last Edit: November 15, 2017, 08:03:58 AM by qMopey » Logged
InfiniteStateMachine
Level 10
*****



View Profile
« Reply #5119 on: November 17, 2017, 09:36:08 AM »


std::any is in C++17? About time it made the standard library. Wink

I've been using boost::any for years now. It's a very clever hack and it blew my mind when I first encountered it. Very nice when you want to pass around or hold a type-safe opaque reference to a resource without imposing any restrictions whatsoever on what the resource can be.


I just looked up the definition for std:any and I'm a little confused. Is this another case where they took a well known programming term and changed its meaning?

Usually I think of Any as a function that tells you if some kind of sequence or collection is either empty or has an item matching a predicate you pass in.

This is what I read. http://en.cppreference.com/w/cpp/utility/any

Maybe I'm just not understanding what they mean and it is in fact the same thing ¯\_(ツ)_/¯
Logged

Pages: 1 ... 254 255 [256] 257 258 ... 279
Print
Jump to:  

Theme orange-lt created by panic