Sign in to follow this  
WinterDragon

Python so where do I start? well I guess I've already started?

Recommended Posts

My first goal is to build in python a text-based (next version will have graphics) adventure game scenario where a player enters a tavern, and goes on a quest. Earns money, buys weapons and gets in a fight.

 

So I've got four ideas for games I want to build.

1. a space simulation where a mute evolving clique is tasked with colonising planets - it's also a social network.

My next goal is to build a 3rd person shooter and streets of rage style framework for a action/adventure game based on my story which is about God's mightiest heroes (with mutation sandbox) versus the devil (read pinhead meets bizarro superman).

I also want to build in python, a 3d isometric rpg/sim that looks like the sims 1 but thematically is more like Bully or GTA1, but plays like Hell's Kitchen DS combined with Dofus, with environments combining elements of Phantasy Star, Sonic and art photography of convenience stores, etc.

I also want to build an epic adventure story in RPGMakerMV.

Any advice as to what else I should build in between to get closer to my goal projects.

 

In a few weeks I'll have my first game, I'm not really sure how to turn it into an executable file so i can share it with people who don't have python installed.

Share this post


Link to post
Share on other sites

I suppose the obvious question is what is your skill level in programming (both in general and in Python), but if you want to make a space simulation you should look into making simulations (not necessarily game-related)

38 minutes ago, WinterDragon said:

 

In a few weeks I'll have my first game, I'm not really sure how to turn it into an executable file so i can share it with people who don't have python installed.

For this though, you could use py2exe to turn your python progams into executable files.

Share this post


Link to post
Share on other sites

I've been coding on and off for years, but haven't really stuck with it before.

python and unity are the tools that most interest me.

I'm gradually working through my first python book and I'm picking up enough that I could actually build a text-based adventure in python. Just a short scenario to test out my understanding of resource trading and how combat might work and going from tavern to shop to mission (to boss level?)

I have a more solid idea of how I would want it to look than I do about how I want to write it, but I really need to sit down for just a few hours each day and write some pseudocode outlining an area of the game, then do some homework (research) and some coding. And keep going like that.

I'm upto "def functions" in the absolute beginner's guide to programming python about 80pgs into a 3-400pgs book. It's all about time management because I pick up and understand it quite quickly, but it takes me forever to get around to sitting down and making time for it. Then again 75% of my time is bug fixing. Which is where the real learning happens.

Generally as a beginner I've been around the block. I've been coding since I was a kid - BBC BASIC, learned logic then adobe dreamweaver and a bit of javascript, tried to learn c++ but the language overcomplicates everything, C# but I don't like .net. settled on python and noticed that it's in some ways a lot like BASIC - which I liked, so I'm sticking with it, but I picked up Unity because you can do more faster than coding from scratch.

 

Surprisingly I can find very little about how to make a simulation - I'm not even sure which field of theory covers simulations - would you look at app development, software development or using sim engines like gazebosim.org?

Edited by WinterDragon

Share this post


Link to post
Share on other sites

Hi, and welcome.

 

26 minutes ago, WinterDragon said:

python and unity are the tools that most interest me.

You're missing a step here, python is a programming language where you write functions, while Unity is a game engine, a huge library with many functions that help you make a game. Unity uses the C# programming language for writing functions (ie for using the available set of functions of Unity).

The above is a bit simplified, as C# is an object-oriented language, so many functions are hiding in classes. But overall, for your interest, a logical path for you is: python -> C# -> C# + unity. There is also a Mono compiler for C#, which may be more to your liking.

31 minutes ago, WinterDragon said:

I'm gradually working through my first python book and I'm picking up enough that I could actually build a text-based adventure in python.

Sounds good. Text-based has the huge advantage that graphics don't distract you, which makes programming a LOT simpler. That gives you the opportunity to focus on Python programming itself. For your information, the sort-of standard article to read here is

which includes a list of suggested projects. It seems to skip the text-based part, but I'd say keep it.

35 minutes ago, WinterDragon said:

Just a short scenario to test out my understanding of resource trading and how combat might work and going from tavern to shop to mission (to boss level?)

I have a more solid idea of how I would want it to look than I do about how I want to write it, but I really need to sit down for just a few hours each day and write some pseudocode outlining an area of the game, then do some homework (research) and some coding. And keep going like that.

As you will find out, there is a stage before it, namely deciding how it will actually work, at a lower level of detail. What objects play a role there, and what properties do they need for the functionality (eg a shop needs a set of things you can buy, each of these things needs a price. The adventurer must have money (trade-in with other items). So you must have a way to give money or items, and get items (and probably money too, eventually). Items must have an owner (well, at least one, maybe more owners?)

I play this kind of think-games while doing other things that don't need much attention, like walking. Then I re-organize my thoughts by objects, so you get a list of objects that play a role and a set of properties that each item has. You also get a set of functions (like "buy" or "sell", or "look at available items") that you need in one way or another.

Doing this before coding gives you more insight in what to code, and which cases to cover.

 

Share this post


Link to post
Share on other sites

thanks that's massively helpful I'll take that on board as I move forward.

so these are my first games to build (to do list)

 

how does it look?

  • text-based adventure
  • Pong = Simple: input, physics, collision detection, sound; scoring
  • Worm = Placement of random powerups, handling of screen boundaries, worm data structure
  • Breakout = Lessons of pong, powerups, maps (brick arrangements)
  • Missile Command = targeting; simple enemy ai, movement, and sound
  • Space Invaders = simple movement for player and enemy, very similar to breakout with the exception that the enemy constantly moves downward, simple sound
  • Asteroids = asteroids (enemies) and player can move in all directions, asteroids appear and move randomly, simple sound
  • Tetris = block design, clearing the lines, scoring, simple animation
  • Pac Man = simple animation, input, collision detection, maps (level design), ai
  • Astro Warrior = top down view, enemy ai, powerups, scoring, collision detection, maps (level design), input, sound, boss ai
  • Pit Pot
  • Pro Wrestling (NES/Sega master system)
  • Joust
  • Gauntlet
  • Dig Dug
  • Rampage
  • Gain Ground
  • Ghostbusters (Sega Master System)
  • Land of Illusion: starring Mickey Mouse = lessons of Astro Warrior (except with side-view instead of top-down view), acceleration, jumping, platforms
  • Psycho Fox
  • Alfred Chicken
  • Kula World/Roll Away
  • Marble Madness
  • Streets of Rage
  • Syphon Filter
  • Skitchin
  • Puzzle Pirates
  • Mortal Kombat 1
  • close combat 1
  • Hell's Kitchen DS
  • an original game

So I'm sitting down to do my first day of writing my text-based adventure and I draw a blank. This is what I've written:

"1.       welcome the player

2.       input from the player (last name)

3.       return the value of first letter of last name and “Viggo.” "

The game is called Viggo and his Quest. I want the player to be Viggo and I'm thematically basing it on the pub scene in Fellowship of the Ring which reminds me of a classic D&D adventure scenario. You go to a tavern and meet a shadowy figure who sends you on a quest. I want to make use of resource trading and combat. But I don't want it to be a really long game I just want to have a finished text adventure which I can share and which teaches me how to code a small game. 

Quote

"As you will find out, there is a stage before it, namely deciding how it will actually work, at a lower level of detail. What objects play a role there, and what properties do they need for the functionality (eg a shop needs a set of things you can buy, each of these things needs a price. The adventurer must have money (trade-in with other items). So you must have a way to give money or items, and get items (and probably money too, eventually). Items must have an owner (well, at least one, maybe more owners?)"

- this is what I need to think about.

so what's your process when you're writing a design doc for a concept that you haven't really developed and then writing pseudocode. Or do I need to write the adventure before I write the game?  Just trying to get past the 'fear of the blank page" - which could be a game in itself.

Update: 10 mins later:

4.       “You are sitting in the tavern nursing your whiskey, when three hobbits sit down at your table and try to start a conversation with you. What do you do?”

5.       input “kill the hobbitses”, “tell them to shut up, then introduce yourself”, “walk away”

 

Update: another 10mins later:

so this is what I have so far:

1.       define methods: battle, shop, quest

2.       welcome the player

3.       input from the player (last name)

4.       return the value of first letter of last name and “Viggo”

5.       “You are sitting in the tavern nursing your whiskey, when three hobbits sit down at your table and try to start a conversation with you. What do you do?”

6.       input “kill the hobbitses”, “tell them to shut up, then introduce yourself”, “walk away”

7.       if kill the hobbitses go to battle method

8.       battle method:

a.       define attribute/resource variables

b.      define player and npc characters

 

now it starts getting complicated...

Edited by WinterDragon

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Forum Statistics

    • Total Topics
      628278
    • Total Posts
      2981785
  • Similar Content

    • By ForgedInteractive


      Who We Are
      We are Forged Interactive, a small team of like-minded game developers with the sole purpose of making games we love! We're a team of artists, animators, programmers, level designers, writers, composers, producers, and other creative minds. We want to make games that you, the modern gamer want to play! We hope to build a community that enjoys our games as much as we love creating them. With your feedback and support we will be able to achieve that.

      About the Game
      GAME NAME is a fun, action-packed army builder with unique characters, challenges and engaging levels. Set forth on an adventure to protect friends, family and countrymen from new adversaries. Once defeated your enemies turn coat and join you in your adventures. Players can enjoy a range of troops and abilities based on their gameplay style which become more important as maps introduce more challenging terrain, enemies and bosses. Strong orc knights, dangerous shamans, and even a dragon are out on the prowl. Knowing when to fight and when to run, and how to manage your army is essential. Your actions alone decide the fate of this world.

      Previous Work by Team
      Although we are working towards our first game as a team, our team members themselves have past experience in the industry.
      This includes members who have worked on titles including:
      Final Fantasy Kingsglaive, FIFA, Xcom 2 and Civilization.

      Who are we looking for? 3D Modellers Concept Artists Marketing Specialists Level Designer

      What do we expect? Reference work or portfolio. Examples what have you already done and what projects you have worked on academic or otherwise. The ability to commit to the project on a regular basis. If you are going on a two-week trip, we don't mind, but it would be good if you could commit 10+ hours to the project each week. Willingness to work with a royalty based compensation model, you will be paid when the game launches. Openness to learning new tools and techniques
      What can we offer? Continuous support and availability from our side. You have the ability to give design input, and creative say in the development of the game. Shown in credits on websites, in-game and more. Insight and contacts from within the Industry.
      Contact
      If you are interested in knowing more or joining. Please email or PM us on Skype. Myself or Colin will reply to you within 48 hours.

      E-mail: Recruitment@ForgedInteractive.com
      Skype: ForgedInteractive

      Regards,
      David and Colin

      Follow us on:

      Facebook: https://www.facebook.com/ForgedInteractive/
      Twitter: @ForgedInteract
      Youtube: https://www.youtube.com/channel/UCpK..._as=subscriber
      Reddit: https://www.reddit.com/user/Forged_Interactive/
    • By Eck
      I just saw their courses were knocked down to $10 each and figured I'd share the info here. They have stuff for Unity, Unreal, drawing, business, etc. I haven't used their stuff before, but the previews I looked at seemed pretty good and there is a user review system as well.
      https://www.udemy.com/courses/search/?q=Unity&src=ukw
      - Eck
       
    • By zizulot
      first and only logo , for now
    • By sidbhati32
      I am working on a game in which we control a rectangular box at the bottom of the screen. Three sphere which has alphabets in it fall down. When the game starts, a word is generated from the predefined list of words(which I'll give) and we are supposed to touch the correct sphere having the alphabet based on that word. The question is how to detect if I have touched the correct sphere. 
      secondly, if I have touched a correct sphere before and there is no recurrence of that alphabet in that word then during the second wave the game should not proceed if I touch the same alphabet again.
      Looking forward to your answers, i have to submit this project in a couple of days. please help! (Working on Unity 3D)
      Thanks
    • By NDraskovic
      Hey guys,   As the title says, I'm trying to control a desktop game by using my mobile phone as a controller.  I created two scenes, one that acts as a server, other as a client.    Server has this code: void Start () {         Test = "Nothing yet happened";         NetworkServer.Listen(25000);         NetworkServer.RegisterHandler(888, ServerReceiveMessage);     }         private void ServerReceiveMessage(NetworkMessage message)     {                 StringMessage msg = new StringMessage();         msg.value = message.ReadMessage<StringMessage>().value;         if (!String.IsNullOrEmpty(msg.value))         {             Test = "Message received";             string[] deltas = msg.value.Split('|');             Horizontal = Convert.ToSingle(deltas[0]);             Vertical = Convert.ToSingle(deltas[1]);             TestScript.MoveForward(Vertical);             TestScript.RotateAroundY(Horizontal);         }         else         {             Test = "Nothing received";         }     }  
        And client this:  private void Connect()     {              client.Connect(IPAddress, 25000);           }     void Start () {         client = new NetworkClient();         Connect();            }         void Update () {    #if UNITY_ANDROID         MobileTouches = Input.touches;         if (MobileTouches.Length > 0)         {             for (int i = 0; i < MobileTouches.Length; i++)             {                 if (MobileTouches[i].phase == TouchPhase.Moved)                 {                     Horizontal = MobileTouches[i].deltaPosition.x;                     Vertical = MobileTouches[i].deltaPosition.y;                 }else if(MobileTouches[i].phase == TouchPhase.Stationary)                 {                     Connect();                                  }             }         } #elif UNITY_EDITOR               Horizontal = Input.GetAxis("Horizontal");         Vertical = Input.GetAxis("Vertical"); #endif         thumb.Translate(Vector3.up * Vertical * Time.deltaTime);         thumb.Translate(Vector3.right * Horizontal * Time.deltaTime);         SendControllerInfo();     }     static public void SendControllerInfo()     {         if (client.isConnected)         {             StringMessage msg = new StringMessage();             msg.value = Horizontal + "|" + Vertical;             client.Send(888, msg);         }     }  
        Ip address is hard coded, I just replaced it with the "IpAddress" variable. The code itself builds fine, and when I try to run in on a desktop computer, it works as expected (just a simple movement of an object on the server screen). However when I try to publish the client scene to a mobile device (Android), it doesn't connect to the server. They are both connected to the same network. Can anyone tell me what the problem might be?   Thanks
  • Popular Now