Forums / DQ: Horizons / General Discussions / Making a browser based game...
Posted ByMessage
Emperor L
[ Posts : 1237 ]
[Post Date: 18-Oct-2008 13:23]

I am in my final year at uni now, and a big part of this year is a 'final year project'. Right now we just need to think of ideas, and I was thinking of maybe making a simple browser based game.

The estimated time that we should spend in total is about 400 hours over the next 5 or 6 months, but during this time we must do everything, from planning, risk analysis, project brief, design, implementation, testing and write a report and evaluation. Its also an individual project, so everything inclucing art (although this dont have to be great) and programing must be done alone.

Anyway, I was just wondering if it would be possible to create (a quite simple) browser based game in this time. Its important that its chalenging (to get good marks) but also feasible (can be done in the time and not too hard). I know DQ:H has taken months now to this stage, and I am guessing thats with full time work.

I am thinking of using access for the database, and ASP.net for the actual game. As far as I know they should be ok...

I dont really know exactly what the game will be about yet, but I am thinking of a game based in a world with land and ocean, where the world is randomly generated, and made on a grid so players can move. Each square will have different levels of resources, so players will have to plan where they build mines, farms, towns, fortresses etc.

Also, science will go from about medieval times to about modern day, so from swords and bows to more modern weapons, same with buildings and ships etc.

Players could build armys and ships to explore and fight, and it will have to be turn based. It will be a death match type game, where a round continues untill only one side remains.

Anyway, its just an idea so far, but what do you think? Is that too much for 400 hours work?


Maverick
[ Posts : 1331 ]
[Post Date: 18-Oct-2008 14:48]

First, welcome to our world were we want everything and yesterday

Quote
I am in my final year at uni now, and a big part of this year is a 'final year project'. Right now we just need to think of ideas, and I was thinking of maybe making a simple browser based game.

The estimated time that we should spend in total is about 400 hours over the next 5 or 6 months, but during this time we must do everything, from planning, risk analysis, project brief, design, implementation, testing and write a report and evaluation. Its also an individual project, so everything inclucing art (although this dont have to be great) and programing must be done alone.

Anyway, I was just wondering if it would be possible to create (a quite simple) browser based game in this time. Its important that its chalenging (to get good marks) but also feasible (can be done in the time and not too hard). I know DQ:H has taken months now to this stage, and I am guessing thats with full time work.
No. DQ:H is not a full time project, actually is free time project + weekends

Quote
I am thinking of using access for the database, and ASP.net for the actual game. As far as I know they should be ok...
Don't use access ever. Its an evil MS product that corrupts new professionals minds. Use other relational DBs, such as MS SQL, FireBird, DB2. From free and acceptable ones you could use FireBird (we use it) or MS SQL Express. If not these one then use MySQL. MySQL is a bad DB but is better then Access.

For programming language you can use whatever is comfortable for you. ASP .Net is Ok, but you'll be forced to use a server on MS OS though.

Quote
I dont really know exactly what the game will be about yet, but I am thinking of a game based in a world with land and ocean, where the world is randomly generated, and made on a grid so players can move. Each square will have different levels of resources, so players will have to plan where they build mines, farms, towns, fortresses etc.

Also, science will go from about medieval times to about modern day, so from swords and bows to more modern weapons, same with buildings and ships etc.

Players could build armys and ships to explore and fight, and it will have to be turn based. It will be a death match type game, where a round continues untill only one side remains.

Anyway, its just an idea so far, but what do you think? Is that too much for 400 hours work?


Its too much for 400 hours. Make something small and then if you have time expand it. If you would like I have in mind a very simple concept of a game. I can share my ideas with you and let you evolve/implement it. To be more productive we would need to discuss different issues over a messenger. I'm using ICQ (or equivqlent) or Skype.

Should you have any questions please don't hesitate to contact me


Emperor L
[ Posts : 1237 ]
[Post Date: 18-Oct-2008 18:45]

Quote
No. DQ:H is not a full time project, actually is free time project + weekends


Oh, ok. Thats not so bad then, this will be the same kind of thing (as in time), although also limited to time I am at uni to work on it.

Quote
Don't use access ever. Its an evil MS product that corrupts new professionals minds.


Ok, I was only going to use it because its availiable easily at uni. I can use SQL though, so I could use Oracle instead, they have that...

I could ask about FireBird or something, but the problem is that it will be done on the uni machines + server, and they use the software they want, and this usualy ends up being the big expencive stuff that big companies use. I can't just install stuff, as we dont have access to the server itself, just an account to store files in...I don't know if they would go to the trouble of setting up something else...but I can ask. Its worth a try

Quote
For programming language you can use whatever is comfortable for you. ASP .Net is Ok, but you'll be forced to use a server on MS OS though.


Yeah, thats not really a problem for this though. Also, they already have servers set up for us to use for things like this, so we dont have to worry about prices and hardware etc, and if anything goes wrong in that area, it will be looked after by the technicians.

If not .net, then what else would be a good (free) option? I know you can just write the ASP in a text editor...but this still requires some server side program to generate the HTML, is their anything free for this? I also can use javascript well, and also VB script is ok, although I haven't done so much in that.

Quote
Its too much for 400 hours. Make something small and then if you have time expand it.


Yeah, something like that would be good. A big part is not just development, but our time management and planning skills. So something where it could be developed incrementaly would be good. We have studied lots of methodologies for software development, and one where you choose 'Must Have', 'Should Have' and 'Could Have' parts would fit well with that That way even if some things are not totaly finished, it will still be a working product without it.

Quote
If you would like I have in mind a very simple concept of a game. I can share my ideas with you and let you evolve/implement it.


One thing we are told is possible is to find a client and make a system to their specification, instead of making something up ourselves.

This takes some organising, things such as copyright (the uni usualy claims project copyright as its own, but when its for a client this can be changed), also the report is also owned by the uni, and they can use this for anything they want, and if it contains confidential information etc, things may need to be removed after marking etc. But it is an advantage and looks good to the assesors if you have a real client I will try and find out more information about it

We will be given our assessors next week, and will have regular meetings with them, so I can ask about all this then

Quote
To be more productive we would need to discuss different issues over a messenger. I'm using ICQ (or equivqlent) or Skype.


I don't have those, and dont really know what they are. I think its like an instant messenger or something, but I will try and find out

If not those, then is email ok?

Quote
Should you have any questions please don't hesitate to contact me


Thanks . I will ask about everything next week and let you know if this is possible or not


This message was edited by Emperor L
Emperor L
[ Posts : 1237 ]
[Post Date: 19-Oct-2008 00:23]

I have been looking around, and even though I have never used it before, PHP seems ok also, and I think with a bit of time I could learn the basics of it, and there are lots of guides around for it. I think I can use Apache web server for this (http://httpd.apache.org/), and they also have a Database project (http://db.apache.org/). I think its all open source and free, so those could be good. I am guessing FireBird could be used with this also though.

I will ask about all this also. It would be good if I could use all free, open source software as I can do a lot of work on my own PC, instead of having to do it at uni. Also, after the project is done then it also won't require any expencive software to use or update/change it.

Anyway, I have some ideas about what to ask now, so thats a good start.










Maverick
[ Posts : 1331 ]
[Post Date: 20-Oct-2008 08:59]

Quote
I have been looking around, and even though I have never used it before, PHP seems ok also, and I think with a bit of time I could learn the basics of it, and there are lots of guides around for it. I think I can use Apache web server for this (http://httpd.apache.org/), and they also have a Database project (http://db.apache.org/). I think its all open source and free, so those could be good. I am guessing FireBird could be used with this also though.

I will ask about all this also. It would be good if I could use all free, open source software as I can do a lot of work on my own PC, instead of having to do it at uni. Also, after the project is done then it also won't require any expencive software to use or update/change it.

Anyway, I have some ideas about what to ask now, so thats a good start.


Well, you've come to those used by us in almost all web projects: Apache as web server, PHP + Smarty as programming language, FireBird as DB. Everything is open source. Haven't heard about apache db though, you can use MySQL instead.

This message was edited by Maverick
skyraider
[ Posts : 328 ]
[Post Date: 20-Oct-2008 15:40]

Quote


Well, you've come to those used by us in almost all web projects: Apache as web server, PHP + Smarty as programming language, FireBird as DB. Everything is open source. Haven't heard about apache db though, you can use MySQL instead. [/q]

I recommend install for developing all in one package such as

http://www.apachefriends.org/en/xampp-windows.html#641

and Firefox+some plugins for web development


Emperor L
[ Posts : 1237 ]
[Post Date: 21-Oct-2008 01:00]

Quote
Well, you've come to those used by us in almost all web projects: Apache as web server, PHP + Smarty as programming language, FireBird as DB. Everything is open source. Haven't heard about apache db though, you can use MySQL instead.


Ok, thats good then. So I guess that means they are all good then. I never heard of Smarty before, but will take a look.

Also, I think I will choose Firebird as a first choice, and MySQL as a second choice...that is if I can use any of this at all for this project.

Quote
I recommend install for developing all in one package such as

http://www.apachefriends.org/en/xampp-windows.html#641

and Firefox+some plugins for web development


That looks good. I guess this is a collection of everything needed in one place. It also has a mail server and FTP server also.

Not sure what the PHP Admin or SSL thing is exactly (I know SSL is for a secure connection, but not much about it). But that all looks good. I may try those then, and if it has mail and FTP server, thats a lot more possibilities. For things like sending a code at registration and things.

We need to evaluate different technologies and decide what is best for the project also, so these are some good possibilities.

Thanks




Green
[ Posts : 1005 ]
[Post Date: 04-Dec-2008 16:44]

Quote

We need to evaluate different technologies and decide what is best for the project also, so these are some good possibilities.



This is _VERY_ hard to say what technology is the best. Usually, teams starts with technologies which are known or are preferred by the customer. If you begin from scratch - you can choose anything. And you will understand what you did wrong _after_ you did it

Let I`ll show some technologies (known by us) and explain them a bit:

1) RDBMS:

a) Oracle. Pros: It is well-known standard for HUGE (tens of Tera- bytes). Cons: it is a BIG database (minimal clent is ~150M, server fit into 1-2 CDs). And it require very good hardware just to run it (for example, Linux installer aborts if detect less than 1G of RAM). Ah, I forgot, if you can buy Oracle then hardware costs is hothing to you. And, yes, there ia a "free cheese in a mousetrap" - Oracle Express version allow its usage for free in some restriceted conditions.

b) MS SQL. MICRO$OFT. This is all . Last five years they fight against Oracle and vice versa. If all infrastructure is build over MS tech and you are platinum MS customer - I`m afraid you will have no choise.

с) DB2 - read all about Oracle, but read "IBM" instead "Oracle".

d) Informix - de-facto is dead. Point.

e) Postgrees - very interesting RDBMS, started as academical project. This is an advantage and disadvantage in the same time. By the logical architecture it is very close to Firebird, but PG is more "object" database than "relational". They has very nice manuals, but it is a nightmare to tune it right.

f) Firebird. Those two games (and upcoming, I hope, third MMO DQS) use it for data storage and logic processor. It is a fork, based on Interbase 6.0 sources, which become now "little Oracle" - it miss some features from Oracle, but it is small (server binaries are less than 12M unpacked) and fast. And require zero administration.

g) MySQL. I can not even call RDBM - it is "dbf-like" server with SQL front-end. Yes, version 5.0 has transactions and some limited stored procedures support. Yes, they hired Jum Starkey (main architector of Interbase) to implement versionning system for v 6.0 (codename Falcon). But I still hate it, may be because I was MySQL fanatique long time ago

Technologies/Languages:

a) C/C++ CGI. It is fast and cross-platform (in source form, ofcourse, Linux Elf-binaries can not be executed under Windows). It is powerful, but it is sharp as Japanese Katana - you can down server with wrong code. It is not scripting language and it require compilation. DQ:E is written in C++ (actually - in objective C, I can not say it is strict and fine Object C++).

b) PHP - it is powerful scripting language, but it is slow - even with PHP accelerator it is 14-18 times slow than the same code in C/C++. But you do not need to complie your scripts and it is cross-platform just by definition - there is nothing to compile.

c) C# and .NET - this is a M$ responce to SUN`s Java. It is fast (after first compilation, because C#, for example, is use JIT compiler) and sometimes are platform-independent - if we talk about C# not as about technologu, but as programming language. JIT-compilled script is ~1.8 times slow than C++ compiled code. But mostly used in windows-based projects.

d) Java - it is mature now, but stil SLOW, if we do not use JIT compilers and it is not cross-platform as was proposed initially, but it run on the wide range of OS - from MS Windows to AIX.

e) PERL - like PHP, but is not so popular as PHP.

This is not full list of all existing technologies - but it enougth to learn them in 1-5 years
This message was edited by Green
Emperor L
[ Posts : 1237 ]
[Post Date: 05-Dec-2008 00:27]

Thanks! I forgot to post an update of what I am doing so far.

This will be useful, I need to look at various technologies and disadvantages and advantages of each, and then explain why in the end I chose certain techs. I guess that availiability will be a big factor in this project, as I have to use the university facilities, so if it is not availiable there, I cant use it...in a way this is like a client saying what we can use I guess.

I would like to use all open source, but the problem is if I can get it installed on a server. We have access to a lab with computers that can be installed with software and things, but I dont quite know about servers and such. Most likely I won't get outside connection if I do, but I don't know yet. If I can get a custom server, it should be set up for me, so I don't need to worry about instalation of things...

Also, I know lots of Microsoft stuff is expencive, and Oracle also. But I don't need to worry for this project, as the uni have servers with these already, I know they have an Oracle server, and ASP.net server also, I have used them before. So I almost for certain could use these.

Anything else depends, if they will set it up. Open source is free, so quite likely they will do that, so that should be good. Also, I can use these at home, and that makes things easier, and also I can run/continue the game even after this project is finished. I need to find out though, I already wrote my project brief and things. I have a basic design also.

I will just be developing a prototype, this makes it easier, as I don't NEED to finish. I will be developing it in stages, adding the very basic functions, and then more if I have time.

For languages, I know java, and javascript, VB and ASP, but I will need to learn anything else, although thats good, as that is the point of uni

I don't know anything really about C, C++, C# etc. Although I would like to learn them. I think C++ is similar to java anyway, from what I have seen. But, like you said about crashing server, that will be big problem, as I cant just reset, I probably wont even have physical access to it, just remote...so for this project it could be a problem.

So far, I have a plan of PHP, and Firebird for DB. This will be my first choice, if availiable.

As a backup, I could use ASP, VB and if I learn it C#. And Oracle DB, I know these are availiable at least.

And like you said, I will probably make lots of mistakes, and things. But as long as I learn from it, its good




This message was edited by Emperor L