|
The original plan was to make a browser game. We (my Padawan and I) did not simply want to write the 100th knockoff of the games that were around. Browser games tend to be rather dull webpages full of lists and countdowns. That's about the worst of all. Every click results in a countdown until something happens. Pay your neighbor a visit with a fleet of ships: Just two hours until they arrive. Build something in one of your colonies: That takes only a few weeks.
You can't totally avoid such things when you work with with the http protocol, but the game must give the player enough to do or look at meanwhile. A battle, for examples, would have to be played in rounds to give all players involved a chance to see what's going on and take some action.
So we built a solid maintainable data access layer and application logic on top of that. The ASP.net web pages on top of that only contained pesentation logic and worked well, but it was still not very interesting to look at a webpage for a minute until some snippet of JavaScript finally updated the page.
So, why not put the application logic in webservices and write a client? At the time I was playing with XNA, so why not try to render 3D scenes into a control? DirectX (via XNA) needs a Win32 window as render target, so our first try was with a windows forms client. I got that working, but only with some major drawbacks. First, Winforms are not so great on the design side. It's almost impossible to completely get rid of that mouse grey color scheme. Some borders or other elements for some reason have no color properties. Even worse, the 3D engine running in the control was more like a separate process that had hijacked a window from the client. Telling it what it was supposed to render was difficult and either cost a lot of performance or massive syncronization, which also voided any gain from running in a separate thread. The only real progress was to use the MVP pattern for the forms. That made moving on to the next UI a breeze.
Our next try was with WPF. The UI looks far better and porting our client was a breeze. We simply implemented the same baseclasses for MVP, this time using WPF controls. We could keep everything up to the presenters and only had to provide new WPF views. The only problem: WPF controls are not based on Win32 windows anymore. Hosting the 3D engine became even more difficult. In the end the only option would have been to use the WinForm host control, but that already had it's problems before.
Maybe we were looking at the problem from the wrong angle. Instead of hosting the 3D engine in some UI, why not host a UI in the 3D engine? I looked what libraries were available. As it turned out, only very few. Only one of them looked really good, but one look at the spaghetti code was enough. Call me stubborn, but I did not want to quit after all this, so I began working on a homemade UI, this time with MVP already built in. Data access, application logic and the presenters all do back to the previous incarnations. I just had to rewrite the views again, adding XAML support and controls to the UI as needed along the way.
And then Mickeysoft killed XNA and told us to play our games in some new Win 8 Metro (Cr)app. At that point I did not really feel like doing that. So I had little choice than to archive the code and forget the whole thing and remember the lesson not to rely on anything made by Mickeysoft.
Obviously some people felt the same way and made MonoGame as a open source replacement for XNA. At frirst the differences in handling graphics resources gave me a hard time moving on to MonoGame, but about two months ago I finally got it to work and have been showing off every further progress here ever since. Now I only have to get my Padawan on board again. The poor fool has gotten himself married and now earns his money as software developer.
And that was only the short story.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
that look cool, great work (Y)
|
|
|
|
|
Thanks. Trying my luck on new 3D models right now.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
... couldn't resist.
Selfiphant![^]
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Great. That reminds me of my selfie stick that can fly. I still have a video to edit from when I was out on the fields again and tried to get more of a glimpse of me on video when the selfie stick flys by.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
OriginalGriff wrote: couldn't resist. You should have.
There are two kinds of people in the world: those who can extrapolate from incomplete data.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
Saw a man out in his field this morning shouting the end of the world is nigh. Poor old Farmer Geddon
|
|
|
|
|
But he does know his stuff - he's out standing in his field.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
I hope he's gone before the combined harvester arrives or he'll come a cropper.
|
|
|
|
|
Cut down in his prime.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Was he carrying a chicken little?
Someone's therapist knows all about you!
|
|
|
|
|
What is the next project which is being developed by Microsoft?
|
|
|
|
|
Probably Windows 10: Even More Adverts and Spyware Edition.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
I believe they're talking about widening the NSA backdoor, maybe even puutting screen in it?
Someone's therapist knows all about you!
|
|
|
|
|
I know for a fact that they are negotiating with Griff for his advanced cat-flap technology.
|
|
|
|
|
Someone's therapist knows all about you!
|
|
|
|
|
It's an AI application to measure intelligence (or the lack of it).
|
|
|
|
|
What for? They already think we are all dumb enough to let ourselves first be locked into a nice enclosure and then happily watch ads while eagerly waiting to 'adopt' everything their marketing throws at us at the first opportunity.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
Gawd help it if it starts looking at QA...
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Probably Integrating machine learning into Microsoft Office 365 products to provide continuous, personalised assistance - without the cartoon clippy this time around.
|
|
|
|
|
So you think Open Office user numbers are due a massive boost?
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
If, by "numbers", you mean CPU and memory usage then yes... they probably are
I actually think the UI part of the new system will be similar to what we have in Visual Studio - and will fade in/out when you mouse over the word or cell concerned.
|
|
|
|
|
Duncan Edwards Jones wrote: I actually think the UI part of the new system will be similar to what we have in Visual Studio - and will fade in/out when you mouse over the word or cell concerned. That won't happen, because touch interfaces don't have an on hover event.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
I installed Libre office for a couple of clients who didn't want ms office, and they're over the moon with it. It even has a Visio equivalent, where you can actually edit Visio diagrams.
Open Office? meh. It's fallen too far behind libre.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
Yeah, I switched to Libre from MS Office a couple of years back, and have to say it's damn good - and it does leave Open Office in the shade.
Unlike MS, it seems to focus on what users want to do instead of what the developer wanted to develop and marketers want to sell ... i.e. cloud cr@p on a subscription model.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|