Add 3D Sample
Opened this issue · 21 comments
We need to add a sample that exercises the non-SpriteBatch side of rendering. Things to work out:
- What sample should this be?
- Can we support PlayStation Mobile?
What happened to that sample with the space ship that ran across a checkerboard play area. There were some random 3d shapes. This sample had an fbx file with it too. @CartBlanche do you remember this one??
@totallyeviljake That was the chase camera example, or are you referring to the reach sample. Neither were complete project so I wouldn't have thought they would qualify for the new samples repo.
@theZMan did share the marble maze sample as well but it needs a fair amount of work.
Even larger @CartBlanche has offered the upgraded racing car sample, which works but has serious shader issues.
When I get time I'll start some new branches with the current state of those samples and people can fork them to their hearts content and move them forward.
When I get time I'll start some new branches with the
current state of those samples and people can fork
them to their hearts content and move them forward.
Just submit PRs for the samples to the new develop
branch here. It doesn't have to be finished to merge and it lets people work on it from one central location.
Finding the old XNA samples gets harder those days!
I think those two are the ones mentioned.
http://xbox.create.msdn.com/en-US/education/catalog/sample/chasecamera
http://xbox.create.msdn.com/en-US/education/catalog/sample/picking
Or start one a simpler one like Primitives3D?
http://xbox.create.msdn.com/en-US/education/catalog/sample/primitives_3d
It also doesn't have to be an existing XNA sample. We could roll our own sample that shows off what we want to show being cross platform.
I'm actually less inclined to have just samples. I think I'd prefer to see complete titles like Spacewar / racing game / marble madness / rocket commander even.
They seem to promote better quality than a quick fix.
So long as they are fairly well documented in their construction.
The only old XNA pure sample I think probably fits with the new repo would be the Reach sample because of all the elements it demonstrates (I think I still have that lying around somewhere)
As requested I've submitted two samples to the develop branch for new samples.
Both are primarily running on WindowsGL and need updating to other platforms.
Both have shader issues, noted in their commits.
Also Neon Shooter, since updating to 3.2 no longer draws to the screen however this may be due to it's full screen render code using shaders as I've seen that before in other samples including spacewar.
Will publish the other samples I had in the works when I get a chance to the develop branch.
Hi Gents, sorry I've only just stumbled across this, even though I was mentioned in it 3 days ago.
My suggestion for the samples, based on lessons learnt with the previous lot, would be to port or create game samples, rather than code samples, like we did previously. I think devs seeing a game working, will think about scavenging bits from it for their own games.
Meaning 3D game samples (only 2 or 3 max) like http://xbox.create.msdn.com/en-US/education/catalog/starterkit/shipgame, http://xbox.create.msdn.com/en-US/education/catalog/lab/marble_maze or updating http://xbox.create.msdn.com/en-US/education/catalog/sample/robot_game and http://xbox.create.msdn.com/en-US/education/catalog/sample/racing_game may be potentially good candidates, though not trivial ports.
2D wise, again only 2 or 3
Platformer (already done),
http://xbox.create.msdn.com/en-US/education/catalog/starterkit/ninjacademy,
http://xbox.create.msdn.com/en-US/education/catalog/sample/blackjack (should be done for some platforms)
http://xbox.create.msdn.com/en-US/education/catalog/sample/spacewar,
http://xbox.create.msdn.com/en-US/education/catalog/sample/roleplaying_game(should be done for some platforms)
and possibly updating a retro sample like
http://xbox.create.msdn.com/en-US/education/catalog/sample/vector_rumble (which was mostly done, but has suffered some bit rot since then).
Would be awesome to have a simple voxel game example, but we might need to speak to GarethIW about that, if he fancies sharing his knowledge, after his game ships.
Anyway some things to think about going forward.
Hi @CartBlanche
Most of those are covered so far and agree on most of them.
spacewar already done along with a 2D vector shooter but in the develop branch
MarbleMaze I got from Andy, so will put that up soon in the dev branch
Racing Game I got from you (mostly) working so will publish that as well
Will look in to the others.
So many memories
I was going to try rocket commander but it's still in XNA 3 so would need upgrading to 4.0 first
I'm pretty sure I had nothing to do with MarbleMaze :-)
Based on the Microsoft samples we came to the conclusion that starter kits
are actually fairly useless as teaching aids unless you are trying to clone
that game type and even then they have to be so simplified for beginners
that people still have to ask additional questions. Or you go so advanced
like the racing game that I do not believe anyone has ever got any use from
it other than the guy who reskinned it and called it his own. These things
need more than a 1 page HMTML doc to ship with them. They are however great
demos that MonoGame is stable and has a wide enough API.
The feature example starter kits work REALLY well for 'how do I do X'
problems but then fail for 'how to I do X in my game' because beginners are
usually not good enough to change the context. Personally I still use the
feature samples all the time on XNA for those cases where there's something
like networking that I only 2 once every 2 years. So these are important
and have a long term value.
So really you need a mix, or something different that Microsoft never found.
Voxels are popular but there's nothing simple about it IMO... I think
something that big is better left as its own project rather than shipping
as a sample.
The most important thing for all the MonoGame samples is they should always
run on all the possible platforms and illustrate the horrible corner cases
where there may be issues.
On Mon, Apr 28, 2014 at 4:32 AM, Simon (Darkside) Jackson <
notifications@github.com> wrote:
Hi @CartBlanche https://github.com/CartBlanche
Most of those are covered so far and agree on most of them.spacewar already done along with a 2D vector shooter but in the develop
branch
MarbleMaze I got from Andy, so will put that up soon in the dev branch
Racing Game I got from you (mostly) working so will publish that as well
Will look in to the others.So many memories
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/9#issuecomment-41548043
.
One more thing that we discussed with Microsoft about the samples. They are
all different... Microsoft used external contractors to write each one and
every one has a different style so there is no way to progress from one to
another. Since I did Marblets and SpaceWar you will see consistency between
them somewhat but none of the others. They also didn't have any of the
feature samples or even the empty game template so we didn't even use code
from those in the starter kits... again this kills beginners as they have
no clue what is going on.
All of us are experienced enough to work around these flaws so its hard for
us to notice.
On Mon, Apr 28, 2014 at 6:41 AM, Andy Dunn zman@thezbuffer.com wrote:
I'm pretty sure I had nothing to do with MarbleMaze :-)
Based on the Microsoft samples we came to the conclusion that starter kits
are actually fairly useless as teaching aids unless you are trying to clone
that game type and even then they have to be so simplified for beginners
that people still have to ask additional questions. Or you go so advanced
like the racing game that I do not believe anyone has ever got any use from
it other than the guy who reskinned it and called it his own. These things
need more than a 1 page HMTML doc to ship with them. They are however great
demos that MonoGame is stable and has a wide enough API.The feature example starter kits work REALLY well for 'how do I do X'
problems but then fail for 'how to I do X in my game' because beginners are
usually not good enough to change the context. Personally I still use the
feature samples all the time on XNA for those cases where there's something
like networking that I only 2 once every 2 years. So these are important
and have a long term value.So really you need a mix, or something different that Microsoft never
found.Voxels are popular but there's nothing simple about it IMO... I think
something that big is better left as its own project rather than shipping
as a sample.The most important thing for all the MonoGame samples is they should
always run on all the possible platforms and illustrate the horrible corner
cases where there may be issues.On Mon, Apr 28, 2014 at 4:32 AM, Simon (Darkside) Jackson <
notifications@github.com> wrote:Hi @CartBlanche https://github.com/CartBlanche
Most of those are covered so far and agree on most of them.spacewar already done along with a 2D vector shooter but in the develop
branch
MarbleMaze I got from Andy, so will put that up soon in the dev branch
Racing Game I got from you (mostly) working so will publish that as well
Will look in to the others.So many memories
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/9#issuecomment-41548043
.
Chase Camera was definitely the 3d sample that I was remembering. That one had an FBX file with embedded textures. That was a great sample of how to load a simple mesh model from a production file format.
Agreed @theZMan Being consistent across them, would be great for beginners.
The tutorials that I found the most helpful:
http://www.xnaresources.com/default.asp?page=TUTORIALS
These were great in that they built on eachother and were very simple. I even used one to argue a bug in MonoGame Android so long ago ...
Remember these are not tutorials. I don't think we want the mess of dozens of samples we used to have. We just need 2 or 3 quality samples and that is it.
So should we restructure the sample repo slightly. One root folder for "Sample Projects" and one for "Examples". Unity does a similar thing with theirs so people can choose which type to look at.
So should we restructure the sample repo slightly. One
root folder for "Sample Projects" and one for "Examples".
I don't think we should have this distinction.
My concern is a year from now there will be a dozen various games, samples, examples, demos, tutorials, etc in this repo and we'll be back at the mess we had before.
2 or 3 focused sample games that show what one can do cross-platform with MonoGame... that is all we need.
Sample games serve 3 purposes
- Starter Kit for new people
- Examples of what can be done
- Gives us test cases we can control.
Problem is these are at odds with each other. To do #3 you need to have
breadth of APIs used - for #1 to be good you need simplicity and for #2 you
need lovely graphics and sound and the APIs only matter that you can say
its MonoGame.
In theory maintenance should not be a problem - the whole point is that
anything conforming to XNA API should keep running so having lots of
samples shouldn't be a big deal for maintenance purposes.
Feature samples only serve #1 and #3 but you need a lot more than 2-3
samples.
So whats the focus here?
On Mon, Apr 28, 2014 at 12:04 PM, Tom Spilman notifications@github.comwrote:
So should we restructure the sample repo slightly. One
root folder for "Sample Projects" and one for "Examples".I don't think we should have this distinction.
My concern is a year from now there will be a dozen various games,
samples, examples, demos, tutorials, etc in this repo and we'll be back at
the mess we had before.2 or 3 focused sample games that show what one can do cross-platform with
MonoGame... that is all we need.—
Reply to this email directly or view it on GitHubhttps://github.com//issues/9#issuecomment-41599565
.
- Examples of what can be done
This is really all we should be aiming for. Nice looking examples of what can be done cross-platform with MonoGame. People can hack at them and learn some from them... but they are not tutorials or starterkits.
We only need 2 or 3 for now. Eventually we could add a couple more that really make MonoGame look good... beyond just copies of old XNA demos.
- Gives us test cases we can control.
We have something for this coming... we shouldn't consider the samples to be for testing or QA.
In theory maintenance should not be a problem
In practice it has been a problem and I worry it will get worse as we transition beyond the stock XNA API.
I'm in the process of updating Ship Game to 3.8. Hoping the shader issue of the past can be fixed for this release.
Great stuff @CartBlanche , will work with you to get it into the latest template once you have it working.