Chances are my QT and C++ knowledge would help me extensively if it comes to that, since I could write a QT based UI for it and whip up something along the lines of the Elder Scrolls Construction/Creation Kits. (Opening up the modding possibilities I always wanted to have in any games I develop which Ren'Py doesn't quite offer)
Next up I could pick up graphics programming (openGL) and whip up a 3D capable engine. If it would turn out well I could open it's source and make an actual open source alternative to unity. But this isn't something you just do in a few months, and I'm sure before I have graphics programming down most of the games I currently have planned will already be made.
So dreaming about one out of many possible futures is counter productive.
So then, what was it I set out to do initially? ah yes, translate my Python code to C++ (manually of course) and make a QT based user interface for interacting with and testing the system until I can make a small text-only game and decide from that point how I would like to proceed. Of course the python code in question is incomplete as is (meaning I'll have to finish it in C++)
But how will I start? I can't start there. I quite deleted my WPF assignments from school but let my memory whip up something relatively simple... how about a currency converter?
Lets see, let me pool my ideas.
Currency Converter, Simple text-based combat simulator....
That latter one, I didn't have to think up many things did I? but wait, I don't want to start there either, I want to start easier than these two...
Lets do this again
KG/LBS converter -> Currency Converter (that fetches info online, this'll be a tricky assignment and I may give up and fail on the online part, we'll see.) -> Simplified combat simulator text based (I'll basically have corruption of champions without all it's content, could turn out interesting if I decide to actually develop it further.)
This is simple and straightforward enough. Very basic but deceptively hard. Small, Bigger, Big, and then go from there.
It seems to boil down to that QT Quick is a more mobile aimed system and therefore good for minimalistic UIs. QT Widget is traditional desktop (i.e. WPF like) system. I want to develop (need to develop) for mobiles so QT Quick is where I'll start (even if I suspect it's a little bit harder)
How reassuring, the first button I press gives me this bug... (As you can see, a critical one) supposedly fixed in 3.0 RC, but I'm using 3.1...
It doesn't come bundled with a debugger, not quite as simple as visual studio (as in you actually need to set it up) this was easy, I just installed GDB and pointed it towards it.
Oh it can cross compile by defining a sysroot :O so I can compile a windows build on linux I assume.
First thing is first, follow this. Enlightenment seems to have a mild distaste for QT Creator. Did this thing just crash on me?
Did it just dare crash on me?
<- not amused.
Holy shit, I've got an error that apparently no one else has ever had. I mean literally I googled it, and the ONLY thing I found is something I myself posted. However this is an error I've always had.
UI Wise I'm massively preferring this over Visual Studio's WPF designer UI. this is much more graphical oriented (hence easy to just walk into and (rapidly) develop) Now that I think of it, I could make a slave maker 3 like game with this toolkit quite easily, probably a lot easier than the flash crap used to make that game.
It's development sadly seems to have been dropped in late 2012 (really is sad, it was a truly awesome game) so reviving it would be a joy.
Oh right, I bettered hurry this up.
Yeah I got lazy halfway through that tutorial and just copied the code from the bottom of the page to see where it would lead to. Interestingly enough, this first tutorial for qt i followed was ANIMATED! animated in the way you could create a puzzle game. Would make for an interesting first project.
Does not quite have the collision detection I'd like though but hey, it's not a game engine. If I want collision detection I need to write it in C++.
But now lets get to how I can combine C++ code with this... refreshing my memory of how to do that... yeah I remember how I did that with C# and WPF: you click a button, it executes C++ code, simple as that. And naturally code can mean anything, from a calculation (like kg to lbs formula) to changing the world (i mean it could spawn a penguin, but then again you don't need c++ to do that since QT is supposed to handle all the graphical parts, which is why you use both) lets say I make a dialogue box for a text-only video game.
I can write the text in the QML(QT) file, but it would be much easier to point the dialogue box through the QML file to a specific function in the C++ file which changes as you progress through the game, if you know what I mean (you might if you ever programmed a UI in your life. It's the simple of all simples really.)
In short though, it means that you can't (as far as I'm aware) tell QT to do 2+2 for you, you need another language to do anything of the sort.
Here I'm noticing something that wasn't a problem in visual studio though, despite having a much better graphics design UI than VS does for WPF, it's lacking in that VS had this functionality where you could in 95% of cases get away with never entering statements manually (you could click an item in your UI and just pick from a list what you want it to do (like "onClicked" (for when the mouse is clicked on this object)) and it would add this command to the code document for you. I don't remember if you could write custom commands in without actually going to the code document or not, but at least it would spit out all the statements for you if you were too lazy to remember them.
But UI programming isn't exactly where people tend to start, so I can't say I recommend it if you're starting. I mean it's easy at first when you're doing the kinds of programs people usually start out with (console only/no GUI) but as soon as you get into more advanced stuff like functions and classes, it becomes a lot more pain to manage. You can write as much under the hood C++ code as you want, but it means nothing if you don't link it to the UI. This is why the place people tend to start is just console-only programming.
I wonder though if I can intergrate python code with QT instead of C++ code.
But this is really like... I could entirely replace Ren'Py with this like right now. But the biggest reason I will never do that is that Ren'Py is python based, and I love python, and developing QT with Python is... (yes I looked into this) possible, plausible, but quite a bit of extra effort. I will consider it, but this would mean I would have to design the UI in another IDE than the one i'm developing the code in.
I'd be lying if I said I am completley unfamiliar with C++ though, I am well familiar with C# and I am involuntarily closely acquainted with C (which is the same thing as C++ but with less features basically... fucking keyboard...)
Anyhow, I found an interesting list of projects I can pull off, that and if I feel like working with numbers, this.
I am to be honest looking forward to that. Programming is after all; fun.
But now it's time to turn towards more artistic things... Like murder...
Other than this, it seems I'll have to speed up my testing of IDEs.
I want to try out eclipse, but I just found this, and if I am to buy that, it has to be on sale.
...
Oh well, lets not be rushing things, I can get it later if I really want it. The most use in it I see myself needing is pygame support and debugging for it. Other than that I don't see why people make such a fuss about debuggers, if they just tell me where the damned thing broke that's enough for me, and a debugger isn't a debugger if it isn't able to do at least that.
I would like to try my hand at hacking again, get into the hacker community, I mean they're a really nice bunch. Bastards? certainly, but they treat each other well, and the vast majority of hackers are white hats.
What does this mean? Hackers are generally classified into two categories.
White Hats and Black Hats but naturally there are also Grey Hats (neutrality)
If you're into RPGs you could say that White Hats are anything between Lawful to Chaotic Good. Grey hats are anything from Neutral to Chatoic Neutral, and Black Hats are Chaotic Evil. We're not talking personality here, we're just talking actions.
White Hats are the likes of which bring you security solutions, like AntiVirus programs such as Avira or Malwarebytes (those are the two I most highly recommend) and Firewalls like Iptables(Linux) or Comodo(Windows)
What White Hats do is that they find loopholes in security systems and crack them then usually if they're doing it professionally offer to fix it (for a price). This is legal to an extent, and these are often hired. Most "well known" hackers are White Hats, or Black Hats who failed. White hats in short are the types of people who break your security system, and tell you exactly hwo they did it so you can make sure it won't happen again.
Black Hats find loopholes in targeted security systems and crack them for their own gains and profit, profit usually involving illegally attaining information of any kind and then selling them to the highest bidder. They're also the types that make and spread viruses, a common type of virus today would be a virus that eats up your GPU power and forwards it through the internet for bitcoin mining (which is direct money gain for the hacker)
Grey Hats are neither and both of the above, they generally do a lot of white hatting but aren't afraid of wandering into Black Hat territory if they see an opportunity they can't resist.
Me in the hacker community would probably be a grey hat. White hatting if I see a profit opportunity in it, black hatting if I really want to experiment with something illegal (usually I suspect I wouldn't be doing the latter for money because it's one thing to hack illegally, another thing entirely to get away with it. And adding money into the mix makes you that much easier to trace, since you need the money transferred to your account somehow.)
But as is I don't hack or make viruses, but I'm involved enough to be able to properly set up security solutions. Like my cute little teamspeak server which has all ports closed except for the one the server is using (you can't even browse google on that laptop) it has encrypted channels (luckily a default setting) and while the server runs, the user account is logged out so you need a password to access it. There's no SSH access to that server even if that is a possibility (this is because I'm too lazy to set it up more than anything else) so the only way to get into that server is physical access (with a password which you're bound not to be able to crack, even with a supercomputer) or if there's a loophole in the teamspeak server program itself (which would one way or another be out of my hands anyways)
And so I have excessive security for an @home teamspeak server that roughly only 2 people ever use regularily and we've got nothing to hide. But my server is safer for discussing your conspiracy to control the world than your phone for sure, if it ever comes down to it. Safer than skype too, and naturally safer than facebook.
I'm just really in a programming mood now, I'm gonna hop in and start doing these. I like Pig Latin, I think I should start there.
Now then, how to make buttons in QT Quick? ...
I could've sworn yesterday the keyboard was working fine in QT Creator but now it's locking to english layout...
I actually wrote the program code in C++, but failed to run it in QT... I don't know how to run c++ code in QT... /mad. The tutorials for QT suck since they're all exactly that; tutorials ofr QT, not tutorials for how to actually use QT but just how to make the GUI itself and it's bells and whistles.
And I have found.... that devleoping C++ with Qt sucks! and as such I have found... The reason I assume why KDE is so fucking broken. That thing is fucking unwieldy. Qt doesn't actually support C++ code, only it's syntax. So for example to make a string Qt can read, you must make a "QString" and to develop C++ code that will workin Qt you generally have to call on a mountain of Qt specific classes which I am completely unfamiliar with. It can however simply just read Javascript. But why on earth would a language that's written in C++ be able to read raw javascript but not raw C++?
I'm not so sure if Qt is the right GUI language for me anymore and if GTK is free of this, I can now see why developers would opt to use that old little wretch instead of Qt. WPF beats them both to be honest, but it's a windows exclusive... why is all the best stuff windows exclusive? mother of fuck.
I'd be head over heels for microsoft if they weren't so fucking exclusive to themselves. If they just... allowed .NET and DirectX and Visual C# and all that fucking crap on other platforms? I mean I'm quite amazed they allow skype to exist on linux and mac.
Anyways I now need to decide if I'll go for QT, or if I'll let it wait and just go for Haxe instead right away... This will be interesting, i'm at the very least gonna have to look at haxe and see how i like it.
The Next Day:
Sorry that I cram more than one day into posts but I often don't feel like pressing that"publish" button before I go to bed, and don't want to publish it when I wake up to create a new one. No harm no foul right? you get all of the same info :DI would like to try my hand at hacking again, get into the hacker community, I mean they're a really nice bunch. Bastards? certainly, but they treat each other well, and the vast majority of hackers are white hats.
What does this mean? Hackers are generally classified into two categories.
White Hats and Black Hats but naturally there are also Grey Hats (neutrality)
If you're into RPGs you could say that White Hats are anything between Lawful to Chaotic Good. Grey hats are anything from Neutral to Chatoic Neutral, and Black Hats are Chaotic Evil. We're not talking personality here, we're just talking actions.
White Hats are the likes of which bring you security solutions, like AntiVirus programs such as Avira or Malwarebytes (those are the two I most highly recommend) and Firewalls like Iptables(Linux) or Comodo(Windows)
What White Hats do is that they find loopholes in security systems and crack them then usually if they're doing it professionally offer to fix it (for a price). This is legal to an extent, and these are often hired. Most "well known" hackers are White Hats, or Black Hats who failed. White hats in short are the types of people who break your security system, and tell you exactly hwo they did it so you can make sure it won't happen again.
Black Hats find loopholes in targeted security systems and crack them for their own gains and profit, profit usually involving illegally attaining information of any kind and then selling them to the highest bidder. They're also the types that make and spread viruses, a common type of virus today would be a virus that eats up your GPU power and forwards it through the internet for bitcoin mining (which is direct money gain for the hacker)
Grey Hats are neither and both of the above, they generally do a lot of white hatting but aren't afraid of wandering into Black Hat territory if they see an opportunity they can't resist.
Me in the hacker community would probably be a grey hat. White hatting if I see a profit opportunity in it, black hatting if I really want to experiment with something illegal (usually I suspect I wouldn't be doing the latter for money because it's one thing to hack illegally, another thing entirely to get away with it. And adding money into the mix makes you that much easier to trace, since you need the money transferred to your account somehow.)
But as is I don't hack or make viruses, but I'm involved enough to be able to properly set up security solutions. Like my cute little teamspeak server which has all ports closed except for the one the server is using (you can't even browse google on that laptop) it has encrypted channels (luckily a default setting) and while the server runs, the user account is logged out so you need a password to access it. There's no SSH access to that server even if that is a possibility (this is because I'm too lazy to set it up more than anything else) so the only way to get into that server is physical access (with a password which you're bound not to be able to crack, even with a supercomputer) or if there's a loophole in the teamspeak server program itself (which would one way or another be out of my hands anyways)
And so I have excessive security for an @home teamspeak server that roughly only 2 people ever use regularily and we've got nothing to hide. But my server is safer for discussing your conspiracy to control the world than your phone for sure, if it ever comes down to it. Safer than skype too, and naturally safer than facebook.
I'm just really in a programming mood now, I'm gonna hop in and start doing these. I like Pig Latin, I think I should start there.
Now then, how to make buttons in QT Quick? ...
I could've sworn yesterday the keyboard was working fine in QT Creator but now it's locking to english layout...
I actually wrote the program code in C++, but failed to run it in QT... I don't know how to run c++ code in QT... /mad. The tutorials for QT suck since they're all exactly that; tutorials ofr QT, not tutorials for how to actually use QT but just how to make the GUI itself and it's bells and whistles.
And I have found.... that devleoping C++ with Qt sucks! and as such I have found... The reason I assume why KDE is so fucking broken. That thing is fucking unwieldy. Qt doesn't actually support C++ code, only it's syntax. So for example to make a string Qt can read, you must make a "QString" and to develop C++ code that will workin Qt you generally have to call on a mountain of Qt specific classes which I am completely unfamiliar with. It can however simply just read Javascript. But why on earth would a language that's written in C++ be able to read raw javascript but not raw C++?
I'm not so sure if Qt is the right GUI language for me anymore and if GTK is free of this, I can now see why developers would opt to use that old little wretch instead of Qt. WPF beats them both to be honest, but it's a windows exclusive... why is all the best stuff windows exclusive? mother of fuck.
I'd be head over heels for microsoft if they weren't so fucking exclusive to themselves. If they just... allowed .NET and DirectX and Visual C# and all that fucking crap on other platforms? I mean I'm quite amazed they allow skype to exist on linux and mac.
Anyways I now need to decide if I'll go for QT, or if I'll let it wait and just go for Haxe instead right away... This will be interesting, i'm at the very least gonna have to look at haxe and see how i like it.
No comments:
Post a Comment