Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #50992

Re: Creating a maze game

Path csiph.com!aioe.org!.POSTED!not-for-mail
From Rod Pemberton <NoHaveNotOne@zxdehrnyya.cam>
Newsgroups comp.lang.forth
Subject Re: Creating a maze game
Date Thu, 15 Sep 2016 01:47:31 -0400
Organization Aioe.org NNTP Server
Lines 121
Message-ID <20160915014731.3e4a4c3b@_> (permalink)
References <d0ec4e28-8998-4982-92e2-e0097f61ae40@googlegroups.com>
NNTP-Posting-Host n4wpt9zq8xR26Ttf9mo2BA.user.gioia.aioe.org
Mime-Version 1.0
Content-Type text/plain; charset=US-ASCII
Content-Transfer-Encoding 7bit
X-Complaints-To abuse@aioe.org
X-Notice Filtered by postfilter v. 0.8.2
X-Newsreader Claws Mail 3.13.1 (GTK+ 2.24.13; x86_64-unknown-linux-gnu)
Xref csiph.com comp.lang.forth:50992

Show key headers only | View raw


On Wed, 14 Sep 2016 20:30:46 -0700 (PDT)
Steve Graham <solitary.wanderer52@gmail.com> wrote:

> I would like to create a game for some grandsons:  Something that
> would include typical maze elements (walls, barriers, traps, jumping
> platforms, etc) and would allow them to enter in "code" to create or
> modify some of the elements.
> 
> It would be hosted on a Windows 7+ platform (platform-agnostic would
> be better for me) and would be coded in Forth, a lisp-family language
> (CL, Scheme, Racket, Arc, Logo, etc), Unicon and/or JavaScript.  I
> have been learning CL and Scheme, know a bit of Arc and Logo and a
> bit more of Forth, Unicon and JavaScript.

With JavaScript available to you, you should be able, with some work, to
create basic interpreters for Forth and Logo.  In fact, this has been
done for both many times.  Links to interactive Forth and Logo in
Javascript:

http://www.calormen.com/jslogo/
https://skilldrick.github.io/easyforth/
https://brendanator.github.io/jsForth/

Instead of a maze game, perhaps a text movement game, like Moria?

https://en.wikipedia.org/wiki/Moria_(video_game)

Or, perhaps a text adventure game, like Zork?

https://en.wikipedia.org/wiki/Zork

You could let them know that they must start with the basics, and the
ideas scale up to bigger and better things.  E.g., demonstrate basics
of going from Zork to Moria to Doom or Wolfenstein.  You don't want
them to get frustrated with something too complicated.  (I hope wasn't
being too forward with that suggestion, as they're your grandkids to
teach, not mine.)

> While I have been a medical information systems programmer for most of
> my career, it has been focused on CRUD (create/retrieve/update/delete)
> applications and interfacing (HL7 and proprietary).  I have virtually
> no experience with GUI and audio applications.

CRUD or ACID?

https://en.wikipedia.org/wiki/ACID
https://en.wikipedia.org/wiki/CRUD

> Here are some questions that have occurred to me:
> 1.  Which languages would be best?

That depends on where the game is hosted.  If the game is native to the
machine, I'd say C or whatever programming language the OS was coded
with.  It'll work better that way.  If hosted in a web browser or cloud
server, I'd say Javascript, perhaps HTML5 or WebGL.  Everything is
apparently being coded in Javascript or converting to it, including
servers and smartphones.

> 2.  Which toolkits would help?  OpenGL?

If native to a machine, you'll need to use the graphics libraries that
it supports.  You could also compile or use a library like WebGL
(Javascript API) or libSDL (low-level hardware via DirectX or OpenGL)
or in-browser HTML5.

https://www.khronos.org/webgl/
https://www.libsdl.org/

https://en.wikipedia.org/wiki/Simple_DirectMedia_Layer
https://en.wikipedia.org/wiki/WebGL
https://en.wikipedia.org/wiki/HTML5

> 3.  Can this be done on a browser?

Yes, using Javascript, and maybe some HTML5 or WebGL too, you can
generate an interpreter or emulator for just about anything.  E.g.,
links to in-browser emulators for C64, Apple II, IBM PC plus Linux,
NES, BBC, Moria, Zork, Windows 3.0 plus Zork, DOSBox plus Doom, ...

https://www.scullinsteel.com/apple2/
http://www.c64js.com/
https://www.kingsquare.nl/jsc64
http://bellard.org/jslinux/
https://fir.sh/projects/jsnes/
https://bbc.godbolt.org/
http://donnierussellii.github.io/JSMoria.html
http://www.web-adventures.org/cgi-bin/webfrotz?s=ZorkDungeon
http://jdosbox.superglobalmegacorp.com/jscript/winzork.html
https://js-dos.com/games/doom.exe.html

Here are some links to amazing WebL and HMTL5 in-browser demos.  You're
browser will need to be newer or up-to-date to support this stuff.  A
fast computer helps as well with WebGL.

HTML5
http://www.chiptune.com/kaleidoscope/
http://fff.cmiscm.com/#!/section/scream
http://www.craftymind.com/factory/html5video/CanvasVideo.html
http://spielzeugz.de/html5/liquid-particles/
http://tomtheisen.com/spread/
http://www.effectgames.com/demos/canvascycle/
http://codepen.io/ge1doot/pen/dMdyEp

WebGL
http://madebyevan.com/webgl-water/
http://alteredqualia.com/three/examples/webgl_terrain_dynamic.html
http://arodic.github.io/p/jellyfish/
https://armsglobe.chromeexperiments.com/

> 4.  How does one control scrolling in different directions?  Do you
> create the screen in memory and then instruct the system to scroll in
> the direction of the newly created portion? 5.  Could you interface
> with one of the available free game engines?

I don't have an answer for this, except maybe to learn to code, but you
obviously already know how to code.  ...  So, maybe buy a good book on
computer game design?


Rod Pemberton

Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Creating a maze game Steve Graham <solitary.wanderer52@gmail.com> - 2016-09-14 20:30 -0700
  Re: Creating a maze game lawrencedo99@gmail.com - 2016-09-14 21:41 -0700
    Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-16 10:45 -0700
      Re: Creating a maze game lawrencedo99@gmail.com - 2016-09-16 16:49 -0700
        Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-17 01:38 -0700
          Re: Creating a maze game lawrencedo99@gmail.com - 2016-09-17 02:08 -0700
            Re: Creating a maze game Julian Fondren <julian.fondren@gmail.com> - 2016-09-17 03:06 -0700
              Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-17 04:30 -0700
                Re: Creating a maze game lawrencedo99@gmail.com - 2016-09-17 15:09 -0700
                Re: Creating a maze game "HAA" <someone@microsoft.com> - 2016-09-18 14:19 +1000
                Re: Creating a maze game lawrencedo99@gmail.com - 2016-09-18 00:18 -0700
                Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-18 00:31 -0700
            Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-17 04:40 -0700
              Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-18 00:41 -0700
  Re: Creating a maze game Paul Rubin <no.email@nospam.invalid> - 2016-09-14 21:56 -0700
    Re: Creating a maze game lawrencedo99@gmail.com - 2016-09-14 22:15 -0700
      Re: Creating a maze game Melzzzzz <Melzzzzz@zzzzz.com> - 2016-09-15 05:22 +0000
      Re: Creating a maze game Paul Rubin <no.email@nospam.invalid> - 2016-09-14 22:30 -0700
        Re: Creating a maze game lawrencedo99@gmail.com - 2016-09-14 22:38 -0700
          Re: Creating a maze game Cecil Bayona <cbayona@cbayona.com> - 2016-09-15 00:43 -0500
          Re: Creating a maze game Paul Rubin <no.email@nospam.invalid> - 2016-09-14 22:59 -0700
            Re: Creating a maze game Melzzzzz <Melzzzzz@zzzzz.com> - 2016-09-15 06:06 +0000
  Re: Creating a maze game Rod Pemberton <NoHaveNotOne@zxdehrnyya.cam> - 2016-09-15 01:47 -0400
  Re: Creating a maze game anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-09-15 07:34 +0000
  Re: Creating a maze game Andreas Wagner <andreas.wagner@lowfatcomputing.org> - 2016-09-15 01:04 -0700
    Re: Creating a maze game albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-09-15 10:18 +0200
      Re: Creating a maze game Rod Pemberton <NoHaveNotOne@zxdehrnyya.cam> - 2016-09-15 17:48 -0400
    Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-16 10:50 -0700
  Re: Creating a maze game albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-09-15 10:27 +0200
  Re: Creating a maze game Mark Wills <markwills1970@gmail.com> - 2016-09-15 01:57 -0700
  Re: Creating a maze game Pablo Hugo Reda <pabloreda@gmail.com> - 2016-09-15 05:35 -0700
  Re: Creating a maze game Steve Graham <solitary.wanderer52@gmail.com> - 2016-09-15 10:22 -0700
  Re: Creating a maze game Julian Fondren <ayrnieu@gmail.com> - 2016-09-15 11:52 -0700
    Re: Creating a maze game hughaguilar96@gmail.com - 2016-09-15 20:24 -0700
      Re: Creating a maze game Julian Fondren <julian.fondren@gmail.com> - 2016-09-15 21:00 -0700
        Re: Creating a maze game hughaguilar96@gmail.com - 2016-09-16 20:16 -0700
    Re: Creating a maze game Julian Fondren <julian.fondren@gmail.com> - 2016-09-19 07:01 -0700
      Re: Creating a maze game hughaguilar96@gmail.com - 2016-09-20 15:15 -0700
      Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-21 02:05 -0700
        Re: Creating a maze game Julian Fondren <julian.fondren@gmail.com> - 2016-09-21 02:36 -0700
          Re: Creating a maze game Julian Fondren <julian.fondren@gmail.com> - 2016-09-21 07:34 -0700
            Re: Creating a maze game anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-09-21 14:55 +0000
              Re: Creating a maze game Julian Fondren <julian.fondren@gmail.com> - 2016-09-22 10:58 -0700
            Re: Creating a maze game Doug Hoffman <glidedog@gmail.com> - 2016-09-22 06:42 -0400
  Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-16 10:39 -0700
    Re: Creating a maze game hughaguilar96@gmail.com - 2016-09-16 19:44 -0700
  Creating a maze game Mark Wills <markwills1970@gmail.com> - 2016-09-17 00:16 -0700
    Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-17 02:21 -0700

csiph-web