• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
StevenZer

Game Engine Programming in XNA

8 posts in this topic

So I have this Question all over my head. Is it possible to create a perfect Game Engine in XNA?
Like there are Big Game Engines developed in C++ using Direct3D.
Unity3D.
UDK.
And Many Other.

If its not possible than is it possible in just C#?
Like i tried to find the Direct X tutorials for C# but failed to find any good one.

So that's my question Is it possible to make a Perfect Game Engine in XNA or at least in C# using Direct3D?
0

Share this post


Link to post
Share on other sites
Define perfect!

You CAN make a good engine with both XNA and DirectX. Which to choose depends on many things.

I would not go for the combination C# and DirectX though, since the API is written for C++, and Microsoft's wrapper is outdated.
0

Share this post


Link to post
Share on other sites
Only issue I can forsee is that alot of higher end engines are crossplatform whereas XNA and directX aren't. OpenGL can be used from C# on mono with either Tao, OpenTK or the mono XNA equivelant: Monogame.

Of course cross platform might not be one of your aims. If you want to use C# with directX your only options now are XNA (much higher level though), slimDX or sharpDX. SlimDX is apparently the more mature project.

Either way its possible to make a game engine using C#. Perfect is a separate matter, what I see as perfect you may not see as perfect. Edited by 6677
0

Share this post


Link to post
Share on other sites
So Which one i should choose to Start with?
XNA, OpenTK , SlimDX or SharpDX? Edited by StevenZer
0

Share this post


Link to post
Share on other sites
I think telling us your goals would help people give you a more useful opinion.

Why are you making this engine? What void are you intending to fill with it? What platforms do you want this to be usable on?
0

Share this post


Link to post
Share on other sites
I think you also have to remember what C# is lacking compared to C++. If you wan't to do a [b]real[/b] game engine a big part of it is that system layer with memory management and the likes. There you need direct memory manipulation.
I think it might work for a game engine for small and fun games but you lose a lot of performance next to C++ engines I guess
0

Share this post


Link to post
Share on other sites
[quote name='AlexF' timestamp='1344246093' post='4966617']
I think you also have to remember what C# is lacking compared to C++. If you wan't to do a [b]real[/b] game engine a big part of it is that system layer with memory management and the likes. There you need direct memory manipulation.
I think it might work for a game engine for small and fun games but you lose a lot of performance next to C++ engines I guess
[/quote]

Yeah. For number crunching, C# is still a bit slower than C++ for various reasons (I really hope to get SIMD-support in the MS CLR) and there's always going to be some overhead when calling the native DirectX API from managed code. However, almost all current "real" games I play are GPU-bound (on my system), so the CPU-overhead isn't really noticeable in a lot of cases.

If you primarily want to create an engine, I would suggest going with SlimDX or, if you're really concerned about performance, SharpDX, because they are closer to native DirectX and offer more freedom. If you want to create a game though, I have to say that XNA is probably "good enough" for the majority of projects while offering some nice abstractions and tools. Edited by lwm
1

Share this post


Link to post
Share on other sites
It really depends on what your going for, if your only making 1 game then going full hog and making an engine is probably not worth the time and effort so the higher level tools offered from XNA or monogame will be more worth your time (make games not engines seems to get chanted alot). Which of the 2 you choose really depends on the platform, XNA has more tutorials available but if you need mac and linux support then you will have to use monogame, much of the XNA tutorial content should apply to monogame as the aim of the project is to create an open source XNA for mono.

If you are looking to make a full on engine then slimDX or sharpDX should be your windows choice, if cross platform support is needed then OpenTK would be your other choice. These are much lower level API's. slimDX and sharpDX are straight wrappers of directX, almost impossible to get any lower, OpenTK I think has a few simplifications over bog standard openGL, there is also the Tao framework which seems to be a dead project. These will offer alot more control and flexibility in your engine that you won't get with XNA or monogame. XNA is stuck on directx 9 aswell whereas both slimDX and sharpDX can do 9, 10 and 11.
1

Share this post


Link to post
Share on other sites
Making a game engine even for one game is a good thing, if you ask me. It may take a week to create a game engine, but then it would only take you a few days to create the game.
If you want to see a simple [url="https://sites.google.com/site/xna4tutorsbylance/"]3D game engine using XNA 4[/url], you can have a look at mine on my web site. It is used in a tutor on making a game engine.
I hope that helps anyone who comes across this.
Thank you for your time.
-2

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  
Followers 0