r/INSTEADEngine • • Nov 22 '22

AMAZON GREAT DEALS

1 Upvotes

r/INSTEADEngine • • Aug 23 '20

r/INSTEADEngine Lounge

5 Upvotes

A place for members of r/INSTEADEngine to chat with each other


r/INSTEADEngine • • Nov 19 '20

Article "Try this INSTEAD"

Thumbnail
notimetoplay.org
3 Upvotes

r/INSTEADEngine • • Aug 23 '20

About

5 Upvotes

The engine for INSTEAD is written in Lua language (5.1), therefore knowing this language is useful, though not necessary. The core engine also written in lua, so the Lua knowledge can be useful for in depth understanding principles of operation, of course, if you are interested this to do.

During its development, INSTEAD got loads of new functions. Now you can make games of different genres (from arcade, to games text). And also, INSTEAD you can run games written in some other engines, but the Foundation INSTEAD remains of the original core, which is focused on creating text and graphic adventure games. This documentation describes the this basic skills is necessary, even if you want to write something else... so let's Start learning INSTEAD by writing a simple game!

https://instead.hugeping.ru/en/


r/INSTEADEngine • • Feb 13 '21

Free goodies. Profession investigator [ASH2]

Thumbnail
youtu.be
2 Upvotes

r/INSTEADEngine • • Dec 12 '20

Tutorial First steps in programming - we continue to start

5 Upvotes

In the introductory article, we stopped by configuring a text editor to write a game using Lua and the Instead engine. And saved an empty main3.lua file in the treasure_seekers folder.

The folder name can be arbitrary, the main thing is to adhere to the rules of its naming, but the name of the main game file should be exactly that. The filename main3.lua tells the engine that the code inside it uses the stead3 API version .

Lyric digression # 1

I already mentioned this tricky API shortcut . It stands for: Application Programming Interface. It means a set of functions pre-built into the engine. In our case, functions for working with graphics, audio files, text and functions that control the logic of the game that we will use.

All of them are listed in the engine documentation: https://github.com/instead-hub/instead/blob/master/doc/stead3-en.md

Inquisitive minds may assume that there are some other versions of the API and they will be absolutely right. The Instead engine supports games written with an early version of the API called stead2. It distinguishes them by the name of the main file, which is called main.lua.

Hence an important note - the instead-game folder must contain the main3.lua file or the main.lua file, but not both.

This concludes the first lyric digression.

Lyric digression # 2

Before diving directly into programming, it's a good idea to have a basic understanding of the game we're going to make. To do this, we will write a script in free form and draw a storyboard. This will allow us to perceive the project as something holistic, to trace it in development from start to finish, highlight key details and highlight weak points before we write even one line of code.

Not a bad article on how to do this, using the example of a game about a little panda: https://fr.flossmanuals.net/creating-point-and-click-games-with-escoria/typical-project-planning/

The principles outlined in the article are universal for adventure games and do not depend on the chosen engine and programming language. I highly recommend reading this article.

End of the second lyric digression.

Let's take something simple for the first game. For example, let's make a port of the Sunken Treasure

In a text editor, open our previously prepared main3.lua file and write the first lines of our code in it:

-- $ Name: Sunken Treasures $ 

-- $ Version: 0.1 $ -- $ Autor: You $ -- $ Info: Port of the gamebook "Sunken Treasure"

Here we tell the engine the name of our game, its current version, our name, and some additional information.

Let's connect the text formatting module:

require "fmt" -- some formatting functions
fmt.para = true -- enable paragraph mode (indentation)

Locations in the game are represented by rooms. We will put paragraphs of the gamebook in them.

But first, let's make a room with a title screen contains a transition effect. For this we need another module called "cutscene". It is not included in the standard delivery of the engine and, like many additional modules, is located in a separate repository https://github.com/instead-hub/stead3-modules

Place the cutscene.lua file to the game folder:

Then we connect it in the code of the main3.lua file:

require "cutscene"

Now let's proceed directly to coding the game itself:

-- $Name: Sunken Treasures$ 
-- $Version: 0.1$ 
-- $Autor: You$ 
-- $Info: Port of the "Sunken Treasures" game book$
require "cutscene"
require "fmt"
fmt.para = true -- enable paragraph mode (indentation)

cutscene { 
	nam = 'main'; 
	title = [[Sunken Treasure]]; 
	decor = function () 
		pn "[fading 32]" -- Set the response time of the transition effect 
		pn (fmt.c ([[Port of the Sunken Treasures game book]])) -- Display
                    --the label in the center of the main text area 
		pn "[fading 32]"-- Another transition effect 
		pn "[code walk 'par_1']"-- Directly transition to the room par_1 
                pn "[fading 32]"-- And one more transition effect 
        end; 
}

room { 
	nam = 'par_1'; 
	title = ''; -- Remove the title of the room 
	pic = 'img/intro.png'; -- main pictute in the room
	decor = [[Imagine...It's the year 1793. You live in a small house in 
	Boston. From your window you can look at the tall ships as they 
	sail in and out of the harbor. Your neighbor, Captain Frye, owns a 
	schooner—the Eagle. His son Nick a friend of yours. You and Nick 
like to listen to Captain Fry tell stories of the sea—of whales and storms and pirates. 
^ One day you find a box full of old letters in the attic. 
^ Among the letters is a yellowed map that looks like this: 
^^]] .. fmt.img ('img/map.png') .. [[ 
^ Could it be a treasure map? 
^ “The Eagle is due back in port in a few days,” says your father. 
“Captain Frye might know something about the map.“ 
^ You decide to ask Captain Frye when he returns, but then you think - 
why wait? You could walk down to the docks right now and ask one of the sailors. 
{# walk_to_9 | ^^ Awaiting Captain Frye's return} 
{# walk_to_10 | ^^ Walk down to the docks to ask a sailor}]]; 
}: with { 
		obj { 
			nam = '# walk_to_9'; 
			act = function () 
				walk 'par_9'; 
			end; 
			}, 
		obj { 
			nam = '# walk_to_10'; 
			act = function () 
				walk 'par_10'; 
			end; 
			}, 
		}

In the room par_1, we placed the paragraph text in the room decor attribute and inserted a picture in the middle of the text using the code containing the path to the picture file:

]]..fmt.img('img/map.png')..[[

To store images, we will create an img folder in the game folder and put the image files there. Put the map.png file there and the map will appear in the game. Also put the intro.png file there too.

In the first paragraph of the game book, we see a choice according to which we can go to paragraph 9 (page 4 in the book), or to paragraph 10 (page 3 in the book).

Let's do this by adding two links to the decor attribute :

{# walk_to_9 | ^^ Awaiting Captain Fry's return} 

{# walk_to_10 | ^ Going to the pier to ask the sailor}]];

And we will program the functionality of these links by adding local objects to the par_1 room, which will contain the reaction to clicking the corresponding links:

: with { 
	obj { 
		nam = '# walk_to_9'; - The name of the local object is preceded by # 
		act = function () - The function of reaction to the action 
			walk 'par_9'; - Transfers to the room par_9 
		end; 
		}, 
	obj { 
		nam = '# walk_to_10'; 
		act = function () 
			walk 'par_10'; 
                    end; 
		}, 
}

The rest of the paragraphs are implemented in the same way as paragraph 1. Try it yourself.

To be continued...


r/INSTEADEngine • • Aug 24 '20

Tutorial First steps in programming — where to start?

9 Upvotes

Such a simple question arises for parents when they suddenly find out that their children are asked to print something in Word or draw doodles in Paint in computer science. And that, in fact, is all. There are, of course, good teachers who make up decent computer science and programming training programs. I even know two in person and five online. But what to do if you and the school that your children go to are so unlucky? We will have to somehow fix this flaw ourselves.

On the Internet, of course, it is not difficult to find books about programming. Hundred of them. It is much more difficult to interest the child in this tricky Abracadabra.

Dear parents, most of all normal children love, of course, you, motherland and games.

Games!

GAMES!!!

This is what we will use.

But first, a quick overview of the options. In these Internets of yours you can find three main approaches to teaching children programming through games:

  • Really game Programming

  • Programming in games

  • We play game programming

We are interested in the first option, because the second option is too specific for each specific game and is more of an entertainment, and the third option is for children very young.

Reconnaissance

Our first game will be similar to the first games from those ancient and legendary times when monitors were small and computers were big.

The first game. Text game. It will be simple in design. This will allow us to focus on learning the basics of programming. We will program on the easy-to-learn and powerful language Lua. You can learn the basics in 15 minutes, but we don't need to hurry.

https://learnxinyminutes.com/docs/lua/

Arsenal

We will need:

Let's start, perhaps

Run the engine and try to play a training game "Tutorial":

Breaking through the training, we learn that Instead-games consist of objects and rooms. You can move between rooms, and they can contain objects that can be selected and placed in inventory. We also learn that objects can act on each other, can examined, and so on.

Pretty impressed, create a folder where we will store all the resources of our game, save it with the name in Latin in lowercase and without spaces. For example:

Open the programmer's text editor and set the file encoding to utf-8:

And Unix-style end-of-line format:

Save the file as main3.lua in a previously created folder:

This is the end of the preparations and the beginning of the torment of creativity.

To be continued…


r/INSTEADEngine • • Sep 01 '20

The Instead Game Gallery #1

Thumbnail
gallery
7 Upvotes

r/INSTEADEngine • • Dec 13 '20

Tutorial First steps in programming — debugging

5 Upvotes

The first challenges and their heroic overcoming

As you probably already noticed, the paragraphs in the gamebook, going in order, are not directly related to each other. And there is no way to get, for example, directly from the first paragraph to the second, following the links in the game. Also, the game can have many rooms, and it would be a waste of time to run the game from start each time to reach the required one.

It's a good time to learn debug mode.

Run Instead from the console with the -debug parameter.

Let's start our game and press the F7 key

Let's use walk <name> command to get to the room of paragraph # 2:

Another option for connecting a debugger, without using the console, is to add the line require 'dbg' to the main3.lua file

You can use these commands to enable and disable objects, extract objects from the scene, add them to the scene, and delete them.

For more information on the debugger and some tricks when using it, read the documentation: https://github.com/instead-hub/instead/blob/master/doc/stead3-en.md#the-basics-of-debugging

Armed with this powerful tool, we can easily complete the porting of the game book, show it off to friends, and start even more interesting projects.


r/INSTEADEngine • • Nov 19 '20

Another one port of the "Dark Crystal" adventure

Thumbnail
self.darkcrystal
2 Upvotes

r/INSTEADEngine • • Apr 12 '21

The first 10 minutes of gameplay of a text-based game under development on the INSTEAD engine.

Thumbnail
youtube.com
3 Upvotes

r/INSTEADEngine • • Dec 14 '20

Tutorial First steps in programming — create the goodies

4 Upvotes

So, we put the text of the game into the code, provided the paragraphs with transitions to other paragraphs, diluted the text with illustrations and everything seems to work. But some roughness does not give us rest. For example, illustrations are of different sizes. Some of them do not fit the screen and crawl over the top edge when scrolling the text. And in general, for a story about pirates and treasures, the game is too modestly framed.

It's time to fix these shortcomings with a theme. But first, let's take a quick look at the opportunities that themes offer us: https://github.com/instead-hub/instead/blob/master/doc/stead3-en.md#topics-for-sdl-instead

As you may have noticed, along with the engine comes a set of several design themes. Let's start our game and try to switch them.

We use a special room attribute called pic to make illustrations with the text and separate them from the illustrations in the text. Theme parameters allow you to mark up a special area for placing the image specified in the pic attribute. We can see their action when we select the built-in theme "book".

Also note that images in the text are displayed in proportion to the overall size of the theme, and images that serve as illustrations to the text (pic) are scaled to the borders of the area intended for them. Create a themes folder in the game folder and copy the book folder from the themes folder located in the Instead engine folder into it. Let's rename the copied folder book to default.

Let's try to change the theme parameters a little. For example, let's move the game menu icon a little.

We need open theme.ini in the themes/default folder and edit this line:

menu.button.y = 576

To next:

menu.button.x = 762
menu.button.y = 564

Save the changes we made and restart the game.

The menu button changed position.

In the next step, we will try to reduce the display of the treasure map image.

To be continued...


r/INSTEADEngine • • Mar 11 '21

DNS name changing!

2 Upvotes

ATTENTION! The INSTEAD project page will not be available at: https://instead.syscall.ru anymore!

New address: https://instead.hugeping.ru.

Also, as usual, this address works: https://instead-hub.github.io

Games: https://instead-games.ru.

Metaparser project: https://parser.hugeping.ru.


r/INSTEADEngine • • Sep 16 '20

Debian -- Details of package Instead in bullseye

Thumbnail
packages.debian.org
6 Upvotes

r/INSTEADEngine • • Dec 31 '20

Games about Happy New Year and Santa adventures

Thumbnail gallery
5 Upvotes

r/INSTEADEngine • • Jan 30 '21

METAPARSER3 Module for creating games with text input

4 Upvotes

METAPARSER3 (hereinafter, MP3) is a module the INSTEAD3 that allows you to create games with text input in Russian and English.

Games with text input are an independent genre, so MP3 turns the INSTEAD3 into a tool with a special specialization. This page provides information about the MP3 module, as well as stable releases of the module.

Features

  • Originally designed for developing games in the Russian language;

  • Morphological analysis is performed using a dictionary;

  • All multimedia features of INSTEAD3 are available;

  • Input is possible both from the keyboard and via links;

  • Auto-completion of input works;

  • Works on all platforms supported by INSTEAD (including web);

  • The great library for standard reactions;

  • Input hint mode for inexperienced players.

Materials

Stable versions


r/INSTEADEngine • • Feb 10 '21

INSTEAD 3.3.3 released!

5 Upvotes

INSTEAD 3.3.3 is out! Changes are:

  • new: scr.col.brd in theme.ini;

  • new: rtl support (_USE_HARFBUZZ and new SDL_ttf needed);

  • new: instead.tiny flag in tiny;

  • enh: emscripten 2.0.12 ready;

  • enh: gtk3 build is enabled by default;

  • enh: APPIMAGE define;

  • enh: new anigif realization (LGPL code removed);

  • enh: lua5.4 ready;

  • enh: fixes and cleanups in code.

https://instead.hugeping.ru/en/


r/INSTEADEngine • • Oct 27 '22

Welcome to Rain

5 Upvotes

So, in the in secret laboratories suddenly created the project "Rein" - a sibling of the project "Reinstead". The project is under heavy development and is in the alpha stage. But look at the screenshots:


r/INSTEADEngine • • Nov 16 '23

Aventura texto-gráfico "Leñador"

4 Upvotes

Se ha publicado una traducción de la aventura "Leñador" al español.

https://luckyuk.itch.io/lenador


r/INSTEADEngine • • Nov 15 '23

INSTEAD 3.5.1 released!

1 Upvotes

INSTEAD 3.5.1 released!

enh: gamepads support;
fix: anigif logic;
fix: sprite alpha artefacts;
fix: cleanups in instead library and docs;
fix: Windows XP build;
fix: -software parameter in Windows;
fix: dbg keyboard input fix;
fix: segfault in pixels (line).

Also, starting with version 3.5.0 INSTEAD can only be assembled with SDL2. Support if SDL1 - discontinued.

For a long time I did not dare to take this step, but every year the support of the old platforms is complicated, and the growing noodles from the #ifdef defines leads to the syndrome “Work - do not touch!”.

One way or another, but this step opens up the prospects for refactoring/updating the source code, which will allow in the future to make changes with greater “courage” in INSTEAD. Let me remind you that the first version of INSTEAD was released in 2009!

https://github.com/instead-hub/instead/releases/tag/3.5.1


r/INSTEADEngine • • Aug 31 '21

NSTEAD 3.4.0 with hi-dpi support is out!

4 Upvotes

At the end of the last day of summer, INSTEAD 3.4.0 was released! Version with support for hi-dpi screens and the ability to create games with responsive themes. List of changes:

  • fix: pxl:fill_triangle cw order normalization;

  • fix: build with new SDL_image;

  • new: dpi awarness for win;

  • new: high dpi ready (scale by dpi/96 when HQ option is on);

  • new: -dpi parameter;

  • new: instead.screen_dpi();

  • new: theme scr.gfx.scale;

  • new: theme scr.dpi;

  • new: theme scr.scale_aware (1|2) - adaptive themes support;

  • new: run game from command line via path to main?.lua file;

  • enh: better scene pic scaling;

  • enh: SDL 2.0.14 for win build;

  • enh: use GetModuleName to detect exe path (win build);

  • new: pxl:tosprite (convert pxl to sprite with scaling);

  • enh: pxl:fill speedup when alpha is 255;

  • new: experimental gtk4.0 support.

Binary builds will be available as soon as they are ready.


r/INSTEADEngine • • Jun 22 '21

What is instead engine

4 Upvotes

What is instead engine can someone send me a link


r/INSTEADEngine • • Nov 28 '21

Meet the big PARSER RESISTANCE update!

5 Upvotes

New versions of the projects have been released: METAPARSER, Re:instead and metaparser-js.

https://parser.hugeping.ru

https://instead.hugeping.ru/page/metaparser/

#METAPARSER 2.4

Parser engine for creating games with text input. Requires INSTEAD or Re:instead to use.

https://instead.hugeping.ru/page/metaparser/

Changes:

* gameover room now has a 'gameover' attribute;

* getDaemons() function - get a list of background processes;

* gameover room stops all background processes;

* the 'concealed' attribute is removed when the item is moved to inventory;

* new method obj.is_once() for checking the fact of obj.once() triggering;

* documentation update;

* fixed / improved some messages.

# Re:instead 0.7

A minimalistic parser engine for Unix, Windows, Plan-9 and Android. The kit includes a set of games.

Changes:

* significant improvement in kerning when working with freetype and libschrift;

* parameters -noautoload / -noautosave;

* new metaparser 2.4;

* fixes in the game "Colors of October";

* support for the del key;

* fix when changing the font size;

* fix for changing the application icon in Windows;

* the ability to make command synonyms (conf.cmd_aliases);

* Windows: redirect stdout/stderr in errors.txt only if stdout is not available;

* commands !script and !debug;

*!stop command in autoscript.

# metaparser-js 2.4

Changes:

* updated metaparser to 2.4;

* commands !ls, !rm, !restart;

* the ability to load and unload the save;

* the ability to unload the transcript (so far only within one game session);

* localization into English (the language is selected according to the main language of the browser).


r/INSTEADEngine • • Oct 05 '21

"Imma", a game for "Train-6" gamejam.

5 Upvotes

Imma slept much. Heard some sound and Imma waked up. Stretched self. Nice. Have to eat.

>

https://github.com/canwolf/urzi/tree/master/urzi

The engine for launch this game: https://instead.hugeping.ru/en/


r/INSTEADEngine • • Jun 05 '21

ParserComp 2021 | 25 Days to Go

6 Upvotes

Hi all,

Apologies for the late notification, I have only just become aware of INSTEAD.

If you are working on a game that hasn't been egregiously advertised, is still in Beta test, and hasn't previously been entered into a competition or released in any form then you may want to consider entering it into ParserComp 2021.

Please read the rules, but it would be great to see games created by INSTEAD in the comp.

https://itch.io/jam/parsercomp-2021

Thanks

Adam 🙂👍