making a game world

Hello,

i have recently started my first project and im now stuck on making a world.

do i have to make a .lua file for it and how do I code it?

Hello and welcome!

It sounds like you are completely new to programming. I would recommend that you search for an introductory course to Lua or to programming in general. Depending on your preference, there are good books, Youtube videos, websites, etc.

For Corona, you should also check out https://coronalabs.com/learn/ and https://docs.coronalabs.com/tutorial/. In addition, when you are first playing around with Corona, you can check out its sample projects in the simulator via the “Help” tab.

Hello,

do you know any books/ courses that can help me with my question?

I can’t find any

It’s difficult to point out specific books/tutorials because ‘game world’ is a very broad term. It could mean anything - a top down RPG world, a side-scrolling platform world, an isometric city world, or anything else you can think of.

The key is to just learn programming, and Corona, in general, through the Corona docs and examples, hundreds of tutorials, thousands of posts on this forum, RoamingGamer’s github etc.

There won’t be a course that tells you exactly how to make the game in your head, once you have built your knowledge you will then know how to apply that to build anything you like. Just like the guys who built GTA V, there was no guide on how to make it, they just work it out using their experience gained from completely different projects.

If you give more info on what you are trying to build there maybe specific tools (tile editors, level editors, spritesheet makers) people can point you at, but you’ll still need to learn the basics or nothing will make any sense.

im trying to make a sandbox world with biomes, minibiomes ect.

Well for something like that you are going to need a tile engine. I believe PonyTiled is the most popular for 2D/top down worlds and Qiso is a new engine for isometric worlds.

However I would advise that these aren’t tools for beginners. You really need to know what you’re doing with lua and Corona to get the most out of them and go beyond the functionality of the demos.

A tile engine will handle things like loading maps that you build with something like Tiled, placing new objects, the camera, and most crucially only loading tiles that are visible to the camera - this is called culling. You could of course build all this yourself but then you need to be even more experienced.

@w.ummels, what kind of sandbox game are you thinking of? Something like Terraria?

Hello,

i have recently started my first project and im now stuck on making a world.

do i have to make a .lua file for it and how do I code it?

Based on your comment of if you need to make a .lua file for it and how do you code it, I would expect that your programming experience is very limited. Creating sandbox games can be a daunting task and not something that I would recommend anyone to start out with.

The best way to learn programming is by doing, but you shouldn’t start out with something too complex as it may hinder your learning process. I would recommend trying to complete some smaller projects in the beginning. You can find some Corona specific, simple to follow tutorials for creating various types of games at https://code.tutsplus.com/categories/corona-sdk.

For Lua itself, you might want to bookmark https://www.lua.org/start.html. There, you have access to Lua documentation and learning resources, like http://lua-users.org/wiki/TutorialDirectory

Hello,

im indeed thinking about something like Terraria.

based of your comment I think that is way to hard for me. what type of game  is good to start with?

Sound advice which backs up my view. If you click on my profile you’ll see I joined in September 2011. Could I build a sandbox game then? Absolutely not, and that was with some prior experience with C64, Amiga and Visual Basic programming.

Could I do it now? Of course, but there were lots of smaller projects on the way, and lots of mistakes made on bigger projects, to get me there.

I started with simple quiz apps, and to be honest I made the most money with my earliest, appallingly-coded efforts!

But I didn’t even start my own projects until I had played around with tutorials and templates and learned how they worked first.

What type of game is really entirely up to you. I would recommend taking some small projects that you can wrap up in 1-2 weeks, i.e. forget all sorts of monetization, multiplayer and social features, etc. for your first few projects. Just get used to how everything works.

You can get started with some tutorials from the code tuts page that I linked. There various different types of tutorials, like how to create a poker game, space invaders clone, helicopter game, some basic racing game, etc. Some of them are a bit old and may have some depreciated code in them, though.

But, the best kind of practice in reality is working on your own projects, things that you want to create. Just imagine some simple games and start developing and learning!

Corona is more than capable of building games like Terraria (I think this is what you’re talking about: https://terraria.org/)..)

Generally, around here, we would call this a platformer more than talking about worlds and biomes. Corona can’t do this alone. You will need a map editor and the recommended one is Tiled (http://mapeditor.org) and a third party library like PonyTiled that takes the maps created by Tiled and makes them easy to work with Corona.

The video at https://terraria.org/ shows a lot of effects going on and a lot of moving parts. All of this is going to take code and potentially a lot of it. Corona API’s, in particular, our Physics implementation can help with swinging vines and the arced bullet fire. 

It’s doable, but it’s going to be a lot of work. I would agree with everyone else. Since you’re new to all of this start off with something simpler. As your skills develop then you can get to where you can build a platformer.  

Please make sure you start here: https://docs.coronalabs.com/guide/programming/index.html

It will get you started with a lot of skills needed to start making games.  Then download the Sticker Knight template from our marketplace and get an idea on how to start making a platformer!

Rob

Optional, but knowing a little helps us help you.

If you don’t feel it is too invasive, tells us something about who you are and what you know.

  1. Are you still in school?  What grade?
  2. What classes have you taken that you think relate to game development?
  3. How far along in math are you?
  4. What kind of machine are you working on a Windows or a OS X PC.
  5. Do you have any programming experience?  What languages, how long?
  6. Do you have any experience with other game engines/SDKs and how much?
  7. Do you have any experience with art tools, sound tools, … , which and how much?
  8. Have you ever written a game?
  9. Do you remember the first game you ever played?
  10. Can you list a few games you’d enjoy remaking?

As far as what to make first?

I agree with Rob and the others who’ve suggested this, work your way through the tutorials and guides.  Also examine each of the samples that comes with Corona (launch Corona and click Samples [lower-left corner for Windows version of simulator]).

Note: Once you are running a ‘sample’ in the simulator, you can use the ‘file menu’ and select ‘Show Project Files’ to see the folder with that sample’s code.

Next up, check out the marketplace and download all of the free game templates: https://marketplace.coronalabs.com/

Walk through them and change small parts to see what the effect is.

Once you are familiar with concepts, list out some basic games (preferable a one mechanic) like:

  • whack-a-mole
  • flappy bird 
  • space invaders - a little less basic
  • asteroids 

Try to write a list describing each game in terms of mechanics, inputs, responses, art requirements, sound requirements.  i.e. A spec of an existing game.  

Then, ask yourself, “Can I make this single part of the game?”  If you think so, try to make it.  If not, try to learn about how to make it.  If you get stuck, come here, tell us what you’re doing and get help.

Rinse, repeat, …

Finally, or alternately, try to make one of these basic games.  Don’t focus on making money or even makings something to put on a store.  Just try to make the game for yourself.

Again, rinse, repeat, …

Do this for a year or longer and you’ll be ready to start teaming up or to consider taking on bigger projects.  (Depending on how much effort you put in and on your native talent for this kind of thing.)

Thank you very much for helping me. I appreciate this a lot!!!

The answer to your question’s:

1 yes, 7th grade (Junior high)

2 none

3 beginner (im not very good at it)

4 OS X

5 no

6 no

7 I only have experience with Piskel to make my sprites (https://www.piskelapp.com)

8 no

9 no

10 not specific games but I will enjoy making tower defense, sandbox and platform games

I’m 12 years old and I am from the Netherlands 

Based on your answers my advice is not to dive in trying to make anything in particular, and especially not tower defence, sandbox or platform games. You need to learn the basics of programming first or you will get very frustrated, very quickly.

Programming is huge amounts of fun, because it’s about solving one problem at a time the best you can using the knowledge you have at the time. You never stop learning, every programmer looks back at their code from as recent as 6 months ago and cringes. 

Every programmer has to start at the beginning, and you have a long time ahead of you to do that. The guys who make Call Of Duty or Fortnite did not wake up one day with that ability, they started with hello world, then maybe extended that to type in their name and have the computer write ‘Hello Tony’ back. Then moved on to learning all the fundamentals of programming - variables, expressions, arrays, loops, functions, objects, classes etc. Only then is something seemingly simple like tic-tac-toe achieveable.

it’s much easier nowadays with all the online tutorials and courses to make that process fun as well as learning the theory.

@ w.ummels,
 

  1. Thanks for your reply.  That helps so very much.  Often folks come in and ask questions and I have no idea what they know and understand, so answering is very hard.
     
  2. I’m going to post a bunch of stuff below.  I’m going to be plain and straight-forward in my advice.  Do not take what I say as judgement.  I am generalizing based on what I know from my own experience and what I now know generally about yours. 
     
    I still don’t know your strengths and weaknesses and in this case they don’t really apply.  What I do know is what will likely be do-able and learn-able for you at this time.
     
    Forget About Complete Games
    My first bit of advice is, forget about making a complete game.  At this level of experience, it is way out of your grasp.  
     
    When I say complete game, I mean something that could make it past a review process for Apple or Steam.
     
    Instead, make tiny parts of games.  Focus on micro-mechanics first, then focus on combining those parts into something bigger.
     
    I’m not saying that you need to abandon the idea of making one of your preferred game types.  Instead, try to make little bits and pieces that add up to the whole game.   This will involve lots of trial and error, lots of iteration.
     
    (I’ll give a suggested list of things below.)
     
    Choose One Game Type First
    You listed:

Note: Do not start here. This is an upside down way to start learning. It is better to examine code after you learn fundamentals.

Hello and welcome!

It sounds like you are completely new to programming. I would recommend that you search for an introductory course to Lua or to programming in general. Depending on your preference, there are good books, Youtube videos, websites, etc.

For Corona, you should also check out https://coronalabs.com/learn/ and https://docs.coronalabs.com/tutorial/. In addition, when you are first playing around with Corona, you can check out its sample projects in the simulator via the “Help” tab.

Hello,

do you know any books/ courses that can help me with my question?

I can’t find any

It’s difficult to point out specific books/tutorials because ‘game world’ is a very broad term. It could mean anything - a top down RPG world, a side-scrolling platform world, an isometric city world, or anything else you can think of.

The key is to just learn programming, and Corona, in general, through the Corona docs and examples, hundreds of tutorials, thousands of posts on this forum, RoamingGamer’s github etc.

There won’t be a course that tells you exactly how to make the game in your head, once you have built your knowledge you will then know how to apply that to build anything you like. Just like the guys who built GTA V, there was no guide on how to make it, they just work it out using their experience gained from completely different projects.

If you give more info on what you are trying to build there maybe specific tools (tile editors, level editors, spritesheet makers) people can point you at, but you’ll still need to learn the basics or nothing will make any sense.

im trying to make a sandbox world with biomes, minibiomes ect.

Well for something like that you are going to need a tile engine. I believe PonyTiled is the most popular for 2D/top down worlds and Qiso is a new engine for isometric worlds.

However I would advise that these aren’t tools for beginners. You really need to know what you’re doing with lua and Corona to get the most out of them and go beyond the functionality of the demos.

A tile engine will handle things like loading maps that you build with something like Tiled, placing new objects, the camera, and most crucially only loading tiles that are visible to the camera - this is called culling. You could of course build all this yourself but then you need to be even more experienced.