 |
Open World Soccer Community Forum
|
View previous topic :: View next topic |
Author |
Message |
mkko
Joined: 16 May 2008 Posts: 15
|
Posted: Sun May 18, 2008 2:04 pm Post subject: Hello |
|
|
Hello to all,
I found my way here from the Yoda Soccer pages. I'm sort of a SWOS fan whenever I have the time -- nowadays haven't had much though. I'm also enthusiastic programmer and I've used mainly C++ in my studies (of computer science) for about a four years now. I'd like to offer my assistance, if you needed any.
I don't know about your plans or actually anything about the project (except that it is targetted to be a portable SWOS clone and that I'd be excited to take part) but I was thinking of asking if you had some plans about the architecture. I don't mean to offend you, but the first glimpse didn't reveal any particular structure. I just thought that having a bit more modular approach would make the development easier in many ways.
Here are some profound (and major) issues I think I found:
- Encapsulation: No private variables or functions in classes (at all)
- Generics: No iheritance was used (I don't know if this was intentional though)
- Readability: Variables tell nothing at first glance due to their names (ht, pa, ta, sp)
- Encapsulation/readability: Data seems to be quite unstructured in many ways
- ...and the fact that these were my observations only after a 15 minute glimpse
According to the comments in the code you are simply translating the game from that BlitzMax/Blitz Basic to C++. I don't know about that BASIC language at all, but C++ requires some design to the architecture in order not to make it spaghetti code.
With all due respect, and I don't mean to mock you, this project needs a thorough design of an architecture before it can be expanded with all the nice ideas you have for the future. I'd like to help.
Once again, I apologise for any unintended rudeness
Mikko |
|
Back to top |
|
 |
Massimo32 Site Admin
Joined: 11 Nov 2007 Posts: 177 Location: Bolzano, Italy
|
Posted: Sun May 18, 2008 6:50 pm Post subject: Re: Hello |
|
|
mkko wrote: | Hello to all,
I found my way here from the Yoda Soccer pages. I'm sort of a SWOS fan whenever I have the time -- nowadays haven't had much though. I'm also enthusiastic programmer and I've used mainly C++ in my studies (of computer science) for about a four years now. I'd like to offer my assistance, if you needed any.
|
Hello Mikko and welcome!
mkko wrote: |
I don't know about your plans or actually anything about the project (except that it is targetted to be a portable SWOS clone and that I'd be excited to take part) but I was thinking of asking if you had some plans about the architecture. I don't mean to offend you, but the first glimpse didn't reveal any particular structure. I just thought that having a bit more modular approach would make the development easier in many ways.
|
I agree with you. There are many reasons for that:
- at present I'm (almost) simply translating code from Yoda Soccer, the purpose is to have a demo (as soon as possible) in order to verify the interest of the people in the project and possibly find some help
- Yoda Soccer was written in Blitzbasic which is not object oriented and only recently rewritten in Blitzmax which allows OOP
- I'm actually learning C++ (since 1 year in the free time)
mkko wrote: |
Here are some profound (and major) issues I think I found:
- Encapsulation: No private variables or functions in classes (at all)
- Generics: No iheritance was used (I don't know if this was intentional though)
- Readability: Variables tell nothing at first glance due to their names (ht, pa, ta, sp)
- Encapsulation/readability: Data seems to be quite unstructured in many ways
- ...and the fact that these were my observations only after a 15 minute glimpse
According to the comments in the code you are simply translating the game from that BlitzMax/Blitz Basic to C++. I don't know about that BASIC language at all, but C++ requires some design to the architecture in order not to make it spaghetti code.
|
I'm aware of the problems you pointed out (I think there're also others...). After the demo is ready (it lacks only the collisions with the goalkeeper) I plan to spend some time to clean and restructure the code... and help is welcome!
mkko wrote: |
With all due respect, and I don't mean to mock you, this project needs a thorough design of an architecture before it can be expanded with all the nice ideas you have for the future. I'd like to help. |
If you spent your time to post your impressions, it means that you're really interested and want to help and this is what we're searching for
Massimo |
|
Back to top |
|
 |
mkko
Joined: 16 May 2008 Posts: 15
|
Posted: Tue May 20, 2008 1:35 pm Post subject: Re: Hello |
|
|
Massimo32 wrote: | Hello Mikko and welcome! :) |
Thank you :)
Massimo32 wrote: |
I agree with you. There are many reasons for that:
- at present I'm (almost) simply translating code from Yoda Soccer, the purpose is to have a demo (as soon as possible) in order to verify the interest of the people in the project and possibly find some help
- Yoda Soccer was written in Blitzbasic which is not object oriented and only recently rewritten in Blitzmax which allows OOP
- I'm actually learning C++ (since 1 year in the free time) |
Massimo32 wrote: | I'm aware of the problems you pointed out (I think there're also others...). After the demo is ready (it lacks only the collisions with the goalkeeper) I plan to spend some time to clean and restructure the code... and help is welcome!
|
I'm glad to hear that this was intended. In fact, I was pretty shocked when looking at the source code for the first time ;) After realizing that it was only BASIC being written in C++ I was somewhat relieved. Anyways, I have no idea how these open source projects are being developed in practice or how to ensure the portability of the game, but I'd be thrilled to help. I've always wanted to be a game developer :)
I use mainly OS X but I have also an old Windows XP workstation. As I previously mentioned, I've been using mainly C++ (and some C). I also know Java, C# and some scripting languages like shell scripting, Python and Perl and also have tried many other languages such as Objective-C, Common Lisp, Fortran, or some others I can't recall at the moment.
May I ask if you have any plans regarding the future design of the game written down? I just thought I'd like to start throwing ideas about the structure.
Last autumn I took a game development course at our university. The exercise on the course was to create a demo of some idea for a game in pairs. We decided to make a side-scrolling real-time version of Scorched Earth. We found that game update logic was pretty good idea to make state based. We had game states (or "screens" as we named them) for main menu, gameplay screen and for test purposes. We could've had different settings screen also, but we used the main screen for any settings. A screen naturally was a hierarchical structure that could've had an overlay screen (a pause state for instace). I just thought I'd mention this as it worked pretty well for us. |
|
Back to top |
|
 |
Massimo32 Site Admin
Joined: 11 Nov 2007 Posts: 177 Location: Bolzano, Italy
|
Posted: Tue May 20, 2008 10:31 pm Post subject: Re: Hello |
|
|
mkko wrote: |
Anyways, I have no idea how these open source projects are being developed in practice
|
For Yoda Soccer I was the only programmer: even if the source code was available, the Blitzmax compiler is not free software.
Then Yoda Soccer cannot be considered a real open source project, but a project of two persons: Daniele and me.
Nevertheless, we received a lot of contributions in terms of translations, database, team kits.
I hope that C++ will allow OWS to develop into a community project.
mkko wrote: | or how to ensure the portability of the game,
|
Using Blitzmax solved the problem of portability for Yoda.
For OWS, I hope that the combination C++,SDL & OpenGL will help the portability, but I only have a Linux version so far.
mkko wrote: | but I'd be thrilled to help. I've always wanted to be a game developer
|
So you do like game development and SWOS? What a dangerous mix!
mkko wrote: |
I use mainly OS X but I have also an old Windows XP workstation. As I previously mentioned, I've been using mainly C++ (and some C). I also know Java, C# and some scripting languages like shell scripting, Python and Perl and also have tried many other languages such as Objective-C, Common Lisp, Fortran, or some others I can't recall at the moment.
|
Starting from C64 basic, I've experienced (at varying degrees) languages as C, Pascal, Assembler x86, Python, PHP, Bash and others. Now I would like to improve my C++ skills and experience with OOP.
mkko wrote: |
May I ask if you have any plans regarding the future design of the game written down? I just thought I'd like to start throwing ideas about the structure.
|
There's nothing written so far. Yoda Soccer code will help with algorithms, but not for the general structure that still need to be defined.
I'm trying to get some ideas from other linux games, (e.g. PPracer)
For example I would like to use a scripting language for the menu, but I'm not sure of that.
mkko wrote: |
Last autumn I took a game development course at our university. The exercise on the course was to create a demo of some idea for a game in pairs. We decided to make a side-scrolling real-time version of Scorched Earth. We found that game update logic was pretty good idea to make state based. We had game states (or "screens" as we named them) for main menu, gameplay screen and for test purposes. We could've had different settings screen also, but we used the main screen for any settings. A screen naturally was a hierarchical structure that could've had an overlay screen (a pause state for instace). I just thought I'd mention this as it worked pretty well for us. |
Then you already have some experience with game development, that's nice!  |
|
Back to top |
|
 |
mkko
Joined: 16 May 2008 Posts: 15
|
Posted: Tue May 20, 2008 11:28 pm Post subject: Re: Hello |
|
|
Massimo32 wrote: | mkko wrote: |
Anyways, I have no idea how these open source projects are being developed in practice
|
For Yoda Soccer I was the only programmer: even if the source code was available, the Blitzmax compiler is not free software.
Then Yoda Soccer cannot be considered a real open source project, but a project of two persons: Daniele and me.
Nevertheless, we received a lot of contributions in terms of translations, database, team kits.
I hope that C++ will allow OWS to develop into a community project.
|
That's nice. I think giving the gamer the possibility to twiddle with the graphics, team database and such, without requiring any knowledge of programming, would increase the odds of getting people interested in the project. I guess two is not yet a community, but is three already?
Massimo32 wrote: |
mkko wrote: | or how to ensure the portability of the game,
|
Using Blitzmax solved the problem of portability for Yoda.
For OWS, I hope that the combination C++,SDL & OpenGL will help the portability, but I only have a Linux version so far.
|
I actually ment in more practical terms, how to not keep multiple parallel source trees in sync and such. I just couldn't put it in words first time. I'm confident in the libraries, as there are successful projects that rely on those.
Massimo32 wrote: |
mkko wrote: | but I'd be thrilled to help. I've always wanted to be a game developer :)
|
So you do like game development and SWOS? What a dangerous mix! :D
|
Luckily I have my "conscience" keeping me in line, so how could I fall for any traps? ;) She's done pretty thorough job so far.
Massimo32 wrote: |
There's nothing written so far. Yoda Soccer code will help with algorithms, but not for the general structure that still need to be defined.
I'm trying to get some ideas from other linux games, (e.g. PPracer)
For example I would like to use a scripting language for the menu, but I'm not sure of that.
|
I tried learning from the OpenTTD, but there just were too many files and too many things I didn't quite get. The scripting language would be nice, but I'd guess it wouldn't be too hard to create them ourselves if nothing suitable can be found.
Massimo32 wrote: |
Then you already have some experience with game development, that's nice! :) |
Well we did a racing game in a group of eight for some other course also. It didn't help as much as the previously mentioned as it only taught how difficult it is to agree on something with a group larger than three ;) I was mainly responsible for the game physics. For some reason we did not use any library. I think it might have been that there was none at the time for C#/XNA. |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|