The Ur-Quan Masters Home Page Welcome, Guest. Please login or register.
Did you miss your activation email?
December 13, 2024, 06:28:06 am
Home Help Search Login Register
News: Celebrating 30 years of Star Control 2 - The Ur-Quan Masters

+  The Ur-Quan Masters Discussion Forum
|-+  The Ur-Quan Masters Re-Release
| |-+  Starbase Café (Moderator: Death 999)
| | |-+  SENSO - A fighting game
« previous next »
Pages: [1] 2 Print
Author Topic: SENSO - A fighting game  (Read 5243 times)
onpon4
Enlightened
*****
Offline Offline

Gender: Male
Posts: 709


Sharing is good.


View Profile WWW
SENSO - A fighting game
« on: June 23, 2010, 01:31:11 am »

I have just finished the first (incomplete) version of my first game in Python, SENSO. It's only 2-player right now, though I intend to add 1-player (among other things) soon. It's already fun to play with friends and relatives. Smiley

Download and more information can be found here:
http://onpon.weebly.com/3/post/2010/06/senso-an-original-fighting-game.html
Logged

RTyp06
*Smell* controller
****
Offline Offline

Posts: 491



View Profile
Re: SENSO - A fighting game
« Reply #1 on: June 23, 2010, 02:44:13 am »

I tired it. I thought it a bit strange to need an installer for such a simple game. I had to turn off Norton completely to install it on my PC.

I make games too, but I use Game Maker. I currently have 4 games uploaded at yoyo's site:

http://www.yoyogames.com/users/RTyp06

And no you don't need to install any of my games, just choose run from the DL link (recommended) or install the plugin for instant play.



« Last Edit: June 23, 2010, 02:46:32 am by RTyp06 » Logged
onpon4
Enlightened
*****
Offline Offline

Gender: Male
Posts: 709


Sharing is good.


View Profile WWW
Re: SENSO - A fighting game
« Reply #2 on: June 23, 2010, 02:56:29 am »

I made it an installer just because I needed to compress it anyway (because of all the files). Sorry, I'll put it up as a ZIP next time. Smiley

Of course, though, if you have Python 3.1 and Pygame installed, you can just download and run the source code, which is only a single text file.
Logged

RTyp06
*Smell* controller
****
Offline Offline

Posts: 491



View Profile
Re: SENSO - A fighting game
« Reply #3 on: June 23, 2010, 03:28:32 am »

I just checked properties > file location from the desktop icon of your game ... Over 40 files?!? I see why you added the installer now.

My games have one file apiece. A single .exe file. Two of them create their own save game files and that is it.

Man you should download the free Game Maker application and check it out. For noobs it has Drag n Drop programming that is so easy a caveman can do it and a robust coding language for the more advanced users. The Game Maker Language (GML) is almost identical to C++ syntax.

Check out this video of a Game Maker game called Darkverse:

http://www.youtube.com/watch?v=mkQtRCIacnM

It shows just how powerful GM is.
« Last Edit: June 23, 2010, 04:09:01 am by RTyp06 » Logged
Alvarin
Enlightened
*****
Offline Offline

Gender: Male
Posts: 801



View Profile
Re: SENSO - A fighting game
« Reply #4 on: June 23, 2010, 04:14:48 am »

It refuses to run on WINE and closes without any error...
Logged
onpon4
Enlightened
*****
Offline Offline

Gender: Male
Posts: 709


Sharing is good.


View Profile WWW
Re: SENSO - A fighting game
« Reply #5 on: June 23, 2010, 02:36:43 pm »

I just checked properties > file location from the desktop icon of your game ... Over 40 files?!? I see why you added the installer now.

My games have one file apiece. A single .exe file. Two of them create their own save game files and that is it.

Man you should download the free Game Maker application and check it out. For noobs it has Drag n Drop programming that is so easy a caveman can do it and a robust coding language for the more advanced users. The Game Maker Language (GML) is almost identical to C++ syntax.

Check out this video of a Game Maker game called Darkverse:

http://www.youtube.com/watch?v=mkQtRCIacnM

It shows just how powerful GM is.

Those files are various parts of Python and Pygame required to run the game. They are necessary to run if you don't have Python installed. However, if you have Python 3.1 and Pygame 1.9, you can simply download and run the source code.

P.S. I already have GM 8 Pro, but I prefer Python for various reasons, mostly because GM is so cluttered and restricted. Limitations on scripts is especially annoying, and the loading time is ridiculous. Not to mention, GM isn't cross-platform at all. It's OK for prototyping, but not really that good for anything else. I did make one game in GM before moving to Python, however, and you can take a look at it here if you're interested.

It refuses to run on WINE and closes without any error...

You should download Python 3.1 (python.org) (if you don't already have it; many Linux distributions come with some form of Python) and Pygame 1.9 (pygame.org), then download the source code. You don't need to compile it (and, in fact, it's not supposed to be compiled); this is one of the great things about Python. Once you have Python 3.1 and Pygame 1.9, just run senso_0.1.0.py as if it was an executable text file (or, you may need to tell the OS to run it with Python if it hasn't yet associated the file type, which is easy).

The "Frozen" EXE download is more for layman Windows users who probably won't play the game if it looks "complicated". Unfortunately, I could only create a Windows EXE build, so users of other OS's just have to download and run the source code.
« Last Edit: June 23, 2010, 02:50:32 pm by onpon4 » Logged

RTyp06
*Smell* controller
****
Offline Offline

Posts: 491



View Profile
Re: SENSO - A fighting game
« Reply #6 on: June 23, 2010, 05:42:01 pm »

Quote
Those files are various parts of Python and Pygame required to run the game. They are necessary to run if you don't have Python installed. However, if you have Python 3.1 and Pygame 1.9, you can simply download and run the source code.

P.S. I already have GM 8 Pro, but I prefer Python for various reasons, mostly because GM is so cluttered and restricted. Limitations on scripts is especially annoying, and the loading time is ridiculous. Not to mention, GM isn't cross-platform at all. It's OK for prototyping, but not really that good for anything else. I did make one game in GM before moving to Python, however, and you can take a look at it here if you're interested.

I agree about the lack of cross platform but how is GM cluttered and restricted? All the resources can be neatly organized into seperate folders within the editor. Scripts can have up to 16 arguments and return a value just like a function in C++ so what makes Python's scripts superior exactly? GM games have a two meg overhead not exactly huge in the 21st century.

After trying your bowser game, it looks like you used Hello's mario engine and modified it. Still it loads in under 2 seconds for me. Besides you don't have to preload resources in GM which is what usually causes longer loading times. All you have to do is uncheck preload and GM will pull the resources from the .exe as needed.


Logged
onpon4
Enlightened
*****
Offline Offline

Gender: Male
Posts: 709


Sharing is good.


View Profile WWW
Re: SENSO - A fighting game
« Reply #7 on: June 24, 2010, 12:06:49 am »

I agree about the lack of cross platform but how is GM cluttered and restricted? All the resources can be neatly organized into seperate folders within the editor. Scripts can have up to 16 arguments and return a value just like a function in C++ so what makes Python's scripts superior exactly? GM games have a two meg overhead not exactly huge in the 21st century.

- Scripts cannot return arrays
- Many canned functions and variables are stuffed in, many of which are never used by experienced users simply because they're so simple.
- Like C++, code is not well-organized. This is one of the biggest advantages of Python over any language.
- Loading time is annoyingly long.
- Since arrays can't be returned, many functions instead just return the first object, which can be annoying for collision detection.
- GM can't do anything good with 3D.
- Only DirectX (no SDL, no OpenGL, etc)

That's the big list I can come up with right now. Not to mention, all the great things that Python has:
- Lists
- Dictionaries
- many extentions (modules)
- Etc...

After trying your bowser game, it looks like you used Hello's mario engine and modified it. Still it loads in under 2 seconds for me. Besides you don't have to preload resources in GM which is what usually causes longer loading times. All you have to do is uncheck preload and GM will pull the resources from the .exe as needed.

No, I didn't use Hello Engine. I have no idea how you could have drawn that conclusion, though I did take some MUSIC from Hello Engine. As for not preloading, that only accomplishes so much.
Logged

RTyp06
*Smell* controller
****
Offline Offline

Posts: 491



View Profile
Re: SENSO - A fighting game
« Reply #8 on: June 24, 2010, 02:21:27 am »

Well it's obvious python is better suited for your needs and I agree that GM has limits, just not the limits you're listing.

- Scripts cannot return arrays

Scripts can easily manipulate arrays , ds_lists and ds_maps.

- Many canned functions and variables are stuffed in, many of which are never used by experienced users simply because they're so simple.

Uhh? If you mean there are redundant functions, perhaps. Which canned functions and variables are you referring to? if you mean all objects have variables like x,y coordinates or image_speed when you want to make an invisible object, unselecing the visible option disables those variables.

- Like C++, code is not well-organized. This is one of the biggest advantages of Python over any language.

Organization is up to the individual programmer.

- Loading time is annoyingly long.

Yes it can be "annoyingly long" if you design it that way. it mainly depends upon the resources you use.

- Since arrays can't be returned, many functions instead just return the first object, which can be annoying for collision detection.

Functions don't "return objects". ds_lists have a whole host of specialized functions for manipulating them and are recommended for their faster execution than common arrays. What this has to do with collision detection is beyond me and makes it sound like you really don't know what you are talking about here.

- GM can't do anything good with 3D.

LoL. Ok...
http://www.yoyogames.com/games/120852
http://www.yoyogames.com/games/128004-magnetico

- Lists

GM has lists.

- Dictionaries

I don't know what a "dictionary" is in programming terms.

- many extentions (modules)

http://gmbase.cubedwater.com/ is one of many sites with many GM extensions. GM has extensions like room transitions and can utilize .dll files.

Logged
Alvarin
Enlightened
*****
Offline Offline

Gender: Male
Posts: 801



View Profile
Re: SENSO - A fighting game
« Reply #9 on: June 24, 2010, 04:30:58 am »

Oh cut it out you two!
Seriously, didn't it occure to you that neither can convince the other one?
Everyone has his own preferences and convenienses.
If you continue like this your good internet relations will possibly be ruined, what for?
Logged
RTyp06
*Smell* controller
****
Offline Offline

Posts: 491



View Profile
Re: SENSO - A fighting game
« Reply #10 on: June 24, 2010, 05:07:41 am »

We were just having a friendly discussion here, no harm done. He's tried GM ,doesn't like it and Phython meets his needs better. Cool.

I'm leaving for vacation out of state tommorow, perhaps I'll DL Python and give it a try when we return.
Logged
onpon4
Enlightened
*****
Offline Offline

Gender: Male
Posts: 709


Sharing is good.


View Profile WWW
Re: SENSO - A fighting game
« Reply #11 on: June 24, 2010, 07:43:34 pm »

Well it's obvious python is better suited for your needs and I agree that GM has limits, just not the limits you're listing.

- Scripts cannot return arrays

Scripts can easily manipulate arrays , ds_lists and ds_maps.

- Many canned functions and variables are stuffed in, many of which are never used by experienced users simply because they're so simple.

Uhh? If you mean there are redundant functions, perhaps. Which canned functions and variables are you referring to? if you mean all objects have variables like x,y coordinates or image_speed when you want to make an invisible object, unselecing the visible option disables those variables.

- Like C++, code is not well-organized. This is one of the biggest advantages of Python over any language.

Organization is up to the individual programmer.

- Loading time is annoyingly long.

Yes it can be "annoyingly long" if you design it that way. it mainly depends upon the resources you use.

Let me just say this: having to work around obstacles is a horrible inconvenience.

- Since arrays can't be returned, many functions instead just return the first object, which can be annoying for collision detection.

Functions don't "return objects". ds_lists have a whole host of specialized functions for manipulating them and are recommended for their faster execution than common arrays. What this has to do with collision detection is beyond me and makes it sound like you really don't know what you are talking about here.

Your GM days might have taught you that "objects" refers to special game classes, but the term is actually much more loose. In this usage of "object", I am referring to any set of immutable data, i.e. an integer, string, or class instance.

I am of course referring to the collision detection functions in GM, which (if you take a look in the manual) return either the first detected instance or 0. There is also place_meeting(), but this only tells you if an instance of a certain class collides with the current class if moved to a particular location.


GM, being already loaded with many canned functions, offers almost nothing for 3D, requiring (almost) everything to be done by hand.

- Lists

GM has lists.

- Dictionaries

I don't know what a "dictionary" is in programming terms.

No, GM doesn't have lists. It has arrays, which are an ordered set of data all of the same type. Lists, on the other hand, can have multiple data types. You can also have lists of lists. Not to mention, the way GM handles arrays is quite questionable.

Dictionaries (also called associative arrays) are a data type containing a collection of keys each associated with a certain value. For example, in python, I could create the following dictionary:

price = {'bread':5, 'hamburger':2, 'crackers':2, 'pie':10}

I can then call on price['bread'], which will return the value 5.

EDIT: I've updated the game. More info here.
« Last Edit: June 24, 2010, 10:28:20 pm by onpon4 » Logged

onpon4
Enlightened
*****
Offline Offline

Gender: Male
Posts: 709


Sharing is good.


View Profile WWW
Re: SENSO - A fighting game
« Reply #12 on: July 01, 2010, 10:43:15 pm »

Update, now 0.2.0. More info can be found on my blog post here.

Next update will be creation of a GUI for editing game text files, followed by creation of a much-needed AI.
Logged

RTyp06
*Smell* controller
****
Offline Offline

Posts: 491



View Profile
Re: SENSO - A fighting game
« Reply #13 on: July 05, 2010, 11:51:07 pm »

A couple of things to clear up.

Quote
Your GM days might have taught you that "objects" refers to special game classes, but the term is actually much more loose. In this usage of "object", I am referring to any set of immutable data, i.e. an integer, string, or class instance.

For me an object is derived from "object oriented programming"  a format of data storage and manipulation with which most modern programming languages use. So from my point of view you are using the terminology incorrectly.

http://en.wikipedia.org/wiki/Object-oriented_programming

I only mention this because your usage of the term may be misunderstood by others in the future.

You also seem misinformed about lists in GM. Lists can have different calsses of information contained within the data structure in GM because GM uses a universal variable structure that can contain any combination of strings, reals, floats, integers and booleans. Unlike say C++ where you have to define what a variable will hold before using it. C++ is much more efficient in this manner becuase you only set aside enough memory space to hold the variable data you intend to use, where GM sets aside the same (realitively large) amount of memory regardless of the type of information contained within the variable.





Logged
onpon4
Enlightened
*****
Offline Offline

Gender: Male
Posts: 709


Sharing is good.


View Profile WWW
Re: SENSO - A fighting game
« Reply #14 on: September 07, 2010, 10:33:52 pm »

Senso has now been updated. Here is a link to the game:

http://onpon.weebly.com/4/post/2010/09/senso.html

From now on, that page will be updated with the latest download of Senso.

I'm not able to modify my original post anymore. Are mods able to edit it? If so, can a mod please put the link above in the original post, and change the title from "SENSO" to "Senso" (un-bold the title)? It would be greatly appreciated! Smiley

Anyways, I would very much appreciate some feedback. This version is MUCH better than 0.2.
Logged

Pages: [1] 2 Print 
« previous next »
Jump to:  


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!