Author Topic: How much programing knowlege do i really need to master make a touhou game?  (Read 5745 times)

So I have been mess with C# and a bit unity engine for three month now, not getting any better, the more I learn the more"what the hack is that?" there is.
By now I still don't understand the the algriothem behind touhou danmaku, how to cast bullet so that it make illusion of ziagging,fly in cuve or other movement even they all fly in stright path? how to achive certain shape or patter? also the UI for touhou game.

I usually spend three hour every day learn programing, I know it would become more confusing before it get better.

So how much programing knowlege is really needed for make a game like touhou? First I am thinking within few weeks of my spear time I can at least get a game out and start debuging and tweaking, certainly i taken it too simple and if programing really is such simple thing, good phone apps, program, games would be everywhere by now.

Chronojet ⚙ Dragon

  • The Oddity
  • 今コソ輝ケ、我ガ未来、ソノ可能性!!
One thing's for sure, three months' worth of experimentation is not enough for you, it seems like.

Generally the most basic approach is to try and break down what you see in, say, the HUD of a game (the sidebar), and come up with a step-by-step approach to building a replication of what you see in in-game. I tend to play around with image rips in an editor to see how they are laid out as if in a game, for example, before actually writing the implementation for the HUD in my preferred language of choice. When it comes to danmaku, it helps think more mathematically - for example, you mentioned bullets that fly in sort of a "zigzagging curve" pattern - that phrase should bring sine waves to mind. How can you include a sine wave in the logic?

It took me a couple years' worth of trying and failing to become what I am today, and of course I'm still not the best since there's always room to improve.
Programming is NOT simple by any definition whatsoever. It merely looks like magic to the average Joe, and it seems you may be under that very false impression, the illusion cast upon you by some other programmer.

Just give it more time and keep at it. Within a few months, if you start from scratch, I imagine you can get the demo version of a game finished. Good luck.

Dark Kitsune

  • Code Fox
I'm not entirely clear on how much you've used Danmakufu but, if you're completely new, I'd suggest you start with editing Rumia Ex and doing basic bullet control and timing, build your skills and knowledge from there. You can reduce the amount of code you're working with to just the basic stuff on the surface.
Actually it may be good to do the same even if you're not completely new. As you learn more you can kinda replace parts with your own and figure out your style and strong points, while still having some code behind your project for things you don't understand.

And yeah, for when you have specific big things in mind, do like Chronojet ⚙ Dragon says.

Oh, and... Make backups a lot. If you play with system code with not a lot of experience, it can be easy to mess something up and not know how to fix it.

This is just how I started off but I am not nearly as experienced in Danmakufu as others around here.

Edit:
As for simplicity of programming, it really varies. If you have premade stuff and you only have to deal with controlling that premade stuff it's pretty easy. As you start doing more and more yourself it starts getting more complicated and taking more mind power to keep track of how everything "interacts".
« Last Edit: May 09, 2016, 08:54:02 AM by Dark Kitsune »

Mеа

  • catnapping
  • three dots connect to rectangles
Coding is a lot like the spoken language, say for example English. Where with natural languages you convert immaterial thoughts and ideas into sentences of sound syntactical and semantical meaning so as to properly convey your original intentions, with computer languages you convert math into code.
So there are two sides to coding: knowing the language and knowing the math.
Like with any language, the more you speak it the more you become fluent in it. And the more languages you know, the more easily you can pick up on other languages. So I suggest that you focus on the math side at first. And for that, I suggest that you start with danmakufu because there is an active community of very nice and friendly people here who can help you in the Q/A thread along with the plethora of examples, tutorials, and resources that are available. Also since danmaku style games seems to be your short term goal for the moment, which is very math oriented.
You want to be very solid on your trigonometry. Specifically related to danmaku, study and grasp the differences in how generating bullets in each of the various control-flow statements (if-else, for, while, switch, etc) affects how the bullets behave.

Time frame-wise, just keep at it. You will get better if you just keep at it. I also suggest taking breaks if you get stuck, there were many times that I would do something else for a little while and notice something immediately when I get back. The brain needs a rest, but also seems to think about these things in the backburner.
Naked expression; purple raspberry flavour

To make a bullets patterns, you must understand these parameters
- velocity. Both of [vector x,y] and [vector length and its angle].
- spawn time.
- spawn location.
- World space and Local space.
- Attach to, Detach to.
- Objects orient programming.
etc.

Function sin is necessary to make a curvy movement.

Math and geometry is necessary.

Sage Ω (Ultima)

  • CEO at Team Eternal Desire
  • ??? X
I say basic knowledge of the language you're using is good enough. Touhou isn't complex at all. I designed a Touhou styled engine in C# using XNA back when I was learning C#. Unity idk, the engine is abit too advanced for such a simple game like Touhou so I can understand it feeling overwhelming especially when Unity 2D isn't very user friendly to say the least. C# is an easy language to learn so I don't think it should take you any longer than a month to get something off the ground. It really depends on the engine you use you have many options including the option of making your own which I wouldn't really recommend if you are struggling using a pre-built engine.

If there's something you don't understand in particular you should try asking for help(as in getting advice or small tutoring) rather than forcing yourself to understand something you do not even know. Programming is only as complicated as you want it to be, meaning that if you try to do simple stuff then it isn't very difficult, and if you try to do complex things then it may be more difficult than the simpler aspects.

As for C# itself, Unity uses a version of C# that is not up to date with the current C# and .NET standard, so keep in mind that you may need to find alternatives to solutions that would otherwise be easy in a normal C# situation. I don't even think Unity's version of C# includes LINQ which is a very important part of .NET and many C#/VB/F# programmers rely on it heavily.

From one programmer to another, try not to let your emotions effect your code. If you find yourself getting frustrated just take a break. Sometimes you may need an hour or two, sometimes a day or two, etc... Anger and frustration makes programming more difficult because it reduces your ability to think logically which is the most important part of programming.
« Last Edit: July 27, 2016, 05:57:06 PM by Sage Ω (Ultima) »

Helepolis

  • Charisma!
  • *
  • O-ojousama!?
There is absolutely no reason to bump up a month old thread when the original user is no longer responding. Locking this thread.