C # game Path-winform, wpf, directx, and opengl,

Source: Internet
Author: User

C # game Path-winform, wpf, directx, and opengl,

I finally approved the application and opened my blog. Although I have been engaged in java-related architecture for so many years, my favorite language is c #, unfortunately, many times I rely solely on the power of one person and cannot change anything. Now I plan to leave my work alone and do what I really like, the main purpose of my blog is to use c # To develop large games. My first goal is to use c # To implement a large online game like legend, this kind of game will be divided into the server and the client for separate development. My initial goal is to achieve the client first. If you want to know about the server, you can subscribe to me. I will write it later.

From now on, it is true that c #, eight years ago, is a little unfamiliar, but in fact many of the ideas are all figured out. Of course, to play games, you must first choose a suitable technology.

Today, I mainly listed four implementation methods that I still have a certain impression on.

Winform, wpf, directx, and opengl. Let's talk about my understanding of these four implementation methods.

 

Winform

Winform is the most familiar technology. I remember that when I graduated from college, I used winform for a crawling application, dedicated to crawling beautiful pictures on the Internet, so that when the teachers saw so many beautiful pictures, they gave me an excellent graduation design title. Haha, so the first thing I thought of was winform. For winform, the implementation idea should be a window with a drawing control in it, and then rewrite the drawing control to implement custom painting. The class used should be System. classes under Drawing. Here I think, to implement a game like legend, winform's drawing performance should be a test. In addition, there are many game animations, and many animations exist at the same time, this problem should be considered. My idea is to first create multiple bitmaps, draw the map to the memory in advance, and refresh the time in a unified manner, for example, refresh once in ms, that is, 10 frames per second. Once analyzed the legendary code, it is about 10 frames per second.

 

Wpf

About wpf, I also saw some related articles in my blog. Some people say that wpf is a completely rewritten plotting mechanism and can be accelerated using GPU, I plan to study wpf as well. If I understand it, I think the implementation of wpf should be a bit similar to that of winform, I found that the game control interface of wpf is very easy, such as dragging and dragging animations. Therefore, wpf is also a good solution.

 

Directx

Speaking of this, I searched a large circle on the Internet. After summary, most people think that directx is the best solution for developing games on the win platform and the most successful solution for games at present, however, after reading the related sdks, I found that if I used directx to develop a game and didn't have a suitable game engine, I wanted a man to implement a large game like legend, I feel like a person is building the Great Wall project, but if I use other people's engines, I find many of them are c ++ languages, but I am not very familiar with c ++, so, in principle, I think directx is a heavyweight solution and needs to be further understood.

 

Opengl

Similar to directx, it is also a heavyweight solution. The difference is that opengl is open-source, which is relatively less difficult to implement its own game engine, I remember that my favorite "Diablo 2" in the past seems to be using opengl. If we look at the client, diablo 2 is similar to legend. However, the implementation of Diablo 2 is more complex than legend because legend has only eight locations. Diablo 2 should have more than eight locations, so we need to know more about it.

 

Today is the beginning. It seems that it is not a good habit to send an article on the blog site without sending code. Haha, but this article is the beginning. To be honest, it is a large-scale project, especially if you don't have a penny, it's just your own hobby. It's easy to give up, so you can open a blog Park and write it out, I also hope to get support from more people. In the next article, I will officially start talking about this project and related code.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.