This is a suggestion for one of our games. You may comment on and rate the suggestion here.
The Suggestion...
Roadmapped by ♪
Comments
Yeah it would be pretty cool. I started trying a bit of Android development a while ago. Maybe sometime in the future I'll give it another try.
Man, it would be sooooo awesome to play MR on my Xbox.
an xbox and maybe win phone 7 version could be arranged, if someone would like to work on it in C# with me. (C# being the language that will run on xbox's, zunes and win phone 7)
Data-wise, I've been debating whether it would be better to have it in xml and load it in every time the game runs, or to make a class for each, that implement the same interface(or be recast to different interfaces, as needed)
From C#, a java version would be pretty easy... I think, seeing as how they are pretty much the same.
The real question will be controls.
For phones and the like, I've been thinking that it would be a touch on screen to click, and either have a d-pad or tilt to move.two fingers on the screen could bring up the weapon selector, and maybe have three bring up the pause menu?
I'd be willing to start on this in a week or so: next, I'm trying to write an arm simulator to run on my zune for (hopefully) extreme bonus marks on my clock project. I'd also be down to teach a little c#, to anyone who has a windows machine(seeing as I think you will be needed visual C# to make use of it) My preference would be to work in xna 3.1, and convert it to 4.0(win phone), java, and I guess, if anyone has a mac, objective C later.
I'm not sure what the graphics libraries are like for the others, but for xna, all the image editing stuff will be pretty easy to do.
Data-wise, I've been debating whether it would be better to have it in xml and load it in every time the game runs, or to make a class for each, that implement the same interface(or be recast to different interfaces, as needed)
From C#, a java version would be pretty easy... I think, seeing as how they are pretty much the same.
The real question will be controls.
For phones and the like, I've been thinking that it would be a touch on screen to click, and either have a d-pad or tilt to move.two fingers on the screen could bring up the weapon selector, and maybe have three bring up the pause menu?
I'd be willing to start on this in a week or so: next, I'm trying to write an arm simulator to run on my zune for (hopefully) extreme bonus marks on my clock project. I'd also be down to teach a little c#, to anyone who has a windows machine(seeing as I think you will be needed visual C# to make use of it) My preference would be to work in xna 3.1, and convert it to 4.0(win phone), java, and I guess, if anyone has a mac, objective C later.
I'm not sure what the graphics libraries are like for the others, but for xna, all the image editing stuff will be pretty easy to do.
If we go with this, we could use the same engine(s) for bottom earth, come to think of it.
No phone tilting for moving.
Well, seeing as Csharp is close to Java, I guess I could hop from Java to it, instead of waiting people to make it first on it and then port it over myself.
Then again, I don't really have the time to do either, sadly.. ..which isn't anything new, actually.
Then again, I don't really have the time to do either, sadly.. ..which isn't anything new, actually.
This is somewhat unrelated, but steve: could I use either font_small or font_smallgrey for my arm simulator? It will just be for personal use.
Yes of course. Use away!
All this windows technology will cut me out of it I'm afraid. I am trying to get away from Microsoft not get bound up ever more tightly with them.
Still, that shouldn't be much of a problem since I don't do much these days anyway :) Of course, I reserve the right to continue with MR in other ways if I see fit (javascript is still a possibility, Android and a native version for the Linux desktop are others).
And of course, you are still welcome to use this site as much as possible. I'd certainly be interested in following the project and maybe porting it to other platforms if that becomes possible.
All this windows technology will cut me out of it I'm afraid. I am trying to get away from Microsoft not get bound up ever more tightly with them.
Still, that shouldn't be much of a problem since I don't do much these days anyway :) Of course, I reserve the right to continue with MR in other ways if I see fit (javascript is still a possibility, Android and a native version for the Linux desktop are others).
And of course, you are still welcome to use this site as much as possible. I'd certainly be interested in following the project and maybe porting it to other platforms if that becomes possible.
Thanks!
I'm pretty much willing to work towards any project right about now.
Unfortunately, until I find a reason(or appropriate time) to purchase some expensive phones(That will probably serve no more purpose than dev) I probably won't be of much help towards android development.
I suppose that for the apple side of things, it would be best to teach crazy some object-styled coding, and he can work out some stuff with it(I could help a bit there, pending that I borrow roommate's stuff now and then)
I'm pretty much willing to work towards any project right about now.
Unfortunately, until I find a reason(or appropriate time) to purchase some expensive phones(That will probably serve no more purpose than dev) I probably won't be of much help towards android development.
I suppose that for the apple side of things, it would be best to teach crazy some object-styled coding, and he can work out some stuff with it(I could help a bit there, pending that I borrow roommate's stuff now and then)
Yeah the problem with Apple is you need a Mac, an iPhone or iPad and an SDK. That's even more expensive than Android.
But I don't mean to put you off, if the Windows side of things interests you the most, I would say do that - you've got some great ideas how to progress with it.
Also if you are thinking of getting an Android phone, be careful which one you get. I got a Galaxy Spica 570 and I can't get it to connect for development purposes. Apparently the 750 would have worked but that wasn't available in Ireland. I can't try again now because I've lost the usb lead :)
But I don't mean to put you off, if the Windows side of things interests you the most, I would say do that - you've got some great ideas how to progress with it.
Also if you are thinking of getting an Android phone, be careful which one you get. I got a Galaxy Spica 570 and I can't get it to connect for development purposes. Apparently the 750 would have worked but that wasn't available in Ireland. I can't try again now because I've lost the usb lead :)
I'm pretty much interested in anything and everything (except maybe mac-related stuff)
With regards to investing in cell phones, I think its possible to purchase android and win 7 phones specifically for development[I'm not sure I would want to bring such an expensive thing around with me as a phone anyways, I'd probably lose or damage it]
With regards to the apple side of things, I have a broken iphone (gift from a friend) that I'm pretty sure only needs a couple replacement parts, and I have roomies with an iphone and an ipod, along with some form of mac laptop, which settles all the needs there(I'm not sure if I can effectively borrow all of them at once though)
Right now the windows bit is just a matter of convenience.
With regards to investing in cell phones, I think its possible to purchase android and win 7 phones specifically for development[I'm not sure I would want to bring such an expensive thing around with me as a phone anyways, I'd probably lose or damage it]
With regards to the apple side of things, I have a broken iphone (gift from a friend) that I'm pretty sure only needs a couple replacement parts, and I have roomies with an iphone and an ipod, along with some form of mac laptop, which settles all the needs there(I'm not sure if I can effectively borrow all of them at once though)
Right now the windows bit is just a matter of convenience.
Yes I believe the best Android phone for development would be the Nexus One from Google, but that would have cost nearly twice as much as the phone I have.
All Android phones can be enabled for development, you just go into the settings and switch it on. That means that debug messages can come back to the computer and the computer can upload apps directly to the phone. My specific problem was that I needed to load a special kernel module to let the computer talk to this particular phone, and there wasn't one available.
I was listening to the Linux Action Show the other day and the usual host was ill so they had a different guy giving tips about how to use BSD. At the end he said "And remember, Unix doesn't try to stop you from doing something stupid because that would also stop you doing something clever".
This pretty much sums up why I've never taken to Windows. Windows seems to think I am stupid, whereas Linux assumes I'm intelligent. Both of these assumptions are wrong, but I find the latter easier to live with :) .
The main direction I am interested in moving with MR (and all TMB games) is to be able to let people create, modify and play the game directly on this site. JavaScript is very compatible with that goal, but it may not be fast enough for a complex game like MR.
If it were possible to play the games in a browser, without plugins, they would automatically be available on Android, iPad, iPhone, Linux, Mac, Windows, Meego, Maemo, AmigaOs, Haiku - anything with a modern browser available for it.
If JS is not fast enough for full MR, then I may switch focus to making something simpler that it can manage.
This is the direction I am thinking in today, but that may change tomorrow! :)
All Android phones can be enabled for development, you just go into the settings and switch it on. That means that debug messages can come back to the computer and the computer can upload apps directly to the phone. My specific problem was that I needed to load a special kernel module to let the computer talk to this particular phone, and there wasn't one available.
I was listening to the Linux Action Show the other day and the usual host was ill so they had a different guy giving tips about how to use BSD. At the end he said "And remember, Unix doesn't try to stop you from doing something stupid because that would also stop you doing something clever".
This pretty much sums up why I've never taken to Windows. Windows seems to think I am stupid, whereas Linux assumes I'm intelligent. Both of these assumptions are wrong, but I find the latter easier to live with :) .
The main direction I am interested in moving with MR (and all TMB games) is to be able to let people create, modify and play the game directly on this site. JavaScript is very compatible with that goal, but it may not be fast enough for a complex game like MR.
If it were possible to play the games in a browser, without plugins, they would automatically be available on Android, iPad, iPhone, Linux, Mac, Windows, Meego, Maemo, AmigaOs, Haiku - anything with a modern browser available for it.
If JS is not fast enough for full MR, then I may switch focus to making something simpler that it can manage.
This is the direction I am thinking in today, but that may change tomorrow! :)
I'm thinking that when I purchase some phones, that I'll follow my family's general standard for purchases and buy the most expensive, most powerful ones available.
With regards to mr, I think that once the targeting gets sorted out good and proper, it should run quite easily on anything(pending on image drawing functions for dynamic alphas, scaling and rotating)
With regards to mr, I think that once the targeting gets sorted out good and proper, it should run quite easily on anything(pending on image drawing functions for dynamic alphas, scaling and rotating)
Yay! More teachings! Unfortunately, I do not have a Mac but atleast I have an IPad...and an IPod...and an iPhone. Lol.
First: take your choice of java or c#. (Unfortunately, you won't really be able to get objective c going.)
If you choose java, you will want to download eclipse, which can be found here: http://www.eclipse.org/downloads/packages/eclipse-classic-362/heliossr2
Otherwise, you will want visual c#, which can be found here: http://www.microsoft.com/express/Downloads/#2008-Visual-CS
I like the 2008 version, though I should really figure out the new one. (There's a link in there that will bring you to the 2008 version)
In addition to one of the above, you should get code::blocks because I think I'll start you off in c.
code::blocks: http://www.codeblocks.org/downloads/26 I think you want the minGW version. That way, if you ever want to figure out SDL stuff, you won't need to install it twice!
After installing various programs, open codeblocks. Then, make a new project, (file, new, project) on the window that pops up, click on console application and hit go. Use the C language, and call your project "hello world".
From there, hit next, and finish.
You now have a project to use! You will now find that on the left side of the screen, you now have a project. That bar shows the files and folders related to your c project. The main thing of concern here is the sources folder. Expand it and double click on main.c
Now you can actually start coding.(or at least reading some code)
First of all, try looking through the couple lines and try to figure out what the code inside the curly braces means.
Once you think you've figured it out, select the build menu, and do a "build and run" (play + gear button) This will run the program in a console, then show some stats about it on the next couple lines. Hitting the any key will close the console. Did you guess correctly?
I think I'll make a new suggestion for this later.
If you choose java, you will want to download eclipse, which can be found here: http://www.eclipse.org/downloads/packages/eclipse-classic-362/heliossr2
Otherwise, you will want visual c#, which can be found here: http://www.microsoft.com/express/Downloads/#2008-Visual-CS
I like the 2008 version, though I should really figure out the new one. (There's a link in there that will bring you to the 2008 version)
In addition to one of the above, you should get code::blocks because I think I'll start you off in c.
code::blocks: http://www.codeblocks.org/downloads/26 I think you want the minGW version. That way, if you ever want to figure out SDL stuff, you won't need to install it twice!
After installing various programs, open codeblocks. Then, make a new project, (file, new, project) on the window that pops up, click on console application and hit go. Use the C language, and call your project "hello world".
From there, hit next, and finish.
You now have a project to use! You will now find that on the left side of the screen, you now have a project. That bar shows the files and folders related to your c project. The main thing of concern here is the sources folder. Expand it and double click on main.c
Now you can actually start coding.(or at least reading some code)
First of all, try looking through the couple lines and try to figure out what the code inside the curly braces means.
Once you think you've figured it out, select the build menu, and do a "build and run" (play + gear button) This will run the program in a console, then show some stats about it on the next couple lines. Hitting the any key will close the console. Did you guess correctly?
I think I'll make a new suggestion for this later.
I wish I could help out on this. However, at the moment I've been focussing on learning Qt (plain awsomeness by the way).
Anyway, for graphics, OpenGL would probably work the best, considering it's available for every platform (minus WP7?). As long as stuff is kept standard, porting across platforms would be trivial. I know ♪ would prefer XNA, but considering that targets 3 platforms, while OpenGL targets pretty much everything else, Win7 included.
Also, using WebGL, a web version could be produced. Granted, WebGL is far from mature, but once it's at a usable state, goodbye Shockwave!
Anyway, for graphics, OpenGL would probably work the best, considering it's available for every platform (minus WP7?). As long as stuff is kept standard, porting across platforms would be trivial. I know ♪ would prefer XNA, but considering that targets 3 platforms, while OpenGL targets pretty much everything else, Win7 included.
Also, using WebGL, a web version could be produced. Granted, WebGL is far from mature, but once it's at a usable state, goodbye Shockwave!
Speaking of Qt, I'm actually writing this in a quick browser I wrote. Fun Fun!
Thanks Note! I'll get started once a download all of those programs.
Also Crazy, I can help you with any C stuff you need help with. A bit of C# too, but that's not my area of expertise.
I'm thinking that OpenGl will probably be necessary for ports around, regardless. Its really just a matter of what to start writing with.
Thanks Super_Merlin! So, what is your expertise?
If you can keep the part of the program that talks to the graphic library separate from the rest, you'll be able to have the game render itself in a variety of ways. DirectX, OpenGL, ACSII art - whatever!
I'm thinking about writing a dynamic library for each, that would implement the same functions as the first one uses. An ascii art version would be pretty entertaining, I must say. Maybe give dwarf fortress a run for its money...
Also, shall we write our own data structures?(things like lists, stacks, trees, and the like)
That would ensure that we can easily get the same functionality across all systems.
Oh boy! I've just thought of a great way to do targeting, which involves linked list concatenation!
Also, shall we write our own data structures?(things like lists, stacks, trees, and the like)
That would ensure that we can easily get the same functionality across all systems.
Oh boy! I've just thought of a great way to do targeting, which involves linked list concatenation!
My expertise? Hacking around on anything that seems interesting. However, my best language would be Python.
Yep that would be the thing - a dll with a common library.
Yeah definitely write your own data structures.
Yeah definitely write your own data structures.
Whoot! I'm kinda liking this list: http://javolution.org/target/site/apidocs/javolution/util/FastList.html
I think I might implement it pretty quickly.
What I'm thinking as far as targeting/storing character positions is as follows: there is an array of nodes, which can be formed into a linked list. Any array index that is not storing anything will be null, and the list-ifier will ignore them.
So, when something is looking for a target, it first list-ifies the nine boxes around it. If they are all null(bar the box that the caller is sitting in), it tries to list-ify the ring around it, and so on. Once it has a non-empty list, it does regular detection through the list.
Proof of concept will be the cell game.
I think I might implement it pretty quickly.
What I'm thinking as far as targeting/storing character positions is as follows: there is an array of nodes, which can be formed into a linked list. Any array index that is not storing anything will be null, and the list-ifier will ignore them.
So, when something is looking for a target, it first list-ifies the nine boxes around it. If they are all null(bar the box that the caller is sitting in), it tries to list-ify the ring around it, and so on. Once it has a non-empty list, it does regular detection through the list.
Proof of concept will be the cell game.
Just adding words to my programming dictionary. :)
Could you please give me the definition of the following? Thank you.
Null
Nodes
Array (Although I am pretty sure I know what it is after all the Py-thon tutorials)
Data Structure
Dynamic Library
DLL
ASCII Art
Caller
Linked list concatenation
Could you please give me the definition of the following? Thank you.
Null
Nodes
Array (Although I am pretty sure I know what it is after all the Py-thon tutorials)
Data Structure
Dynamic Library
DLL
ASCII Art
Caller
Linked list concatenation
Now, I'm sorry if I mislead you, my info is not perfect, but here is what I know:
Null is the value of a non-initialized variable.
Nodes in a linked list are objects stored in said list, or at least the memory areas which point to those objects.
Array is a collection of variables stored in a memory area which is easier to call the variables from rather than having tons of variables with different names.
Example is having ten numbers stored in a single array, rather than ten different variables. Often easier to use, manage and handle.
Data structures are ways of storing data. For example, you could have objects stored in a tree rather than an array-like linked list. Saving in different data structures have different advantages, usually for analysing or ordering said data.
Libraries are collections of data used to develop software. For example, you could have a program for following what the user writes in a text field, but if you wanted that function to be in other of your programs as well, you could write a library for it, which then could be used in other programs with a mere single line of code.
Dynamicness is an attribute for being flexible and multi-purpose. A dynamic library therefore would describe a single function, which then could be used differently depending on the program and purpose, instead of being always exactly the same.
An abbreviation for a library like this is DLL, dynamic-link library.
ASCII is a system with which you can use a basic alphabet. It uses 8 bits of memory per letter, allowing for 127 different letters to be used. (each letter has an identifier, and with 8 bits you can build that many different sequences)
ASCII art, as the name suggest, is art made with only those letters. Although nowadays more generalized to being art of pictures with only characters (not like in a movie, but like letters and marks and stuff). Just use the google image search and get some idea.
Almost done!
A caller, hmm. I'm not familiar with the word, atleast in English, but I believe it's a function which then calls for the things the programmer asks the computer to look for from the memory. In other words, for example, having a variable, then comparing that variable later on with another, you are calling the value stored in that variable.
Linked list concatenation would be adding an linked list in the end of another.
An example of string concatenation would be this:
(pseudocode)
string test = "asdf"
test = test+"lol"
Print(test) would print 'asdflol'.
Null is the value of a non-initialized variable.
Nodes in a linked list are objects stored in said list, or at least the memory areas which point to those objects.
Array is a collection of variables stored in a memory area which is easier to call the variables from rather than having tons of variables with different names.
Example is having ten numbers stored in a single array, rather than ten different variables. Often easier to use, manage and handle.
Data structures are ways of storing data. For example, you could have objects stored in a tree rather than an array-like linked list. Saving in different data structures have different advantages, usually for analysing or ordering said data.
Libraries are collections of data used to develop software. For example, you could have a program for following what the user writes in a text field, but if you wanted that function to be in other of your programs as well, you could write a library for it, which then could be used in other programs with a mere single line of code.
Dynamicness is an attribute for being flexible and multi-purpose. A dynamic library therefore would describe a single function, which then could be used differently depending on the program and purpose, instead of being always exactly the same.
An abbreviation for a library like this is DLL, dynamic-link library.
ASCII is a system with which you can use a basic alphabet. It uses 8 bits of memory per letter, allowing for 127 different letters to be used. (each letter has an identifier, and with 8 bits you can build that many different sequences)
ASCII art, as the name suggest, is art made with only those letters. Although nowadays more generalized to being art of pictures with only characters (not like in a movie, but like letters and marks and stuff). Just use the google image search and get some idea.
Almost done!
A caller, hmm. I'm not familiar with the word, atleast in English, but I believe it's a function which then calls for the things the programmer asks the computer to look for from the memory. In other words, for example, having a variable, then comparing that variable later on with another, you are calling the value stored in that variable.
Linked list concatenation would be adding an linked list in the end of another.
An example of string concatenation would be this:
(pseudocode)
string test = "asdf"
test = test+"lol"
Print(test) would print 'asdflol'.
Null is 0, none, nothing.
It refers to a pointer to nowhere.
Of course, that begs the question: what is a pointer?
To understand that, you need to see all of the memory in you computer as a big list of numbers.
A pointer tells you how far down the list your data is stored.(the list starts at number 0)
Some decision/organizing led to making sure that nobody uses the very first position for anything,(position 0), and so if you have a pointer to there, you know that it doesn't point to any actual data. Its very useful for writing data structures.
A node can been seen as a box, which you can put stuff into, look inside, and take stuff out of.
In an array, you have a series of these boxes beside each other, in a line(in your memory), and you have a pointer to the first one. From there, if you want to get to the next one, you add 1 to the pointer.
In a linked list, you have your boxes scattered all over the place, and each box has a value, along with a pointer to the next box in the list. (you could imagine the pointers as string, connecting two boxes together, and the linked list is a sort of snake of boxes and string) (... and null is represented by having no string)
Imagine that you have two such snakes. If you were to add a string from the back of one snake, to the front of the other. You would now have one long snake. This is concatenation.
A data structure describes how you store your objects/data/anything else. In example, your room is likely a mess data structure, which is to say that there is stuff everywhere with no order;) Arrays and linked lists are other examples.
DLLs/Dynamic link library/ dynamic library:
A type of file on your computer. That's all you need to know for now.
Ascii art: look at the html table for an example, google will also help you out here.
I'll tell you about calling once you've done the first bit.
It refers to a pointer to nowhere.
Of course, that begs the question: what is a pointer?
To understand that, you need to see all of the memory in you computer as a big list of numbers.
A pointer tells you how far down the list your data is stored.(the list starts at number 0)
Some decision/organizing led to making sure that nobody uses the very first position for anything,(position 0), and so if you have a pointer to there, you know that it doesn't point to any actual data. Its very useful for writing data structures.
A node can been seen as a box, which you can put stuff into, look inside, and take stuff out of.
In an array, you have a series of these boxes beside each other, in a line(in your memory), and you have a pointer to the first one. From there, if you want to get to the next one, you add 1 to the pointer.
In a linked list, you have your boxes scattered all over the place, and each box has a value, along with a pointer to the next box in the list. (you could imagine the pointers as string, connecting two boxes together, and the linked list is a sort of snake of boxes and string) (... and null is represented by having no string)
Imagine that you have two such snakes. If you were to add a string from the back of one snake, to the front of the other. You would now have one long snake. This is concatenation.
A data structure describes how you store your objects/data/anything else. In example, your room is likely a mess data structure, which is to say that there is stuff everywhere with no order;) Arrays and linked lists are other examples.
DLLs/Dynamic link library/ dynamic library:
A type of file on your computer. That's all you need to know for now.
Ascii art: look at the html table for an example, google will also help you out here.
I'll tell you about calling once you've done the first bit.
If you find yourself working in javascript, this might come in handy: http://jsperf.com/
Thanks, I'll keep that in mind.
I'd buy it.
If we(I) worked really quickly, it would be possible. I don't have an xbox to test on though... which would maybe cause some control issues.
A completed game engine for that would work nicely for phones as well, I think. It would just need different map sizes.
A completed game engine for that would work nicely for phones as well, I think. It would just need different map sizes.
I'd definetly 100% sure buy it. :D
Hmm. A Java version may come to fruition sooner than expected: I might end up having access to an android tablet.
I might end up with my friend's Galaxy, which means I might get sucked into Android deving soon as well.
Oooh. That's a nice phone!
I think I might have a look into some android stuff, maybe this weekend, depending on how busy things are.
I think I might have a look into some android stuff, maybe this weekend, depending on how busy things are.
Quick question: What is the compatiblity (please don't correct that) of a java game towards something that runs things that are well of multi-softwares (also don't correct that).
I mean will there be a lot of glitches bugs and stuff that will cause the game to crash once it is applied to one of those stores like: App store, uhh ps3 stuff, something on the xbox 360, a PC offline game. How will the game react when its on a different system than java based?
Will there be a different coding for the game so it is no longer java when it is not on the metal box or will the game have to be shipped off with steve's fingers crossed.
I mean will there be a lot of glitches bugs and stuff that will cause the game to crash once it is applied to one of those stores like: App store, uhh ps3 stuff, something on the xbox 360, a PC offline game. How will the game react when its on a different system than java based?
Will there be a different coding for the game so it is no longer java when it is not on the metal box or will the game have to be shipped off with steve's fingers crossed.
Each of those things require their own port of the game. An android will require that it be written in java, and using specifics methods (api) given by google to interact with the device (such as vibrate, or take input from the touch screen)
I-products have roughly the same thing, though the applications are set up differently, have a differently set up api, and are not written using java(aka, objective c)
An xbox/zune/windows phone will need a port written in C# and the xna api which is a modified .net, each having some of its own intricacies, though slight modifications can move a program between the lot of them.
A pc offline game could also use the C# one, or with some modifications, the java one, though the best bet/what is most frequently used for game creation is C++
A mac one would probably use objective C as well.
I think the ps3 also uses C++, though it has its own graphics library and api aswell.
So, pretty much, a new version of mr would need to be made for each product, even though they will be very similar, and not much work will be needed to go from one to another(depending on the luck of the draw)
I-products have roughly the same thing, though the applications are set up differently, have a differently set up api, and are not written using java(aka, objective c)
An xbox/zune/windows phone will need a port written in C# and the xna api which is a modified .net, each having some of its own intricacies, though slight modifications can move a program between the lot of them.
A pc offline game could also use the C# one, or with some modifications, the java one, though the best bet/what is most frequently used for game creation is C++
A mac one would probably use objective C as well.
I think the ps3 also uses C++, though it has its own graphics library and api aswell.
So, pretty much, a new version of mr would need to be made for each product, even though they will be very similar, and not much work will be needed to go from one to another(depending on the luck of the draw)
Well, shouldn't it be alot of work to convert MR to C?
Yes, but from Java to C# or objective C should be pretty simple. The main difficult part is getting it out of lingo. (Of course, it would be pretty easy to go from lingo to py-thon)
Did someone say Python? I love Python!
Anyway, I can think of one solution. It would be hard, but very portable.
Use a client/server model. Similar to Source engine games. Generally, both the client and server will run on the same machine. The server would keep stats, the status of everything, damage, movement, maps, potions, weapons, the whole shebang.
The client would get and send controls, and would render the actual game.
The advantage here is that the server can be completely cross-platform. The client could then be ported to each platform. Also, for a graphics API, OpenGL would be great. It could cover Android, PS3, PC, Linux, Mac, and pretty much everything else. An Xbox client would need to use DirectX/XNA.
I could help with any of this stuff really. Not to mention, all of these environments are very popular.
Anyway, I can think of one solution. It would be hard, but very portable.
Use a client/server model. Similar to Source engine games. Generally, both the client and server will run on the same machine. The server would keep stats, the status of everything, damage, movement, maps, potions, weapons, the whole shebang.
The client would get and send controls, and would render the actual game.
The advantage here is that the server can be completely cross-platform. The client could then be ported to each platform. Also, for a graphics API, OpenGL would be great. It could cover Android, PS3, PC, Linux, Mac, and pretty much everything else. An Xbox client would need to use DirectX/XNA.
I could help with any of this stuff really. Not to mention, all of these environments are very popular.
I think that's roughly the direction that bottom earth was going to work(my version, at least): have a big library which runs the simulation(aka, the shebang), and is wrapped into a small program for each api which draws and takes input.
Of course, I don't think xna games are able to call dlls...
furthermore, as far as getting mr out of lingo is resolving the inheritance stuff.(which I have a feeling might also contribute the game running pretty slow atm) Other than the modules, porting the game should be roughly just a matter of rewriting each function (and making an interface to render with)
Of course, I don't think xna games are able to call dlls...
furthermore, as far as getting mr out of lingo is resolving the inheritance stuff.(which I have a feeling might also contribute the game running pretty slow atm) Other than the modules, porting the game should be roughly just a matter of rewriting each function (and making an interface to render with)
I suppose the "stage" also needs some working out, though in android its taken care of with xml files(I think)
Yeah. Android uses XML for UI layout. But, it also has a Native Dev Kit, which allows C/C++, and other native libs.
Not strictly about the code or programing, but if you ever wanted to turn MR into a mobile app, you might want to look at the control scheme of the iPhone app games Solomon's Keep and Solomon's Boneyard. They're controls are seemingly very simple and work quite well.
I don't know if this would be appealing to you, but you might even want to talk to the company that made the games. Both SK and SB are wizard and magic based games too.
I don't know if this would be appealing to you, but you might even want to talk to the company that made the games. Both SK and SB are wizard and magic based games too.
Thanks for the idea!
So it's a double stick shooter?
I'm not sure that will work quite right as far as energy blasting goes.
I'm not sure that will work quite right as far as energy blasting goes.
Oh, by the way, steve isn't around too often, so suggestions won't get through too often, but comments will be almost immediately. I've picked up work on mrOpen/mr4, and a suggestion that approximates the main blog is "update! ver2"
I wish Steve would go on more often but I understand he is a very busy man.
Alright, so I got my first piece of Android software running in an emulator. I'll be getting a Galaxy 3 in a few weeks, after that I actually could try it out.
Nothing fancy, just playing around with the layout and different widgets, learning the structure and perhaps the biggest problem was in actually installing the SDK :D
But, a Hello to the World is a start anyway. Onwards with the API and everything, so I may actually get some sort of interaction.
Nothing fancy, just playing around with the layout and different widgets, learning the structure and perhaps the biggest problem was in actually installing the SDK :D
But, a Hello to the World is a start anyway. Onwards with the API and everything, so I may actually get some sort of interaction.
coolio. I'm meaning to take a look.
I just watched a good portion of a tutorial from google about starting up/organizing an android project.
http://www.youtube.com/watch?v=rm-hNlTD1H0&feature=related
I just watched a good portion of a tutorial from google about starting up/organizing an android project.
http://www.youtube.com/watch?v=rm-hNlTD1H0&feature=related
hmmm...
I think mr may work more nicely in Scala, which quite fortunately, works on androids.
I think mr may work more nicely in Scala, which quite fortunately, works on androids.
I heard Scala is good but it is disliked by some people.
Anyways, I was walking to the store with my brother and I was explaining how we were releasing MR on the androids. He asked me a question "What is the point of putting it on a phone? Or on an Xbox? You can just play MR for free on your computer." I simply said that you will be able to play anywhere that has wi-fi connection. So not just at your home. I also said that it would be cooler to play MR with a controller on a TV.
So after that I was wondering if could add some extra stuff to the Android MR. Stuff you will not be able to access on the computer. This encourages people to get the game on the Android which equals more money. We could add extra levels or something else like that. I do not think there would be much of a point of putting it on the Xbox because very little people would buy it. They probably would if they heard of MR but there aren't many people that go through each game on Xbox Arcade.
Anyways, I was walking to the store with my brother and I was explaining how we were releasing MR on the androids. He asked me a question "What is the point of putting it on a phone? Or on an Xbox? You can just play MR for free on your computer." I simply said that you will be able to play anywhere that has wi-fi connection. So not just at your home. I also said that it would be cooler to play MR with a controller on a TV.
So after that I was wondering if could add some extra stuff to the Android MR. Stuff you will not be able to access on the computer. This encourages people to get the game on the Android which equals more money. We could add extra levels or something else like that. I do not think there would be much of a point of putting it on the Xbox because very little people would buy it. They probably would if they heard of MR but there aren't many people that go through each game on Xbox Arcade.
Yes the Solomon's Keep series is a two stick shooter. I think that scheme would work well for MR4. One stick would be for moving and the other would aim. Just hold down the stick/wheel longer to charge a shot and release the stick/wheel when you want to shoot. You could even add an option to switch which side does what for left-handed people.
The other option is to have one wheel for movement and you just tap and hold anywhere on the screen to shoot in that diection. I didn't think this would be as popular an idea because it makes holding the device harder and your fingers would block your view of the screen (a fatal problem in fast paced shooters like this one).
The other option is to have one wheel for movement and you just tap and hold anywhere on the screen to shoot in that diection. I didn't think this would be as popular an idea because it makes holding the device harder and your fingers would block your view of the screen (a fatal problem in fast paced shooters like this one).
I am also not sure about the PS3 as I do not own the console.
Well yeah, I was also dumbfound when I looked more closely to the structure. 'Is it really just some objects stacked one after another on the layout representing the screen?' was my first thought when I figured that that's exactly how it worked. My next thought was: 'this can't be very handy for games.'
So I, too, thought about Scala at that point, but I think I'll stick with this for a while and see if I can get something useful out of it. Probably I can. Maybe not something useful regarding MR, though.
So I, too, thought about Scala at that point, but I think I'll stick with this for a while and see if I can get something useful out of it. Probably I can. Maybe not something useful regarding MR, though.
hahaha.
My thoughts were: So this is why all the buttons suck.
Followed by: Well, there's where the stage comes in.
You should try making pallo for androids. I found it to be a fun little exercise on my zune.
As far as adding new stuff for mrMobile, it will have its own map, of course, along with (possibly) some of its own spells. I'm thinking that ps3 and xbla won't happen...
If we go with double sticks, maybe we could have one control a crosshairs, aka the mouse, so it would be kinda like using a little nubby mouse.
I was generally thinking of using a single dpad and touching the screen to target/charge/release spells.
My thoughts were: So this is why all the buttons suck.
Followed by: Well, there's where the stage comes in.
You should try making pallo for androids. I found it to be a fun little exercise on my zune.
As far as adding new stuff for mrMobile, it will have its own map, of course, along with (possibly) some of its own spells. I'm thinking that ps3 and xbla won't happen...
If we go with double sticks, maybe we could have one control a crosshairs, aka the mouse, so it would be kinda like using a little nubby mouse.
I was generally thinking of using a single dpad and touching the screen to target/charge/release spells.
I still think that with the screen size of most mobile devices, you wouldn't want the fingers getting in the way of seeing the screen. Maybe have a small box in one corner that is a scale "model" of the screen? Wherever you touch on it charges and shoots to the corresponding location on the screen. That would be useful especially if you made a crosshair appear on the main screen showing where you "clicked" (really useful while charging a shot cause you could see the hairs on the field while the bolt charges above Merlin).
Artificial mice don't really work (like the nubb mice on some laptops) for shooters because you can't get them to always (if ever) move as fast as you want them to or as fast as an actual computer mouse could. They tend to be extremely frustrating to aim with.
The more I think about it, the less I think a stick would work for aiming. True, it would give you excellent control of in which direction the shot would be fired, but not how far it would be. That was/is a critical ability in MR: to be able to shoot over enemies. I change my vote to a "touch box" like described above.
Artificial mice don't really work (like the nubb mice on some laptops) for shooters because you can't get them to always (if ever) move as fast as you want them to or as fast as an actual computer mouse could. They tend to be extremely frustrating to aim with.
The more I think about it, the less I think a stick would work for aiming. True, it would give you excellent control of in which direction the shot would be fired, but not how far it would be. That was/is a critical ability in MR: to be able to shoot over enemies. I change my vote to a "touch box" like described above.
Exactly. For an example of the touch aiming + dpad movement, have a look at tank hero. It's free, and works pretty much like how I've been imagining mr to do. I think I'd go with a dynamic dpad though(which would allow targeting anywhere on the screen) I think having a miniscreen would be incredibly difficult to aim, owing to the very small area, along with the fact that your finger would likely cover even more of the information.
I'll try putting both together, when it gets there.
I'll try putting both together, when it gets there.
I'm sold on using a combination, and I think I might know how to solve the visibility problem of using fingers to directly aim the shots. You could have the crosshairs mimic the finger's movements (like normal) but not move to the finger first. In other words, let's say the hairs are in the top left quadrant of the screen, you could move it around to fight those enemies simply by touching anywhere on the screen. The hairs move in sync with your finger, but not directly under your finger, and if you wanted to move the hairs somewhere else, you just drag in that direction, pick up your finger, touch somewhere else, and keep dragging (like you would if your mouse on a computer got too close to the edge of you mouse pad). I'm not a programmer myself, so I don't know how difficult this would be to do, but it seems like it might work.
Whoo vectors!
That could work, and would be nearly as easy as having point to touch. Crosshairs design will be a big deal in this case, as I think it might be difficult to keep an eye on. I know I lose track of where merlin is on the screen more often than not...
I can also think of a nice way of implementing multiple control types based on this;)
That could work, and would be nearly as easy as having point to touch. Crosshairs design will be a big deal in this case, as I think it might be difficult to keep an eye on. I know I lose track of where merlin is on the screen more often than not...
I can also think of a nice way of implementing multiple control types based on this;)
Two suggestions.
Bright red crosshairs about the size of Merlin himself
Whenever you double tap the screen, the hairs double in size and blink for a second to halo you locate them. When you tap on the Merlin control stick have a large ed exclamation point appear above his head and blink for a second. These would be fast and simple fixes for the "I can't find Merlin/cursor/crosshairs but my health bar is dropping like a rock!" moments we all *love* (twitch).
Bright red crosshairs about the size of Merlin himself
Whenever you double tap the screen, the hairs double in size and blink for a second to halo you locate them. When you tap on the Merlin control stick have a large ed exclamation point appear above his head and blink for a second. These would be fast and simple fixes for the "I can't find Merlin/cursor/crosshairs but my health bar is dropping like a rock!" moments we all *love* (twitch).
Any chance you could also make a suggestion for those? I'd like to roadmap the second one:)
Lol, yeah just make sure you give credit to the person that thought of it. :)
Well, it doesn't have to be immediately;)
Were you asking me to make an official suggestion for my ideas regarding MR mobile? I could call it "Functionality suggestions for MR mobile." Doing this would also help because this particular thread is getting ridiculously long and cumbersome to scroll on my iPad.
Instead, you may want to take a look at and comment on [Suggestion_7021]
Hmm. I forgot about that one.
You must be logged in to add a comment.
Rating: 5.00 in 2 votes
Status: rate | *In Roadmap*
Imagine Merlin's Revenge mobile!