Monday, 4 August 2014

Not Dead

I've put game development on hold for a while haven't I?

I have a very exciting more physical project going on that could revolutionize comfort in general in a ton of work environments as well as at home for certain types of individuals which ended up taking a bit higher priority.

I stepped out of game developing for a while to practice drawing (drawing in the name of creating art for my own games) sadly I only practiced for one month and this spiraled me into about half a year (if not more) of doing nothing.This happened because I was dead set on practicing art, but couldn't seem to bring myself to do it. Sorry (but this should be changing soon, I know I've said it many times again, hope that this time I am right, for my sake! pray for me if you're religious (any religion! I don't discriminate!) please! I need all the help I can get!)

And now I have decided to start an even third project which would be to recreate a lot (as in most of) Windows 7's environment within Linux (with a few improvements of course :D). This last one of course I do not plan to do on my own past a certain point, but if I succeed with that project, then I suspect I may need to oversee it in my free time as a sort of maintainer, but I probably will not be the only maintainer in the end (that is my hope anyways) so someone can take my place and eventually if I lose interest, the project would go on.

So currently what I am trying to do is:

Learn Qt (for the Windows 7 on Linux project)

Learn Blender (for 3D modeling which will result in 3D printing which will result in prototyping for a physical object I am designing, but this will also no doubt prove useful in game development later on.)

Learn Linux (Well I'm already technically an advanced linux user, but I took a lot of shortcuts to get here so I'm taking a linux course to fill me in on the areas I skipped since these are required if I am to be a successful Linux developer)

Learn 2D artwork (it will help directly in games since I will create quite a bit of 2D games (i hope) it can be used for concept and possibly cover art for some of my games, and it may end up being useful for texturing created 3D models, art is super useful this is why I started trying to learn it)

Learn (self)hypnosis (to reprogram myself to be more successful in all of the above) and master the art of lucid dreaming and vivid imagination (daydreaming) to better enjoy sleep and these times where I am free but have nothing to do (like when I'm sitting in a car waiting to reach a destination, what better to do than daydream in a vivid manner?)

As you may see above, I am very very apt at planning routes towards success in any and all goals I set for myself, but as you also may have noticed I am suspiciously incapable of following through with any of my plans. Why? this is a mystery but I think it is one I have solved.

I've placed the wall of text explaining it in my DA journals but in short: Because I did not live through my childhood and teenage years as is expected of modern humans, I never stood a chance against the temptations of modern entertainment (namely TV and Video Games) since people who pass through school normally even barely manage to choose school over that stuff. I basically have an addiction; an addiction to not working when I do not really have to, my problem here is that I can get away with doing nothing and as long as this is possible for me, every cell in my body will tell me to do so, but as soon as I give in to the temptation for just a second, the rest of my day is pretty much bound to it unless an unusual circumstance will pull me out of "entertainment mode"

And so my discovered way of fighting this unsuppressed human nature (which our education system was originally created to suppress, among other things of course) it is simple. Entertainment is the last thing I do every day (as in I will forbid myself from playing video games or watching movies and stuff like that throughout the entire day from the moment I wake up until at the very least after dinner) but I don't stop there, I create a schedule for the entire day all day every day to follow each day with a set amount of time to play games or watch movies, time which occurs only once the last remaining thing to do that day would be sleep.

It is an extreme measure, and hopefully I can ease up on it a bit in a few months or years, but I really see no other way. If I want to achieve my goals it would seem that I am forced to sacrifice my counter-productive way of life I now involuntarily have. Not a bad thing to sacrifice btw, I have been fighting against this for 5 years so, this is the closest I have ever come to a solution, not the first time that I say that either, but this time I know that I am right. So as I said before, pray for me, hope with me, trust in me and believe in me. Know that your thoughts of me actually can have an effect on me even if I am not directly aware of them or you live on the other side of the planet, it is a complicated world we live in but I am actually secretly beginning to understand how exactly that works; how it is possible, for someones thoughts of me from the other side of the globe to directly affect me.

You could put it in short as everything is directly connected, and what the majority of living creatures sees and knows becomes the reality for others as well whether they like it or not. It is because in this world, what is known is the truth, what is unknown is myth, not real. But in the same way of course one person can completely change how they perceive the world and their own life, involuntarily and voluntarily, that is how people change, and change can go on for a limitless amount in any direction. No doubt there are some people in this world who live in the same world as us and yet live in a world where they and other people are able to use magic. The possibilities are endless, but this may just sound like the ramblings of a madman to you of course :)

Just know that everything, all humans, all the rocks, all the trees, all the air, all the vaccum, all the stuff in the world, in the universe is directly connected, and this is how a small change on one side of the planet can end up completely changing what is on the other side.

In either case, I did not come here empty handed, I would not have started writing here if I had nothing to say about game devleopment.

I have a new idea, a better idea. Same world, same end goal, but bigger thinking, more sensible way of starting it. This idea is so good I am not ready to share it completely yet, but I'm scrapping all my previously planned projects in favor of this one.

This is because my previously planned projects were an underestimation of my capabilities and not sure to work out in the long run, this however is. I'm going to create a new kind of game and what I will share is that it will take place in the world I have already created (Amodos) and it will be a turn based strategy game and most likely 2D, at best 2.5D. I have not fully decided what it will be like yet, but the original thought was to create a Tower Defense RPG much like Defender's Quest: Valley of The Forgotten (Really fun game, you should play it) but I feel that what I am going to end up creating will be more in the spirit of Divinity: Dragon Commander. I have not truly decided at which time in the lore of my world this game will take place, but I know it's going to be so awesome that I will probably play through it myself, many times over! and it is the perfect way to start off my series and the perfect game to serve as an introduction to the lore of the world I am creating to further improve enjoyment of future entries.

Now much like the Divinity series I suspect that all the games I'm going to create in my series are going to be hugely different (i.e. one is a TBS genre, another is a Dungeon Crawler genre, a third is something like skyrim or witcher.. etc)

What I know is that this game, if I manage to correctly market it, it will be one of the most awesome indie games ever made for fans of RPGs and turn based strategy. But due to limited budget I may need to cut down on some of the things (like voice acting) but I might actually be able to kickstart this project to gain the money for such things.

I am so hyped for creating this game, and so much more hyped for playing it that I am itching to start developing it right at this moment. It's gonna be so cool, now my end goal for a game is very much the same as before, my dream game, and this is not it but... It is the best way in which to start off the series.

Project Unchained is still planned and will probably end up being my second game instead of the last in the series, if this game will be successful and Unchained will also be successful as I am hoping, the third entry will go fully 3D instead of 2D creating the ultimate 3D RPG game.

This is my plan now.

Now the golden question is... will I create my own game engine? (this will take a lot of time) or will I use an existing one?

This will actually have to be decided in a later point of design, but I can't wait. I am now going to have to go to sleep, but due to my excitment and sheer will of completing this project I will start my "battle plan" against myself sooner than I otherwise would have. I will pseudo start it tomorrow (by pseudo start I mean that I will be doing it but I will not be following a schedule like planned, I will just work and work and work on specific things until I decide it is ok for me to take the rest of the day off, but the real fun starts when I manage to fix my sleeping cycle, which dislocating my shoulder managed to fuck up again (I would have started this program the day after that night my shoulder got dislocated if it wasn't for well.. the debilitating effects it has)

At least now we know the biggest failure of my entire life. I managed to dislocate my shoulder while playing a video game on the PC sitting comfortably in my chair :(

Sunday, 4 May 2014

And so it begins

The time for QT and C++ has come, truth be told I want to rush through this as fast as I can and get with Haxe next. Haxe and OpenFL are exceptionally promising for what I intend to do and heres a chance if I'll like it enough I might ditch Ren'Py and write my own proprietary game engine based on these. (Although who knows if I'll open it's source some day, I'm all for that but I wouldn't do such a thing unless it was a bit user friendly)

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.

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 :D

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.

Wednesday, 30 April 2014

Back In The Game

Dun dun dun!

what was the story?
In game development what's next?.

1: Storyline development for the first game i'm making
2: Global lore and world map creation and design (god damnit the world map part really gets me, but I just had an idea that maybe I should try to design it by racial preference, for example humans are capitalists so their cities will usually either by position as needed for military or economical reasons, garax don't care, undeads build all their stuff to defend from others so military, again, demons build wherever the fuck they want.... yeah I can work out some system like that, but first i'd need to develop the geography, the base land)
3: Code, Code, Code, Code, Code (Prototyping, Testing out various programming languages for this and that (like QT and C++ which are next in line) as well as other game engines)
4: Moneymaking; develop this or that mobile phone app. I may end up doing this sooner rather than later depending on how keen the government is on renewing my pension.
5: Everything else (including but not limited to data gathering (real life stories or research on things my games touch on), playing other games to learn more about their design, 3D modeling and animation.

That was the story, so I need to develop the storyline and global lore/world map.

Those are H.A.R.D. to do at this point. It's like writing a 600 page book, which is one of the reasons why I'm learning art. So that I can DRAW the world map instead of Write it. It is generally a good idea to create the land first, then it's key locations, and then create the lore that happens there, not the exact reverse (which I have been doing so far)

And as such, I should reprioritize a bit (it's just really hard for me to move on before I create the whole world map! or at least Kalhiri and south Cestaria)

So with that I'm splitting today between art and code. Code is easy, code is something I can do at any time without anything more than just a computer and a keyboard.

Now lets see, shift of priorities, priority number 3 traded places with priority number 1. I have already written a near-complete RPG foundation in python. My task should be to translate that to C++ and combine it with QT for a GUI.

But. There is a third piece missing, I want to turn this into a whole side project. I want to make a full 2D animated sandbox game where you can fight and *dun dun dun* fuck! (Something in the spirit of Corruption of Champions) this will be a lot of birds with one stone. It will give me something to draw. Something to code. Mountains of stuff to learn and experiment with, but most importantly of all, it allows me to combine all of these things.

Tricky part: if I'll go for animations (which is likely) how will I do it? can it be done in QT? would I need to get another engine in there? Do I need to learn OpenGL (Graphics Programming) to do this? (THAT WOULD BE HELL. BUT I'D STILL DO IT!!!)
Lets go check. (<- You can consider that an announcement)

And while I wait for an answer, how about I pick up C++?

Sadly, my favorite tutorial website has nothing on C++ nor QT but it does have some Graphical Design tutorial that I can use. I also think learning PHP would do wonders for me.

Before I got to it i got a comment on my question, someone pointed towards OpenFL, I googled around a bit and found out that the developer of one of my favorite tower defense games (defender's quest, check it out, it's on steam) is using this for defender's quest 2! ! This was surprising, scrolling down through that article and finding out it was written by a developer of a game I've spent 20 hours in! I am thrilled!

I've got a lot of languages added to my list now.

C++
QT
Haxe
Lime & OpenFL
HaxeFlixel

The last 4 together (From the article I just linked) are legit for making a complete 2D game of any kind. Sadly none are well documented and this mightbe a killer for me since i'm only an intermediate/beginner programmer at best. I've got the tricks but I don't got the knowledge.

Now here's something I want to learn but am TERRIFIED of even trying

OpenGL.

If I was good with both OpenGL and C++ writing my own advanced game engine would be a trivial task (by trivial I mean highly doable lol, game engine is not a small task. Ever.). But this isn't really what I'm looking to do. Oh how I yearn for that time when you can just buy information and stream it straight into your brain from the internet (like we buy games from steam)... I could buy C++ for a couple of dahlahs. Pricing could be higher dependant on how many people know it.
But what else have I got? I must admit though Lime at least is very very tasty, it's low level graphics code, but user friendly and not as big and scary as OpenGL (in other words exactly what I need) but it's badly documented /cry

So, until I've written a lot more code (preferably learned all other languages I want and extensively used them) I can try wrestling with the likes of OpenGL. Graphics programming is only for the best :/ theres a reason graphics programming arrived so much later than traditional programming. It's because it's hard. It took a (massively optimistic) genius called David Braben and a friend of his whose name i forgot (but no less impressive) to invent true 3D programming against all odds. Before them was 3D monster maze which was only 3D in the sense that it was like a grid based dungeon crawler (you can walk forward and to the sides but it's not really "3D" it's like... lightning warrior raidy, but much less impressive (no pictures, only lines and pixel-art) but they made Elite. Now making Elite: Dangerous which I look forward to playing, i'm in the second round beta :D

Ok, so get started with C++? C++ is one of the most powerful programming languages in the existance, but it's also one of the hardest languages any programmer will ever learn

Well, I bettered just stop delaying and get with the coding, but first.. sublime.

I think I hit some sort of jackpot here. Old, but might just be gold! (I wanted to learn it the fast way, not the easy way, I'm impatient. This may shoot me int he leg some time but I can learn it better over time. Luckily I have good programmer friends that I can ask about stuff.)

C++ is actually not very suitable for the kind of development I will be doing, but it is THE language to learn programming by, because it is hard to pick up. Every university will teach this language to you (or it's a bad university)

If you want to learn C++ start here, then go up a bit to "compilers" (since you need to have a compiler to run a c++ program you've written, this kills development speed.) to be honest though, if you want to learn programming you're best off starting with C# or Python and then going from there to harder languages like this one (thats exactly what I am doing here) I recommend C# as a well documented and fairly standard language. But I recommend python as the easiest languge you're gonna get your paws on (and it's good all right, so good that even after I learn the likes of C++ I am probably still going to use it excessively, developing on python is also a lot more fun than most other languages.) What I'm doing by learning C++ is essentially moving to a lower level so I can have a better understanding of how programming works at it's core. I only know this stuff by concept. But just to mention how powerful C++ is. Python was written in C++ (i.e. many of the most well known programming languages of today were made with C++)

Actually. reading through that is a REALLY good place to start with programming, it's a mountain of information all fast, but if you can understand it, you have understood programming.

In fact, do you want to get into programming? right now? just start with reading compilers. Then download a compiler of your choice (if you're on windows. Visual Studio/Visual Studio Express, if you're on Mac, I'm sorry I can't help you (Clang presumably is needed + a frontend) and on Linux we traditionally use GCC. but if you're on linux or mac or if you want to go pro from the start on windows. Get Eclipse)

I have never used Eclipse, but my advice if you go with visual studio which is one of the easiest ways to just jump into programming in my opinion is to not get overly attached to it unless you never want to be able to develop for anything else than windows or don't mind being bound to windows (trust me, windows is nice, I consider myself an expert windows user, and I have been for many years, theres not a single problem I can't fix on windows as far as I'm aware, I always find a solution (on google :D) but I got bored of windows. I literally got bored of it and this is one of the reasons I started using linux. You will never know if this might happen to you too if you become a developer, you just might want more freedom, and only Linux and BSD are viable to give that to you, and if you go there you can't take visual studio with you.)

I in fact might go ahead and get Eclipse some time soon, I hear nothing but good things about it (multiples claiming it's the best IDE out there) but enough of that. This will get you started.

Now after reading what I just linked, go here and learn the info in there like the back of your hand, and more importantly, write the program. Don't copy-paste. write it. experiment, toy with all these commands, write other things until you think you've got the hang of this part (I know since I learned programming recently that this does not feel like a program. BUT IT IS. It is the most basic form of a program you will find, and just this knowledge is the key to all other programming, so learn this well)

Then go further down the list to here, and understand all of that. Now, with just these 2 pages there is a mountain of stuff you can do.

Note: You don't need to actually remember ALL of the Identifiers, the main ones you want to remember are the following:
int (and short and long), double (float), bool(true/false), string (not listed, but it is lower down in the thing)

These are essentially "Whole Number"(int/short/long) which is a number like 1, 200 or 20000. Double or Floating number which can be 1.5 or 35.289. If I remember correctly one of these two can also pull off stuff like 1.3.5 (more than 1 comma)

Bool for boolean values are basically 1 and 0 (true or false) so you can do stuff like

bool value = false

and then later on

if value == false
then stuff happens

else
other stuff happens (this will come later, and this is pseudocode I just wrote, meaning it would not actually work, i'm just teaching you a concept)

finally string, string is letters and numbers and symbols. like "Dnmjpjreg.58oplikus" that's a good password btw.

The difference between numbers in a string and numbers in an int or double is that the program can use the int or double in math formulas, but the string is always just a string (as in, it cannot read the number directly unless you convert it to an int or double first, this can be done but it can get tricky and is generally not needed)

Also. You don't need to memorize the table in fundamental data types, it's not something you really need. Just use int and double and you'll be fine unless you're working with HUGE numbers which means you can go into longs and long doubles.

I'll give you homework. Write a program that creates an integer value (int) as a number of your choosing, then prints it out as a part of a string like

say "int value = 5"

then I would want a string that would say "the number 5 was chosen".

I will create another piece of homework for you here. Write a program that converts KG to LBS (google the formula for this, it's easy)

To make it simple for you, you should do this by creating integers "kg" then a double (i assume) for the "converter". Then you create a "result" variable which would be something like "lbs = kg * converter" then you print (cout) "lbs" and you've converted the kg value to lbs. Not a very practical program yet since you need to access the source code for editing the "kg" value, but you can learn user input later :)

at least by now you've already created a program that's useful. One of my first programs was a program that shuts down my computer at a specific time or in a specific amount of time. Easy, but useful (for example if I'm downloading stuff in chrome but want to go to sleep and want my computer to shutdown afterwards. Or if i'm downloading a game thru steam)

One thing you notably need to learn on your own is how to apply integers to strings. I haven't done this in C++ but it's relatively straightforward. after converting the int to a string I think it should be as simple as adding a +, like so "cout << mystring + convertedint + otherstring", it is in most other languages anyways.

So i'm pretty much understanding everything so far without writing a program myself (i'm being lazy here, i'm too lazy to get a compiler since i'm in windows as is, otherwise i'd just be using GCC + Eclipse or somethin, maybe just GCC alone lol)

Wait a minute.. u can do it online! here! (press the "try it!" button next to the code. of ocurse this is not as convenient as using a proper IDE like eclipse, codeblocks or visual studio, but I hear terrible things about codeblocks so don't go there.

Anyhow, the only 2 things to confuse me are the << sign following "cout", and the "return 0" which i'm not used to but quite know what is.

Yup, this is as easy as I thought it is (hint: "to_string(number)" is your very bestest friend here)

ok now that that homework assignment is behind us. lets move on. Next you go here. These are mostly concepts you want to understand, but you may never use much of this stuff (depends on where you go in progrmaming) but one of the things it explains is the difference between integers and float. That page is essentially going a lot deeper into what you just learned on the last page.

Apart from Hex and Oct numbers which you don't actually need to fully understand (you can use calculators if you ever come across them) this should be reasonably easy to comprehend. Take your time to understand it, and while doing so remember to write it in code and test it (it's the quickest way to remember)
One thing I do when I'm picking up new languages is to write down in documents all the code i've learned as one big program with LOTS of comments. You should see my python studies, they're just a few well sorted .py files where I wrote the commands I learned alongside with my own description of them as "comments" (comments can be //comment or /*comment*/ the latter can be used accross multiple lines but // only in one line)

Now next, we go to operators. where the real fun is starting. One you may have a hard time getting the hang of is the modulus/modulo operator, it works like this if I remember correctly.

6 % 2 = 0
6 % 4 = 2

Modulus essentially calculates how much of the intial number can be divided by the second number evenly.

So basically Modulus is the "leftover" after you divide. so essentially you can only take 4 out of the 6 to divide it with 4 which leaves 2 (modulus doesn't take into account half values) I don't remember the precise use for this, but trust me, it is needed.

I had some programs around that used it excessively, but i have lost them (old school projects) which is a damn shame cus that was like a goldmine for me to go to to remind me about programming related stuff (hot damn) I carelessly deleted it all on purpose thinking I wouldn't need it again since I remembered it all or would easily pick it all up again. I was partially right but clearly only partially.

This is a shame because I was pretty sure I had a backup on my desktop! Come on! remember, i'm sure it had to do with a currency converter... Hmm, calculating spare change maybe? yeah that's it, it was a program that took values of 1, 5, 10, 50, 100, 500, 1000, 2000 and 5000 (standard icelandic bills, we also have 10000) then you threw at it money value, and it would spit back how much change you'd get. But how was modulus required again?

Ah yes! it was at the tip of my tongue, it is required for the conversion. I used like exactly the formula in here. But there are more uses for it in games for example, I also used it in my RPG base somewhere I'm sure. Either way, I really want to master the use of the modulus because it can be used for A LOT of good, but it's not easy to just pick up >_>

But lets say we had 13600 in there.

The formula I'd use would be(psuedocode, but might actually execute in python.... however it's not complete, you'd have to remove the (2) and (1)s though)

c = 13600
fiveth = floor(c / 5000) (2)  //3600 <-
twoth = floor((c % 5000) / 2000)) (1) //1600 <-
oneth = floor((c%2000) / 1000)) (1) //1600 <-
fiveh = floor((c%1000) / 500)) (1) //100 <-
oneh = floor((c%500 / 100)) (1) //0 <-

Then the rest of the values (fifty, ten, five and one) would result in a 0 and the program would spit out "2x5000 bills, 1x2000 bill, 1x1000 bill, 1x500 bill, 1x100 coin" it's basically an ATM machine.

floor (which can be used in python, the function is different in c++, as in has a different name) basically prevents any extra letters by chopping off any extra letters (so 2.72 becomes just 2)

I remember now precisely what modulus does, i always forget man. It stores the remaining value. What i did above was divide the biggest number with the main number which can only match 2x up to the main number, then after that I calculated (with modulus) how much would remain of the initial number after being divided with the number. I'm sure you get it by now.

5000*2 goes into 10.000, 5000*3 goes over 13600 which means modulus gives 3600 (what remains of the initial number)

There, modulus explained. The rest is super basic. I really like answer 2 in there. That's something I might actually you know... use. (Make progress bars cost less processing power. "n" times less to be precise.

What I mean here is that we have a loop (a loop is basically code that repeats itself indefinitely, or until a certain point is reached, this can be done with the "for" and "while" statements, you'll learn this later)

But basically you're looping, you have a counter that counts how many loops you've been through. And when "counter % n" hits 0 (they're the same number) the progress bar will update itself (so say go from 1% to 2% IF it's time to go there, for example when installing a program.)

I have done this many times in the past though, I just do it by if "counter == number". I don't see why to use modulus for this. God damn internet (it's out cold)

Rule of thumb in programming: There's a more efficient way to do it than you're doing it (in most cases, there is. This might include using a different language (hint: Binary))

Here I learned something new, conditional ternary operator (?)

Its a shorter version of the basic "if" statement.

This may seem a bit pointless for me from your perspective, but I assure you it's not. If you're using this to learn programming then it's helping me remember all the things you're learning.

So far I'm not learning anything in particular i didn't already know. Minor stuff. (Meaning I can largely just pick up and write c++ code as is) but i am going to study it a bit more thoroughly myself and i'll pull you along with me (if you're interested).

Even if you're not writing in the code like I suggested you should (and you definitely should, its fun), just reading and understanding what i'm writing here (and everything on the pages I'm linking) will help you at least understand how programming works, and understanding how it works means it'll be easy for you to pick up in the future if you ever want to (it also helps you understand better how computers and programs work)

Also take note that if you learn this language, you can learn ANY programming language. It's basically that simple in programming, if you learn one language, it's gonna be more easy for you to learn another. But the problem is that you need to make programs as you learn.

So here's an assignment for you, make a program that takes a value of milliseconds, and turns it into hours, minutes and seconds and spits it out as a string. This requires you to use integers, modulus and probably longs.

Now if you scroll down to the bottom of the last page i linked you see a chart. You want to remember the values at these numbers.
9, 13, 14 and then 15. (the upper part of 15) the rest are either no brainers or something you don't need to worry about as a beginner. (advanced so to speak) even I don't use that stuff yet.

9, 13 and 14 are the most commonly used symbols when working with numbers in if sentances.

so for example lets say we have a and b

a = 5
b = 5
c = 10

if a == b : true (if a is equal to b)
if a != b : false (if a is not equal to b)
if a != b || c == (a+b) : true (if a is not equal to b (false) OR if c is equal to a + b (true))
if a == b && c != (a+b) : false (if a is equal to b (true) AND c is not equal to a+b(false))
if a == b && c == (a+b) :true (you get it by now right?)


then in the case of 15 you've got

+=
-=
*=
...
this is basically, lets say we have:

a = 5
b = 5
a += b
(a = 10)

this is the same as:

a = 5
b = 5
a = a + b
(a = 10)

or

a *= b would be the same as a = a * b.

I'm sure you get it, it's simple but makes your coding feel like you're doing it a lot faster. it also shortens the amount of letters in your code which is more efficient. Fewer letters & lines = better code basically. (general concept in programming)

Seems like my internet isn't planning on coming back today....

Oh there it popped in (restarted router)

Anyhow, it's time for the last of the basics. Input! in my opinion this should have been stage two, not 5, but i guess thats an opinion right? with this you can now actually make usable programs.

If you feel like you're just not up for this, an easy entry level point is modding games. You'll learn how (game) developers structure their folders, and make good games better (Skyrim and Oblivion are excellent places to start since they're highly moddable and have a very accessible mod maker and modding community, this is the place I recommend getting started if you want to just take it easy at first, have fun with scripting.)


Anyhow, if you're not a wuss, finish reading down that page and you've earned the beginner programmer badge (after you've written it in code and run the code testing if it works) :D

Just to make sure you've got this, with all that you've learned so far. After writing all the code on that page, make a new program that takes an input value of milliliters and divides it down to kiloliters, liters, decileters and centileters in a similar way as I showed you my currency converter.

To do this you need to have user input (cin), modulus/modulo (%) and understanding of output (cout)

The next important thing for you to learn is else and if. And this tutorial quite agreed with me. If is the most used combination of letters in the history of programming. You bettered get good at it. Better yet; get good at avoiding it! Master this page, and you're roughly at the level I was when I started this whole thing. The sky is the limit when you've got all of these bits down, but theres more, however it's up to you if you want to stick with C++ or just hop straight to python at this point like I did.

One last assignment which should be an easy undertaking after rolling down through that page.

Make a program that allows you to pick between 3 games.

Dice (Roll a dice of 1-6 with the computer) you'll need to google up how to make it spit out a random number, shouldn't be hard to find. The higher roll wins. Make the computer count the wins (this might get tricky for you. Hint: For/Do/While loops)

21 (harder) make a game where you have all 13 basic cards (1-king) and you get to draw a random card and the computer gets to draw a random card. You get to choose whether to draw again or whether to not draw again, then the computer decides the same thing, here you actually have to write the AI, design AI so that the computer will intelligently decide whether or not to pick a card depending on how high her current total number is. You can go into advanced chance based calculations if you're that type, or you can just say that if it has 18 or higher it won't draw again. If both you and the computer won't draw again, the winner is determined by who has a number closer to 21. if you go above 21 in score you auto lose (computer too) remember to apply string values to each number (as in 13 = king, 1 = ace 2 = two 11 = jack, etc) you can also make this even better by showing your total value after you draw a card so you don't have to do any sort of math. There are tons of ways to do this, have fun! and remember to make the computer count the score so you know who won more by the end of it. Don't hesitate to cheat while you're testing this (i.e. make the computer show you the output of what it's drawing)

Math (easy) make a game that will throw up two random numbers between 1 and 100 and a modifier between (so like 5 + 3, 10 * 9, 12 / 3, 10 - 4), the rule is that the latter number is always lower than the former one (for division and substraction) you can use whatever means you would like to determine the modifier (i've never done this before actually) if you get into trouble and google can't help you, stackoverflow will.

Have fun! This is (literally) the level college kids will be at after the first season if you got this far. So be proud, and do more of this for hte next couple of days, do what i'm doing, make a game or something. Make that program you always wanted. Let me tell you though, if you stick with C++ rather than shifting to something else (i honestly recommend python) it's gonna get much harder from this point on. Next up you will need to learn about functions which is something I only just came to understand this year after I started writing these (on the older blog that is) functions and classes, oh man.

Basically so far it's the same stuff as I know but different syntax + includes and namespaces. But here's where it differs. In python a function is just a function. In C++ a function is defined by what type it is. Void is new to me. But the type is based on what the "return" value is (if it's a number it's an int) but sometimes the function is just a set of statements/commands in which case you can get away with using void (most of my functions are in fact voids)

And now we're moving into territory i'm not familiar with, efficiency. Optimization, crucial but really ahrd to get a handle on. I didn't do much (any) coding today, but it's becoming more and more clear where I'm going now and it is also clear where I'm planning to go next after that. Tomorrow I'm reinstalling my linux and im gonna try to set a record for doing it fast. And then after that's done (granted I do it in only a handful of hours, i will need to back up a load of config files to achieve this, like my fstab and bashrc and whatnot) I assume I will toss up QT creator in there and start programming C++ and QT giving a GUI to my RPG prototype. Drawing (probably) won't start again at the throttle I'm oging for till Thursday, so if you're waiting for that one, it's 2 days (sorry! but don't worry, ready or not, i'll start uploading shit on DA by the end of May)

Sunday, 27 April 2014

Stay on target..

I gotta stay on target, for a while now I've wanted to learn QT to be more familiar with UI programming, I learned WPF not far back and it only took a matter of days really, it was a trivial matter, learning to merge it with C# though; another matter entirely.

Heads up: I'm mostly discussing my Linux setup adventures in here, a lot of thoughts, a few plans made, but nothing directly on topic with my game's development. My post on next tuesday should be something more to see however.

As a python guy, I love python as much as the next python guy. But I've also always wanted to learn C++, it's a lower level language and anything python can't do well, C++ can.

C++ is generally considered "the" language to do "it" (it being practically anything that takes a long time, like game engine for example) since it allows the programmer the most control over what he is doing. Sadly however though because it offers so much control, you're more likely to make mistakes in it than most languages i've used, and it's not as easy to just pick up and use as C#, Python and HTML which i'm familiar with.

I'm hoping QT or QML at least iwll be about as easy as CSS though.

Whats driving me into QT now is that I want to be able to properly customize my login (display) manager in linux which uses QML, and I thought, since I want to learn QT anyways, why not now?

Strike 3 birds in one stone even and learn to use C++ with it.

Whats more is that I can also use this for android development.

If I learn QT properly, I could probably also offer the articy developers to port articy: draft to linux for them (not for free of course) which would be quite convenient for me since apart from video games, that is the only program I need to use that doesn't work on linux.

Report for today:


While I ain't working directly on my games, anything programming related can be considered game development since every line of code I write will contribute to my capabilities to create the game I want (without outside help that is)

I am still considering the mobile market as a means of getting funded. I do not want to use crowdfunding. I don't want to make early access games. That's not how I roll. If I will shoot for that, I will be making some 1$ games like drinking games, dirty little platformer RPGs and otherwise creative rpg style games. I'm sure they'll sell like freshly baked muffins.

I am going to pick up QT and C++ starting today. This will happen alongside with Python as well, since I already have some (prototype) code in python that is very very close to a finished state (i've nearly written an RPG base in Python already from the time before I put development on hold)

From this day onward until Lime is in a highly usable state, I will be using Sublime 2.0 text editor. No more Notepad++, and no more (fucking) Gedit. (Gedit got a major "update" and a graphicla overhaul, and it looks like something apple would make. It was such a massive turn off for me I instantly felt a need to get rid of it even if I had been living with it so far as the closest thing to notepad ++ linux had up till now) since I'm aiming to learn QT already, and i'm quite talented when it comes to programming (once I learn the languages that is) by nature. I may end up contributing to Lime so that I can replace Sublime faster.

Why replace sublime? it's proprietary, and it's not free, and I don't like these 2 facts about it, the latter in particular bothers me. Lime's developer also says ever since sublime 2.0 hit stable, sublimes develpoers have been rather unpredictable, for example they didn't do anything for a whooping 6 months after that release, and now they're working not too fast on sublime 3.0, not actually fixing the bugs in 2.0. But sublime will do, it's a good editor and much better than anything i've used up till this point, although I will need to take some time to learn it.

My Linux setup is closer to the stable state I want it to be in than ever before right now. My keyboard works (first thing I did, hardest thing I've ever done in a computer) my speakers work (barely, i have some pulseaudio problems that need solving... mother of fuck... work already!), I've got Enlightenment installed as my preferred desktop environment, but I have a perfectly fine KDE setup installed right next to it if I want something more... stable... (I installed it to troubleshoot pulseaudio problems since I know enlightenment has some associated with it and I can't be dealing with 2 things at a time when troubleshooting, that's bad practice) i've got SDDM display manager set up and partially configured to my liking (need QML knowledge to finish the job) in short, all i've got left is some configuration. "Details & Eyecandy" if you will.


Report for the next day:


Woops. My internet broke and I couldn't post this on time, but I'm not worried since I haven't been active here anyways. Life is becoming more and more clear with time but right now I'm in the middle of a bit of confusion.

But as a bonus this entry has more stuff in it. Woo.

Amazing things happened today, the ghost in my machine turned to my side instead of against. My sound FINALLY fucking works. If anyone has an X-Fi titanium card in linux that doesn't output surround sound properly  (which I assume can happen if you use a minimalist distro that does not use pulseaudio) installing pulseaudio fixed it for me. Surprisingly enough though I didn't actually need pulseaudio for my sound to work. I was having (major) problems with pulseaudio, so I decided I wanted to give alsa a second try. I just said "fuck it all" and uninstalled this disgraceful piece of software and my sound still worked. Without the problems I had with pulseaudio (which were like 6 big ones). I am jumping to the conclusion that one of pulseaudio's dependencies fixed my sound, but I'm not overly inclined to find out.

Other than this, apart from a bunch more of linuxy stuff, not much happened. Not much but this means my Linux installation is finally stable and usable enough for me to use it instead of windows for everything except for playing windows games, but even that I may end up fixing with some VGA-Passthrough goodness (attempt 3 if I recall correctly) one particularly wonderful thing is that I can configure linux to automatically upscale any and all 2.0(stereo) sound source to 5.1(surround) through code, whereas in windows' case I have an option to do it that has a 50% chance to work. It's broken with flash player if I recall correctly (big deal.) and depending on settings, it can break in media players as well. But in linux, just a little bit of code in asound.conf and all is well. (Sound was really the only thing holding me back) But to get back on topic before I go, here's a snippet from my DA journals about my priorities regarding the game.

In game development what's next?.

1: Storyline development for the first game i'm making
2: Global lore and world map creation and design (god damnit the world map part really gets me, but I just had an idea that maybe I should try to design it by racial preference, for example humans are capitalists so their cities will usually either by position as needed for military or economical reasons, garax don't care, undeads build all their stuff to defend from others so military, again, demons build wherever the fuck they want.... yeah I can work out some system like that, but first i'd need to develop the geography, the base land)
3: Code, Code, Code, Code, Code (Prototyping, Testing out various programming languages for this and that (like QT and C++ which are next in line) as well as other game engines)
4: Moneymaking; develop this or that mobile phone app. I may end up doing this sooner rather than later depending on how keen the government is on renewing my pension.
5: Everything else (including but not limited to data gathering (real life stories or research on things my games touch on), playing other games to learn more about their design, 3D modeling and animation.

There you have it. Expect a more on topic post 2 days from now. This one was mostly just preparations for developing on linux. I only wrote this in fact because I was loosely playing with programming. In other words, this whole post may seem off topic, but it is loosely related to my game's development. After all I intend to develop in linux as it is a most convenient work environment, and I need a working linux installation for playtesting (this was only hard to set up because I idiotically bought hardware that's less than compatible with linux) in other words, I have been setting up my preferred work environment. Today (hopefully), on the day after these two, i'll give VGA-Passthrough one last try before giving up on it. I have high hopes this time around. I didn't actually get around to learning QT or C++ in these days, but I did install the QT creator, so soon enough I will get around to it, but theres no rush in that, it's a side-track kind of thing.

Tuesday, 22 April 2014

Back in gear!

Not quite 10 days, more like 30, but! estimations are made to be off!

As said back on the old blog, I designed a schedule with a lot of free time to do whatever I want that will force me to develop these games and train myself in other skills I'm doing (like art) no matter how I spend the rest of my day (often I can spend the free time doing one of the two)

Today is the day I shall start following it, and for today I need to work on this game for at least 3 hours, but I haven't developed for a loooooooooooooooooooooooooooooooooooooong time.

And so it's about 13:48 now, I will develop for lets say one hour until 15:00  then take a break. Then take the other two hours later on.

Now last time I was

1: Developing a prototype "foundation" or "RPG Base" system in raw python. I wanted to design a leveling system that works and while it was easy to get this done inside of articy draft, the only way for me to actually test it reliably is to program it in and well.. run it as a program, test various scenarios and stuff.

2: Story/Character development. I've done quite a bit of this in my head. Without writing anything down in here. I've got a lot to add to what exists of it and several things to change

3: Lore/World creation (develop the continents, races, special items, special monsters, history, future, etc))

4: Nail down what kind of game my first one will be, and the last one too.

I haven't ruled out visual novel yet but I have a few other candidates, for example Unity has Linux support now which I don't think it did when I started developing in october last year (at least not to my knowledge at the time) so I can make a full blown 3D game, that said I don't have the resources to do that just yet so Unity is a flat no for the first game. But it is a possibility for my last one, however I'll need quite a big budget to make my dream game in glorious, animated 3D.

I am also considering platformer/RPG style gameplay comparable to Dust: An Elysian Tail. But no, it doesn't fit the setting i'm gunning for in the first game, but it might be a perfect match for another game. I just don't know yet.

I am also considering just doing a more "pure" oldschool dungeon crawler style game, like lands of lore, might and magic, wizardry series and the like and this is rather close to my original aim so I may go for this. But the question here is, what approach do I take, and do I stick with Ren'Py and go for Lightning Warrior Raidy style, or do I go for a more Lands of Lore style and perhaps consider another game engine for it? I've got a big fat handful of games to ply to help me decide (loren the amazon princess, legends of grimrock, might and magic X just to name a few)

Now lets boil it down a little.

What kind of combat system do I want? Turn Based (like Final Fantasy series, where you see your characters and your opponents)

What systems can I achieve that in? Any.

What kind of navigation/movement system do I want? Mixed and TBD. I will want to have a world map for "fast travel" between continents as well as continent map for fast travel between towns/key locations, but that won't be in the first game. So in the first game what do I want? will I have travel between locations like that?

I should decide this now. Allright so the story starts in a linear fashion as most visual novels do. You need to run through a dungeon to escape a bad place, but then what? Then I think I should have a local/continent map like record of agarest war does it to travel between places, and after that it's lightning warrior raidy styled gameplay *nod* this will do good.

Pause at 14:28 (40 minutes) (playing chess with my friend from the philippines, damn that was a tough game!) end at 17:11 (nearly 3 hours break) but then I turned hungry :/ ate, and it's 17:50.

Ok, right back to where I paused. I added the last sentence, "and after that it's lightning warrior raidy styled gameplay" after the break. I can envision this model pretty well now

What systems can I achieve this in? Unless I change the dungeon crawling experience into a platformer one... which I won't, I can only achieve this in types that allow first person gameplay, and I am limiting myself to 2D for this first game, so i'm right back at square one. Ren'py/Visual Novel.

The last question would have been "How do I want the narrative to be delivered?" but this is an area I'm willing to compromise in a bit. I prefer it if narrative is delivered without any text (i.e. player just realizes it through events occurring) but I need dialogue for character introductions one way or another, so it just comes down to describing the environment and atmosphere of each location in the game. It will be tough, but good 2D artwork can do this without any sort of text to describe it.

Ren'Py it is for this first game. (I.e. I'm sticking with the plan.)


4 is done, I don't have to decide what my last game will be like now since I won't know what kind of resources I will have. So.

1: Developing a prototype "foundation" or "RPG Base" system in raw python. I wanted to design a leveling system that works and while it was easy to get this done inside of articy draft, the only way for me to actually test it reliably is to program it in and well.. run it as a program, test various scenarios and stuff.

2: Story/Character development. I've done quite a bit of this in my head. Without writing anything down in here. I've got a lot to add to what exists of it and several things to change

3: Lore/World creation (develop the continents, races, special items, special monsters, history, future, etc))

I guess I have to pick one and stick with it today huh? none is more important than the other in this case.

I choose 2 to start with, I may wonder into 3, who knows.

...

I really need to name my demoness, Riye's sidekick if you wanna call her that. I need to decide more about her, I just made a revision in her character traits outside of these logs but then again I had never defined her personality, lets say she's a tsundere demoness but I need to decide on her "class" is she a mage, rogue, monk, warrior ?

She is the first demon character in the series so I need her to match the stereotypical demon in the game series, this makes her a mage with a chunky healthbar and a silver tongue (with more than one use ;) )

But she needs to have a preferred weapon. Whip! for more stereotype! (it's fitting too since it's a weapon that will be readily available for the first fights in the game.)

Allow me to pick a first letter...

G.

Let me block out letters.

I, Y and E are not allowed.

(Pause: 18:40 - 19:00)

G... Galia

Galia and Riye.. hmm..Yes, it works, I used an I but i don't care, it works!

Galia it is, how long did it take me to find her a name? 50+20 thats 70 minutes add the 40, i've been at it for 110 minutes (19:25).


Now I need yet another break...

22:15
70 minutes to go. Now then I planned up to Galia's introduction. I'm gonna add in some lore though, battle slaves.

...

I have written a mountain of stuff, I decided some of the toughest parts of Riye's story (woot! this was something that actually did take me long to figure out. How do they escape a prison cell that is.)

As well as wrote down my thoughts on battle slaves.

I've written the story in it's order of events so far, but now I stopped to think "is this really the best order to deliver it in?"

Not quite, I need to spice it up. I fee llike i need to drop the player right into the hottest moment i've captured so far. Yes. Give them a taste of it as a sort of intro sequence before the prologue, because the prologue might just be a bit boring if you don't have any carrot to chase after. You need to know you're gonna like this if someone is supposed to convince you it's worth wasting your time on reading through the prologue (in the possible event that it bores you)

Oh wait i had already thought of this I was planning to start the game in the middle of a dragon attack! doesn't get much more exciting than a dragon, right? We'll see how much of an impact that is gonna have.

Anyhow, 23:25, time's up. Today was quite productive.

Saturday, 29 March 2014

Fresh Thoughts

I'm still not working on this again (sorry to anyone reading this, I need a bit more time before I can get back to full throttle, how much I cannot say, but I approximate like ten days.)

However, today I realized that my game ideas might be outgrowing the capabilities of Ren'Py. I need to have a lot of animations which Ren'Py doesn't excel at which is pretty much the biggest problem.

Now the original plan was to make a Corruption of Champion styled gameply game (exploration wise) but actually with graphics, and a bunch of minigames (such as an actual world map system) but the problem that arises, is that while I could make a dungeon crawler styled minigame quite easily, some gameplay elements I would like might be hard to implement, there are some slightly complicated minigames I want to include, and since the world is pretty huge, exploring through buttons rather than actually just walking through it might not be for the best, this is something I will have to ponder a lot.

But I figured, instead of using a visual novel base, I could do the whole "Dust: An Elysian Tale" thing and use a platformer as a game, now that I have 2D graphics within my reach, this is a viable route, but I'm still not convinced, chances are I might have to actually mix and match (use platformer style gameplay for exterior cells, and use dungeon crawler style gameplay for interiors) but I do not think people would like having so many genres packed into one game (<- Developers can never know right) so I will ask myself if I would like it, and I do not think I would because it would lack consistency. I have to choose.

Now a trick I could use perhaps is use platforming for all cell exploration (instead of dungeon crawling) thus making my game a lot more graphical and nice. Don't get me wrong, I'm starting in visual novels one way or another, an I will also probably do some flash minigames for various experimentation purposes.

Now, the problem with using platformer style gameplay for cell exploration would be that I want the combat to be turn based, have you ever heard of TBC Platformer? I have not, and the reason for that is simply that to convert from platformer to turn based combat gameplay, you would usually have to kick the player out of the platformer gameplay into a turn based combat module (such as in final fantasy or the last remnant for an example) the alternative to that I can think of is adding a combat UI on top of the screen and zooming the camera in to a combat simulator styled zoom where you see your character and the NPCs. That would look a lot more dynamic, but that will also probably require me to learn a bit of graphics programming, and that is something to dread since it's known as the hardest form of programming to exist, and I would have to use OpenGL which is not as easy to learn as DirectX (due to poor, but improving documentation)

What I really really really want to do, is Wizardry 8 styled gameplay (as in world exploration and combat, for the most part anyhow, except that in this case you're usually travelling alone, not in a party) but the problem with that is that I do not have access to a 3D Modeler, Animator and a Texturer, and even if I did, they wouldn't make a world as big as what I have planned for free. Not in any decent quality anyways, so this means I would have to do it myself, and while I'm pretty confident I can think of something to generate inanimate objects (such as the ground, and everything that's stuck to it, like buildings and whatnot) the real problem becomes characters, NPCs and Monsters, and what would be hardest of it all, Sex animations, which you may or may not have seen so many 3D games fail at, including Oblivion and Skyrim mods, as well as some Illusion Games (Rapelay, Sexy Beach 3, Artificial Girl.. I think out of these sexy beach did it the best)

In other words, I'm easily confident I can cover the modesls, and with a bit of research and hard work, I'll get textures down too, but what's keeping me from 3D games ultimately is animations and the massively increased amount of sound effects you need in a 3D game compared to a 2D one. But well, this games development is still young, and I will make quite a few prequels before I get around to making the real deal final product, all of which meant to be full blown games in their own right.

I technically do have access to a 3D modeler, Texturer and Animator, my little brother. But the problem with this is that he is like 14, and completely new at it, quality is not acceptable for any full blown game purposes basically.

Anyways, these thoughts are an interesting development, which is why I posted them, I will get my grips on art pretty fast (by the looks of it) but after that, will I get down to programming again like I was before? or will I go nuts and get into 3D modeling and the like?

Quite frankly, I have more reasons to want in on 3D modeling, for one the 3D printers that are becoming so accessible and so popular, 3D modeling + 3D printer = saving a lot of money (I could make my own furniture, even if they'd be made of plastic, I don't give a shit. But I'm waiting a bit before I jump on this train because I want to wait for printers that can print other materials such as metals to become more accessible too. The RepRap looks like it might come a long way if I give it a couple of extra years. The other thing I want to wait for is for improved recycling technology, like the recyclebot which can turn shampoo cans into 3D printing materials. It's gonna be super fun to toy around with this tech when I get my dirty paws on it, chances are my brother will beat me to it. The future is an unclean mess right now, and I cannot predict anything more than "I am going to make this game" and "I will get good at art" as well as "I will get good at 3D Modeling" these are just 3 definites for me, give it 5 years, give it 10 years, or give it 2 years, I can't predict how long this will take, but I know that it is going to happen. I can see the future like that ;)

I've already got a place to start on 3D modeling even.

This is all thats been going on in this games development for now, sorry it's nothing more than thoughts at this stage, apart form this I guess I may have created some nice little characters in my head that would match into my game, and I've had osme crazy ideas like, I could eliminate males from the game and make a world full of girls and futa chicks :D Someone in response might make a game with men with boobs and other men with vaginas, that would be hilarious although I wouldn't play it.

Don't wait for me, my game will come at my pace and right now said pace is turtle speed, I'm trying to change it to race-car level, but it takes time, just stay tuned on my DeviantART non-featured journals to see exactly how well I am doing.

Edit: An extra thought; I could also try to play Wakfu and learn from them, they have like super simple 2D styled graphics, I could probably pull those graphics off and possibly even without using 3D models (although I probably wouldn't, since graphics of that simple level would be easier to do in 3D than 2D) I will definitely have to look into that.

Tuesday, 11 March 2014

Delays!

Thought I'd post this, as you can see nothing has been posted for about a week now, this is because I'm running into delays (life problems), my plans changed, I need to finish a certain picture I've been drawing, and it's really taking me longer than planned, when that is finished I've got other priorities to work on that will directly affect my mental health (or be wasted time) to be more specific; I plan to get a strong grip on self hypnosis. Then when I've done that there are several things I need to set straight; bad habits to break, stuff like that, and then and only then can I start following a sort of schedule I made recently which involves sharing time between game development and various other things and get back to working on these games more full time.

I keep this game's development behind my ear at all times, and even if nothing is actually being developed, I get some fresh ideas from time to time that I write down and may add to the game, in other words, I constantly think about this game (series) when I'm not working on them so fear not, it is going to get made.

And again, fear not that I am not doing anything related to the games development, I am actively practicing my skills with art which I started doing just for this game series to begin with; I needed an artist or 3. With a bit of luck my optimistic way of thinking is hoping to be a decent-enough artist by the end of this year. Good enough for my game at least is what I hope, and to acheive that I need to draw like a fucking lot. If I'm going to be the artist every second spent on art is beneficial to the game series, it may sound arrogant of me to hope to be a decent artist in just one year, but I'm progressing ridiculously fast.

Until I get back to developing this game as hardcore as I used to be doing, you can track my artist progress on my deviantart page (link at the top of the page)