January 9, 2015 by Dean Ellis in News
It has been a long time coming, many of you have been waiting for this day and its finally here. Thanks some hard work over the christmas break the new Pipeline Tool is now working on both MacOS and Linux.
The Linux installer/tar script is still being worked on but should be available in the near future.
For MacOS users you can download the Pipeline Tool installer from the downloads page. You will need to have mono installed on your system for it to work, so if you do not have mono installed head over to go-mono.com and download the latest release (3.10). The Pipeline Tool will be installed as a normal Mac App in /Applications/Pipeline.app.
The install includes the MGCB tool within the package so if you want to run that manually from a terminal you will need to use:
The tool will behave exactly as the one on windows does. You can use it to create a .mgcb project and compile Textures, Fonts, Audio and 3D Models as well as use Custom Content Processors.
There are a few things that current do not work on MacOS or Linux, the first is custom Effect compilation. At the time of writing the 2MGFX tool does not run on Mac or Linux because of a dependency on some DirectX tooling so for now if you want to use custom Effects you will need to compile those on Windows.
April 17, 2014 by Simon Jackson in News
One common question surrounding MonoGame has always been the quality of the samples currently maintained in the various branches of the project.
Being an opensource project this has always been a challenge to manage and maintain, sure there are a lot of samples provided by many hard working developers but they were very sporadic and not always kept up to date (some it was noted, don’t even run any more)
Seeing this, the core MonoGame team set out with a purpose to being a new samples repository for the project. Its goals were simple:
It has been an ambitious journey, with a lot of in depth discussions and debates, but now the first of the samples has just been accepted in to the new samples repo.
The first sample is just a taste of what is to come and is born of the already tried and tested Platformer 2D sample from the age old XNA library.
The sample itself isn’t too much to should about as it only implements basic rendering, input and audio capabilities. However it is laid out in such a format and is working on ALL supported platforms, including:
The sample serves as a guide for how to build and manage your game project in a fully multi-platform way with all the code in one place and shared across all projects.
If the platform supports NuGet, then the platform is using the latest MonoGame 3.2 NuGet package. Where NuGet support isn’t available, it references back to the main dev repository (which you’ll need to manually link until the new samples repository is fully integrated with the main repo),
The new samples repo isn’t stopping there of course and we welcome anyone to submit new samples to the project so long as they meet the criteria mentioned earlier.
Come one, come all and get involved!
Just over a week ago the MonoGame released the latest full package for the MonoGame framework, now baselined at Version 3.2. This release brought numerous fixes, improvements and new features to the MonoGame platform and updated the Windows installer that had long needed some love.
It took a while but I finally managed to find some spare few hours to get the MonoGame NuGet releases updated to the 3.2 release, with a few extra surprises.
This contains the project templates for WindowsGL / Windows 8 / Windows Phone
iOS / MacOS / Android templates coming soon.
Has a dependancy on the MonoGame.Binaries NuGet package
Contains the DLL’s and references for the following platforms:
This contains the DLL update references for Content projects built using a MonoGame Content Builder Project.
To use remove the ContentProcessors reference from the “Content” project and install this NuGet as normal
**Note, you will need to exclude the “packages.config” file from the project when installed,
NuGet puts that in automatically but content projects don’t recognise it as a valid content type
Updated again in line with the 3.2 release.
Added some new support that was added with 3.2, including GamePads, keyboards and a few other tidbits.
Still only supports Windows based platforms but we are working on a plan to increase the scope of the portable project for all client platforms
MonoGame Portable is still maintained by me separate to the main MonoGame repo, so any issues please direct them to me and the separate MonoGame.Portable fork. once the new way of generating the Portable package and it gets consumed by the main project, this too will join the official family.
At present MonoGame doesn’t support Windows Phone 8.1 APP projects, this includes the new Universal App templates. Nearly managed to add support through the NuGet packages but there are just enough subtle differences still between Windows 8.1 and Windows Phone 8.1 that it will require code changes to handle.
Although I suspect a PR will no doubt appear soon enough to resolve this.
When MonoGame can support Windows Phone 8.1 App projects, the Nuget’s will get a refresh.
There’s no way of saying it, other than, it is with much sadness that I must step away from the MonoGame project co-ordinator role.
I’ve been a part of it since about 2010 and being part of this project has been one of the greatest experiences of my 20+ year IT career. Being part of this project literally changed my life and I don’t say that lightly. For example I probably would not be working for Xamarin today, if I had not joined the MonoGame project so many years ago. Or been invited to //Build a couple of years ago and lots more.
From its humble beginnings as XNATouch when I helped José Antonio Leal de Farias on the iOS port, I felt it was a worthy project. So much to do, so much to learn. There were lots of contributors who helped us out in those early days. THANKS!
When José left I stepped up to try and lead the project. I hope I’ve done an adequate job over the years.
Then to seeing it grow with Dean Ellis and Kenneth Pouncey working on the Android and Mac ports respectively and then seeing the project take off when Tom Spilman and Steve Williams joined us and we released the Windows 8 and Windows Phone 8 ports. Back in the early days one of my goals, when I started believing this project had potential, was to see it on a console and recently, thanks to the awesome work of Tom Spilman and his band of merry coders at Sickhead Games, that dream was realized with the PS4 port!! I’d like to thank the Core team for putting up with my stupid questions over the years and still answering them with a straight face :).
Sure there were naysayers in the early days, who doubted the viability of the project, who asked why bother, said Microsoft would shut us down! But those of us who contributed just loved what we were doing and I think we all saw that our efforts would ultimately not be futile because, if nothing else, we would have met and worked with some gifted people and learned so so much in the process. The journey is more important than the destination.
To everyone that has supported the project over the years, with code contributions, bug reports, donated money, I just wanted to say a massive THANK-YOU!! You have made this project what it is today and have made this period in my life *unforgettable*.
It has been an amazing journey and one I would not swap for anything in the world, but the fact is that I have not had time to contribute anything meaningful to the project recently, so it seems only fair to pass on the baton to people how have the best interests of the Project at heart and the time to move it forward. So I have officially handed all control and rights to Tom Spilman and Steve ‘Sly’ Williams. The project is in amazing hands and I think has an amazing future. I cannot step away totally, as I am still very passionate about the project, but will hopefully do more evangelising as the project targets more platforms/consoles.
As hinted to above, my latest mantra is “The Journey is More Important Than the Destination!”. In our lives it does not matter how we are born, or how we die that defines us. It is how we fill the time between those end-points and how we live our lives, that is paramount and what defines us. Same too with being part of the MonoGame project. It matters not that I joined and that I’m now leaving, but everything that happened in between is what it most important to me. Thanks again for making the last 4 years, incredible. Whatever project you are working on, or goal you are trying to achieve, remember that the journey is more important than the destination. 😉
This is the long awaited release of MonoGame 3.2 with over a year of fixes, features, and improvements across 1,600 commits. This release only has an installer for Windows as we are currently reworking our Mac and Linux release packaging.
The notable changes in this release:
Thanks for supporting MonoGame!
Wanted to catch everyone up on some updates to MonoGame on GitHub.
MonoGame has gotten a lot of new platforms and we foresee more on the way. It has become a challenge to manage so may projects and keep them in sync to each other. This causes frequent build errors from missing files, wrong files being included for some platforms, missing features caused by missing files, etc.
To alleviate this a few weeks ago we started the migration to Protobuild. Protobuild is a simple tool which generates Visual Studio projects and solutions from a common definition file. It is a single small 106K EXE that is fully cross-platform running on Windows, Mac, and Linux desktops and some configuration files to drive the process.
With this in place we’ve removed the .sln and .csproj files for MonoGame.Framework from the MonoGame develop branch. To generate the projects you simply double click the Protobuild.exe and it will automatically generate all the projects and solutions relevant to your current desktop platform. You can also manually generate projects via the command line:
Protobuild.exe -generate Android Protobuild.exe -generate WindowsGL Protobuild.exe -generate PlayStation4
So far things have been great with it and the effort to make changes to the projects is largely automated. We plan to move more of the projects over to Protobuild in the coming weeks. I encourage you to learn more about Protobuild on its wiki and consider if it is a good solution for your own projects.
For a long time the binary dependencies for MonoGame have been in the ThirdParty/Libs folder which redirected to kungfubanana/MonoGame-Dependencies. This was fine for a long time, but the owner of that repo hasn’t been around in over a year now and it made it difficult to get things merged.
Just last night we moved the dependencies to a new repostitory Mono-Game/MonoGame.Dependencies controlled by the MonoGame team. Because of how Git submodules work we had to move it from ThirdParty/Libs to ThirdParty/Dependencies.
For developers with downstream forks you may see some messages related to this when merging the latest develop. Just remember to initialize and update submodules after you merge:
git submodule init git submodule update
Also if any of your own projects referenced binaries in ThirdParty/Libs you will need to update those.
Let us know how these changes affected you and how we can improve things moving forward.