Logical Expressions in C/C++. Mistakes Made by Professionals
-
@blakeyrat They actually do use it, it's just not necessary. You can create Actor classes with customized behavior and even expose properties on the editor and functions to be called from blueprints.
Interestingly enough, the opposite is also true, you can make blueprints that are usable from code just like normal C++ classes
-
@Sentenryu said in Logical Expressions in C/C++. Mistakes Made by Professionals:
@blakeyrat They actually do use it, it's just not necessary.
It's been awhile, but I remember that their "language" diverged enough that they no longer called it C++. They called it UnrealC or UnrealScript or something.
-
@blakeyrat they have gone back with unreal 4, Unreal Script is no more and now you have C++ 11 with loads of helper macros and/or blueprints, a visual programming language that doesn't suck (as unlikely as that may be)
I'm looking into making a card game and Unreal 4 is so far the best engine I found.
-
@Sentenryu Unless you're going to make a full 3D rendered table and flexing cards, Unreal Engine seems overkill for a card game
-
@RaceProUK Have you ever looked at Magic Duels / Heartstone type games? I want to eventually evolve it to something like that.
-
@Sentenryu That is a lot of shiny…
-
@RaceProUK I might do something with a little less shiny to start with, but that's the end goal
-
@Sentenryu Oh.
I played around with Unreal for awhile, but the UI of their IDE is atrocious. (Not unexpected, really. But still intolerable.)
I think I'd rather use MonoGame which is only source files and comparatively much more manual, but at least I can use Visual Studio as my IDE.
-
@RaceProUK said in Logical Expressions in C/C++. Mistakes Made by Professionals:
@Sentenryu Unless you're going to make a full 3D rendered table and flexing cards, Unreal Engine seems overkill for a card game
What decade do you live in?
Gems of War is a simple card-like game, 2D even, it's cram-packed with shaders, particle effects, and other features that Unreal is certainly not overkill for. Hearthstone did even more, when I played it.
-
@blakeyrat You can use visual studio for the C++ part now, the editor actually launches VS when you create C++ assets.
Sadly, the rest of their editor UI is still shitty, specially the controls for moving around the 3D view.
-
@Sentenryu said in Logical Expressions in C/C++. Mistakes Made by Professionals:
@blakeyrat You can use visual studio for the C++ part now, the editor actually launches VS when you create C++ assets.
That's not the part that was stopping me. Frankly I didn't even get that far.
@Sentenryu said in Logical Expressions in C/C++. Mistakes Made by Professionals:
Sadly, the rest of their editor UI is still shitty, specially the controls for moving around the 3D view.
Yup!
I was trying to make a simple 2D space game with a starfield and a few asteroids floating around, using Blueprints (because I figured actual code would be overkill for this). After about 8 hours of struggling and reading help files, I still hadn't managed it. Then I said fuck this and went back to the MonoGame implementation of same, the entire thing of which I wrote in about 4 hours. (And in MonoGame I was able to color the stars how I wanted! Which was more than the particle engine in Unreal allowed.)
It's one of those great apps that started out with a custom UI, possible for "cross-platform" purposes, but they did such a shoddy job of writing it that it's like it was written by a mutant who'd never seen a Windows or Mac before. Also their tutorial screens (which were apparently written in Blueprint as kind of a "eat our own dogfood" thing) would frequently open modal dialogs off-screen and make it so I had to force-quit the client. Lovely.
-
@blakeyrat said in Logical Expressions in C/C++. Mistakes Made by Professionals:
@Groaner Unreal Engine hasn't used C++ in ages.
(Well, I suppose they still sell a source license and in theory you could buy that and patch their engine which would require the use of C++... but you know what I mean.)
The last I checked, UE1 used UnrealScript, UE2 too, UE3 too, while UE4 uses C++ and Blueprint by default. So by "hasn't used in ages" I assume you mean "uses at the moment, and never used before".
-
@blakeyrat Since when did shaders and particle systems become a vital part of card games?
-
@RaceProUK said in Logical Expressions in C/C++. Mistakes Made by Professionals:
@blakeyrat Since when did shaders and particle systems become a vital part of card games?
I don't fucking know. I never played any on computers until Hearthstone, and then I stopped playing it because it was fucking stupid.
-
@RaceProUK Around the time hearthstone set that bar, as now everyone I talk to expects that stuff.
-
@Sentenryu Yet another type of game where gameplay takes a backseat to graphics…
-
@RaceProUK said in Logical Expressions in C/C++. Mistakes Made by Professionals:
Sentenryu Yet another type of game where gameplay takes a backseat to graphics…
Only morons make that claim. And I'm guessing you were about 15 seconds away from typing "dumbed down".
Unless you seriously believe that Wolfenstein 3D had better gameplay than Wolfenstein: The New Order. Or that The Elder Scrolls: Arena had better gameplay than Skyrim. If you seriously believe that, you're not a moron, you're literally insane.
"Graphics quality" and "gameplay quality" are completely orthogonal. Look at Shelter for an example-- it looks like ass and has shitty gameplay. Look at Titanfall, it had amazing graphics and introduced a whole new way for characters to move in FPS games. HOW IS THAT POSSIBLE!?
-
@RaceProUK Yep, that quite sad actually, hearthstone uses the board graphics to keep you entertained during the opponent's turn, while Magic gives you things to do on that turn (cards you can play) I much prefer the magic approach.
On my the case of my game, I'm toying with having both players take their turn at the same time, so as to eliminate the advantage of going first (in magic's case) or second (in hearthstone's case)
-
@blakeyrat On that topic, old games generally had more "depth" than newer games due to lower expectationon the graphics side.
The original xcom, for example, had far more depth than xcom 2012 or xcom 2, but that says nothing about the quality of those games, all of which are extremely fun (and stressing) to play.
-
@Sentenryu said in Logical Expressions in C/C++. Mistakes Made by Professionals:
xcom 2012
Ugh.
Fuck that game.
BTW: the opposite applies to franchises like Call of Duty, Civilization, or SimCity where each entry has more depth than the previous. (Well, Call of Duty seems to have hit a cap after Advanced Warfare. But.)
-
@blakeyrat said in Logical Expressions in C/C++. Mistakes Made by Professionals:
Only morons make that claim.
Way to miss the point.
@blakeyrat said in Logical Expressions in C/C++. Mistakes Made by Professionals:
And I'm guessing you were about 15 seconds away from typing "dumbed down".
Didn't even come close to crossing my mind.
@blakeyrat said in Logical Expressions in C/C++. Mistakes Made by Professionals:
Unless you seriously believe that Wolfenstein 3D had better gameplay than Wolfenstein: The New Order. Or that The Elder Scrolls: Arena had better gameplay than Skyrim.
Four games I've never played, which means I don't have any opinions on their gameplay.
-
@RaceProUK I strongly recommend Skyrim, have never played the others.
Skyrim IS a bit dumbed down compared to Morrowind or even Oblivion, but that really is for the best. In Morrowind you could screw yourself up just by running too much, and oblivion was strange to say the best. All great games that will claim your soul tho.
-
@Sentenryu said in Logical Expressions in C/C++. Mistakes Made by Professionals:
I strongly recommend Skyrim, have never played the others.
Wolfenstein: The New Order is about as good as a FPS gets, particularly as they put a lot of effort into making you actually care about what's going on instead of just running around clicking like a mad thing. I'm not particularly fond of the entire style of game, but that doesn't mean I think it is anything other than excellent.
-
@blakeyrat said in Logical Expressions in C/C++. Mistakes Made by Professionals:
tutorial
Ugh, don't get me started on Unreal tutorials. I wanted to play around with the thing when UE3 was released, so I went to watch their official tutorials on YouTube.
20 minutes of "how to move camera"
20 minutes of "how to place an object in the scene"
45 seconds of "this is how you set up a material, 13 particle systems and 43 dynamic lights"
30 minutes of "what is a variable"What the shit? Who is this for? It's obviously not for programmers given the last point. Ok, so, tell me, who is the fucker that can't figure out camera controls but can understand how to create a complex material using nodes in no time at all?
-
@Onyx It's "better" now, see this tutorial: https://docs.unrealengine.com/latest/INT/Resources/SampleGames/CardGame/index.html
It makes references to a card game project that you can download on the learn tab on the launcher. There's no such project.
-
@Onyx I think the biggest thing programmers fail at is teaching.
Maybe because it's kinda like making UIs: you have to forget what you know and get into the mind of the other person.
Also because there are many different targets, and people often fail to take that into account: teaching Python to an experienced programmer is completely different from teaching it to children as their first programming language.
I tried an OpenCL tutorial once and it just went on and on with metaphors of a school with classrooms and blackboards where every student had their own private memory, and the blackboard was memory that was shared with a group of students, and there was a bigger memory in the middle which was shared with everyone but slower... I already know how memories and caches work! Just skip to the technical part!
-
@anonymous234 said in Logical Expressions in C/C++. Mistakes Made by Professionals:
I think the biggest thing programmers fail at is teaching.
Those who can, teach. Those who can't, write programs.
-
@anonymous234 said in Logical Expressions in C/C++. Mistakes Made by Professionals:
@Onyx I think the biggest thing programmers fail at is teaching.
I made a very good living a while back teaching professional developers. It turns out that the intersection of "those who can program" and "those who can teach" is minuscule and a decent development instructor is always in demand.
The professional training industry has pretty much dried up since then, so I had to get a real job.
-
@blakeyrat said in Logical Expressions in C/C++. Mistakes Made by Professionals:
I played around with Unreal for awhile, but the UI of their IDE is atrocious. (Not unexpected, really. But still intolerable.)
I don't know why we spend so little time developing the UI of the tools that we use. I mean, it's one of the biggest productivity factors there is. And yet you get things like Bethesda's CK.
Hell, the random guy off the street that developed the pre CK tools for Fallout4 made a better UI.
-
This post is deleted!
-
@xaade said in Logical Expressions in C/C++. Mistakes Made by Professionals:
Hell, the random guy off the street that developed the pre CK tools for Fallout4 made a better UI.
It would be difficult to make a worse one.
I think much of the blame is that Creation Kit was coded in C++, when that language is not very suitable. (To be fair, it was original made for Morrowind around 2001-ish. But even in 2001, there were better options for windowed GUI apps than C++. Even Visual Basic 6 would have been a better choice. Honestly.)
-
@blakeyrat The tricky part is that if you want an in-app preview window, you need to embed the rendering engine in the GUI, which means your renderer needs to have a wrapper to run in the language of your choice, or you need to stick to the C++ the renderer was written in.
-
@Groaner Even Visual Basic 6 had no trouble running C++ code from DLLs.
-
@blakeyrat said in Logical Expressions in C/C++. Mistakes Made by Professionals:
@Groaner Even Visual Basic 6 had no trouble running C++ code from DLLs.
Right, but that assumes a plain-C API for the renderer already exists. If the user needs fine-grained control over properties of actors in the scene, that API is going to have to be pretty extensive. If such an API doesn't exist, it might be slightly easier to build the editor in C++ and talk to the renderer natively.
-
@Groaner Well they built Creation Kit (or whatever it was called at the time) at the same time they built Creation Engine (which was Gamebryo at the time), so I guess too bad they didn't do enough planning?
-
@Groaner said in Logical Expressions in C/C++. Mistakes Made by Professionals:
which means your renderer needs to have a wrapper to run in the language of your choice
There are tools specifically to generate those wrappers automatically; the example I'm aware of is SWIG (which has been around for many years now) though that can't be the only one. The resulting APIs tend to suck a bit, but the tools work. Unless the C++ is very template-heavy, because that's just a headache for automated tooling (due to it being done with compile-time generation).
-
@blakeyrat said in Logical Expressions in C/C++. Mistakes Made by Professionals:
BTW: the opposite applies to franchises like Call of Duty, Civilization, or SimCity where each entry has more depth than the previous.
I thought you hated the "improvements" Civ V made over Civ IV?
Anyway, we seem to have very different tastes in games.
@Sentenryu said in Logical Expressions in C/C++. Mistakes Made by Professionals:
Skyrim IS a bit dumbed down compared to Morrowind or even Oblivion, but that really is for the best.
I never finished the main mission in any of those, I always got distracted by the side missions and then bored by the repetitive gameplay (enter dungeon, kill, loot, take hours to decide which stuff to keep and what to leave in the dungeon).
-
@asdf said in Logical Expressions in C/C++. Mistakes Made by Professionals:
I thought you hated the "improvements" Civ V made over Civ IV?
I do.
... how is that mutually-exclusive with Civ V has more depth than Civ IV? I'm genuinely curious why you asked that.
-
@anonymous234 said in Logical Expressions in C/C++. Mistakes Made by Professionals:
I think the biggest thing programmers fail at is teaching.
Donald Knuth, 1984:
Let us change our traditional attitude to the construction of programs: Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.
-
@asdf that's everyone's experience it seens. The games have, at the same time, too much and too little to do.
To this day people tell me that morrowind's main quest is the best one ever made and that I should really play it, but either that game hasn't aged well or I'm too casual of a gamer to withstand the old systems and the lack of a quest pointer.
Figuring out what to leave is real easy, you should only take gold, jewelry, potions, soul gems and, In case you have the luck of the irish, the ocasional weapon/armor that is better than yours. Most of the items on bethesda games are either not worth anything or too heavy to bother carrying, the ones I mention here are the exceptions.
-
@blakeyrat said in Logical Expressions in C/C++. Mistakes Made by Professionals:
how is that mutually-exclusive with Civ V has more depth than Civ IV?
It isn't, I was just confused since most people who dislike Civ V feel like it's a dumbed down version of Civ IV.
-
@Mikael_Svahnberg said in [Logical Expressions in C/C++. Mistakes Made by Professionals]
Donald Knuth, 1984:
Let us change our traditional attitude to the construction of programs: Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.
Agreed. A lot of people still don't grasp that the hardest part of programming is determining precisely what should be done. Actually making a computer do it is the easy part.
-
@Alticor
I've read your post with great interest but I'm not sure your analyzer would work well in my case. We have a few places where we use the double guard pattern for thread synchronization and I fear the synchronization points would get marked as redundant.
-
@asdf Well it might be from Civ IV with all the expansions installed, because some of those expansions created game mechanics that are way out in la-la-land.
-
@Sentenryu said in Logical Expressions in C/C++. Mistakes Made by Professionals:
Figuring out what to leave is real easy, you should only take gold, jewelry, potions, soul gems and, In case you have the luck of the irish, the ocasional weapon/armor that is better than yours. Most of the items on bethesda games are either not worth anything or too heavy to bother carrying, the ones I mention here are the exceptions.
If there's one thing I've learned from talking to people about Bethesda games, a lot of gamers are "video game hoarders", and if the game lets them take something, they take it so they can sell it and get the paltry 1 silver or whatever.
Then these people play a game like Oblivion or Fallout New Vegas, or whatever, where 99.9% of objects are literally junk, and they spend like 75% of their gameplay going back and forth between dungeons and shops to sell every single goddamned item. Then they get bored doing that (not surprising), but instead of blaming themselves for being weirdo hoarders, they blame the game!
-
@blakeyrat I was like that, took a whole 10 minutes playing oblivion to loose that habit.
Now I get worried that I'll leave something important behind because I can't be arsed to look everywhere.
I think that the last time I opened a wardrobe in skyrim was on my second playthrough, I must be at my 15° or so.
I still carry good looking armors that I'll never use in fallout tho. Guns, on the other hand, I actually tend to use. Not sure if it was intended, but I found out that even if you stay on a single type of weapon, there's several unique ones that are useful in different situations, like my pistols. I carry on me:
- A long range, high damage, low rate of fire pistol for sniping
- A medium range, decent rate of fire, silenced and nice iron sights one for normal engagements.
- A low range, high rate of fire, high hip accuracy one for "oh shit" situations.
And I actually use all of them for their intended purposes. I also carry a rocket launcher/similar heavy weapon for the things that make me rage.
Man, and I thought I hoarded in skyrim, I only carried a sword on that game!
-
@Sentenryu said in Logical Expressions in C/C++. Mistakes Made by Professionals:
@blakeyrat I was like that, took a whole 10 minutes playing oblivion to loose that habit.
The artist who draws Awkward Zombie is like that and she drew a whole bunch of cartoons about Skyrim and Fallout 3/New Vegas that relied on that as a "ha ha laughing at these things we all do, rite? rite?" kind of thing.
And it bugged me because no, we aren't all crazy video game hoarders, that's just you.
@Sentenryu said in Logical Expressions in C/C++. Mistakes Made by Professionals:
I think that the last time I opened a wardrobe in skyrim was on my second playthrough, I must be at my 15° or so.
Elder Scrolls Online has a carefully-constructed drop rate to make this just BARELY productive. It's kind of annoying.
Since Fallout New Vegas, I play them with swords because why not. Taking out a sentry bot with a sword is extremely satisfying. (But you also have to carry a Missile Launcher, at least, and optionally a Fat Man to handle every circumstance. You can omit the Missile Launcher if you have enough Nuka Grenades.)
Anyway, playing with swords also nets you a shitload of money because:
- It requires more STR, which means you can carry more
- You can sell all the weapons you pick up, which are generally decently valuable
- You can sell all the ammo you pick up, which are extremely lucrative because they all have a weight of zero
The downside is you need to keep more stims on you.
-
@blakeyrat I tried melee right at the start of my first playthrough of fallout 4 (the first one I ever played), but I only had knuckles and was being swarmed. Never tried again, but I think I should, as I have a sword with 3 types of damage shoved away at a trunk.
I should get back to fallout 4 and maybe play 3 and new vegas, I liked the game more than I thought, only got away because XCOM 2 launched and I got absorbed.
-
@Sentenryu said in Logical Expressions in C/C++. Mistakes Made by Professionals:
@blakeyrat I tried melee right at the start of my first playthrough of fallout 4 (the first one I ever played), but I only had knuckles and was being swarmed. Never tried again, but I think I should, as I have a sword with 3 types of damage shoved away at a trunk.
The second-best (unmodded) sword in the game is available at literally the first shopkeeper NPC you meet (Drumin's Diner, or whatever it's called.) If you carefully collect valuable stuff and walk straight there, you can basically buy it in the first 15 minutes of the game. (The most powerful sword in the game takes some work, but you can easily get it relatively early-on as well. Once you know where it is.)
Once you know about that, the sword build is almost like cheating for the first 20 levels or so. You can even take out Super Mutants in 3 hits, max. Of course it's a Bethesda game, so finding little exploit/not-exploits like that is like 2/3rds of the fun.
-
@blakeyrat said in Logical Expressions in C/C++. Mistakes Made by Professionals:
(The most powerful sword in the game takes some work, but you can easily get it relatively early-on as well. Once you know where it is.)
I have the Shem Drowne sword fully upgraded, is there a better one aside from legendary modifiers?
Edit: Oh, yeah, the Shishkebab. That sounds monstruous