• Advertisement
Sign in to follow this  

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
Advertisement

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  

  • Advertisement
  • Advertisement
  • Popular Tags

  • Advertisement
  • Popular Now

  • Similar Content

    • By 3dmodelerguy
      So I am building a turn based rogue-like (think CDDA). The game is going to have a very large map (up to 1000's x 1000's) however to alleviate most of that I obviously can't render everything so there will just be render a certain radius around the player and just load in and out data as the player moves.
      The next major system I am prototyping is making interactive tiles destructible and pretty much everything will be destructible besides basic landscape (cars, doors, windows, structures, etc. will be destructible)
      While I am only rendering a certain amount of tiles around the player, I want to keep the amount of colliders active at one time to be as small as possible for performance and currently the tilemap tool I use automatically merges colliders together.
      So instead of creating a separate colliders for each of these tiles and having the destructible behavior tied to that object (which my tilemap tool would allow me to do) I was thinking that I would store an array of all the X and Y locations for the interactive tilemap layer and let the tilemap manage the colliders. 
      Then when I hit a collider on the interactive tilemap layer, instead of of getting the behavior for how to deal with the destruction for that tile from that game object, I would pull it from the array I mentioned earlier based on the tile I attempt to interact with which I already have.
      Does this sound like a good approach? Any other recommendations would be welcomed.
    • By NDraskovic
      Hey guys,
      I have a really weird problem. I'm trying to get some data from a REST service. I'm using the following code:
       
      private void GetTheScores() { UnityWebRequest GetCommand = UnityWebRequest.Get(url); UnityWebRequestAsyncOperation operation = GetCommand.SendWebRequest(); if (!operation.webRequest.isNetworkError) { ResultsContainer rez = JsonUtility.FromJson<ResultsContainer>(operation.webRequest.downloadHandler.text); Debug.Log("Text: " + operation.webRequest.downloadHandler.text); } } The problem is that when I'm in Unity's editor, the request doesn't return anything (operation.webRequest.downloadHandler.text is empty, the Debug.Log command just prints "Text: "), but when I enter the debug mode and insert a breakpoint on that line, then it returns the text properly. Does anyone have an idea why is this happening?
      The real problem I'm trying to solve is that when I receive the text, I can't get the data from the JSON. The markup is really simple:
      [{"id":1,"name":"Player1"},{"id":2,"name":"Player2"}] and I have an object that should accept that data:
      [System.Serializable] public class ResultScript { public int id; public string name; } There is also a class that should accept the array of these objects (which the JSON is returning):
      [System.Serializable] public class ResultsContainer { public ResultScript[] results; } But when I run the code (in the debug mode, to get any result) I get an error: ArgumentException: JSON must represent an object type. I've googled it but none of the proposed solutions work for me.
      Also (regardless if I'm in the debug mode or not) when I try to do some string operations like removing or adding characters to the GET result, the functions return an empty string as a result
      Can you help me with any of these problems?
      Thank you
    • By nihitori
      The Emotional Music Vol. I pack focuses on beautiful and esoteric orchestral music, capable of creating truly emotive and intimate moods. It features detailed chamber strings, cello and piano as the main instruments, resulting in a subtle and elegant sound never before heard in video game royalty-free music assets.

      The pack includes 5 original tracks, as well as a total of 47 loops based on these tracks (long loops for simple use and short loops for custom / complex music layering).

      Unity Asset Store link: https://www.assetstore.unity3d.com/en/#!/content/107032
      Unreal Engine Marketplace link: https://www.unrealengine.com/marketplace/emotional-music-vol-i

      A 15 seconds preview of each main track is available on Soundcloud:
       
    • By RoKabium Games
      Another one of our new UI for #screenshotsaturday. This is the inventory screen for showing what animal fossils you have collected so far. #gamedev #indiedev #sama
    • By eldwin11929
      We're looking for programmers for our project.
      Our project is being made in Unity
      Requirements:
      -Skills in Unity
      -C#
      -Javascript
      -Node.js
      We're looking for programmers who can perform a variety of functions on our project.
      Project is a top-down hack-and-slash pvp dungeon-crawler like game. Game is entirely multiplayer based, using randomized dungeons, and a unique combat system with emphasis on gameplay.
      We have a GDD to work off of, and a Lead Programmer you would work under.
      Assignments may include:
      -Creating new scripts of varying degrees specific to the project (mostly server-side, but sometimes client-side)
      -Assembling already created monsters/characters with existing or non-existing code.
      -Creating VFX
      -Assembling already created environment models
      If interested, please contact: eldwin11929@yahoo.com
      This project is unpaid, but with royalties.
       
      ---
      Additional Project Info:
      Summary:
      Bassetune Reapers is a Player-verus-Player, competitive dungeon crawler. This basically takes on aspects of dungeon crawling, but with a more aggressive setting. Players will have the option to play as the "dungeon-crawlers" (called the 'Knights', or "Knight Class", in-game) or as the "dungeon" itself (literally called the 'Bosses', or "Boss Class", in-game). What this means is that players can choose to play as the people invading the dungeon, or as the dungeon-holders themselves.
      Key Features:
      -Intense, fast-paced combat
      -Multiple skills, weapons, and ways to play the game
      -Tons of different Bosses, Minibosses, creatures and traps to utilize throughout the dungeon
      -Multiple unique environments
      -Interesting, detailed lore behind both the game and world
      -Intricate RPG system
      -Ladder and ranking system
      -Lots of customization for both classes s of customization for both classes
  • Advertisement