# Programming help/tips

**URL:** https://community.revolutionarygamesstudio.com/t/programming-help-tips/145
**Category:** Development Help
**Tags:** general-programming
**Created:** [March 8, 2018, 7:04pm UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145 "2018-03-08T19:04:08Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![InfiniteWisdom](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/infinitewisdom/32/127_2.png) [@InfiniteWisdom](https://community.revolutionarygamesstudio.com/u/InfiniteWisdom)
#### Post date: [March 8, 2018, 7:04pm UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/1 "2018-03-08T19:04:08Z")

</div>

Tips/help for people who are trying to learn programming for Thrive.

# Angelscript:

- 
## Angel Script Documentation

  - Link: [https://www.angelcode.com/angelscript/documentation.html](https://www.angelcode.com/angelscript/documentation.html)
  - Price: Free
  - Platform: Web
  - Suggested By: @blackjacksike  

 (Insert Description Here)

# C++

- 
## Tutorialspoint

  - Link: [http://www.tutorialspoint.com/](http://www.tutorialspoint.com/)
  - Price: Free
  - Platform: Web
  - Other Languages: C, C++. C#, Python, HTML, CSS, Lua, JavaScript, Brainfuck, etc
  - Suggested By: @blackjacksike  

 (Insert Description Here) 

# General Programming:

# Other Languages:

- 
## W3Schools

  - Link: [https://www.w3schools.com/](https://www.w3schools.com/)
  - Price: Free
  - Platform: Web
  - Languages: HTML, CSS, Colors, Graphics, JavaScript, JSON, Python, Bootstrap, jQuery, AngularJS, SQL, XML
  - Suggested By: @blackjacksike  

 That website is excellent for learning web programming. The library is not very big, but it isn’t so small neither. The library includes: HTML, CSS, Colors, Graphics, JavaScript, JSON, Python, Bootstrap, jQuery, AngularJS, SQL, XML, etc. In addition, the tutorials are very interactive. More precisely, you can try codes and have a test at the end of each lesson. To conclude, that website is web oriented and is great for learning.

---

<div class="post-metadata">

### Author: ![hhyyrylainen](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/hhyyrylainen/32/32_2.png) [@hhyyrylainen](https://community.revolutionarygamesstudio.com/u/hhyyrylainen)
#### Post date: [March 8, 2018, 7:07pm UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/2 "2018-03-08T19:07:20Z")

</div>

There is a few links for beginning programming here: [http://thrivegame.wikidot.com/how-to-help](http://thrivegame.wikidot.com/how-to-help)

---

<div class="post-metadata">

### Author: ![InfiniteWisdom](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/infinitewisdom/32/127_2.png) [@InfiniteWisdom](https://community.revolutionarygamesstudio.com/u/InfiniteWisdom)
#### Post date: [March 8, 2018, 7:08pm UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/3 "2018-03-08T19:08:03Z")

</div>

Thanks! I’ll be sure to look at it. By the way which programmin language does Thrive use as of now?

---

<div class="post-metadata">

### Author: ![hhyyrylainen](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/hhyyrylainen/32/32_2.png) [@hhyyrylainen](https://community.revolutionarygamesstudio.com/u/hhyyrylainen)
#### Post date: [March 8, 2018, 8:48pm UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/4 "2018-03-08T20:48:14Z")

</div>

After the engine switch, C++ and AngelScript (which I chose because it is so much like C++).

---

<div class="post-metadata">

### Author: ![InfiniteWisdom](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/infinitewisdom/32/127_2.png) [@InfiniteWisdom](https://community.revolutionarygamesstudio.com/u/InfiniteWisdom)
#### Post date: [March 8, 2018, 8:55pm UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/5 "2018-03-08T20:55:11Z")

</div>

Do you have any direct links to sites that teach C++ or Angel Script and which one do you think is more important to learn first.

---

<div class="post-metadata">

### Author: ![hhyyrylainen](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/hhyyrylainen/32/32_2.png) [@hhyyrylainen](https://community.revolutionarygamesstudio.com/u/hhyyrylainen)
#### Post date: [March 8, 2018, 8:59pm UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/6 "2018-03-08T20:59:41Z")

</div>

AngelScript isn’t very popular so there aren’t good beginners tutorials for it (the manual is basically a reference for people who know how to program in some language and shows how everything works in AngelScript). I started with C++ but many people don’t recommend it. I would also recommend learning to _program_ first before worrying too much about a language as it is very easy to learn new ones once you have developed the programming mindset. Python is very popular so it is a good choice to start learning programming.

I haven’t read any python tutorials (I just search every time how something works in python and go from there). But here’s a few C++ ones I’ve read and can vouch that they are pretty good (at least the parts I’ve read): [http://www.cplusplus.com/doc/tutorial/](http://www.cplusplus.com/doc/tutorial/) [http://www.learncpp.com/](http://www.learncpp.com/) [https://www.cprogramming.com/](https://www.cprogramming.com/)

---

<div class="post-metadata">

### Author: ![Darwin](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/darwin/32/2467_2.png) [@Darwin](https://community.revolutionarygamesstudio.com/u/Darwin)
#### Post date: [March 8, 2018, 9:17pm UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/7 "2018-03-08T21:17:32Z")

</div>

I recommend learning easier programming languages and scripting languages first. (Python, Lua, HTML etc.) Starting with C++ is a mistake, as I have tried that before, just like you, but now I don’t think it’s the way you should do it. Either way, take whatever I said with a grain of salt. [http://www.sololearn.com](http://www.sololearn.com) teaches Python, HTML/CSS/JS and C++ all for free with no extra subscriptions. I recommend it. Good luck 😃!

EDIT: Sololearn has phone apps too.

---

<div class="post-metadata">

### Author: ![hhyyrylainen](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/hhyyrylainen/32/32_2.png) [@hhyyrylainen](https://community.revolutionarygamesstudio.com/u/hhyyrylainen)
#### Post date: [March 8, 2018, 9:24pm UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/8 "2018-03-08T21:24:52Z")

</div>

> [@Darwin](#):
>
> HTML

This is actually a markup language, not a programming language.

> [@Darwin](#):
>
> Starting with C++ is a mistake

I started serious programming with C++ (before that I had do some basic mainly copy-paste type stuff in Garry’s Mod WireMod expression 2). And I’ve also heard a few others, so it can be done.

> [@Darwin](#):
>
> [http://www.sololearn.com](http://www.sololearn.com)

I quickly checked that out and at least personally I really hate the style of quizzes they have. You should much rather make real programs that do interesting things to keep your interest. But if the sololearn style of getting points and achievements for moving forward motivates you, it seems like a good website.

---

<div class="post-metadata">

### Author: ![Darwin](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/darwin/32/2467_2.png) [@Darwin](https://community.revolutionarygamesstudio.com/u/Darwin)
#### Post date: [March 8, 2018, 9:57pm UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/9 "2018-03-08T21:57:08Z")

</div>

I like sololearn: I think it’s the ultimate way to learn in my eyes. But either way, now I know HTML is a markup language then and also good job on starting C++. (I assume you also took studies at your school/high school etc.)

---

<div class="post-metadata">

### Author: ![InfiniteWisdom](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/infinitewisdom/32/127_2.png) [@InfiniteWisdom](https://community.revolutionarygamesstudio.com/u/InfiniteWisdom)
#### Post date: [March 9, 2018, 2:09pm UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/10 "2018-03-09T14:09:39Z")

</div>

Thanks guys, this will help alot!

---

<div class="post-metadata">

### Author: ![Darwin](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/darwin/32/2467_2.png) [@Darwin](https://community.revolutionarygamesstudio.com/u/Darwin)
#### Post date: [March 10, 2018, 5:11pm UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/11 "2018-03-10T17:11:30Z")

</div>

Good luck 😃

---

<div class="post-metadata">

### Author: ![1n48yg](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/1/b487fb/32.png) [@1n48yg](https://community.revolutionarygamesstudio.com/u/1n48yg)
#### Post date: [April 5, 2018, 11:34pm UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/12 "2018-04-05T23:34:00Z")

</div>

For anyone still curious. Try this: [https://www.udemy.com/free-learn-c-tutorial-beginners/learn/v4/overview](https://www.udemy.com/free-learn-c-tutorial-beginners/learn/v4/overview) Its a pretty good tutorial with quite high video quality for the time of which it was made.

---

<div class="post-metadata">

### Author: ![blackjacksike](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/blackjacksike/32/7094_2.png) [@blackjacksike](https://community.revolutionarygamesstudio.com/u/blackjacksike)
#### Post date: [May 12, 2018, 3:54pm UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/13 "2018-05-12T15:54:08Z")

</div>

You can also go on [tutorialspoint.com](http://tutorialspoint.com)

---

<div class="post-metadata">

### Author: ![blackjacksike](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/blackjacksike/32/7094_2.png) [@blackjacksike](https://community.revolutionarygamesstudio.com/u/blackjacksike)
#### Post date: [August 25, 2018, 11:17pm UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/14 "2018-08-25T23:17:16Z")

</div>

Well, there’s the manual guide that beginners can use.

Here: [https://www.angelcode.com/angelscript/documentation.html](https://www.angelcode.com/angelscript/documentation.html)

---

<div class="post-metadata">

### Author: ![QuantumCrab](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/quantumcrab/32/12706_2.png) [@QuantumCrab](https://community.revolutionarygamesstudio.com/u/QuantumCrab)
#### Post date: [August 26, 2018, 4:33am UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/15 "2018-08-26T04:33:08Z")

</div>

Did you just…

# REVIVE A DED THRED???

---

<div class="post-metadata">

### Author: ![hhyyrylainen](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/hhyyrylainen/32/32_2.png) [@hhyyrylainen](https://community.revolutionarygamesstudio.com/u/hhyyrylainen)
#### Post date: [August 26, 2018, 7:20am UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/16 "2018-08-26T07:20:49Z")

</div>

That was complete on topic and due to the low volume of posts on this forum I think it is completely fine to post in the correct thread, even if it is old, instead of making a new one.

> [@blackjacksike](#):
>
> Well, there’s the manual guide that beginners can use.
> 
> Here: [AngelScript - AngelCode.com](https://www.angelcode.com/angelscript/documentation.html)

The manual is only good for beginners to AngelScript. It isn’t a proper tutorial for programming. So everyone who is interested in learning AngelScript needs to first learn a language that has complete programming beginner tutorials and then check out the AngelScript manual to see how similar it is to languages in the C family. The wiki has some programming tutorial links here: [How to Help - Thrive](http://thrivegame.wikidot.com/how-to-help) (which I have posted already in this thread)

---

<div class="post-metadata">

### Author: ![blackjacksike](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/blackjacksike/32/7094_2.png) [@blackjacksike](https://community.revolutionarygamesstudio.com/u/blackjacksike)
#### Post date: [September 7, 2018, 6:03pm UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/17 "2018-09-07T18:03:38Z")

</div>

**Learn to code websites (the ones I know)**

Tutorialspoint

Type: Free

Platform(s): Web

Link: [http://www.tutorialspoint.com/](http://www.tutorialspoint.com/)

That website has a great library of tutorials from Computer Science to History. Even though there is some tutorials about history, chemistry or physics, most of the tutorials are about computers and programming. Most of programming languages are in the library: C, C++. C#, Python, HTML, CSS, Lua, JavaScript, Brainfuck, etc. The only downside is that the tutorials aren’t interactive enough, thus it might be better to have some programming experience before going into a tutorial or to use the website especially for documentation. In brief, _tutorialspoint_ has many tutorials on most programming languages, but they aren’t so interactive (you can try codes, but you cannot have a lesson after each chapter).

W3Schools

Type: Free

Platform(s): Web

Link: [https://www.w3schools.com/](https://www.w3schools.com/)

That website is excellent for learning web programming. The library is not very big, but it isn’t so small neither. The library includes: HTML, CSS, Colors, Graphics, JavaScript, JSON, Python, Bootstrap, jQuery, AngularJS, SQL, XML, etc. In addition, the tutorials are very interactive. More precisely, you can try codes and have a test at the end of each lesson. To conclude, that website is web oriented and is great for learning.

SoloLearn

Type: Free

Platform(s): Web, iPhone, Android, Windows Phone and Facebook.

Link: [https://www.sololearn.com/](https://www.sololearn.com/)

That website is good for learning, because it is very interactive. You have many exercises in each lesson and you can try codes. However, that website has not a huge library. The library includes: C++, C#, Java, Python, Ruby, Swift, HTML, CSS, JavaScript, jQuery, PHP and SQL. In other words, SoloLearn doesn’t have many tutorials, but they are very interactive indeed.

**Other learn to code websites (the ones I don’t know)**

Codecademy

Type: Freemium

Platform(s): Web

Link: [https://www.codecademy.com/](https://www.codecademy.com/)

Tutlane

Type: Free

Platform(s): Web

Link: [https://www.tutlane.com/](https://www.tutlane.com/)

Tutorialsteacher

Type: Free

Platform(s): Web

Link: [http://www.tutorialsteacher.com/](http://www.tutorialsteacher.com/)

**YouTube Channels for programming and software**

thenewboston (computer & programming): [https://www.youtube.com/user/thenewboston](https://www.youtube.com/user/thenewboston)

TheHappieCat (computer & programming): [https://www.youtube.com/user/TheHappieCat](https://www.youtube.com/user/TheHappieCat)

TJ FREE (Software presentation): [https://www.youtube.com/user/tjopen1](https://www.youtube.com/user/tjopen1)

If you want to find an alternative software, you can go on this website: [https://alternativeto.net/](https://alternativeto.net/) .

**That’s all! If you want to, you can put other sources of informations, so everybody who wants to learn programming, graphics and stuff can go on this thread and choose their own path.**

---

<div class="post-metadata">

### Author: ![hhyyrylainen](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/hhyyrylainen/32/32_2.png) [@hhyyrylainen](https://community.revolutionarygamesstudio.com/u/hhyyrylainen)
#### Post date: [September 7, 2018, 7:59pm UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/18 "2018-09-07T19:59:23Z")

</div>

I made the first post of this thread a “wiki” post so anyone who wants to add links there, should be able to now (as long as you have been on the forum for a while to get trust levels).

---

<div class="post-metadata">

### Author: ![blackjacksike](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/blackjacksike/32/7094_2.png) [@blackjacksike](https://community.revolutionarygamesstudio.com/u/blackjacksike)
#### Post date: [September 11, 2018, 12:43am UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/19 "2018-09-11T00:43:23Z")

</div>

Also, if some of you (readers who are interested in programming) want to learn programming progressively on _tutorialspoint_, there is one tutorial called _Computer Programming_ teaching general programming with C, Java and Python as references. When you finish this tutorial, it will suggest you these three languages as starting points (thus, you can then go from C to C++ if you want to contribute to Project Thrive).

---

<div class="post-metadata">

### Author: ![Omicron](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/omicron/32/3618_2.png) [@Omicron](https://community.revolutionarygamesstudio.com/u/Omicron)
#### Post date: [November 28, 2018, 9:40am UTC](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145/20 "2018-11-28T09:40:14Z")

</div>

Well, if we’re talking about help with code anyway: I have a question. I’m currently working on a small game in Unity (as a school project). I built in a simple pathing system, where the enemies have two points (called “origins”) at either side. Every frame, a RayCast (basically a laser that gives information on whatever it hits.) of 2 units long is cast out of both origin points. The RayCastHits are lSight (what the left feeler “sees”) and rSight (the same but for the left feeler). Then, it checks whether they hit anything, or not, and turns accordingly. The code is (by head currently, I don’t have the code with me right now):

> **Totally not convoluted code**
>
> ```
> if (rSight)
> {
> if (lSight)
> {
> if (rSight.collider = lSight)
> {
> dir = leftRightTest(); //a function I found online that checks whether the object is on the left or right
> }
> else
> {
> dir = 0 ; //Both see something, but it's something else, so it's safe to move straight ahead
> }
> }
> else 
> {
> dir = -1; //There is only something on the right, so turn to the left
> }
> }
> else if (lSight)
> {
> dir = 1; //There is only something to the left, so turn right
> }
> else
> {
> dir = 0; //Nothing is seen, so move straight ahead
> }
> Transform.Rotate(0, 45 * Time.deltaTime * dir); //Turn the proper direction with an RPS of 0,125
> 
> ```

This works, but the issue is that, well, it’s ridiculously ugly. So, does anyone know if there is a way to make it less ugly? I’ve though about a for-loop, but I don’t think you can make one with multiple (boolean) variables.

(I was originally planning on posting this on “Dev Team Requirements”, since it’s kinda on-topic, but then I realized this thread exists. I could’ve also posted it on “bad code examples”, but that is a bit to off-topic)

[Next page](https://community.revolutionarygamesstudio.com/t/programming-help-tips/145.md?page=2)
