Basic to C++, Programming

Everything about Illarion that fits nowhere else. / Alles über Illarion was inhaltlich in kein anderes Board passt.

Moderator: Gamemasters

Post Reply
User avatar
Jerico Aslaniz
Posts: 29
Joined: Mon Nov 10, 2008 6:15 am

Basic to C++, Programming

Post by Jerico Aslaniz »

Hey-o, Gents!

I've been wanting to learn programming code for sometime now, but I think I need something to do with that knowledge, yes?

My question is, I know Illarion is a programmed game... in fact, all games are if their on the computer. I've heard Illarion wants to come out with a major update, and I wanted to help out if that is even possible. Anything I need to know, requirements, etc. Please, don't hesitate to tell me.

Thank you,
-Jerico


Hallo, Leute.

Ich habe Programmiercode für einmal jetzt lernen wollen, aber ich denke, dass ich etwas brauche, um mit diesen Kenntnissen, ja zu tun?

Meine Frage ist, ich weiß, dass Illarion ein programmiertes Spiel ... tatsächlich ist, alle Spiele sind wenn ihr auf dem Computer. Ich habe gehört, dass Illarion mit einer Hauptaktualisierung herauskommen will, und ich wollte hinaushelfen, wenn das sogar möglich ist. Irgendetwas muss ich, Voraussetzungen usw wissen. Zögern Sie bitte nicht, mir zu erzählen.

Danke,
-Jerico

P.S. Is this proper German?
P.S. Ist dieser richtige Deutsche?
User avatar
Llama
Posts: 7685
Joined: Sun May 29, 2005 7:02 pm
Location: The VBU is awesome
Contact:

Post by Llama »

Oooh, we needed more of those ;)

Well, if you like programming, there are 3 paths for you.

1. Scripting - Which involves using Lua to create IG content. There is VERY good documentation on the subject, the language is easy to learn and there are tons of examples.

2. Client Programming - Using Java in order to update the client. Pretty hard since the client is a complicated thing as it is.

3. Server Programming - If I remember correctly its C++ . We're in desperate need of one at the moment.

Then of course there is the 'simple' languages used to create NPCs and books and stuff.

So if one of those strikes your fancy, just speak up and we'll direct you from there. Any experience ?
User avatar
Estralis Seborian
Posts: 12308
Joined: Wed Nov 10, 2004 9:14 pm
Location: Sir Postalot
Contact:

Post by Estralis Seborian »

If you want to learn programming, you should start small. Our simple NPC scripting language might be a good start to learn the basics of logics, but it is not a real programming language.

Thus, I'd recommend Lua; it is a scripting language and if you learned it, you already have an idea how programming works generally. Learning a real programming language afterwards should be much more simple then. Also, for our update, most things we need are scripts.

Learning java or C++ is also an option, but I doubt you can learn that from scratch here. We have no teacher here and while you can test Lua scripts on the testserver, seeing quick results, I doubt we have the resources to provide a "client sand box" or "server sandbox".

As Hadrian said; we welcome any new hand and you can get a lot of support from each staff member if you want to learn e.g. scripting.
User avatar
Nitram
Developer
Posts: 7638
Joined: Fri Oct 31, 2003 9:51 am
Contact:

Post by Nitram »

What Estralis said is basically right.

If you want to learn programming, you are welcome to find a proper introduction into the world of coding cool stuff using the Lua Scripting Language. Lua is a good start to learn the general aspects of programming and with those its far easier to learn new languages.

Surely you can also try your luck with our C++ written server. But this server is not what I would call beginner friendly. Its more like a giant amount of bafflegab where noone understands why it does not crash every 2 minutes. :wink: I would consider this as a rather bad start to "learn" programming.

Then there is also the client. Written in Java what is code wise rather close to C++. How ever that client code is pretty advanced already and for someone who wants to learn programming most likely unfitting.

For more informations you should contact the developers directly.
That would be Ardian, Blay09 and pharse for Lua Scripting, vilarion for Server development and myself for client development.

How ever I propose you start with Lua Scripting, since this offers the easiest way to get into programming itself.

One thing at the end. Do not underestimate the amount of time needed to learn programming and to create new things for the game. You will need a lot of time, speaking of many hours per week. While we force no one to invest more time then they have and everyone knows that real life is more important then programming some creepy game :wink:, you still will not learn programming and won't get done much if you never can invest more then a hour per week.

Nitram
User avatar
pharse
Posts: 1787
Joined: Wed Oct 04, 2006 9:33 pm

Post by pharse »

I recommend Lua for you aswell. The language itself is quite easy and straight forward. You will most likely have to get used to the Illarion specific commands and what is possible using them.

A good editor for general working on Lua scripts is Notepad++, it's freeware.
For quick testing Lua specific syntax I use LuaEdit, freeware of course. There you can test e.g. loops, string handling etc. and print it immediately (for testing in Illarion you always have to upload the script and reload the server).
User avatar
Jerico Aslaniz
Posts: 29
Joined: Mon Nov 10, 2008 6:15 am

Post by Jerico Aslaniz »

Excellent! I'm very, very, very new to the programming world. I've heard about it, the start of it, and wanted to try my luck at it. I'll see if I can start small, and if I like it enough, I'll try to improve Illarion... :)

No promises however. I recently got hacked, and curiosity sparks up whispering, "How the heck did he do that?" Programming, port sniffing, and I believe inner-computer logistics knowledge. Something that's extremely point-dexter.

Thank you for all the info. I'll look into it, learn a little, give myself a couple testers, see if they work, if I like it, etc. If I do, expect a new programmer! If not, heh, sorry for wasting your time.

I'm looking at C++... programming a server sounds fun and rather beneficial, I assume, yes? Any direction from here? Any free programs to write this stuff, sandbox it, use it? Just need a little advice, direction, etc.

Thanks,
-Jerico

P.S. My German translator is acting like crap. Can't translate. Schade.

---==={{{EDITED}}}===---
User avatar
Estralis Seborian
Posts: 12308
Joined: Wed Nov 10, 2004 9:14 pm
Location: Sir Postalot
Contact:

Post by Estralis Seborian »

Jerico Aslaniz wrote:Any free programs to write this stuff
Notepad.

Or see pharse's post. To compile stuff, you can use e.g. gcc. But keep in mind that if you are new to programming, you will have to spend the best parts of a year or two before you can contribute anything to the Illarion server code.

If you want to contribute to Illarion, I can only repeat that you should start small. With Lua-scripts. It does not really matter which programming language you start with, if you know how to write programs or scripts, you can switch to any other programming language within short time.
User avatar
Alsaya
Posts: 634
Joined: Wed Dec 03, 2008 5:47 pm
Location: Always right next to you
Contact:

Post by Alsaya »

Just a sidenote, C++ is not really a beginner friendly language. Sure there are languages that are even more 'difficult' to grasp, but learning C++ as the first programming language is ambitious and will quickly lead into frustration because it is a 'picky' language that doesn't forgive smaller (mostly beginner) mistakes.

I really don't want to stop you in your motivation but maybe it is wiser to start with a language that is more intuitive like Lua or Java. Just to get an idea of the logic behind all that, than nothing will stop you to learn C++ and you'll see that it'll be much easier that way. But it's your choice :)

A site that really helped me when I started with C++: http://cplusplus.com/
I think it is also good for a total beginner. And a hint, if you really don't understand something or find your mistake in a code, how simple it might be: Ask!
There are tons of boards out there with c++ geeks and a c++ irc channel with (mostly) friendly people that are happy to help as long as you show them that you're really interested. Which doesn't mean that you can also ask here.
If you don't ask, the frustration will kick in even faster. Trust me, been there. :wink:
User avatar
Llama
Posts: 7685
Joined: Sun May 29, 2005 7:02 pm
Location: The VBU is awesome
Contact:

Post by Llama »

Alsaya wrote:I really don't want to stop you in your motivation but maybe it is wiser to start with a language that is more intuitive like Lua or Java.
I'd actually recommend C# more than java. I'm learning it at the moment - and it has SO MANY 'easy' features that after using java for 2 years, it almost feels like cheating.
Keikan Hiru
Posts: 3482
Joined: Thu Jun 26, 2003 5:46 pm

Post by Keikan Hiru »

Jerico Aslaniz wrote:Any free programs to write this stuff, sandbox it, use it?
If you really want to start with C++ or C# you might want to take a look into trying Microsofts Visual Studio Express, which is a free yet powerful development enviorment.
However, like the rest of the bunch, I do not recoment starting with this unless you have someone to teach you.
User avatar
Jerico Aslaniz
Posts: 29
Joined: Mon Nov 10, 2008 6:15 am

Post by Jerico Aslaniz »

Golly good.

Thanks for all of your time. Taking the time to answer my question(s). You know.

I'll see what I can do, and thank you all for the comments and answers. It really does help a beginner. :)

Ne ways, hope you all have a good (rockin') time in Illarion.
-Jerico
Damien
Posts: 7845
Joined: Thu Feb 22, 2001 5:59 pm
Location: Vanima and grey Refuge, of course.
Contact:

Post by Damien »

While C++ is a very practical, type-safe languague that runs and compiles quite efficiently if you can avoid using some obsolete ancient c stuff where possible and get along with the non-obsolete ancient c stuff where needed. There are a lot of handling differences depending on which platform, which compiler and which additional libraries you want to work with. Concerning illa, the server alone may rely heavily on additional dependencies (i.e. boost libraries, etc), so one will also need experience with boost if working on such a project.

If someone wants to learn programming in C++ by oneself, i'd suggest to buy a few good books about the stuff first. One alone will not do the trick, and many online tutorials are obsolete or even error-filled.
Try to get books that don't use mostly obsolete c commands(which still work in C++, but there may be performance issues and heavy useability issues) and that are beginner friendly, and see to it that the author does not do everything with the help of a library he has written himself (or promotingly "depends" on libraries that you need to pay for when using them), and you'll be able to put together some bigger code pieces that actually work within a few months if you dig into the stuff on a daily base.

Much easier to go for lua first, much quicker successes too, and i think it's also a very needed thing here.
Post Reply