Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
Offline halowars  
#1 Posted : Wednesday, January 29, 2014 11:08:31 PM(UTC)
halowars

Joined: 1/29/2014(UTC)
Posts: 9

Thanks: 1 times
I think there are going to be lots of perople who is in my similar situation so i think this topic will be useful.

I'm new in game making and almost in programing, I only tried webprogramming a bit but my knowledge is almost nothing.
I have searched a lot for XNA I have lots of ebooks and i have hundreds of hours of tutorial videos wich i collected from the net. Even I have tried a tutorial, so i started to know what xna exactly is, and I liked it. I know how big is the knowledge of xna 4.

I know that developing xna is finnished, so I searched for something alternative, and I found monogame first, It is friendly but I read it has lots of errors, and i can stuck in lots of trouble.
Then I found some other things and delta engine is quite friendly. I like that it can do, but I don't really now what delta engine exactly is.
Delta engine is a quite new thing still in developing. (I love the 2014 plans)

So my first exact question is:

If I know a bit of C# and I thnik I'am ready to start the big journey over those huge amount of documentaries i have collected about XNA.
Is it a usefull and good idea to start with it? If I do someting whick works, will I be able to convert that to the supported platforms without any trouble using somehow this delta engine?


I really would like to make games for android, iphone, mac, windows phone (I plan xbox 360/one , ps, ouya or anything i will be able to convert in.)

I start this topic with this post but i will have lots of questions.

Wanna join the discussion?! Login to your forum accountregister a new account. Or Connect via Facebook Twitter Google

Offline Benjamin  
#2 Posted : Thursday, January 30, 2014 4:25:52 PM(UTC)
Benjamin

Medals: Admin

Joined: 8/20/2011(UTC)
Posts: 1,421
Location: Hannover

Thanks: 18 times
Was thanked: 97 time(s) in 92 post(s)
Hi Halowars,

There are many people in the same shoes you are in. It all depends how much time and effort you want to put into it. Many things can be done without fully understanding them (usually using something does not require to understand all the details), but many people want to understand more and more as they use it more and more.

Think of the DeltaEngine as "one level up" from just using a framework like XNA or MonoGame or OpenTK or SharpDX. In fact we have all those frameworks included in the Delta Engine. Again, if you just want to use it and lets say show a sprite on screen or add a textbox and hock up some commands to it, you do not have to understand XNA, MonoGame, OpenTK or SharpDX. If you want you can still dig deeper and do all the low level stuff we try to hide away. It is all open source and right there to be modified for anyone (that is usually what game developers need the most, full flexibility, each game has different demands).

I recommend starting with some tutorials and a clear goal on what you want to do with that knowledge (maybe a breakout clone or something similar, keep it real and do not envision creating World of Warcraft as your first project). We have some tutorials here: http://DeltaEngine.net/Learn/Tutorials and there is tons of good information on the internet (just to recommend one site: http://CodeProject.com)

Once you have covered the basics and have something running on your PC, you might want to try to get your game running on other platforms. Normally this means learning all about the platform and languages needed to accomplish this for whatever platform you want to support (like Objective-C for iOS, Java for Android, C# for Windows Phone, etc.) By using the Delta Engine this can become a bit easier again, especially if you do not care how it works and do not want to write Java or Objective-C yourself. That is exactly what the AppBuilder and our Delta Engine Cloud services do. Again, at some point you might hit a wall and then you would have to dig deeper (or ask for help).

Good luck. Hope this helps.
thanks 1 user thanked Benjamin for this useful post.
halowars on 1/30/2014(UTC)
Offline halowars  
#3 Posted : Thursday, January 30, 2014 7:45:53 PM(UTC)
halowars

Joined: 1/29/2014(UTC)
Posts: 9

Thanks: 1 times
Thank you.
You gave me helpful suggestions.

But i still confused a bit as I was so excited when I first saw the possibilities of xna, and I really liked the structure of the video and written tutorials i have. Most of them was about small games which i could do as a breakout clone game. (2d and 3d games as well)
If I understood you don't really suggest to use them, but I would like see i didn't missunderstand.


As delta engine use all those frameworks it means thats why you don't suggest to use xna tutorials, as mybe i could stuck in that even delta would allows me more or the same but easier.

So how i see what delta engine is.
As i tried a bit xna coding, i have a small view how that works and i imagine that delta is like that, as it also works by using visual studio like xna and i have to coding also like in xna, i can run apps the same, so it works the same but delta is a fourth bigger framework (XNA,MonoGame,OpenTK,SharpDX in one place but there are more than 4 in the supported frameworks).
It is not like Unreal engine, unity, and the others where i can modelling and making games visually.

But I understand what you said, i am absolutely going to check your tutorials, and i think most of my uncertainties which are in my mind will be disappear.


And an other thing can you clean how i can interpret this Supported Frameworks. As you can see i am really a friend of xna, so i was confused when sow this table. http://www.deltaengine.n...eatures/frameworksupport
Because xna supports only some of all the platforms, neither android and ios, but these two would be the biggest goal of me.
Can you clean it what these separations mean? Because i feel that i can't convert to android and ios (ios ater it is release) as these cells aren't ticked.


Sorry if i seems who can understand quite hard, i just would like to clean these confusions in myself.

Thank you.
Offline Benjamin  
#4 Posted : Thursday, January 30, 2014 8:05:29 PM(UTC)
Benjamin

Medals: Admin

Joined: 8/20/2011(UTC)
Posts: 1,421
Location: Hannover

Thanks: 18 times
Was thanked: 97 time(s) in 92 post(s)
Hi Halowars,

If you have XNA tutorials, use them, especially if you are interested on how it all works. I have also written a book about XNA (Professional XNA Game Development) and was an XNA Microsoft MVP for 4 years. It is good to know these things, but not really required if you want to build a game.

I suggest starting with a simple problem you might have, like "How do I draw some image from my file on the desktop in my game and make it blue when I click on it?"
Now you could just look at some engine (does not have to be ours) and you try to solve that problem. If you end up with XNA, that is fine, but probably writing it in some low level framework or even low level programming language will be a lot of work (no one is going to approach that problem with assembly code nowadays).

Btw: Using the Editor you can also create your game visually, it is pretty much like Unity, Unreal, etc., we are just not that advanced yet. So you will hit the wall I mentioned in my first post much easier than you would using a different tool.

The table on http://www.deltaengine.n...eatures/frameworksupport explain which framework is used and works on each of the platforms and devices. Once you send your app through the Editor AppBuilder to our Cloud Services we will automatically convert it to make it fit to the target platform (so for example XNA code becomes OpenGL ES code for Android). Obviously if you do something that we do not support (e.g. with XNA or something that only runs on Windows by using some library) we cannot convert that code in the cloud and more work is needed from your side to make it work. That is the reason why it is best not to do too much low level fiddling as it will destroy your multi-platform-ability.
Offline halowars  
#5 Posted : Thursday, January 30, 2014 10:17:14 PM(UTC)
halowars

Joined: 1/29/2014(UTC)
Posts: 9

Thanks: 1 times
What do you exacly mean under 'low level framework'?

I know that it means there are other framwork which is more up to date, comfortable and useable.
But do you have any advice how to try to avoid this? As I know and as you mentioned xna is especially for windows. so as I can imagine I will get in trouble quite easily.
Do you have any tip or advise or something how to start learning in that way I can be more sure I won't learn wrong codes and tematics which make lower risk of destroying my multi-platform-ability?

Maybe if I thinking of multi platform games Xna wouldn't be the best choice indeed? If i wouldn't i would be a bit sad. :S
Offline internetfreak  
#6 Posted : Thursday, January 30, 2014 11:27:07 PM(UTC)
internetfreak

Joined: 12/19/2011(UTC)
Posts: 529

Thanks: 10 times
Was thanked: 16 time(s) in 15 post(s)
Hi Halowars,
it seems you are misunderstanding some things. It's true that Delta supports XNA, OpenGL etc, but those frameworks are used when you build your app with the AppBuilder contained in the editor.
When you are creating a game with DE, you use the DE assemblies and after coding the game you can port it on every platform which delta supports.
About low level frameworks: Benjamin means with that when you are using for example DirectX directly instead of XNA because as you surely know, XNA is only a managed wrapper for DX so DX itself would be the low-level-framework and you need more work to achieve your goal.

I hope I could understand you and my answer can help you a bit. For more information I'm sure that benjamin will write his own notes soon.
Mein Blog: www.internetfreak.net

- Inoffizieller DeltaEngine-Supporter und Tutorialschreiber -
Offline halowars  
#7 Posted : Friday, January 31, 2014 12:44:20 AM(UTC)
halowars

Joined: 1/29/2014(UTC)
Posts: 9

Thanks: 1 times
I know something. But does it mean that a working xna project is always will be convertable to diferent platforms as xna doesn't a low-level-framework?
For example on this site there are useful examples for xna 4.0:
http://www.riemers.net/e.../XNA/Csharp/series2d.php
http://www.riemers.net/e...s/XNA/Csharp/series2.php
If these tutorial series would be one of I planed to practise with, would it be possible to make the final app working on different platforms with DE and App Bulider?

Edited by user Friday, January 31, 2014 12:45:24 AM(UTC)  | Reason: Not specified

Offline elasto  
#8 Posted : Friday, January 31, 2014 6:08:15 AM(UTC)
elasto

Joined: 8/23/2011(UTC)
Posts: 245

Thanks: 6 times
Was thanked: 12 time(s) in 11 post(s)
To reiterate what others have said:

If you only want to code for Windows you can use anything you like. All included frameworks (XNA, OpenGL etc.) will work. So for the purposes of learning game coding in general you can work through riemer's tutorials just fine. I started with them myself and think they are excellent ^^

If you want your code to work on a platform other than Windows you will need to check the table on the page Benjamin linked; You will only be able to use the in-house features and third-party frameworks compatible with your desired platform.

For the maximum chance of universal compatibility use just the in-house assemblies like DeltaEngine.Rendering. 'Dropping down a level' to XNA or any of the others will, in general, stop it being cross-platform.
Offline halowars  
#9 Posted : Friday, January 31, 2014 7:53:31 AM(UTC)
halowars

Joined: 1/29/2014(UTC)
Posts: 9

Thanks: 1 times
I think i got it.

So If I learn with xna tutorials, using delta engine i will only be able to make games for: Windows, Windows Phone 7, Windows Phone 8, and later xbox one.
And if I would like all the platforms(exept win8) I should learn xna, OpenGL ES 2.0 , and one of: OpenTK/GLFW/MonoGame So I need to know how to use at least 3 type of frameworks.
Am I right?

Is it difficult to be familiar with more than 1 type of framework? Are there light year between each of them?
Or if I know xna, than it is easy get know the others as they are similar, so with some tutorials for the others and I can make easy games for the platforms. Than I only have to improve my knowledge of all the 3 frameworks.
Offline elasto  
#10 Posted : Friday, January 31, 2014 8:18:52 AM(UTC)
elasto

Joined: 8/23/2011(UTC)
Posts: 245

Thanks: 6 times
Was thanked: 12 time(s) in 11 post(s)
The point of DE is that you don't need to learn *any* of XNA/OpenGL/GLFW/MonoGame/OpenTK if you don't want to. That's what makes DE 'at a higher level' than all of them.

It's just like how you don't need to know anything about DirectX to code in XNA (but you could do it if you wanted); Likewise you don't need to know anything about XNA to code in DE (but you could do it if you wanted).

If you create a DE Sprite, you don't need to know that DE translates that into an XNA Sprite for Windows Phone and an OpenGL Sprite for Android etc. That can all be invisible to you. Just create the DE Sprite and it will work universally across all platforms!

(Not all of DE's in-house classes work everywhere right now - that's what the feature table is about. But eventually they all will. And most of the important classes like input, rendering, sound etc. work everywhere)
Offline Benjamin  
#11 Posted : Friday, January 31, 2014 1:13:04 PM(UTC)
Benjamin

Medals: Admin

Joined: 8/20/2011(UTC)
Posts: 1,421
Location: Hannover

Thanks: 18 times
Was thanked: 97 time(s) in 92 post(s)
Thanks for the others to ship in, I think they said all the important points already.

Here is a quick map to think on abstractions:
Code:

- your game
  - uses your game libraries and helpers
    - uses Delta Engine
      - uses XNA for Windows
        - uses DirectX (native)
          - uses low level GPU drivers


the higher you are that chain the easier it will be to do "your game" specific stuff, but from time to time you want to dig deeper and implement some cool new shader and then you have to go lower level if you cannot avoid it. Obviously you could write your game in assembly and directly talk to the GPU like in the 80ties, but no one is doing that anymore. Using DirectX directly is a valid choice too, but much more work than just utilizing the helper functionality of XNA, especially coming from C#. Using the Delta Engine is one step up and in your game you usually have your own kind of abstraction layer to handle your game elements (in breakout bricks and the ball).

Edited by user Friday, January 31, 2014 1:13:34 PM(UTC)  | Reason: Not specified

Offline halowars  
#12 Posted : Friday, January 31, 2014 10:32:59 PM(UTC)
halowars

Joined: 1/29/2014(UTC)
Posts: 9

Thanks: 1 times
Thank you.

Now I understood many thing.

Is that right, it is impossible to make one game and I can convert it to all the platforms because of the different framework requirement, e.g I make something working using xna framework, than it is impossible to make that work on android/ios/... as xna doesn't support those. If I want those as well I have to do the whole thing again with the supported framework using openTK(it is the openGL ES 2, isn't it?)
Offline internetfreak  
#13 Posted : Friday, January 31, 2014 11:45:57 PM(UTC)
internetfreak

Joined: 12/19/2011(UTC)
Posts: 529

Thanks: 10 times
Was thanked: 16 time(s) in 15 post(s)
As said before, you can the use delta engine directly to make your game. You don't necessarily need to know XNA, OpenGL, DX etc.
If you only use what the delta engine provides, you can convert your game to all supported platforms, regardless which framework the platform uses because delta will handle all that for you, you only code your game and be happy :)
Mein Blog: www.internetfreak.net

- Inoffizieller DeltaEngine-Supporter und Tutorialschreiber -
Offline ollimorp  
#14 Posted : Saturday, February 1, 2014 1:25:52 AM(UTC)
ollimorp

Joined: 7/22/2013(UTC)
Posts: 13

Thanks: 1 times
Was thanked: 2 time(s) in 2 post(s)
Hi,

your baby is sitting always in the same child-seat (DeltaEngine) in the back of your car.
For the child it´s of no importance in which kind or type of car (Low-level API - DirectX, OpenGL ES, HTML5 ...) it is the backseat-driver.
It will always reach the destination (compiled application on the target platform - Android, Windows...) just knowing how to sit in the seat (utilize the DeltaEngine)
and pooping loudly.

Greets

Edited by user Saturday, February 1, 2014 1:27:03 AM(UTC)  | Reason: Not specified

Offline elasto  
#15 Posted : Saturday, February 1, 2014 6:40:01 AM(UTC)
elasto

Joined: 8/23/2011(UTC)
Posts: 245

Thanks: 6 times
Was thanked: 12 time(s) in 11 post(s)
halowars: It's possible you still don't quite understand.

- Forget that DE has XNA, OpenTK, GLFW etc. hidden inside. Pretend they are not there.

- Take a look at the tutorial page

- You'll see that none of the examples have any hint that XNA, OpenTK, GLFW etc. is being made use of. The code just works.

- If you code your game like those examples you will not need to change a single line of code to have your game run on iPhone or Web or Android etc. It will automatically work on every platform.
Offline halowars  
#16 Posted : Saturday, February 1, 2014 8:18:55 PM(UTC)
halowars

Joined: 1/29/2014(UTC)
Posts: 9

Thanks: 1 times
Yes you are right, I should forget any hidden frameworks for a while.
I tried delta. I chose xna where I had to chose in the editor, than i checked menus. I didn't really know what and how to use. I checked the sample games,but it didn't helped me to be familiar with the editor menus. Than I opened one of those source code, and I get confused, because I didn't really know how that could be easy to be written, which is one of the main points of delta engine(if I understood right). (I said in myself it’s ok it was written by the masters of game making, even the game looked not so complicated) Than I opened the source code of a created empty project(I also chose xna as framework). Than I frightened and became a bit sad when I saw that I get is even not similar to when I make a new XNA 4.0 project in Visual Studio(I have VS2010), and my xna tutorials also made with the normal xna construct. So in this case I don't really know how to follow that my tutorials says, as there are different lines and names. I downloaded a working xna sample game, I wanted to open it somehow with xna editor, but I couldn't as there isn't any possibility to browse that. Than I tried to copy all the xna files into the folder of new DE project (named the same like the xna game's) But nothnig happened.
I was very confused.

But I said that's ok, lets try the tutorials from this site.
But I stucked at the very beginning.
The first base tutorial is only how to change the background color, and there is the code, but I stuck there as I don't know where I need to write that, because I found a similar part of this in the source code, and I tried to paste in in the right way, but it didn't worked.
It was the line given in Visual Studio: "new ColorChanger(Resolve<Window>());" And this is the line I should write: "Resolve<Window>().BackgroundColor = Color.CornflowerBlue;" I tried to combinate them but it didn't work. I tried to use the helper(Ctrl+Space) but I couldn't do that tha Basic tutorial 1 wanted.

So I trys to accept that I can’t do anything with xna and with my tutorials, as PG adviced.
I think I will be able to use xna tutorials after I could do some working apps without them and I understand how to use.
But in this case I don't know anything how to start. My first attempt failed, thats ok, lets try again, but I don't known in wich way I should start again.
Offline Benjamin  
#17 Posted : Monday, February 3, 2014 3:36:22 PM(UTC)
Benjamin

Medals: Admin

Joined: 8/20/2011(UTC)
Posts: 1,421
Location: Hannover

Thanks: 18 times
Was thanked: 97 time(s) in 92 post(s)
You are right, the introduction video is currently missing and we want to work on that for the next big release (1.1 end of February).

In the meantime check out this older video, which should give you some hints on how to start:
Offline halowars  
#18 Posted : Tuesday, February 4, 2014 12:46:29 PM(UTC)
halowars

Joined: 1/29/2014(UTC)
Posts: 9

Thanks: 1 times
Thanks. I didn't find that video somehow. I hope those tutorials will answer almost most of my questions.
In tha timetable there is a 100+ tutorials goal but that is for march. It that tha same what you mentioned for the end of february.

Edited by user Tuesday, February 4, 2014 12:47:38 PM(UTC)  | Reason: Not specified

Offline halowars  
#19 Posted : Wednesday, February 12, 2014 4:35:33 PM(UTC)
halowars

Joined: 1/29/2014(UTC)
Posts: 9

Thanks: 1 times
I've read great things about this book series even it teaches c# during making a working game http://shop.oreilly.com/product/0636920027812.do . It programs for win8 store, but doesn't use any framework just the visual studio 2012, so i think it is good to start with. But it starts with a special thing called XAML and i don't know if I follow the instructions, it will work with delta and multi platform converting. I didn't find anything about the compatibility with xaml and delta.
Offline mc-kay  
#20 Posted : Wednesday, February 12, 2014 7:48:56 PM(UTC)
mc-kay

Medals: Admin

Joined: 8/24/2011(UTC)
Posts: 138
Location: Hannover

Thanks: 1 times
Was thanked: 12 time(s) in 7 post(s)
"Head First C#" is a really cool book and I initially learned C# with it.
XAML is a XML language to create GUIs in WPF, our Editor for example is using XAML.
The Delta Engine doesn't support converting XAML so it is not helpful for game development.

However, I still recommend you to read this book in order to get the basic concepts of C#.
Rss Feed  Atom Feed
Users browsing this topic
OceanSpiders 2.0
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

Powered by YAF.NET | YAF.NET © 2003-2017, Yet Another Forum.NET
This page was generated in 0.228 seconds.