Sunday, December 15, 2019

What's up latelly?

Hey guys. Since the break I've given on TNR project, this blog has been quite... Quiet. Of course It has been, I haven't been writing anything here (obviously).

Since TNR project has been paused, I'll try talking about some things unrelated to the project, and also something related to the project too.

TNR Project

To begin with, I've thought about changing how the game "approach" the player on It's first contact with the game, instead of the game questioning you a lot of things, like name and second name, I thought about making so It only asks for your character nickname instead. There is no point in asking the name and second name of the character, even more since the player is... Well... You. Unless you want to expand the lore of your character or something but... Well.. Let's leave the name and second name fields for the npcs, instead. They need it more than the player.

The second thing I thought about changing, is how the game begins: Before entering the game world, a monster without form could speak with your character, asking you some basic things of your character, like nickname, age and nation. After that, the monster could ask your help to choose It's form, which is when you'll tell what monster It will be. At first, I thought that was a good idea, but actually, It is. It's like as if you were invited to the world of Tamers Network, by a creature you just met.

After that, you end up being sent to the Login Island, and so begins your adventure. You may ask yourself, "Why all characters are sent to the Login Island, independing of the nation you pick?", and the reason is simple: I'm pretty sure that a number of players will choose different nations to play as, but that doesn't means his friends will pick the same nation as his, so the login island allows you to pick where you will start the game, be it a town of your nation or not, and since I have no plans on locking quests and stuffs to a specific nation, that means you can, for example, begin the tutorial in a Spanish town, when your character is Brazillian.

I guess that's enough TNR talk for now, I will need to put that planning on practice some time later. Now, let's talk about other things, like my modding trek (liked the name?).

TerraGuardians Mod

Making the companion mod was an awesome thing, and it is, but Terraria has grown old for me, since It's mechanics are very centered into getting new equipments and tackling the next challenge. One thing I'd like to change on the mod is to make the companions more alive, since right now, the only thing you can do is ask them to follow you and help you in the combat, or leave them in the town and protect your citizens, aswell as give quests. Would be cool to see them interact with the world around them, and possibly do things I don't want to do, like alchemy.

One of the things I wanted to do, was adding a mood system for them, their mood would change depending on the environment and the recent events that happened. The problem is that I would need to split the head sprite from the body, and animate different facial expressions to the companion.

But I have to say, programming the game systems and then part time spriting the new guardians isn't an easy thing.

Java Programming

I've been playing latelly with Java, to practice what I learned on my programming classes, and boy, the things I've learned are helping me a lot to discover a lot of things related to programming itself, aswell as showing me things I can do to help on the development of programs and games. I can literally create a buffed version of a system in the game, by overriding their classes, so If I want the game to get the main player controls before the game updates the character movement, I can just override it, add a call to the base version of the method, and before that call, add the script to get the player controls. I've been playing with that on Java, and to practice, am making a little game on it. If the game gains enough progress, I will talk more about it, and even show images of it.

As of now, the only things I got working were: Characters and their animations and map drawing. Aswell as other systems like classes, monsters, player stuffs and etc. Those things doesn't configures the game as ready, but at least a small percentage of the game is completed.

Java Itself isn't really that bad, It's like... C# 0.75, because It has a number of features from C#, actually, It does look a lot like C#, but it isn't. There are a number of features from C# missing, and a number of methods in Java functions differently. I don't really say that Java is bad and lacking, but I surelly preffer a lot to program in C#. But at least Java is multiplatform, right? Beside you can extract the entire project source with any zip program...

I've been thinking for some time about moving to Java when making the TNR project, even more since It seems to have more support than XNA, but making the project in C# would probably be safer and beter than Java. If there were another engine I could use to build my project on using C#.

You may be thinking now, "Unity", and other engines. The problem with them is that they now need a 64 bits computer, and my computer right now is 32 bits, so I can't run that kind of engine anymore. Godot Engine I tried to use, I couldn't get into the programming method of it, and trying to make use of the C# port of it gave me more headache than result, since I couldn't actually make it work.

Well, better I end this wall of text before you fall asleep on the keyboard.

Until next news. Also, did you liked the news splitting? :3

Monday, November 4, 2019

I guess I overdid it on TNR Project...

So guys... I have to tell you this, and I should have told weeks ago, but I was planning to try doing something else before giving the news, but currently It isn't really possible to do.

I kind of overdid it when developing TNR Project, which caused the game to have a "mutated code", based on something a friend told me before. The mutated code happens when one does several changes on the system, keeping the old ones in the program, so not only that may cause bugs, but also causes confusion during development, aswell as many other things. That means I would need to rebuild the entire game system.

I doubt It would take too long for me to rebuild what the game has right now, and I really mean rebuild, like... Not reusing codes from the old version of it. The problem is that my hands are full right now, so I really am having a moment to work on the project.

I'm not sure wether, or if I'll manage to return to the game development anytime soon, or if It will take some time, but due to the programming classes I've been taking this year, I've got a better understanding of what happens when I code something in a project, like for example, what is the paper of the variables. That will clear some confusion in my part, aswell as break a chain on me, which were causing me to be very cautious during development, includding aswell new tricks I've learned, and am still learning.

Another problem that the project had, is that I were focusing so much on the battle system, that I ended up neglecting 90% of the game. For example, the main menu had occasional crashes because of the battle system, the maps had some artifacts, the map editor was clunky, and the quest system was bare bones, nearly non existing. Without counting that you could count on your fingers the number of items the game had.

And the last problem, is the fact that I'm still using XNA to develop the game. It's not exactly a shame that I'm using such an engine, It actually works. I can't actually use Monogame, since It requires a 64 bits computer to be able to run, aswell as does Unity, and many other game engines.

I've thought for a moment about trying in the future to develop the game in Java, since based on the classes I were taking, It's very similar to C#. The problem Is that I also know of the problems java has. One of them is that you can extract It's source by simply using a zip extracting program, allowing the game to be modded (what isn't much of a problem) or possible to be used for cheating purposes (what is a problem). Of course C# has the same problems, but isn't as easy to hack as Java in that matter.

The other problem, is that Java takes quite a good chunk of resources from the system, that wont be a problem If you have a good pc, but what about people who has less powerful pc? Like me?

Thinking about all those problems gives me quite a headache, but I still am willingly going to try making my project see the light of the day, but I don't know when.

I'm not saying "It's dead, Jim", but, I don't know when I'll get to continue it. And If I do, you'll certainly know here.

Thanks for your interest in my project.

Friday, October 18, 2019

What has happened latelly.

Hey guys, well... Well, I'll be going direct to the point.

The last weeks I haven't been messing with TNR project, I've been spending a lot of time on my tModLoader mods, trying to improve them and add new cool stuff. The fuel people give me by showing how much they liked the mods is being very motivational for me to keep going on, so that's why I'm in the kind of creek I am right now.

If you don't want to read through my adventures on modding, scroll down until you see a red /!\.

Well, before you start pulling your hair, I'm not in trouble or anything, but I thought that would be nice to add a companion on my companion mod before halloween comes, and then I made an undead companion. The problem? Well, I didn't wanted to make it's recruitment to be that easy, so I've added a boss fight to make him recruitable. So yeah, I've spent about 5~7 nights developing the boss and It's attacks.

Currently, the boss itself is complete, beside I may have to do some more testings to see If It is working as intended (even more on Expert mode, I didn't tested it's variant), after that, I will need to add a ducking animation to it and voilá! Done.

What actually would call the attention of those who faces the boss, is the fact that I added 2 things to it:

  1. I tried to make it be possible to face even on melee combat. I've made this with the idea I saw on a PC Gamer news, where they interviewed Koji Igarashi, about how his team makes bosses.
  2. Based on your world progression, It's status increases, and that isn't limited to Expert Mode only. So the boss will grow stronger as you beat challenges in the game, INCLUDDING MOON LORD.
Possibly, I may end up being able to finish all that before October 20th, which is when the Halloween event starts on Terraria. But my personal goal is not to take too long to launch the update and pass the imaginary deadline of October 31th.

/!\ End of Modding talking!! /!\

As for the project, after watching closelly the recent Cube World advent (I didn't played the new version, though), It lead me to think about a few things on my project:
I shouldn't try to make the game too different from what It is on the ultra wip version, would be a terrible feel If what I sent to you guys, was not what you expected of the game, compared to the ultra wip version.

The game is playable right now, even though my leveling up programmer senses keeps telling me that I should have done systems differently, trying to rewrite the systems would take me more time, meaning that the game would take way longer to be released, and of course that isn't good. I should try focusing on actually finishing the game.
I've worked too much on the Battle system, but the rest of the game is still bare bones. Even the map system itself is still messed up on some maps, and I didn't even implemented interiors yet. The quest system is nearly non existing, as the population of npcs in the world (Beside I will need to think how they could exist in the world, be interacted without causing performance problems).

And possibly I'll launch the game earlier than intended, of course I'll have finished a good part of it's systems, but maybe with people feedback I can make the game be so freaking awesome in the end.

Well, that is it, for now. Until next news.

Sunday, September 15, 2019

News about the new Skill system on TNR project

Hey guys, long time no news, eh? Sorry for that, the mod has been taking my time, both on playing and developing, hehe. Well, you probably doesn't want to know about the mod development stuff, so I'll talk about TNR project.

I've been able to partially implement the new skill system, where the time is logged when the game updates, and the drawing stuff only happens if the player is currently watching the battle. Why the partial part, you ask? I'll have to convert the skill scripts to the new system, I did part of the conversion during the last few days, I'll do the rest the other times I mess with the game.

You may think, "Wow, the game must have so many skills", but doesn't, It's because due to my messy schedules during the nights, I generally have a low amount of time to spend developing the game, part of the blame goes to a certain mod...

*Cough* Well, continuing, the new skill change also caused a change on the battle system, so there is no longer monsters with inconsistent scale fighting each other, or effects appearing on the wrong place (or just jumping around). I've moved some of the positioning and direction scripts to the drawing part of the battle, and now they look way more beautiful. When I finish those changes and converting the skills, I'll show you how the battle system look right now.

The only downside, is that due to the changes, I had to temporarily drop the physics on the battle, because that would demand from me some more work to implement, aswell as thoughts on how to make the drawing and updating part of the battle work together, so one doesn't bump into the other's turf.

Well, that is it for the news. Sorry for taking so long to bring this project up, can you even believe that Cube World is about to be launched soon, and this project isn't even on release state? Beside this project somewhat were in development for way longer than Cube World but, well, better I try recovering the whatever is the name of developing this game, so I can finish it and let you guys play.

See ya next time, and until next news. Thought I wasn't going to say?

Wednesday, September 4, 2019

I guess I ended up lying in the last news...

Oops, sorry for not giving any news since the beggining of the last month, I was getting so much into adding cool stuff and importing some things for my companion mod, that I even didn't had the time to work on the project.

The TNR project isn't abandoned, but I were having to spend some time on my companion mod because, since It's being built from the ground, without the help of the player or npc related codes, I'm having to import several things on it, so yeah, I'm spending time making them be as capable as the player on several things, like for example, they can now get buffs and debuffs.

But I have to say, messing with the mod is improving my programming skills, I'm also developing better methods for both scripting and spriting, and possibly I can apply that on the sprites of TNR project.

So, saying again: I'm sorry for lying and ending up not working on the tnr project.

I wont say "I will try working on the project this week" or stuff, because that didn't happened last month, so better I tell you guys when I end up messing with the project, and possibly bring in cool news about what has changed.

That's all, folks!