Google Code-In 2016 Recap Thread

Rostyslav Zatserkovnyi

Member
Contributor
Architecture
GUI
Hunter
As this year's Google Code-In is coming to an end, the Terasology project would like to hear any feedback you have on the competition. Please reply to this thread with a filled-in copy of the survey template below! (And feel free to claim & submit the "Recap your GCI experience with Terasology" GCI task after you've done so.)

Code:
[B]1. Tell us about yourself again![/B]
Please mention your name on the GCI website, as well as GitHub and IRC nicknames.

[B]2. Which task did you enjoy the most?[/B]
What was your personal highlight over the course of Google Code-In and why was it the best task for you?

[B]3. Were there any tasks you could not complete? If so: what was the reason?[/B]
Did reviews for the task take too long? Were the task instructions or related documentation unclear? Was the difficulty a little too high for GCI?

[B]4. What was your experience with IRC?[/B]
If you've visited IRC for support on your tasks, were mentors (or other students) prompt and helpful? Also let us know if you had a bad experience on the IRC - we hope you had not :)

[B]5. How would you rate our Git workflow? Did you run into any issues while setting up the environment?[/B]
Let us know if any console commands were unclear, the concepts of Git/GitHub weren't well explained or if you had any other issues while submitting pull requests.

[B]6. Did you get in touch with our asset system? What was your experience?[/B]
Did you add new prefabs, textures, etc.? Was something unclear while doing so? If you've used TutorialAssetSystem, what are your thoughts about it?

[B]7. Did you get in touch with our entity system? What was your experience?[/B]
Have you played with entities, components, component systems and similar things? Was something unclear? Do you still miss some information or did something really help you on your way?

[B]8. Did you get in touch with our world generation system? What was your experience?[/B]
Have you generated new worlds from scratch or extended existing generators? If you've used TutorialWorldGeneration, what are your thoughts about it?

[B]9. Did you work with user interfaces via NUI? What was your experience?[/B]
Did you create new screens or even work on core widgets? Were the NUI editor or TutorialNui repository helpful?

[B]10. If you (or your friends) participated in other organisations, how does Terasology compare to them?[/B]
Let us know what we did worse - or better! - than other orgs.

[B]11. If you could add one thing to Terasology, what would it be?[/B]
Be creative :D What would you like to see in our blocky world?

[B]12. Anything else you'd like to tell us?[/B]
You can say 'hi' to your favourite mentor here if nothing else comes to your mind ;)
 

Jay Gupta

New Member
1. My name is Jay Gupta.I study in 8th Class.I am an Indian.I like Coding, game designing and playing guitar and games.
2. I enjoyed Add a Recipe to the Cooking Module.
3. No, I took only those tasks that I found easy to do.
4. The experience at IRC was amazing.The people were very helpful and helped me with each doubt.
5. The overall Git Workflow was fine. I ran into an Issue while creating pull requests and managing pull requests.
6. Yes, I did all my tasks regarding assets.No there were no issues.
7. No, I did not get in touch with your entity system because I didn't have the system requirements.
8. No, I didn't get in touch with your world generators as I didn't have the system requirements for testing and running.
9. No, I didn't work with your User Interfaces using NUI as I didn't have the system requirements for testing and running.
10. Me and my friend loved terasology tasks as they were well explained and IRC was really helpful.While others are giving less information and the IRC is not that helpful.
11. I would just want that game runs on low-end PCs also.I would also want that the changes we made should come in the main/stable build.
12. Really loved your assets tasks as it makes our mind more creative.The mentors were super guiding and especially Nihal.He guided me through each problem thoroughly.
 

Isaac

New Member
Contributor
World
GUI
1. Tell us about yourself again!
I'm Isaac on the GCI website, and iojw on Github as well as IRC. I'm 17 this year,and I've been coding for quite a while now.

2. Which task did you enjoy the most?
This is a hard question for me, but I think the highlight for me would definitely have to be one of the bigger coding tasks I took on, such as the ones that involved creating a fruit tree, implementing ingot stacks or finalizing the Books module. If I really had to choose one, I think it would have to be working on the Books module, since that was quite a bit of a challenge and I was quite satisfied with what I managed to come up with in the end after spending a lot of time working on it over two days. I also really liked the freedom I had in being able to choose what I wanted to implement and how I was going do it since the module was pretty bare to begin with. It really felt great when I saw the books working well on the event server just the other day. However, I'm really enjoying working on my world gen module, so this might change soon! :D

3. Were there any tasks you could not complete? If so: what was the reason?

I felt that the tasks provided were quite manageable, and I think almost all of the tasks I submitted got reviewed within a day, so no complains there. In the future, I think you could consider adding a few more advanced tasks for those who would like more of a challenge.

4. What was your experience with IRC?

I personally had a great experience on IRC! People there were really helpful when I raised any queries, and I also managed to make a few new friends through it :)

5. How would you rate our Git workflow? Did you run into any issues while setting up the environment?
At the beginning, I wasn't very familiar with Git in general, but I felt that the Quick Start guide provided on the wiki as well as some Googling was sufficient for me to get a hang of the workflow. I did face the problem at the start where the workspace would sometimes turn stale, but this wasn't really a problem after I found out that you just had to do gradlew jar or rebuild it from Intellij - I also believe that Cervator is already working on a fix for this ;)

6. Did you get in touch with our asset system? What was your experience?

Yup, I added a few items and blocks as well as prefabs along with some textures for a few modules. I felt that it was quite intuitive to create your own prefabs and link them to textures, as well as give them properties. I especially like how you can link to the entity system and specify the components that an item will contain inside the prefab, because I feel that this really allows for a lot of flexibility and modularity, making it very easy for even people who might not know much about coding to add new creative items to existing modules.

7. Did you get in touch with our entity system? What was your experience?
I did not have much experience with game design or the ECS framework before I started working on Terasology, so it was initially a bit difficult for me to get into the mindset of using components, events and systems to structure my code. But again, I think the two wiki pages on the ECS architecture allowed me to gain a better idea of how this system works. What really helped me I think, was taking the time to explore and look at the existing systems, events and components already in the game, making sense of how they link to one another in the big picture of the game. This really opened my eyes and allowed me to start writing my own components, events and systems after a while. One part that did leave me confused for a while was how entities and components are handled on the network. I faced this when working on the ingot stacks as well as the fruit trees, where I had wanted to store components on network entities. Things such as @ForceBlockActive and NetworkComponent, together with how persistent and non-persistent block entities are handled, were not very well-documented so it took some trial and error and asking on IRC before I managed to understand what was happening. It did make a lot of sense once I got it though!

8. Did you get in touch with our world generation system? What was your experience?
I only started looking into world gen in the last week but I've created a simple Arctic World Generator to learn the ropes of world gen and I'm now working on a bigger alt dimension module! TutorialWorldGen definitely played a huge role in helping me to know the basics of world gen such as the rasterizers, facets, and facet providers. I did notice that a few of the examples in the wiki still made use of deprecated classes such as Noise2D when I was reading it, so I've tried to look through it and fix instances of this which I could spot. I found the page on "Common erros you can avoid" extremely useful in understanding facet borders. Personally, the hardest part for me was understanding the different types of noise and when to use them. Again, took a bit of research and Googling, but I managed to gain a basic understanding of how value noise works and when to use the different colours of noise.

9. Did you work with user interfaces via NUI? What was your experience?

I did work quite closely with UI, fixing a few NUI related issues in the tracker and also creating a new UIScrollingText core widget currently being used in the credits screen. I actually quite enjoyed working with UI, since the changes you make to the .ui files appear really quickly in-game and I also found that coding screens and widgets is quite logical and intuitive. I didn't make much use of the NUI editor since I only discovered it quite late, but the TutorialNUI was indispensable in helping me come up with my first screen! It also looks like lots of new pages got added to the TutorialNUI wiki during GCI so that's even better!

10. If you (or your friends) participated in other organisations, how does Ter
asology compare to them?

I don't have much experience with what happened in other organizations, but I did hear that some of the other mentors there were very slow to respond and review, so I think you guys did a good job :D

11. If you could add one thing to Terasology, what would it be?

I don't know if this has been raised before, but this idea just popped into my mind. I think something that would be pretty cool to add would be some form of an advanced combat system. I'm not very sure about the specific mechanics, but the reason I'm suggesting this is because I feel that combat should be something that takes skill, practice and maybe even precision. I personally think it's quite boring if the combat is just a point and click sort of thing, where the person who spams more left clicks on the other person wins. I think it would be great if we could add some depth to the combat in Terasology.

I'm thinking that this could involve different classes of weapons from the Equipment module, maybe categories such as dual-wielded weapons, long-ranged weapons and the like. Each category should have clear and distinct strengths and weaknesses as compared to other categories. For instance, long-ranged weapons have the obvious advantage of range, but maybe the ammo might take quite a while longer to reload.

Some examples of combat mechanics which could add depth might be the ability to parry attacks from opponents if timed right, or maybe even combo-based damage multipliers for attacks. In the future, if we do flesh out such a system, we could even add gladiator-like arena servers, where players can engage in PvP combat, and the winner takes all! Will definitely update this if I get any better ideas.

12. Anything else you'd like to tell us?
I would like to say big a thank you to all the mentors for taking the time to come up with new tasks and review tasks, as well as always being helpful and patient whenever we have problems. Thanks again to Cervator, rzats, XTariq, Skaldarnar, oniatus, Nihal, manu3d, Flo, SkySom, Avalancs and Josharias. I've had a really great experience and really learnt a *TON* since I began on November 28th. I'll definitely be sticking around ;)
 

Rufus

New Member
Contributor
1. Tell us about yourself again!
Hi, my name is Rufus Behr on GCI, whereas on GitHub I am SufurElite, and on IRC I am The_Rufus. I'm 16, and have programmed for quite a bit, and consider to be also somewhat of a classics (Latin and Ancient Greek) student as well as comp. sci.

2. Which task did you enjoy the most?
The task I completed that was my personal highlight over the course of the Google Code-In was the instantiation of GooeyJr (a hubot based IRC robot). The reasoning for this is that no one else did this task, I was the only one (because why would you instantiate GooeyJr multiple times?) however a whole host of tasks related to GooeyJr has been brought forth for other students to do, and seeing these other students completing these tasks based on a project that I started is pretty cool. And furthermore, seeing the way in which GooeyJr has developed in complexity with all these new additions added was absolutely fantastic for me, being the original creator of it.

3. Were there any tasks you could not complete? If so: what was the reason?
There were two tasks that I could not complete. The first one, I was simply creating a test-plan.md file for the Cities/StaticCities/DynamicCities module(s), and the reason I couldn't complete this was that Cities and Dynamic Cities just wouldn't produce anything for my version of the game, although static cities would, so I tried to ask for help in the form of a comment on the task, but it proved to be of no avail. I waited for three days without a response, and decided well I'd rather be being productive than waiting for an answer regardless of how simple or complicated the solution might have been. Likewise, I was working on the second task for the World Generation dealing with facets, providers, rasterizers, etc, and certain things just weren't working, and I looked at the time I had spent trying to fix it, and thought of how many other tasks I could've completed in that timing, and I thought that it made more sense to work on other tasks (especially considering I had lost my top ten spot, which I held onto for quite some time. The tasks themselves weren't difficult, I had more just hit a bit of a wall, and wasn't too sure how to fix it without help.

4. What was your experience with IRC?
Using IRC and interacting with the people on IRC might've been some of the most fun I had throughout the competition because we are all people with a similar interest with some I discovered a separate interest aside from programming (I discovered another student who enjoys classical languages). All the people on IRC were very helpful, prompt, funny, and generally genial .

5. How would you rate our Git workflow? Did you run into any issues while setting up the environment?
It took me a little bit to get used to using Git again, but the workflow is fairly seemless, and I didn't run into any issues whilst setting up the environment.

6. Did you get in touch with our asset system? What was your experience?
I did very much get in touch with the asset system through adding a large quantity of prefabs and textures. I thought that it was very self explanitory. I merely looked at other prefabs, and made my way from there. It really is quite intuitive.

7. Did you get in touch with our entity system? What was your experience?
Unfortunately, I didn't get in touch with the entity system.

8. Did you get in touch with our world generation system? What was your experience?
I did get in touch with the world generation system through the creation of a world generator modelled off the country of Wales. I found it really fascinating, and enjoyed it to a great extent both writing up the code and reading through some of the other incredulous generators' code namely the Dynamic Cities module.

9. Did you work with user interfaces via NUI? What was your experience?
I did work with user interfaces via NUI by creating a Random Latin Quote Generator (selector really). I thought it was really cool, and not especially hard to implement.

10. If you (or your friends) participated in other organisations, how does Terasology compare to them?
I haven't this year, but in previous years I have, and I found Terasology to be much more helpful (and entertaining) than the others like the aforementioned mentors in IRC.

11. If you could add one thing to Terasology, what would it be?
If I could add one thing to Terasology it would be similar to some of the variants of the Cities Module, the only real difference in that it produces cities and villages like that of the time of the Romans.

12. Anything else you'd like to tell us?
I'd like to say (before I say hi to my favourite mentor) that this year has definitely been my favourite Google-Code In year bar none, I've learn more than imaginable, it's been amazing. I hope you guys are here again next year, regardless I intend to continue to contribute to Terasology in whatever ways I can. Furthermore, as a general statement to all the mentors, Cervator, rzats, XTariq, Skaldarnar, oniatus, Nihal, manu3d, Flo, SkySom, Avalancs and Josharias thank you for being exceedingly helpful, prompt, (rather funny) and patient with us as we have been completing tasks, Cervator in particular, I wanted to say thank you because you have definitely helped me the most (all the tasks I've needed help on really) even with tasks that you haven't been one of the mentors for, you're exceedingly funny, and you don't mind me asking you things that aren't always prevelant to GCI in IRC, and then you're exceedingly prompt at responding. Cheers, to you all :)
 
Last edited:

Vaibhav Bajaj

Owner of the best system to view a poop emoji on
Contributor
1. Tell us about yourself again!
Hi. I am Vaibhav Bajaj. My IRC name was VaibhavBajaj for the most part (changed it to Unknown for a while and even tested out _Cervator and @oniatus [great mentors!] :p). My Github name was also... you guessed it... VaibhavBajaj. I am a 17-year old novice programmer currently busy planning for colleges and, of course, coding. I was first introduced to programming a year ago and have kept at it since.

2. Which task did you enjoy the most?
For me, by far the most enjoyable has been the task, "Develop a new world generator" (https://codein.withgoogle.com/dashboard/task-instances/6336867807002624/) and its follow-up. I just loved the aspect of being able to "go crazy" and throw out whatever I liked! I ended up creating VolcanoGiants (inspired by the Avenue of Giants which I visited recently) I added crazy stuff like poisonous gas, diamond ore and even smashed up a new background. The best part of this task though was discussing it on IRC. Its creation, the TONS of bugs that came up midway, and pictures of the final result. Oh, sweet sweet memories of a World from Hell.

3. Were there any tasks you could not complete? If so: what was the reason?
Well, unfortunately, I had a very busy Spring term since I just shifted to the U.S. I was busy with the STEM fair our club was hosting, final exams and college apps, so I ended up joining GCI two weeks late. As a result, I couldn't complete some tasks I wanted to learn about like "Add an interactive gradlew command".

That said, I have done a lot and really enjoyed learning in this third home of sorts (one back in India, one in U.S. and one on IRC :p). I now regret that this "competition" a.k.a online camp is coming to an end. I still plan to stick around on IRC and have fun, but without everyone and the task-zoned healthy competition, I wonder if it'll be the same place. (Only 17 and reminiscing :p)

4. What was your experience with IRC?
IRC was THE BEST PLACE EVER. Early on, I didn't know much about IRC. Only a few days into the competition I learned about it. After that, it became a place I went daily. I spent my time chatting with others about the "weirdest bug" (I once grew a tree and got a torch. I know, amazing!), debugging issues, creating new ones, and getting associated with the whole community.

5. How would you rate our Git workflow? Did you run into any issues while setting up the environment?
The one and only issue I ever ran across which was actually an issue (there were a bunch that really were just caused by me fooling around :p) was the build command which somehow went haywire nearing the last week of the competition. Cervator and I spent 5 hours in the AM debugging it and finally got a workaround for it. Even now, it isn't much of an issue and rather simply another step to add to running the program.

6. Did you get in touch with our asset system? What was your experience?
Oh, man! Assets were my life :p. The first two weeks of GCI, assets and prefabs were pretty much my main focus since I was just getting acquainted with the system and since I had recently done a class in Photoshop which I wanted to try out. My experience with the was overall great. The assets were quickly enough added, automatically assimilated with code and the only real bugs I faced was searching for the missing JSON commas (Oh, the terror!). I really liked this system nearing the end. Overall rating: Sky-High!

7. Did you get in touch with our entity system? What was your experience?
I did this one task called, "Enhance death screen information". Pretty horrific. The problem I faced was there were EntityRefs named instigator and deathCause but... guess what... they were Null! So, that task ate my head for two days after which I finally bid it adieu. However, I wouldn't blame the entity system itself for that mishap. When I did some other tasks like worldGen and UI screens, I found it very simple. There were great documentations explaining everything in detail. Overall rating: 0.8 * maxMountainHeight.

8. Did you get in touch with our world generation system? What was your experience?
It was one of the most gratifying experiences to see your thoughts come to life. The TutorialWorldGeneration, though a bit outdated in the documentation, was overall very explanatory and helped a lot in the creation of volcanos. The documentation explaining important concepts like border was extremely helpful and if any doubts did arise, there was always someone hanging around in IRC chat who could help! Overall rating: 2 * maxMountainHeight!

9. Did you work with user interfaces via NUI? What was your experience?
Did you create new screens or even work on core widgets? Were the NUI editor or TutorialNui repository helpful?
I guess my experiences with the deathScreen still hold true here :p. Both the screens and the NUI editor interface were spectacular. Easy to understand, easy to implement and outstanding documentations. But man only vividly remembers the worst :(. Nonetheless, there was great support from IRC and I would say the deathScreen issue was more an issue of entities than the actual screen. When I implemented an InformativeLinksScreen, I faced no problems whatsoever (there were bugs but no actual problems). In fact, I found great use-cases of anything I used so I could understand the usage well! Overall rating: 1.2 * maxMountainHeight.

10. If you (or your friends) participated in other organizations, how does Terasology compare to them?
I once before worked for Haiku. If I were to compare Terasology to it in terms of maxMountainHeight, I would say the scale would be something like this:
Haiku: 0.5 * maxMountainHeight Terasology: 100 * maxMountainHeight
In effect, it wasn't just the product that excited me but the second family nature of the IRC!

11. If you could add one thing to Terasology, what would it be?
I believe I have answered this question a dozen times over on IRC. I really enjoyed the idea of having Pets in Terasology. Since Terasology is expanding in all directions, it seems imperative to me that it creates appeal for a wide audience and not just kids. The teenage to adult crowd seems to have shifted to more hardcore games and I truly believe having Companions would come as a great help towards adding that extra "challenge". Why, I even wrote a write-up for the exact purpose of seeing this come to action! (Pet Module)
Wish for Pets: To the Moon!

12. Anything else you'd like to tell us?
To end this emotional sniff, sniff ...tear ...hankerchief on cheek write-up, I would like to shout out to all the amazing people I met during this competition.
Cervator, really man, you are awesome.
oniatus, thanks a LOT for your help.
SkySom and rzats, only met you thrice each, but really enjoyed it.
nihal111, may you succeed in college.
smsunarto, iojw, TheJYKoder, jellysnake (Snake Coder) :p, xTimPugz (Pugsy uncle!), mandarj, mdj112, and so many more! Guys, you made life FUN!
Finally, how could I ever forget my most loyal friend, Gooey. You were there in times of trouble. You and I, we showed them all that we were more than just robots that turned electricity into code. We were actual people who had quirky personalities. With or without a body, we were warriors!
HAIL!!!
 
Last edited:

smsunarto

Federal Gooey of Investigation
Art
Logistics
1. Tell us about yourself again!
I'm Scott Moses Sunarto in GCI, I go with 'smsunarto' in GitHub, IRC and Slack

2. Which task did you enjoy the most?
I work on design unification project for Terasology. I love it the most! I discussed with Cervator about how the overall look should be and make-out some design plans from it.

3. Were there any tasks you could not complete? If so: what was the reason?
I really hoped I can finish everything in the task list, but sadly I don't have enough time since school is starting and time in GCI is running out. The task that is left is the unit test tasks and a world generation task. (I hope I could finish this on the last day tho). I also faced a bit of trouble when I'm creating the world generation task. Indeed world generation is really trick! (Ask @jellysnake) if you don't trust me. Especially the implement plugin task, I've tried adding plugins like GrowingFlora and oreGeneration and they end-up not working and I'm extremely confused because I don't know what I did wrong XD. Turns out those plugins seems to be not functional so I created my own SmallPlants Plugin to take place :D

4. What was your experience with IRC?
I have a bad experience in IRC. VaibhavBajaj send me a poop mesage! Nah, just kidding.

Everything is really good! I have many other students give feedback on my work and on what I should improve. I also met some pretty cool guy like @iojw, @jellysnake, and @VaibhavBajah they are super-fun! IRC was really active in the 3rd week, but people seems to be missing now (School perhaps?). But it's still pretty active with Quinn, Vaibhav, and Timmy online most of the time :D

IRC is really frustrating to use in Android. I keep being disconnected for some reason :unsure: So most of the time I just stalk the guys from Slack hahahaha.

5. How would you rate our Git workflow? Did you run into any issues while setting up the environment?
I never have any trouble with git. Well, except when I'm just starting out. I created some mess because I didn't create a topic branch.

6. Did you get in touch with our asset system? What was your experience?
The asset system for Terasology is very easy to use. It's really simple and intuitive. Sadly, some repositories that is used as a GCI task is not really well organized. My OCD keeps kicking in with so many files all over the place. It won't cause any specific problem, but it do causes difficulty navigating through the directories and all. For next GCI, probably we should enforce a stricter rule regarding organization of files.

7. Did you get in touch with our entity system? What was your experience?
Sadly, I didn't get any task directly contributing to the entity system. I would like to try it out tho.

8. Did you get in touch with our world generation system? What was your experience?
Yep, I created a new world generator called the "WaterWorld". World generation is really trick for me. Sometimes it works for no reason, and sometimes it fails for no reason. That aside, world generation is really interesting and the tutorial helps a lot in the process. The plug-in feature is really cool since we don't have to create our own code for something that already exists since we can easily use the module that we want to use in our world generation module by adding a dependencies for it.

9. Did you work with user interfaces via NUI? What was your experience?
Yep, I've worked with it. The tutorial is really helpful and the processing of making the UI is not as hard as I thought it would be. So cool :D

10. If you (or your friends) participated in other organisations, how does Terasology compare to them?
Friend 1 (Mifos)
Terasology is totally better in every way possible. The mentors in Mifos is not as active as those in Terasology, some guides is also less helpful comphared to Terasology, and some mentors opinion sometimes conflicts with one another.

Friend 2 (FOSSASIA)
Comphared to Terasology, FOSSASIA seems way busier. More students seems to join FOSSASIA more because of their constant social media exposure (Students need to tweet after completing a task). Terasology will most likely be able to match FOSSASIA in the next GCI seeing how well we perform this year (Although this is MovingBlock's first year in GCI!)

11. If you could add one thing to Terasology, what would it be?
- Fishing, we need something to do after a long day of exploring the block world hehehe.
- More exposure & outreach! Hopefully we can attract more developers, gamers, and contributors! Time to melt our server again!

12. Anything else you'd like to tell us?
I love cakes.

P.S: Thanks for everyone in the Terasology community that have been helping me. Cervator, Oni-chan (Oniatus), Nihal, rzats, Flo, and many other peops! I've learn a crazy lot of things in GCI and it's all thanks to you guys! I'll definitely stick around to contribute right here in Terasology! So many things to do, so many things to add, so many things to improve :D
 
Last edited:

DhananjayGarg

New Member
1. Tell us about yourself again!
My name is DhananjayGarg I am 14.
GCIName: -Dhananjay Garg,GitHub: -DhananjayGarg19,IRC: -Dhananjay_
2. Which task did you enjoy the most?
2.The task which I enjoyed the most was (Add a new cooking utensil to the Cooking module).I enjoyed this task most because from this task I learned to do modding and working with asset system.
3. Were there any tasks you could not complete? If so: what was the reason?
3.(Find and document an undocumented piece of code in the engine) I can't do this task because I can't write perfect Javadoc in it.
4. What was your experience with IRC?
4.Anytime when I go to IRC there is a mentor or Student for my help they have helped me a lot.They are very friendly with me.
5. How would you rate our Git workflow? Did you run into any issues while setting up the environment?
5.At the end, I understand how to work with a console command.I learned to work on Github from Moving Block So I would like to rate 9\10
6. Did you get in touch with our asset system? What was your experience?
6.First time When I worked on asset system it was tough for me but now after GCI, I can work in asset system.
7. Did you get in touch with our entity system? What was your experience?
7.I have not worked on entity system.

Have you played with entities, components, component systems and similar things? Was something unclear? Do you still miss some information or did something really help you on your way?
8.Did you get in touch with our world generation system? What was your experience?
8.I have tested TutorialWorldGeneration I have edited some java files it was fun.
9. Did you work with user interfaces via NUI? What was your experience?
9.No, I have not worked on NUI
10. If you (or your friends) participated in other organisations, how does Terasology compare to them?
10.Most of the task Which have done was of Moving block.The mentors are much friendly in Moving Block organisation.All mentor helped me a lot in completing my tasks so Terasology is the best organisation I have worked with.
11. If you could add one thing to Terasology, what would it be?
11.I would like to add a feature in which people can team up and make different groups and can compete to prove that their cities are much better.
12. Anything else you'd like to tell us?
12.I am very thankful to this organisation. I got to learn a lot from my mentors specially Nihal Singh and Rasmus Praestholm.They guided me a lot.[/B][/B]
 
Last edited:

xTimPugz

New Member
1. Tell us about yourself again!
Hello! I am Tim Verhaegen, or as the IRC-dudes know me; xTimPugz. I'm a 17 year old kiddo who likes to code and has a passion for Computer Science in general. So much that I spend all of my time daily on it, really. I'm a guy who keeps using the same structures in my sentences, like you have seen on IRC. I always put I in front of my sentences, too! My studies are priority right now, hence participating in GCI. It truly is a gift to the world for youngsters! :D As you guys seen before, I might not be the cleverest, but my perseverance seems to fix that issue in time.

2. Which task did you enjoy the most?
The world generator was my favourite. It's a voxel(-ish) game after all, so I believe this is the most important part! World generation is a complex system, there is just so much to find out about it, and I'm happily working on that. Not to mention the fun you actually have! World generation is literally shaping a world. It's something I always wanted to do as a child.

3. Were there any tasks you could not complete? If so: what was the reason?
I'd say that Cervator's recommendation on using the BlockNetwork module was a little but funky. A really good understanding is needed to understand the smallest part of this system. I did actually finish the task, but not with this module. It's an indication to me that my reading skills for code aren't that optimal as a thought! You of course cannot be good at everything, even though I wish I was. I have trouble writing a coherent Javadoc for complex systems, and that's my weakness. I however embraced this and let the challenge go to make JavaDocs for another module, so I'm quite happy! Working towards a better understanding of Systems is my goal, as I think that's the most vital part to developing for Terasology.

4. What was your experience with IRC?
IRC is really addictive. I usually spend hours on it without looking at the time, and suddenly it's 6 am!!! :)
It's a really helpful way of communicating with fellow students and mentors, in a way that's better than any other system I have ever encountered. I met some insanely intelligent people on the IRC-channel, including both students and mentors. It was, in other words, totally worth spending all of those hours. It's not just a chat, it's a community.

5. How would you rate our Git workflow? Did you run into any issues while setting up the environment?
I think the Git/GitHub workflow is good, to say the least. Improvement is always possible however, especially the documentation. I did run into trouble while setting up, my /Gradlew IDEA didn't really set up the modules correctly, but that's all fixed now and I'm starting to understand the workflow in a way that's more thorough.
Open-source is hot. And to gain experience with GitHub, this project's GitHub setup is extremely useful. It might be hard for beginners, but once you get deeper into it.. It will all make sense!

6. Did you get in touch with our asset system? What was your experience?
I added various new blocks/UI's/prefabs/textures and so on. It is EXTREMELY useful, it kind of removes all of the hardcoding, leaving the complex logic to systems and components. Terasology opened my mind in a new and refreshing way, giving me a better perspective on other open-source projects and the asset management.
I enjoyed adding the bushes and UIs. These were fun to do.

7. Did you get in touch with our entity system? What was your experience?
I haven't yet. I was busy finishing the tasks first and of course school. I'll totally use this system later on, it does seem a hack though. But using it I will!

8. Did you get in touch with our world generation system? What was your experience?
I have made some cool worlds with this!!! It was fun and exciting at the same time, as that dream of mine finally came true!! In Minecraft the world generation is extremely boring and hard, making it not so much fun, contrary to this game's world generation system. I added my world and made a new tasks around this topic, also updating the Wiki and adding a new page. It was the best task in my opinion, as it was more about the thought process than actual code. By this I mean, you'd have to understand the meaning of a Facet, a FacetProvider and WorldRasterizers! Thought processes are more important than actual code sometimes. If you understand the system you'll easily code a complex implementation, meanwhile making an implementation on the system without any thorough understanding can really be a huge pain.

9. Did you work with user interfaces via NUI? What was your experience?
I did, I do find some of the structure rather confusing, but it makes sense after a while. Mainly because I was quite new to JSON.

10. If you (or your friends) participated in other organisations, how does Terasology compare to them?
I took part in 2 other organization's GCI entry, but I quit those this was a WAY better option. I'm a Java developer mainly, and I come from Minecraft, making this game way better for me to develop for. I do have a friend called Thuan (A smart guy!) who also participated in GCI and he joined the Score development, he found his mentors really good ones, giving him the support and for being simply amazing. Terasology compares quite badly with those other organizations, as in a bad comparison. This is a game, and the others are quite different. Mentor-wise however, I think this organization does pretty well. I do not have the experience with the other organizations, so I won't be comparing them. The mentors are nice people and think they should remain mentor as they're doing a pretty good job right now too.

11. If you could add one thing to Terasology, what would it be?
I have a bunch of ideas, but I'll write two down here.

First of, LOTRModule as I described in my task "Describe a new mdoule in your own words" (Check it out!! It's the best!)

Secondly, I'd add some module to form a bridge between world generation and the template structures. This would make many things possible. You'd be able to literally build and transfer it into world gen code! I have discussed this with Cervator the Cervela before on IRC. You should be able to do the following using this system:
  1. Make the build in a random world
  2. Use the structure template tool to convert it to JSON
  3. Get a rasterizer out of this Json using some component or system
  4. Finally, hooking this rasterizer up to the world generator

12. Anything else you'd like to tell us?
It's yeh boi Uncle puggy! I'd like to thank everyone for offering us students such an amazing community to work in. A safe environment, but at the same time really serious in terms of experience. Nothing more I'd wish for as a young programmer, thank you.

Sincere,
Tim (xTimPugz) Verhaegen
 

jellysnake

New Member
Contributor
Architecture
GUI
1. Tell us about yourself again!
Please mention your name on the GCI website, as well as GitHub and IRC nicknames.
So, my name is Quinn Roberts. Username pretty much everywhere is jellysnake (including Github, IRC, reddit, steam etc. Add me peeps!). I'm an Aussie by nationality but British by birth. One of/The resident rainbow of Terasology (NB and fabulous).

2. Which task did you enjoy the most?
In terms of specific tasks, I really the enjoyed the single instance tasks that felt like they were adding useful things. Like for instance the "Design a test plan for the Potions module" and the "Create an overview of core NUI widgets" tasks. From a more coding side, I think my favourite task was "Develop a simple interface screen" because it allowed me to learn about the Potions module and NUI better whilst also again being helpful. It also helped me to gain a better understanding for the following tasks which was neat.
In terms of general work I did during GCI, I quite liked adding the new UI widgets for the Tab box and for the Radial Menu which I should have finished soon. I also am enjoying the work I'm doing on the inventory module, namely extracting it and then providing an alternative/reworking it (I need to talk to Josharias).
Overall I think I liked implementing the systems or ideas of other people, especially those of other GCI students because I think it's nice to see your idea be implemented even if you can't.

3. Were there any tasks you could not complete? If so: what was the reason?
I managed to finish the first world generation task but wasn't able to finish any of the others. I think this is due to personally not really understanding the world generation problem. I know however that the difficulty was not too high as many other students were able to complete them. They also enjoyed them a fair amount so I think they were a good addition. Probably something about being able to generate you own entire world and then play in it providing a neat feedback.

4. What was your experience with IRC?
I love IRC way too much. It was something that I've used extensively before and I think that it's a really good and easy thing to use. As for my experience on the Terasology channel, it was really good. It's nice to see that there are a ton of mentors and non-mentors on IRC so us students know that it's actually a thing used and not just used for GCI. It really makes for a welcoming feeling. It could be perhaps useful to have an IRC conduct to avoid excessive pinging for those that don't like it or similar.
Having Gooey is really helpful, particularly the Messenger feature (tell) so you can make sure someone will get it even without you or them having to be there.
Lastly huge thank you to SkySom for letting me use their IRC bouncer because my internet is so crap :p

5. How would you rate our Git workflow? Did you run into any issues while setting up the environment?
(I'm going to include gradlew in this because there isn't a separate question for it)
I have already used git before for some other project and so had a knowledge of the basics. I had a bit of trouble with the whole, branch -> Push to your own fork -> Pull back into main repo, which could be explained a bit better. Also it might be useful to have links to or a specific git tutorial on the basics as I noticed a bunch of other students having issues with the git fundamentals (which is something the current git tutorial glosses over).
Gradlew was awesome and super helpful. The requirement of re-downloading all the dependencies of each module every time a command is run is super annoying but was solved by simply having the source for all the modules. What would also possibly be useful is something like a FAQ where the most common commands and their uses are listed. I noticed a few people (myself included :) ) who ran gradlew game without running gradlew jar previously. Also letting people know about being able to chain commands, ie gradlew jar game.

6. Did you get in touch with our asset system? What was your experience?
Adding new prefabs was, in theory easy. There was a bit of difficulty stemming from actually working out what parameters and components were available. This is also compounded by there being no easy way to work out the class of a component from the source because the prefab is a text file. This is probably easily solved with some basic info on the wiki of that module that just lists the types of components available.
Texture and other assets were easy to add. However it is probably wise to enforce power of two and small images as I found out earlier on :p.

7. Did you get in touch with our entity system? What was your experience?
I am a huge fan of ECS systems, having implemented a few for other projects/games. I found the way terasology implemented and used the ECS a tad confusing to begin with but once I dug into it more I found that I really enjoyed it and found that it's really powerful. The method of using events to send entities to be processed by systems is really useful in the modular context of terasology. I used the ECS many times throughout the last month and a half.
I think one thing that could be really helpful is making each module have a list of the events it fires or listens for on it's wiki, as although you can go through the source this can be a tad confusing. If you simply want to listen to one event and don't have the source already it can be a pain.
I think it would also be worth to perhaps ideally highly suggest using events over direct function calls as it means that less things break when a module is changed (Or in my case, moved from core)

8. Did you get in touch with our world generation system? What was your experience?
I touched the world generation system briefly but found it a bit too confusing for me. From what I've seen/been told about it has some really useful features but for me it was just too complex. My issue mainly stemmed from my own difficulty with the per chunk method of generation that Terasology uses. Again, judging from the success of other students with the system I think it's probably just a personal thing.

9. Did you work with user interfaces via NUI? What was your experience?
Ah, one of my favourite bits :)
I added some more widgets (which I need to just finish) and was pleasantly surprised by how easy this was. I quite liked the ease of designing the screens from the prefabs, seeming nicely intuitive.
I found the NUI Editor in game to be too clunky for me and stuck to simply editing the prefabs and reloading the screen in the world. (Praise be to the hot loading of changed assets). I think this is also a personal issue as well with some other students using it and finding it fine/easy to use. I think there could be a guide on how to link a system to a screen and have the system update the screen as this was an issue I had with the potion status screen and I know VaibhavBajaj had a similar issue.

10. If you (or your friends) participated in other organisations, how does Terasology compare to them?
I was the only one of my friends that did GCI, cons of having non-programmer friends. I had a look at the other organisation's tasks and found them all to be to complex or not involved enough for me. A lot of them were attend an -insert- and do -insert-, which I didn't like doing. Overall I think also Terasology has an advantage of being a game and hence for some people (Like me) much more interesting than "Compile BRL-CAD from source repository". I had a look at some of the Wikimedia tasks and contemplated doing some but they were not as welcoming as the Terasology folks are ^-^.
I think that is a big thing in general for open source orgs, which is something terasology is good at. A lot of the other ones are established and really serious. You have to do it like this in this exact manner, which has it's uses but is really constricting to people wanting to join in and help. Terasology has just enough freedom that people can actually do stuff and feel like they are helping.

11. If you could add one thing to Terasology, what would it be?
Honestly, amazing kickass support for optional modules. A way for module to integrate with each other without needing the other there. This I think is a big missing factor for new modules etc. It would mean for instance that potions doesn't need to depend on InGameHelp but rather could simply provide an page if the module was activated.
As the system is at the moment I feel it will become too interlocked and connected. This is something I plan to write a post on possible solutions in the immediate future.

12. Anything else you'd like to tell us?
I just wanted to say thank you to everyone for renewing my interest in coding. I was in a bit of a slump and was finding anything I worked on got boring within a few days. Now I'm reminded of why I love coding so much and everyone can be assured that I plan on staying for a long while after. Terasology is something I've grown to care about and I think it has promise and I'm ever so glad that I decided to do this GCI thing. I'll be here for a while 0/
 
Last edited:

Gautam Naik

New Member
As this year's Google Code-In is coming to an end, the Terasology project would like to hear any feedback you have on the competition. Please reply to this thread with a filled-in copy of the survey template below! (And feel free to claim & submit the "Recap your GCI experience with Terasology" GCI task after you've done so.)

Code:
[B]1. Tell us about yourself again![/B]
Name on GCI website: Gautam Naik Github name: MasterGN IRC: Gautam/MasterGN

[B]2. Which task did you enjoy the most?[/B]
I enjoyed adding a basic equipment piece. As I am still a beginner, I didn't know much about how to do the task, but the mentors really helped me understand the task and help me to complete it, which made the experience a great one, and led to completing another task.

[B]3. Were there any tasks you could not complete? If so: what was the reason?[/B]
No, there weren't any tasks I could not complete, except for launching the game, but that was because of my laptop's incompetence. The tasks weren't difficult, and even if they were, the mentors were really helpful and that made the task really easier. 

[B]4. What was your experience with IRC?[/B]
Everybody on IRC was really friendly, and tried their best to help solve any problem I had.

[B]5. How would you rate our Git workflow? Did you run into any issues while setting up the environment?[/B]
No issues!

[B]6. Did you get in touch with our asset system? What was your experience?[/B]
No, the templates and examples made it much easier.

[B]7. Did you get in touch with our entity system? What was your experience?[/B]
I didn't claim a task regarding this.

[B]8. Did you get in touch with our world generation system? What was your experience?[/B]
I'm a beginner, and I was a bit late, hence I didn't get in touch with the world generation system.

[B]9. Did you work with user interfaces via NUI? What was your experience?[/B]
Did you create new screens or even work on core widgets? Were the NUI editor or TutorialNui repository helpful?

[B]10. If you (or your friends) participated in other organisations, how does Terasology compare to them?[/B]
Moving blocks was suggested to me by a friend, and he had a really good experience with Terasology. The descriptions of the tasks to be claimed were better than any other organisation.

[B]11. If you could add one thing to Terasology, what would it be?[/B]
I would add a new feature, in which one can create his/her character, which would be like his Mii (from Nintendo Wii) which he could customize, according to his wish.

[B]12. Anything else you'd like to tell us?[/B]
Hey Cervator, really liked doing the tasks, I'd love to help after the competition ends! (I won't be of much help, but still)
 

Benjamin Amos

New Member
1. Tell us about yourself again!
Here, on the Google Code-In website, Github and IRC my name is always BenjaminAmos.

2. Which task did you enjoy the most?
Personally, I think that my best and most enjoyable task that I did would have been the SpeedBoost block for the FunnyBlocks module.

3. Were there any tasks you could not complete? If so: what was the reason?
I have completed all my tasks however I found the world generator tasks quite difficult.

4. What was your experience with IRC?
The only time i used IRC was to work on a task for GooeyJr. Due to this, I cannot say much about the IRC channel as there did not seem to be much activity going on.

5. How would you rate our Git workflow? Did you run into any issues while setting up the environment?
The only Git mistakes were my own. Github and Git worked together seemlessly without any issues. From my perspective, from a complete beginner to Git, the workflow had no issues. The gradle script also helps to automate things.

6. Did you get in touch with our asset system? What was your experience?
The asset system was intutitive and easy to learn. I had no issues with it.

7. Did you get in touch with our entity system? What was your experience?
It did take a while, coming from a Object Orientated Programming background, to become used to the Entity Component System but once I had things working it went almost completely smoothly. The only thing I found was: what is the point of Block.setDirection? To set the direction of a block requires a completely different way of doing things (code is somewhere in here).

8. Did you get in touch with our world generation system? What was your experience?
The wold generator system was hard to use as its tutorials are out of date and the code provided in the TutorialWorldGeneration repository differs from the one provided in its wiki. This might just be my lack of understanding but it seemed that the system would crash the world after generation when over certain block counts. This only occured after the player starts to move.

9. Did you work with user interfaces via NUI? What was your experience?
No, I have not worked with user interfaces so i cannot comment.

10. If you (or your friends) participated in other organisations, how does Terasology compare to them?
As far as I know, only I have participated in the competition and only with Terasology.

11. If you could add one thing to Terasology, what would it be?
Whilst the NUI editor can create UIs, you need to make a prefab to use them. What if you could use a special item on a block to make it show a UI with special events hooked up (for advanced users). This would have to be serialized with the world but could also be exported to a prefab.

12. Anything else you'd like to tell us?
Response times: phenomenal. I can leave a task overnight and get it reviewed by morning! It must be a huge effort to keep such a constant pace with the amount of tasks coming in. I would see this to be one of the most critical things that an organisation would need to be when chosen by participants. I rarely give compliments however this is most certainly one. I've really enjoyed the challenges of Google Code-in, learnt a lot and am very appreciative of the feedback that I have been given. Thank you.
 

J Young Kim

New Member
Contributor
Design
1. Tell us about yourself again!
I am J Young Kim on the Terasology website, and TheJYKoder on GitHub and IRC.

2. Which task did you enjoy the most?
I very much enjoyed any write-up related tasks, to the point where I started to do write-ups that are independent from GCI tasks. I love writing about suggestions/potential plans, more than coding. I also receive enjoyment when I see others look at my suggestions and then comment on them... the comments make my day :D

3. Were there any tasks you could not complete? If so: what was the reason?
Due to my lack of skills and experience, I failed to do many of the coding related tasks. In addition, my interest for write-ups may have also influenced me from pursuing programming tasks. I wouldn't say that the tasks were hard, but rather, a matter of time... and I found more enjoyment in writing than coding.

4. What was your experience with IRC?
I would have to say that the IRC was the most enjoyable part of GCI for me. It's where I dwelled most of my time when I'm not doing GCI work. The friendly community was always something to look forward to when logging into the IRC.

5. How would you rate our Git workflow? Did you run into any issues while setting up the environment?
At first, I was very confused regarding Git, and my IntelliJ would crash a lot. However, with Cervator's help, I was able to start working with Git/GitHub more effectively. Setting up the environment, I had no issues, aside from IntelliJ not cooperating with me. I would say that I cannot judge the workflow, since I did not fully immerse myself into it.

6. Did you get in touch with our asset system? What was your experience?
I added many Prefabs and textures to Terasology, and I thought that it was relatively easy. I found minimal difficulty, the hardest part was drawing or getting an idea of what to add.

7. Did you get in touch with our entity system? What was your experience?
Unfortunately, I believe I have no touched the entity system, aside from doing some JavaDocs on it. The system did make sense, though, as I understood the system from a wiki page regarding the structure.

8. Did you get in touch with our world generation system? What was your experience?
I attempted to do the World Gen task, but I would have to say that I found minimal interest (sorry!). However, I was able to complete building the tutorial world from the Wiki Tutorial.

9. Did you work with user interfaces via NUI? What was your experience?
I did an intro NUI task, and I found it useful to know. The NUI's aren't as complicated as I thought, and I plan on mastering NUI if I decide to take it upon myself to implement some of my ideas for modules.

10. If you (or your friends) participated in other organisations, how does Terasology compare to them?
My friend participated BRL-CAD for GCI, and has told me that he has stopped mid-contest because of the lack of help offered. With this review, I would say that Terasology's community is not only helpful, but more fun and interactive.

11. If you could add one thing to Terasology, what would it be?
I have many things I want to add to Terasology: check them out on the Suggestions forums :D

But if I had to choose one, I would like an educational module, since I believe that Terasology is an excellent people to get people into coding.

12. Anything else you'd like to tell us?
I would like to thank MovingBlocks (especially Cervator) for allowing me to realize that I don't have to be a coder to contribute to Terasology. I also would like to thank all the wonderful people on the IRC who has made my bad days into days of fun events. Unforunately, since I tended to be on the IRC during the evenings (EST), I failed to meet and interact a lot with the other mentors aside from Cervator (although, I've heard great things). I hope to meet and interact properly with all the other mentors after GCI :D
 

eviltak

New Member
1. Tell us about yourself again!
Hi! I'm Arav Singhal, 16 years and a week old, eviltak on GitHub, IRC and everywhere else.

2. Which task did you enjoy the most?
I really enjoyed working on #2668 (FlexibleConfig). It was a really good code design and architecture challenge. All tasks I did for Terasology were really fun, though.

3. Were there any tasks you could not complete? If so: what was the reason?
Contrary to other organizations, there weren't any tasks I abandoned or couldn't complete. None of the tasks in Terasology were boring or complicated enough for that ;) I saw task that were given 5 days to complete but for which people (not teenagers) experienced with the code base would easily need a week at minimum.

4. What was your experience with IRC?
When people are online - pretty good. When no one is - not so much :)
I guess I can owe the inactivity to timezone differences and me doing lots of stuff at the same time ;)

5. How would you rate our Git workflow? Did you run into any issues while setting up the environment?
As a person who is experienced with Git, I ran into 0 issues. All I had to do was hub clone MovingBlocks/Terasology, hub fork, ./gradlew idea and idea. No problems whatsoever.

6. Did you get in touch with our asset system? What was your experience?
7. Did you get in touch with our entity system? What was your experience?
8. Did you get in touch with our world generation system? What was your experience?
9. Did you work with user interfaces via NUI? What was your experience?

No, I didn't work with either of these systems, unfortunately. I worked with the entity system a bit when working for #2601 (long story there, I concluded that the issue requires a complete lighting architecture change after combing through the seemingly unrelated entity system). All of my work was with the main engine, though. Mostly with the rendering engine. The rendering engine's DAG approach to rendering tasks was something I had never seen before, and is a really good way to express rendering tasks and task dependencies that I had never encountered before.

10. If you (or your friends) participated in other organisations, how does Terasology compare to them?
Terasology is certainly one of the most accommodating orgs on GCI 2016. Mentors would even approve tasks before the corresponding PRs are even reviewed on GitHub, contrary to orgs who wouldn't accept screenshots of their app running on a live device instead of an emulator, or wanting me to post something on social media websites I aren't even a member of after completing the task.
If I had known that individual organization contributions count towards winning, I'd have stuck with Terasology from the start ;) (not that winning is my primary aim though. GCI and Terasology have taught me a LOT.)

11. If you could add one thing to Terasology, what would it be?
I know I can go for something better like new blocks or biomes, but dynamic voxel light propagation and global illumination is something I'd like to see in Terasology. I have sort of a fetish for good, dynamic GI and lighting :p so much that I'd personally work on the implementation.

12. Anything else you'd like to tell us?
Special thanks to @Rostyslav Zatserkovnyi, @Cervator, @manu3d and all the other members of the MovingBlocks/Terasology team, and to GCI for introducing me to this wonderful project. You will be seeing more of me :) Terasology is now officially my go-to open source project to contribute to in Java, a language I wouldn't use for any personal projects. Now all I need is a few Rust developers ;)
 
Last edited:
Top