Need help for game. C#

Started by
9 comments, last by lede 8 years, 6 months ago

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?

Advertisement

Doing it all yourself is not bad. It's just a lot more work and a lot harder, as you have to do everything that the engine does for you otherwise.

Thanks! For me im not sure why but i find it easier o_O

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.

current project: Roa

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.

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);

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.


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.

current project: Roa

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.


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.

-potential energy is easily made kinetic-

This topic is closed to new replies.

Advertisement