Advertisement

I wanna learn, I WANNA LEARN! C# Unity

Started by October 04, 2014 06:44 AM
7 comments, last by DiegoSLTS 10 years, 3 months ago

Thanks for giving my post a look.

I am an engineering graduate who realized he should have done computer science instead of aerospace in college, and now I intend to teach myself everything I should have learned in college instead of lift and shockwaves. I had some good working experience using coding to solve problems in my studies, so I think I have a strong grasp behind the more logical/mathematical side of coding.

And I've spent all summer now brushing up on coding language (I've dabbled in C++ and now I'm focused on C#), so between my introductory programming class in college and my own study I believe I've got the basics down on actual coding, I want to really start delving into the nitty-gritty now. And I'm trying different methods of learning that, including online text tutorials and youtube tutorials, but I'm beginning to think that the fastest way I could learn what I want to do is to take a look at some source code of a successful example and sort of retro-engineer the wheel instead of reinvent it.

Like I said, my top priority right now is to learn learn learn. I'm not concerned with making anything that is ground breaking right now (although I always try to add something special to all my projects, just to make myself invested in each one) and making money off of it is so far from my mind right now.

So my question is: do you know of good example source code I could work through? Specifically, I want to learn how to make an isometric 2d turn based strategy game, like Civ or Fire Emblem. Ideally, I'd love to find example code of how to make those in Unity so I could reproduce it, as I hear that Unity is a great place to start.

v/r

Cowboy

v/r

Cowboy

Reverse engineering uncommented code is a nightmare. Even well commented code for a whole game is so complex and contains so many pieces, it's just not really possible for somebody who didn't create the game to easily understand it and learn from it.

Learning the structure of a game engine like Unity, and how things work together, can be very useful.

If you're talking about making an isometric tile game, though, I don't know. Unity is serious overkill for most 2d games.

Unfortunately there aren't a lot of short cuts. Learning is a level grind, and not being able to do what you want to start out can be very frustrating (whether for programmers or artists, or anybody else).

By hammering at problems, you also exercise that creative thinking ability, which is a large part of the process.

I can point you in the right direction, if you want, I've done isometric stuff before. None of it is very difficult in principle.

Advertisement

You can always browse through github and search what you're looking for, there are plenty of unity projects up. Though, just beware there's no guarantee that the code is good :P

Also, I'm guessing you've already done so, but the Unity site has tons of tutorials that walk you through any of the modules. It won't tell you how to make a hex-based game, but it'll give you the foundation to start doing it on your own.

Sadly, I don't know offhand of any open-source hex-based unity games. Though there are plenty of rpg's floating around. Hopefully some of this will be of some help?

Beginner here <- please take any opinions with grain of salt

I'd like to say thanks to you guys. Even if you're sort of "shooting down" that idea, I find it crazy helpful to get your experienced opinion on which direction is a smart one to go in. If you say that the best way is probably just to hammer it out bottom up, then that gives me a lot of reason to go in that direction, Thanks.

v/r

Cowboy

Just wanted to note that my opinion isn't that experienced tongue.png I just wanted to post a couple resources, in the off-chance that it helped you smile.png

I think I need to change my signature to be like "WARNING: I don't really know what I'm talking about" It would save me mentioning it repeatedly in threads tongue.png I try to be helpful, if only to return the favor that others on this site have done to me, but I don't ever want to come across as though I have any sort of authority on the matter, or years of experience or anything.

edit* and done.

Beginner here <- please take any opinions with grain of salt

I wouldn't totally dismiss the idea of browsing though others' code. Even if you don't understand everyhing it might give you a hint on how to structure code. It is also very helpful if you find complete projects just to compile them and get them to run on your computer. Then start modifying them to see what happens and you will soon understand bigger portions of the code and the structure that is behind that particular project. After you have done that with a couple of projects you might start to see patterns that are worth keeping for your own projects.

When I started programming back in the ages it began as dissassembling raw memory and poking around at instructions to see what would happend. Today with Internet and so many projects giving out the actual source code to the entire project I would say that its a gold mine to learn from. Just go in with the mindset that you will not understand half of what's there and that is a perfectly normal feeling. Just start poking around in the code and learn from what happens.

Advertisement

Even if you don't understand everyhing it might give you a hint on how to structure code.

This is a good point.

As long as you aren't trying to understand everything, and just want a basic feel for it (and of course the project has intelligible class names, etc.), looking at how others structured their projects can go a long way.

I'm not sure how useful it is to poke around in their code, because either your tweaks work or they don't and there's not much you can do about it (either it was obvious in which case you didn't learn much, or not in which case it was just frustrating, for the most part), and it could cause more delay and frustration than learning, but that may just be me: Everybody learns in different ways.

I will say that tweaking a very well done project can be very inspiring, if not educational, for a novice, and inspiration shouldn't be undervalued (Although I think the OP is past that point).

My recommendation would be to go through unity tutorials, I recently made a game in Unity - the tutorials are awesome.

The tutorials will show you how to structure code, and how to get things working, I think they are a lot better than just opening someone's project and poking around.

In my opinion, the best thing is to go through few tutorials in sequence and implement everything they are talking about - keep pausing youtube tutorial and implement what they are teaching, even if you're not interested just in case it teaches something you'll need in the future.

If you get tired of sequential tutorials you will probably already have enough information about how to start on a project, then you can look for specialized tutorials for your specific project.

That's basically what I was doing, I coded a first person maze (you can look through my post history to see it if you'd like).

http://www.mildspring.com - developing android games


Specifically, I want to learn how to make an isometric 2d turn based strategy game, like Civ or Fire Emblem. Ideally, I'd love to find example code of how to make those in Unity so I could reproduce it, as I hear that Unity is a great place to start.

To develop a game you can use almost everything you learnt from previous projects, even if the games are completelly different. It's hard to find specific examples of real complex games because at that point the code is out of reach from begginers. Search for simple games, even if they don't have anything to do with the game you aim to create.

"Isometric 2D" is just a way to display the game, "turn based" is one detail on the whole gameplay, "strategy" is more to content and balance than actual coding. You need to learn how to handle user input, handle time and draw things in the screen (usually in that order), those are the first steps. If you use an engine like Unity you can skip steps, but you still need to start simple.

This topic is closed to new replies.

Advertisement