SUBSIM Radio Room Forums



SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997

Go Back   SUBSIM Radio Room Forums > Sub/Naval + Other Games > Indie Subsims
Forget password? Reset here

Reply
 
Thread Tools Display Modes
Old 12-01-09, 10:03 PM   #1
kgsuarez
Planesman
 
Join Date: Oct 2004
Location: USA
Posts: 181
Downloads: 28
Uploads: 0
Default A subsim written in Python?

Hello all.

Several years ago, after the world of open source software (and the plethora of incredible and powerful UNIX clones available) piqued my interest I attempted to learn the C programming language. After all, this was the language used to create all this great UNIX stuff. I owed it to myself to learn this stuff. After doing so I would be able to make any modification to any program I found, provided of course that the source code was available. My decision was soon met with frustration and confusion as I realized that this programming stuff is just plain hard.

After my failed attempt at learning a "real" programming language my uncle suggested that I start with something a little easier, such a Python. I scoffed at this, and in turn never learned to program a thing. Several years passed.

And then, just the other day I decided I'd give this thing another go. This time I'd follow some suggestions and try to understand this Python thing before anything else.

So, what reason do I have to even learn programming at all? Very simple; To create my own subsim.

I have played many great subsims, but I always find myself unhappy with certain aspects of them. So, I'll just make my own with all the features I want. Right?

My idea is pretty simple, and I don't think there will be any problem in using Python to create it. But then again, what do I know?

The primary means of displaying information to the player will be through the 2D map screen. There will be no 3D environment or fancy graphics in this game, instead I will focus on the aspects that are most important to me. These include, but are not limited to:

1) A dynamic campaign. (God help me!)
2) Accurately modeled AI behavior. (Oh ****...)
3) Cold War gone hot theater. Late 70's to early 90's perhaps. (Easy enough, I guess.)
4) Acurate-ish sonar conditions including (OMG!):
A) Thermal layers
B) Surface ducts
C) And some more stuff in later stages, perhaps.
5) Command of US Navy nuclear attack submarine, perhaps a Permit or Sturgeon class. (Hmmm...)
6) Adequate time compression for long transits.

My main inspiration will come from Red Storm Rising. I especially like the user interface, as it is a simple and effective one. For those of you unfamiliar with RSR, most of the gameplay takes place at the 2D map screen:


(Note that all contacts are placed on the map display and other information regarding ownship and selected target are displayed in the column to the left.)

Unlike RSR however, I will use the combat display as the transit display as well. (In RSR there are two main modes: Strategic Transit, where you move your sub over long distances under high time compression. And Combat Mode, which is entered when your sonar crew detects a contact. The above screenshot is showing the game during Combat Mode.)

Unlike some other subsims, such as Sub Command or Dangerous Waters, you will be able to explore the entire map of the Atlantic instead of just a small section for the current mission. You will be able to zoom the map screen in and out, of course.

Okay, blah blah blah. That's all I've got so far. These are just ideas and I am nowhere near beginning this game, as I am only learning the most basic parts this Python stuff right now. But this is a general idea of what I would like to do in the future.

What do you all think of this? Will Python suit my needs?
kgsuarez is offline   Reply With Quote
Old 12-02-09, 08:40 AM   #2
Seeadler
Pacific Aces Dev Team
 
Join Date: Mar 2001
Location: Northern Germany
Posts: 1,096
Downloads: 169
Uploads: 0


Default

With pure Python it is a bit complicated to write games with graphics (even 2D) and/or Gui's.

you need to extend your Python dev environment with extra modules such

Python game:
http://www.pygame.org/wiki/about

Or use a Game-Engine which can be controled with Python

Panda3D:
http://www.panda3d.org/
__________________
--
Vapor-ware is always easier to sell because there's no limit what it can do!
Seeadler is offline   Reply With Quote
Old 12-02-09, 05:14 PM   #3
kgsuarez
Planesman
 
Join Date: Oct 2004
Location: USA
Posts: 181
Downloads: 28
Uploads: 0
Default

Thanks for the reply, Seeadler. I have already been looking at the Pygame modules. In fact, it is the very existence of Pygame that has prompted me to consider writing a subsim in Python.

As for Panda3D, I had never heard of it. It looks interesting enough to me, but as I said I'm not all that interested in 3D. I am going to look into it a bit more though. Perhaps I could use it without any of its 3D capabilities. I don't know. Thanks for the tip either way. I'm going to need all the help I can get.
kgsuarez is offline   Reply With Quote
Old 02-08-10, 07:05 PM   #4
Mikhayl
Captain
 
Join Date: Dec 2007
Posts: 485
Downloads: 64
Uploads: 0
Default

Hi Kristian, did you go forward with this project?

I'd be interested to hear if Python would work well for this type of game in terms of performances.
I'd like to learn some programming and I'm hesitant between Python (supposed to be easy but slow for games) or plunging straight in C++ (complex but suitable for any kind of game).

Ideally I'd love to create a small subsim with cool features and "oldschool" graphics, possibly all 2D or some very simple 3D. Even this kind of stuff would likely take years but it would help if I could pick the right language for the job from the start
Mikhayl is offline   Reply With Quote
Old 02-08-10, 07:51 PM   #5
kgsuarez
Planesman
 
Join Date: Oct 2004
Location: USA
Posts: 181
Downloads: 28
Uploads: 0
Default

The project is on hold until my programming skills progress somewhat.

I have decided that this will be a text-based game. This means no graphics or pictures whatsoever. The game will be run out of a terminal or "command prompt" in Windows parlance.

I am considering designing it after the age old "Star Trek" game. If you have not heard of this game, I suggest that you look it up. There is a version of this game available at this site. There is a version on that page that should run under Windows. This is a very old game, dating back to circa 1971. (Some peoples first go at this game was on computers that were very large, very slow, and had no monitors. The output of the game was printed on paper!)

This means that:

1) It will be "turn-based" (IE: Moving or firing weapons will constitute a turn. After every turn, the other ships in a given area will take their turn.)
2) There will be no persistent map view. Instead, issuing a certain command will print out a textual representation of the the battlefield for that turn.

If you really want an idea of what I plan for this game to be like, try playing SST (or any equivalent such as bsd-trek) for a little bit.

Given my constraints (No real programming experience, real-life commitments, etc) I think that either a) converting a trek game to suit my needs or b) rewriting a trek game with a submarine combat theme is the way to go. Either way, I will keep you all posted on any progress I make.

Let it be known, the completion of this project may take a while.
kgsuarez is offline   Reply With Quote
Old 02-08-10, 08:09 PM   #6
Mikhayl
Captain
 
Join Date: Dec 2007
Posts: 485
Downloads: 64
Uploads: 0
Default

Holy cow!


After roughly one minute of play But then again I'm a total ignorant of the whole Star Trek universe, but I can see it being pretty cool in a more familiar environment, when you know what you're supposed to do and how.

Good luck with this, very interesting stuff. You're still going for it in Python?
Mikhayl is offline   Reply With Quote
Old 02-08-10, 11:05 PM   #7
kgsuarez
Planesman
 
Join Date: Oct 2004
Location: USA
Posts: 181
Downloads: 28
Uploads: 0
Default

Yes, the game can be quite brutal if it is your first time. Try a "long" game as a "novice." It is much easier that way. It should only take you a few games to get the hang of it. It is quite addicting!

Yes, I think it would be best if I stuck with Python for this project. I'm going to try to find a version of trek that has been ported to Python. We will see... If not, I will just have to write it from scratch. Or perhaps I would be able to figure out the C version of it. I don't know.
kgsuarez is offline   Reply With Quote
Old 03-26-10, 09:04 AM   #8
kraznyi_oktjabr
Sea Lord
 
Join Date: Mar 2010
Location: Republiken Finland
Posts: 1,803
Downloads: 8
Uploads: 0
Default

My worthless advice. Keep it simple. Don't became too ambitious especially if you are going to put it into Cold War era.

Start just getting basic things to work and worry later about realism. Otherwise around and you just end up to have your worst headache!
__________________
You talk to God, you're religious. God talks to you, you're psychotic. - Dr. House
kraznyi_oktjabr is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 01:51 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © 1995- 2024 Subsim®
"Subsim" is a registered trademark, all rights reserved.