Iji Ports: Permission Granted by Remar

Dec 22, 2012 at 9:34 AM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34

p161914-0-ijilogoanyos.png


Iji 1.6 for Any Operating System



IRC Channel for Iji Porting:

Join ##iji (yes, two pound signs) on irc.rizon.net

Use: http://www.rizon.net/chat or your own IRC client.



NOT irc.esper.net or aperture.esper.net.



Hello ladies and gentlemen of the Cave Story Tribute Site Forums.



Here is some email banter with Daniel Remar. (earliest message is on the bottom)

Code:
/* Ah, thank you so much!

I know that it will be a humongous and very
difficult task.

However, I love this game enough to put a lot
of effort into porting it if needed. Even if
it takes a decade, I will try to keep the project
going somehow.

I appreciate it.
Sincerely,
-- Carrot Lord

On 2012-12-21 05:52, Daniel Remar wrote:
Hello Carrot Lord,

You are welcome to port Iji to Mac/Unix, you can find the source code
on my homepage on the Resources page to help you. But you should
consider that Iji took several years to make, and making a perfect
port would likely take just as long. Porting Iji from Game Maker 5.3A
to Game Maker 8 (which can compile for Mac) would be faster, but is
still such a monumental job that I've never had the strength to do it
myself - there are large differences between those two programs, and
how they handle sound and graphics.

I don't want to discourage you - I would like to see it ported, I'm
just saying it would be a big undertaking, and I wouldn't have time to
help explain the details of how the game works. :p

Good luck,
Daniel

On 16 December 2012 07:47,  <j@oliverchu.com> wrote:
Hello Daniel Remar,

It seems that Iji only runs on Windows OSes.

Is this correct?

I would like to port Iji 1.6 (which appears to be the latest version
featured on your website) to Mac, and then maybe Linux/Unix.
I will probably not be using Game Maker and will probably not be using Adobe
Flash.

Obviously full credit for making Iji will go to you, Daniel Remar,
and all the people who helped you in the endeavor.

If this is allowed, please contact me.
If this is not allowed, it would be helpful if you could explain why it is
not allowed.
However, such an explanation is not actually necessary if you do not have
the time or do not want to tell me.

If you would like to know who I am, visit the cavestory.org forums.
Thank you very much!
-- Carrot Lord */



We shall be porting Iji 1.6, yes that good old indie game Iji, to Mac and Linux.



Who wants to help me?



We will use the following programming languages:

C

C++

Java

Python

Mint



Which are the five languages I am most comfortable with.



Why 5 languages?

-- More people understand those languages, if there are five of them instead of just one.

-- You can send various instructions and requests to the command prompt to execute languages using other languages.

-- To invoke language B from language A, you don't need a compiler or interpreter. Just a modern OS with a console system.

-- Python is easier than most languages for beginners to learn.

-- Graphics from PyGame are useful, and Java Swing is insanely useful too.

-- OpenGL and Allegro might be considered.

-- C and C++ are included because of good features (operator overloading, unions, multiple inheritance, super speed, etc).

-- Mint is included as a language that can extend itself by using eval and exec. You can customize it if you want.

-- Python is easily extensible too.



If you have suggestions on which graphics display system we should use, you can comment in the space given.

-- OpenGL

-- Allegro

-- PyGame

-- Swing, either through Java or Mint.



We also need people who own Macs to do testing. Just testing, not programming. You could apply for both positions if you wanted to.



Thanks for reading!
 
Dec 22, 2012 at 5:09 PM
Hoxtilicious
"Life begins and ends with Nu."
Join Date: Dec 30, 2005
Location: Germany
Posts: 3218
Age: 32
Oh yeah, memories, I asked him to make an editor for his game some years ago.

However, isn't it slow to use 5 languages at once?
He told me that most of the game is scripted, if that is true, then writing a converter might work too, after that you could clean the source code up manually.
 
Dec 22, 2012 at 5:21 PM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
Only 1 language will run at a time. Either the other languages must halt when a different one is active, or be smart enough to use threads in a way that takes advantage of the processor's multitasking somehow.
 
Dec 22, 2012 at 5:25 PM
Hoxtilicious
"Life begins and ends with Nu."
Join Date: Dec 30, 2005
Location: Germany
Posts: 3218
Age: 32
Hm, how should that work without secounds of loading when the game is loaded into the ram?
What do you think about a converter? o:
I once tried to write one that converts assembly to lua script, that sure isn't easy but GML seems to be related to common languages like C++ or Java.
 
Dec 22, 2012 at 6:07 PM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
I don't think GML has structs. Or objects. It also has floats, and strings. And nothing else except maybe arrays.
 
Dec 22, 2012 at 6:53 PM
Indie game enthusiast
"What is a man!? A miserable pile of secrets! But enough talk, have at you!"
Join Date: Apr 18, 2006
Location: Forever wandering the tower...!
Posts: 1789
I should be able to do some mac testing when the time comes~

Iji is a great classic that is very particular about what system it is being run on...
Would be excellent to have it running smoothly on any modern OS.
 
Dec 22, 2012 at 7:43 PM
Hoxtilicious
"Life begins and ends with Nu."
Join Date: Dec 30, 2005
Location: Germany
Posts: 3218
Age: 32
@Carrotlord: Well, that doesn't matter, it would work anyway.
But it's up to you, I can't do more than offering my help. O:
 
Dec 22, 2012 at 8:46 PM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
If you want to help, that's fine.

I might imagine that it would be difficult to work on 2 or more software projects at once, unless those projects somehow shared code in some way.
But whatever floats your boat.
 
Dec 22, 2012 at 9:18 PM
Hoxtilicious
"Life begins and ends with Nu."
Join Date: Dec 30, 2005
Location: Germany
Posts: 3218
Age: 32
Depends on when you're going to start with this. ;)
Of course I won't have time before the end of the next week I guess.
But that doesn't mean I can't help here and there or with concepts.
 
Dec 23, 2012 at 1:43 AM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
Sure. Whatever is most convenient is okay. If you are capable of helping then that would be wonderful.
 
Dec 23, 2012 at 8:46 AM
Senior Member
"This is the greatest handgun ever made! You have to ask yourself, do I feel lucky?"
Join Date: Feb 2, 2012
Location: Grassland
Posts: 123
Age: 28
I have a mac and would definitely be up for testing (Again, when the time comes).
 
Dec 23, 2012 at 11:05 PM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
Certainly. You've been added to the list of Mac testers and testing staff.

EDIT: New Logo...
p161914-0-ijilogoanyos.png
 
Dec 25, 2012 at 11:58 AM
Administrator
Forum Administrator
"Life begins and ends with Nu."
Join Date: Jul 15, 2007
Location: Australia
Posts: 6210
Age: 38
Wouldn't just a C++ built engine that interprets some custom scripting language be in order (or maybe a custom version of an existing scripting language). Hell, some pseudo-TSC would be syntactically understandable to just about everyone here. Requiring that the end user install both the Java and Python frameworks before they can play, made worse by python's compatibility issues between versions, seems like a poor choice.
 
Jan 7, 2013 at 1:10 PM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
Ok, so andwhyisit has told me that a mishmash was not a good idea and I personally find Python's "colon after the control flow statement" extremely annoying.

Therefore, I am changing the language set. We only have 2:

Java 6 or 7
A language that offers powerful native desktop graphics support like no other.
Download the JDK: http://www.oracle.com/technetwork/java/javase/downloads/index.html

Photon Mint 2.9
A language crafted to be far easier to use than TSC, BASIC, Assembly, Perl, PHP, C, and C++.
Download the Interpreter: http://mint.oliverchu.com/
Learn Mint: watch?v=qyR03MIfOqw


We are totally getting rid of Python, C, and C++.
If you want TSC to be a supported language (I'm not sure why you would), feel free to write your
own TSC interpreter in either Mint or Java. I will most likely not do it for you, because I hate TSC
and think that it is a troll language designed to confuse anyone who attempts to edit Pixel's game.
Pixel did not encrypt his TSC files very well because editors like CaveEditor and Booster's Lab can
easily crack open the files.
However, the syntax of TSC is a great encryption indeed. TSC has no variables except booleans,
and no control flow except for checking if a certain variable is exactly equal to "true".

If you know Python, you should be able to learn Photon Mint in about 5 days.
If you know Python and studied Python at any university, you should be able to learn Photon Mint in
about 12 seconds. Just skim through the HTML tutorial included with the language.
 
Jan 8, 2013 at 1:21 PM
Been here way too long...
Discord Group Admin
Org Discord Moderator
"Life begins and ends with Nu."
Join Date: Oct 18, 2011
Location:
Posts: 2337
TSC was a language that pixel had made fire himself to use while making his game, not for anything else. Pixel made it have what he needed and nothing else except <CAT
 
Feb 4, 2013 at 11:10 PM
Novice Member
"Officially Worth 1 Rupee"
Join Date: Feb 4, 2013
Location:
Posts: 1
Hi Carrotlord and everyone else. I am writing here because there may be an alternative way to port Iji to Mac and Linux. ENIGMA (http://enigma-dev.org) is a fully-free, open-source, cross-platform development environment that is source-compatible with GameMaker files. While ENIGMA is not fully featured yet, the project has come a long way since its start, and supports the core features of an engine such as an instance system, a scripting language, 2D (and 3D) graphics, a collision system, etc. Given that the source file of Iji can be opened and edited in the LateralGM editor, and that most of the functionality required by Iji is already implemented in ENIGMA, it will likely be far easier to port Iji to Mac and Linux using ENIGMA than writing an engine from scratch. That said, ENIGMA is still missing some features before it can properly compile and run Iji, and even though those features are being worked on, it will likely take a fair while before they have been implemented and tested.

If you are curious about ENIGMA and have questions, there is a forum on the website as well as an IRC.
 
Feb 5, 2013 at 12:59 AM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
Hello there.

Thank you for offering to help.
I am reluctant to use EDL (Enigma Development Language) and the ENIGMA system. I think it's a great way to merge C++ and GML. However...

1. I do not enjoy using C++.
2. I do not enjoy using GML.
3. Even though statically typed languages have their advantages (e.g. Java code is readable, portable, and easily comprehensible to experienced C/C++ programmers), EDL is a poor choice of statically typed language because C++ is the base. EDL is a strongly typed language - maybe. C++ is a strongly hyped language - probably.

We have the advantages of Mint and Java.

1. Java is an amazing cross platform language that has extremely useful native graphics and GUI support.
2. Mint is a very Python-like, JavaScript-ish language. It is dynamically typed and fluid. With the recent release of Mint 2.97, we have the ability to implicitly fix beginner's syntax errors (such as turning assignments into conditional equal-equal signs if appropriate), and method calls are no longer buggy at all.

Therefore, considering that Mint is 98% finished and Java has been 100% finished for a long time, and that ENIGMA doesn't have enough features to fully compile Iji (as you have stated in your post), I find it more prudent to stick with the traditional method of using Java's libraries rather than to switch over to a C++ system.

If you enjoy C++ and GML, and EDL, you are free to work on your own implementation of cross-platform Iji. I'd love to test it. I just realized that I can use Macintosh computers in the Scratch labs at my college, and they're actually really good and intuitive to use. Therefore, I am no longer bounded by Windows and Unix technologies. I am now a Mac laptop fanboy... :pignon2:
 
Feb 6, 2013 at 9:46 PM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
Thanks for moving the off-topic components.
 
Top