Visual Novel Engine
Forum rules
Ren'Py specific questions should be posted in the Ren'Py Questions and Annoucements forum, not here.
Ren'Py specific questions should be posted in the Ren'Py Questions and Annoucements forum, not here.
-
- Regular
- Posts: 133
- Joined: Fri Aug 22, 2003 1:08 pm
- Location: Wroclaw, Poland
- Contact:
I actually read a little about the MNG format. It looks interesting and could be used in future developement. I've already lost too much time implementing the IJG code in my own graphics library, and I'm affraid that including MNG support could be more difficult.
Although the IJG code is supposed to compile successfuly on any system, building the library for WATCOM C++ 11 was a real challenge. It appears that older versions of this compiler used different alignment fields for structures and there were some other incompatibilities too. Futhermore the IJG code only provided the file i/o data source, so there was the need to write a second data source manager that would read a compressed JPG file direclty from memory. I couldn't just let the player see all images before he/she actually started to play the game .
Then yesterday I had another idea. IMO there should also be a function (command) that could show backgrounds (or images) larger than the actual screen resolution. As an example let's take a cute girl's image at 640x(3*480) resolution. First the engine could show her legs, and then could slowly move upwards until the top of the image is reached. IMO this is pretty feasible, but as anything else requires time to make it work with a simpe single resolution engine.
Although the IJG code is supposed to compile successfuly on any system, building the library for WATCOM C++ 11 was a real challenge. It appears that older versions of this compiler used different alignment fields for structures and there were some other incompatibilities too. Futhermore the IJG code only provided the file i/o data source, so there was the need to write a second data source manager that would read a compressed JPG file direclty from memory. I couldn't just let the player see all images before he/she actually started to play the game .
Then yesterday I had another idea. IMO there should also be a function (command) that could show backgrounds (or images) larger than the actual screen resolution. As an example let's take a cute girl's image at 640x(3*480) resolution. First the engine could show her legs, and then could slowly move upwards until the top of the image is reached. IMO this is pretty feasible, but as anything else requires time to make it work with a simpe single resolution engine.
-
- Regular
- Posts: 133
- Joined: Fri Aug 22, 2003 1:08 pm
- Location: Wroclaw, Poland
- Contact:
Here's what the engine will be like:
The engine will be written in ANSI C. It will use SDL for it's low level media operations, and various other open source libs for other functionalities (jpeg, png, ogg, truetype, etc..).
The engine will interpret user written scripts (which will be C-like in syntax). These scripts will be used to control the flow of the game. Scripts can be interpreted at runtime (so users can modify the scripts easily) or as a compiled module.
For the first stage I'm developing a scripting engine library which allows programs to interpret user written scripts. This part only interprets script and does nothing more.
The second stage of the engine will be implementing a library of functions for the scripting library above. This library is basically the VN engine backend. For this part, I will place into the public domain (under GPL) and have anyone who wishes to contibute to the project.
Current status:
I have been able to parse scripts but have to implement the engine which interprets the scripts. Next task is to implement the engine, and perform vigourous bug testing. After this, I can proceed to stage 2.
The engine will be written in ANSI C. It will use SDL for it's low level media operations, and various other open source libs for other functionalities (jpeg, png, ogg, truetype, etc..).
The engine will interpret user written scripts (which will be C-like in syntax). These scripts will be used to control the flow of the game. Scripts can be interpreted at runtime (so users can modify the scripts easily) or as a compiled module.
For the first stage I'm developing a scripting engine library which allows programs to interpret user written scripts. This part only interprets script and does nothing more.
The second stage of the engine will be implementing a library of functions for the scripting library above. This library is basically the VN engine backend. For this part, I will place into the public domain (under GPL) and have anyone who wishes to contibute to the project.
Current status:
I have been able to parse scripts but have to implement the engine which interprets the scripts. Next task is to implement the engine, and perform vigourous bug testing. After this, I can proceed to stage 2.
-
- Regular
- Posts: 133
- Joined: Fri Aug 22, 2003 1:08 pm
- Location: Wroclaw, Poland
- Contact:
So far, it looks great. I can only wish you good luck and hope that the project reaches it's final stage quickly .
BTW like I already said, I'll be happy to help implementing stage 2. I may not be a pro, but I believe that I've already seen enough good code. I still need to learn to use SDL though . It looks like it would be better to call this library instead of directly talking to the DirectX interface.
BTW like I already said, I'll be happy to help implementing stage 2. I may not be a pro, but I believe that I've already seen enough good code. I still need to learn to use SDL though . It looks like it would be better to call this library instead of directly talking to the DirectX interface.
Being a builder of computers I will say that the Celleron procesor
is a bad choice for a gameing machine because it often "hicups"
that is a timeing fault with the processor itself. When building with
cheap processors best to use AMD, I have only found a few
software incompatibilities and none were significant.
One important note when building around AMD processor
be sure to use AMD compatible video card.
If you have to use Intel processor, the biggest gain can be
had through a GPU video card (that is a video card that has
its own central processing unit and takes most of the load
off the computers main processor) try to get a video card
with 64MB or more of video memory, there is no shame in
opting for the cheaper PCI version as opposed to the
more expensive less compatable AGP.
is a bad choice for a gameing machine because it often "hicups"
that is a timeing fault with the processor itself. When building with
cheap processors best to use AMD, I have only found a few
software incompatibilities and none were significant.
One important note when building around AMD processor
be sure to use AMD compatible video card.
If you have to use Intel processor, the biggest gain can be
had through a GPU video card (that is a video card that has
its own central processing unit and takes most of the load
off the computers main processor) try to get a video card
with 64MB or more of video memory, there is no shame in
opting for the cheaper PCI version as opposed to the
more expensive less compatable AGP.
- PyTom
- Ren'Py Creator
- Posts: 16096
- Joined: Mon Feb 02, 2004 10:58 am
- Completed: Moonlight Walks
- Projects: Ren'Py
- IRC Nick: renpytom
- Github: renpytom
- itch: renpytom
- Location: Kings Park, NY
- Contact:
I'm not so sure how true this is for visual-novel type games. In my experience profiling Ren'Py, the most expensive operation is moving images from the main memory to the screen. (Or blitting them around in main memory.) I would think the slowdown of PCI relative to AGP could be significant here.there is no shame in
opting for the cheaper PCI version as opposed to the
more expensive less compatable AGP.
-
- Regular
- Posts: 81
- Joined: Mon Jul 21, 2003 3:32 pm
- Location: Ohio, USA, Sector 001 Earth
- Contact:
I prefer AMD processors too... they are just as much as the pentiums but they are more efficient and require a lot less clock speed...Naraku wrote:Being a builder of computers I will say that the Celleron procesor is a bad choice for a gameing machine because it often "hicups"
that is a timeing fault with the processor itself. When building with cheap processors best to use AMD, I have only found a few software incompatibilities and none were significant.
One important note when building around AMD processor be sure to use AMD compatible video card. If you have to use Intel processor, the biggest gain can be had through a GPU video card (that is a video card that has its own central processing unit and takes most of the load off the computers main processor) try to get a video card with 64MB or more of video memory, there is no shame in opting for the cheaper PCI version as opposed to the more expensive less compatable AGP.
"Who's the more foolish? the Fool? or the Fool who follows him?" -- Obi-Wan "Ben" Kenobi
"if you could tune into the fantasy life of a 9 year old girl, you can make a fortune in this buisness" -- George Lucas
"if you could tune into the fantasy life of a 9 year old girl, you can make a fortune in this buisness" -- George Lucas
With a GPU video card it makes no perceptible difference, mostIn my experience profiling Ren'Py, the most expensive operation is moving images from the main memory to the screen. (Or blitting them around in main memory.) I would think the slowdown of PCI relative to AGP could be significant here.
modern video cards support drawing one screen while displaying
another and since the graphics processor handles transform and
lighting as well as DMA memory transfers that frees up the CPU
for other things such as game logic.
Who is online
Users browsing this forum: No registered users