|
Is a fake !!! Maybe someone Photoshop it
Bryian Tan
|
|
|
|
|
Go on bring logic and common sense to a joke.
It was my first reaction
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Why do I have the urge to raise an eyebrow 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.
|
|
|
|
|
I know that I have been getting on your nerves with my little hobby project, but I need another pat on the back for motivation.
One must be a little crazy to start such a project. The solution now contains 47 projects. I could have stuck to making a browser game, but web pages are as entertaining as my socks. And I also wanted to know if I can pull this off.
Enough of boring screenshots. Now I have videos.[^]
Besides a little shameless bragging, I still have hopes that someone who is a better artist comes along and wants to supply better 3D models. Or perhaps someone who wants to compose the 'Hymn of the conquest of the universe.
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.
modified 25-Mar-17 11:33am.
|
|
|
|
|
Looking good. And this is XAML based?
This space for rent
|
|
|
|
|
To be precise, it's a UI that's based on my 3D engine, which is based on XNA/MonoGame, which is based on DirectX.
Yes, the whole thing uses XAM for everything: Loading the graphics resources, the animation of the 3D scenes in the background, the UI theme and also the views themselves.
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.
|
|
|
|
|
Just for fun: This is the XAML for the UI theme for the game client:
Edit: Sorry, The editor refuses to show the whole XAML. Let's take something shorter and far less impressive, like that registration view:
Edit^2: It still refuses to show more than the top few lines. I begin to wonder how posting an article about this will work out.
<cRegistrationView Id="LoginView" Width="542" Height="500" DockStyle="ADAPT"
xmlns="clr-namespace:FoC.MemPraeUserModule.Presentation;assembly=MemPraeUserModule"
xmlns:foc="clr-namespace:FoC.Praetor4UI.Controls;assembly=Praetor4UI"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<foc:cPraePanel Id="PnlLoginName" Style="GroupPanel" PositionX="5" PositionY="5" Width="531" Height="65" >
<foc:cPraeImage Image="SequenceOne" PositionX="5" PositionY="5" Width="32" Height="32" />
<foc:cPraeLabel PositionX="52" PositionY="5" Width="200" Height="20" Text="Please enter your login name:" />
<foc:cPraeTextbox Id="TbLoginName" PositionX="52" PositionY="32" Width="367" Height="25" LabelText="Login Name" />
<foc:cPraeImageButton Id="BtnLoginName" Image="Button_96" PositionX="428" PositionY="34" Width="96" Height="22" Text="Continue" />
</foc:cPraePanel>
<foc:cPraePanel Id="PnlMailAddress" Style="GroupPanel" PositionX="5" PositionY="75" Width="531" Height="94" >
<foc:cPraeImage Image="SequenceTwo" PositionX="5" PositionY="5" Width="32" Height="32" />
<foc:cPraeLabel PositionX="52" PositionY="5" Width="300" Height="20" Text="Please enter your mail address and repeat:" />
<foc:cPraeTextbox Id="TbMailAddress" PositionX="52" PositionY="32" Width="367" Height="25" LabelText="Mail Address" />
<foc:cPraeTextbox Id="TbMailAddressRepeat" PositionX="52" PositionY="62" Width="367" Height="25" LabelText="Please Repeat" />
<foc:cPraeImageButton Id="BtnMailAddressBack" Image="Button_96" PositionX="428" PositionY="33" Width="96" Height="22" Text="Back" />
<foc:cPraeImageButton Id="BtnMailAddress" Image="Button_96" PositionX="428" PositionY="64" Width="96" Height="22" Text="Continue" />
</foc:cPraePanel>
<foc:cPraePanel Id="PnlServer" Style="GroupPanel" PositionX="5" PositionY="174" Width="531" Height="169" >
<foc:cPraeImage Image="SequenceThree" PositionX="5" PositionY="5" Width="32" Height="32" />
<foc:cPraeLabel PositionX="52" PositionY="5" Width="300" Height="20" Text="Please select a server:" />
<foc:cPraeListview Id="LvServers" Style="ServerList" PositionX="52" PositionY="32" Width="367" Height="130" />
<foc:cPraeImageButton Id="BtnServerBack" Image="Button_96" PositionX="428" PositionY="112" Width="96" Height="22" Text="Back" />
<foc:cPraeImageButton Id="BtnServer" Image="Button_96" PositionX="428" PositionY="139" Width="96" Height="22" Text="Continue" />
</foc:cPraePanel>
<foc:cPraePanel Id="PnlDisplayName" Style="GroupPanel" PositionX="5" PositionY="348" Width="531" Height="124" >
<foc:cPraeImage Image="SequenceFour" PositionX="5" PositionY="5" Width="32" Height="32" />
<foc:cPraeLabel PositionX="52" PositionY="5" Width="300" Height="20" Text="Please enter your display name and password:" />
<foc:cPraeTextbox Id="TbDisplayName" PositionX="52" PositionY="32" Width="367" Height="25" LabelText="Display Name" />
<foc:cPraeTextbox Id="TbPasswd" PositionX="52" PositionY="62" Width="367" Height="25" LabelText="Password" PasswordCharacter="x" />
<foc:cPraeTextbox Id="TbPasswdRepeat" PositionX="52" PositionY="92" Width="367" Height="25" LabelText="Please Repeat" PasswordCharacter="x" />
<foc:cPraeImageButton Id="BtnDisplayNameBack" Image="Button_96" PositionX="428" PositionY="68" Width="96" Height="22" Text="Back" />
<foc:cPraeImageButton Id="BtnDisplayName" Image="Button_96" PositionX="428" PositionY="95" Width="96" Height="22" Text="Continue" />
</foc:cPraePanel>
<foc:cPraeImageButton Id="BtnRegister" Image="Button_128" PositionX="224" PositionY="483" Width="128" Height="33" Text="Register" />
</cRegistrationView>
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.
modified 25-Mar-17 17:09pm.
|
|
|
|
|
Quote: One must be a little crazy to start such a project
Yes indeed, but also noteworthy
modified 19-Jan-21 21:04pm.
|
|
|
|
|
Very nice
Someone's therapist knows all about you!
|
|
|
|
|
A "browser game"? What was the initial plan for that?
Whatever it was, I'm intrigued by how a "browser game" has evolved into this.
|
|
|
|
|
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.
|
|
|
|