Sign in to follow this  
mcaccountman

Unity Need help for game. C#

Recommended Posts

mcaccountman    98

Well as everyone knows you are supposed to make C# games in XNA or Unity. But for me i find it 10x more interesting doing it with the c# framework by itself. Is this bad or will the game be possible without the fancy enxtensions?

Share this post


Link to post
Share on other sites
lwm    2518

I don't really understand what you mean by the "C# framework" and you can't really put XNA and Unity in the same category. XNA is/was a framework while Unity is an entire ecosystem.

If you want a useful answer you will have to tell us what you're aiming for.

Share this post


Link to post
Share on other sites
frob    44972

Using the C# language and the .NET Framework you are still leveraging tools made by others.  You're just leveraging different tools.

 

Professional studios rely on all kinds of libraries.  There is generally no need to rewrite everything yourself.  In the 1980s you needed to write your own graphics drivers for every card, your own audio systems that wrote directly to the memory locations and IO ports of the different audio cards.  Over time more middleware came out where you could hit a generic driver for many different audio cards, or VESA drivers for a bunch of video cards. These days we hit systems like OpenGL or DirectX for graphics, we use systems like WWise or FMod for audio. And that can mean relying on major engines like Unity or Unreal as well.

 

There is nothing inherently wrong with doing it all yourself.  You could even write your game entirely in machine code if you felt the urge.  But doing so is directly at odds with productivity.

 

You can take advantage of systems that would take thousands of hours, tens of thousands of hours, or even millions of hours for you to develop on your own.  And that is exactly why most groups do it.

Share this post


Link to post
Share on other sites
mcaccountman    98

I don't really understand what you mean by the "C# framework" and you can't really put XNA and Unity in the same category. XNA is/was a framework while Unity is an entire ecosystem.

If you want a useful answer you will have to tell us what you're aiming for.

Im aiming for c# without the game extensions like XNA or Unity. Just plain c# and graphics, such as  

 

e.Graphics.DrawRectangle(new Pen(Color.Black), daleTalkRadius);

                daleTalkRadius.Location = new Point(dalex - 100, daley - 70);
                e.Graphics.FillRectangle(new SolidBrush(Color.PeachPuff), entityDale);
                e.Graphics.FillRectangle(new SolidBrush(Color.PeachPuff), entityThief);
                entityDale.Location = new Point(dalex, daley);
                entityThief.Location = new Point(thiefwalkx, thiefwalky);

Share this post


Link to post
Share on other sites
Tangletail    2915

I don't really understand what you mean by the "C# framework" and you can't really put XNA and Unity in the same category. XNA is/was a framework while Unity is an entire ecosystem.

If you want a useful answer you will have to tell us what you're aiming for.

 

Unity is a skeleton. You're still doing most of the work if you want to make something interesting.

But... yeah. Programming the entire thing from scratch with C# is a lot harder than you really think it is... but if you want access to source, I suggest taking a look at Paradox Engine.

It's entirely built in C# and is open source.

Has PBR, and is making some very decent progress. Not sure if it has a working terrain system however... but you can implement that yourself.

Share this post


Link to post
Share on other sites
lwm    2518


Im aiming for c# without the game extensions like XNA or Unity. Just plain c# and graphics, such as  

 

If GDI works for you, that's totally fine as a first step. Just be aware of the limitations, such as the lack of hardware acceleration.

Direct2D was designed as a replacement for GDI and is the more modern option.

Share this post


Link to post
Share on other sites
WoopsASword    963

 

I don't really understand what you mean by the "C# framework" and you can't really put XNA and Unity in the same category. XNA is/was a framework while Unity is an entire ecosystem.

If you want a useful answer you will have to tell us what you're aiming for.

Im aiming for c# without the game extensions like XNA or Unity. Just plain c# and graphics, such as  

 

e.Graphics.DrawRectangle(new Pen(Color.Black), daleTalkRadius);

                daleTalkRadius.Location = new Point(dalex - 100, daley - 70);
                e.Graphics.FillRectangle(new SolidBrush(Color.PeachPuff), entityDale);
                e.Graphics.FillRectangle(new SolidBrush(Color.PeachPuff), entityThief);
                entityDale.Location = new Point(dalex, daley);
                entityThief.Location = new Point(thiefwalkx, thiefwalky);

 

XNA is a high level framework built on DirectX for gaming purposes (XBOX, some kind of phone I forgot and windows).
Using WFA (Which is bad because you should relay on WPF today and NOT windows forms) is exactly like using XNA (Both needs the dlls and framework installed).
They are both frameworks which were developed by Microsoft to do some sort of work. 
GDI isn't suitable for high professional game development.
 

If you don't want XNA there are couple of wrappers for OpenGL in C# (OpenTK is one of them) and wrappers for DirectX.

 

In the end, every framework have to be installed on the system for the game to work,

either if it's XNA, Unity, or plain GDI, the difference is when you install it.

Some come built-in with Windows, others have to be installed. 

Edited by WoopsASword

Share this post


Link to post
Share on other sites
Infinisearch    2967


Just be aware of the limitations, such as the lack of hardware acceleration.

This to me can be important.  I think what you're doing is doable but if your game is or will be cpu heavy, hardware acceleration can matter depending on how much you draw (especially alphablended sprites)(and the hardware of your audience).  But if its your first game and its small in scope, then by all means if it makes you comfortable then go for it.  But I think you'll most likely want to use a framework or engine at some point so you're gonna have to learn one eventually.

Share this post


Link to post
Share on other sites
lede    591

I understand where you are coming from.  I've written several game engines myself in different languages and at first it seem easier to do because I don't have to learn what someone else has designed but after a while it becomes more difficult because of bugs and the amount of new features needed.

 

Using GDI+ as your graphics engine can be very tricky.  It doesn't have access to the video card so it can be fairly slow in drawing.  You may need to create a back buffer to render on then present that image to the screen when done.  You may run into many headache that could be avoid by using a library designed to draw directly to the video card.

 

The one question you should ask yourself.  Do you like making games or programming engines?  By the sounds of it you find it more fun to tinker with technology and see how you can push your hardware around.  This can be more fun for some people then the process of actually making a game.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this