Getting a topic for a Bachelor thesis in computer science

Talk about Frozenbyte, general gaming topics, and everything else.
User avatar
Urfoex
Posts: 50
Joined: Fri Apr 15, 2011 11:14 am

Getting a topic for a Bachelor thesis in computer science

Postby Urfoex » Mon May 23, 2011 2:42 pm

Greetings.

I should work on my Bachelor thesis the next three month.
The topic isn't fixed yet.
So as I love working on games and creating new ones I thought about doing something with "Shadowgrounds" or "Jack Claw".
This is my first Bachelor thesis so I have no idea of anything about it.

Some topics that came through my mind where:
- Implementing RakNet (http://www.jenkinssoftware.com/) into Storm3D to get full multiplayer support. As SG and JC both are build on top of the Storm3D engine implementing RakNet into S3D would probably be beneficial to both games.
- Implementing XInput2 into Storm3D to have multi-mouse and multi-keyboard support on Linux.
- Porting/Recreating the Frozenbyte editor in Qt (as said here: viewtopic.php?f=24&t=3560).

Don't know if anything of that is worth a Bachelor thesis because it seams to be "just implementation". Maybe there are some other better topics for that.
Currently a big problem would also be the still missing source code of SG and JC for Linux.


Any thoughts and help will be appreciated.


Oh, just to say:
I'm studying computer science at the university of applied sciences, Leipzig, Germany.
My internship took part at the Nao-Team HTWK (http://naoteam.imn.htwk-leipzig.de/). I made a project page for the project I made: http://code.google.com/p/nao-sim/ and some projects I made at different times are lying there: http://code.google.com/p/manuel-bellersen/


Regards
+-----------------------------------------------------------------\
| Debian testing 64Bit on
| * AMD Phenom x4 905e (4x2500Mhz)
| * 6GB Ram
| * AMD/ATI Radeon HD4770 (fglrx)
+-----------------------------------------------------------------/

User avatar
fb_joel
Site Admin
Posts: 2482
Joined: Fri Feb 18, 2005 2:14 pm
Location: Finland

Re: Getting a topic for a Bachelor thesis in computer scienc

Postby fb_joel » Mon May 23, 2011 5:12 pm

The Linux/Mac source was released today. :) (here)

As for the thesis, I can only offer my 2 cents... Implementing RakNet might be a "nice" challenge on the technical level, because basically the games/engine (code) are not suitable for multiplayer at all. So you could approach it from the angle of "is it possible to implement multiplayer when the engine has not been designed for it and multiple games have already released on it", or "the truth behind game developer's/developers' refusals to add online multiplayer" :P (we've been explaining this for 6 years or something, that's a nice amount of data to browse through) or something like that. If I remember right it's not a problem if a thesis project "fails", because that's a valid result too.

I should definitely warn you that in our case, we decided to ditch the old engine completely and write a new engine for Trine 2 (and future projects). That took like 12 months+ with a team of programmers (half a dozen or so, although some worked on other things too). I don't remember our "estimates" for adding multiplayer to the old engine, but it's definitely not a small task. You may have to end up rewriting almost all of it, if you want "good/great" performance from the games themselves. I'm sure some kind of a "hacky" multiplayer can be implemented in a relatively short period of time but it's probably not "production ready". We made the decision to not include multiplayer in 2002 or so, when we were working on the RTS prototype (that later turned into Shadowgrounds), so the code has been building up ever since...

Also remember that RakNet is a commercial product too so there may be some legal issues if you plan to release any executables or such that would allow multiplayer in the games, although I'm sure Kevin & co at RakNet would be willing to discuss this.

The other ideas are perhaps "easier", and the multi-mouse/keyb support might be very feasible indeed.

I hope this "helps" a bit. :)
// Joel, Frozenbyte team

alt_turo
Posts: 195
Joined: Mon Dec 13, 2010 11:06 am

Re: Getting a topic for a Bachelor thesis in computer scienc

Postby alt_turo » Tue May 24, 2011 12:51 pm

Urfoex wrote:- Implementing XInput2 into Storm3D to have multi-mouse and multi-keyboard support on Linux.


The games use SDL for input handling. If you wanted to implement raw XInput2 support you might have to "go behind SDLs back" which sounds like a very bad idea. Better would be to fix the code to compile against SDL 1.3 (still in development) and then maybe add necessary functionality to SDL. Also this way all users of SDL get the benefits.
Turo Lamminen
Alternative Games

User avatar
Urfoex
Posts: 50
Joined: Fri Apr 15, 2011 11:14 am

Re: Getting a topic for a Bachelor thesis in computer scienc

Postby Urfoex » Thu May 26, 2011 1:00 pm

Thank you for the long and detailed answers.

I saw the source code release short after my post ( and have put it into the Google project mercurial repository) ( you should consider doing an extra topic-post for the release or/and a (short) mention on your blog. Waiting people not always look at any reply you do to any topic (that might not even be to the code release ;-))). Couldn't get it to compile yet because I haven't installed physx yet.

Your engine is currently not designed for multiplayer?
I can play just fine with other buddies e.g. coop in SG and SG:S and Trine (as I assume that Trine is also made with Storm3D because you wrote of making a new engine for Trine2). For the games are they using randomness for object and enemy placing and other calculations? Because a static / scripted placement should work the same for local and non-local coop by just exchanging player commands. Both PCs would calculate the same thing when they are getting the same input. But I think there is some random stuff in calculating bullets and damage and so it wouldn't work that easy that way. That maybe would be the hacky way you mentioned.
Abstracting the input to the calculations and the output from it so that calculation could be made on the server could be a bit of work. As I haven't looked in the code yet I can't say anything about it ( And also i haven't done anything similar till now so I'm pure noob on that area ^^).

For own game projects we, a friend of mine and I, did a lot of research for good and free parts for a games engine. There is grapple from LGP but it seams a bit "strange" and some other free stuff seamed dead. RakNet was the best compromise we found. It has lots of features, active development and community and many also big projects are made with it.
And it's free for Indies ( till some point of income if sold).



I did my internship project (http://code.google.com/p/nao-sim/) with SDL 1.3 and had seen the possibility of using multiple mice and keyboards. I tried to include it until I found out that they removed it. So I searched a bit around and found somebody having implemented it in ZaZ with the help of XInput2 around the input handling of SDL. With that example I had build an extra executable just for Linux with XInput2 (and other X event handling stuff) and disabled SDL event handling.
Yeah, it would be good to get something like that back into SDL but also it is not used very often nowadays.



Thank you very much!


And back to the beginning and thinking about a good thesis ^^
+-----------------------------------------------------------------\
| Debian testing 64Bit on
| * AMD Phenom x4 905e (4x2500Mhz)
| * 6GB Ram
| * AMD/ATI Radeon HD4770 (fglrx)
+-----------------------------------------------------------------/

alt_turo
Posts: 195
Joined: Mon Dec 13, 2010 11:06 am

Re: Getting a topic for a Bachelor thesis in computer scienc

Postby alt_turo » Thu May 26, 2011 1:15 pm

Urfoex wrote:... SDL 1.3 and had seen the possibility of using multiple mice and keyboards. I tried to include it until I found out that they removed it. So I searched a bit around and found somebody having implemented it in ZaZ with the help of XInput2 around the input handling of SDL. With that example I had build an extra executable just for Linux with XInput2 (and other X event handling stuff) and disabled SDL event handling.
Yeah, it would be good to get something like that back into SDL but also it is not used very often nowadays.

They removed it? godf***ingdammit. Why?

Reimplementing all of X input handling ourselves would be a huge task. Unless they re-add this, future versions of Trine and Trine 2 for Linux will not have multiple keyboard/mice support.
Turo Lamminen
Alternative Games

User avatar
Urfoex
Posts: 50
Joined: Fri Apr 15, 2011 11:14 am

Re: Getting a topic for a Bachelor thesis in computer scienc

Postby Urfoex » Wed Jun 01, 2011 4:43 pm

Here are some posts from the mailing-list:
http://forums.libsdl.org/viewtopic.php?t=6830
http://forums.libsdl.org/viewtopic.php?t=7029

Hopefully they will put something like that back in as Sam isn't working full on it anymore:
http://slouken.blogspot.com/2011/04/exp ... alaxy.html
+-----------------------------------------------------------------\
| Debian testing 64Bit on
| * AMD Phenom x4 905e (4x2500Mhz)
| * 6GB Ram
| * AMD/ATI Radeon HD4770 (fglrx)
+-----------------------------------------------------------------/

User avatar
fb_joel
Site Admin
Posts: 2482
Joined: Fri Feb 18, 2005 2:14 pm
Location: Finland

Re: Getting a topic for a Bachelor thesis in computer scienc

Postby fb_joel » Thu Jun 02, 2011 5:36 pm

Hum, seems to be a bummer of sorts. Didn't quite understand what all that means in real-world terms but I'll leave that to you guys. :)

As for multiplayer, while all of the games support local multiplayer, what I(/we) meant that the games were never programmed with online/LAN multiplayer in mind and that can (should) cause major headaches. Local multiplayer is vastly different - we added it two months before Shadowgrounds was done, and barely tested it. The core gameplay is based on the RTS game so having more "units" on the player's "side" wasn't a problem at all, it was rather trivial. SGS just used the same, and for Trine we focused on it a bit more and tested it more, but it's fundamentally the same.

That said, I can't really go into more details than what I have because I don't quite get it all myself, I'm no programmer. I stopped reading Teach Yourself C++ in 21 Days when the arrays and pointers and whatnots went over my 15-year-old head, so. :) Looking at the code and coming to a conclusion yourself probably goes a long way, and I suppose there are various ways multiplayer could be implemented (I remember we pondered about a few different ways, some of which would've been possible to do "fast", but ultimately they all had too many flaws so we decided to wait for an opportunity to do a complete rewrite and Do It Right (tm).) :)
// Joel, Frozenbyte team

alt_turo
Posts: 195
Joined: Mon Dec 13, 2010 11:06 am

Re: Getting a topic for a Bachelor thesis in computer scienc

Postby alt_turo » Thu Jun 02, 2011 11:01 pm

fb_joel wrote:Hum, seems to be a bummer of sorts. Didn't quite understand what all that means in real-world terms but I'll leave that to you guys. :)


They had an implementation they were not happy with, ripped it all out and are planning to rewrite the whole thing Real Soon Now.

If they can stick to the plan maybe we can get local multi mice/keyboard support in a few years :)
Turo Lamminen
Alternative Games

User avatar
Neolander
Posts: 30
Joined: Sat Dec 25, 2010 12:32 pm

Re: Getting a topic for a Bachelor thesis in computer scienc

Postby Neolander » Sat Aug 13, 2011 1:23 pm

alt_turo wrote:They had an implementation they were not happy with, ripped it all out and are planning to rewrite the whole thing Real Soon Now.

If they can stick to the plan maybe we can get local multi mice/keyboard support in a few years :)

Isn't there a way to statically link to an old version of SDL that still has the feature ? SDL is quite mature now, so I'd think that you can miss an update or two while things get sorted out :)


Return to “General Chat”

Who is online

Users browsing this forum: No registered users and 3 guests