Robertvokac (talk | contribs) No edit summary |
Robertvokac (talk | contribs) No edit summary |
||
(22 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
|- | |- | ||
|'''Recreation of''' | |'''Recreation of''' | ||
|Speedy Blupi/Eggbert I/II/1/2 | |[[Speedy Blupi]]/[[Eggbert]] I/II/1/2 | ||
|- | |- | ||
|'''Recreation type''' | |'''Recreation type''' | ||
Line 10: | Line 10: | ||
|- | |- | ||
! Author (person) | ! Author (person) | ||
| rowspan="3" | Robert Vokac | | rowspan="3" | [[Robert Vokac]] | ||
|- | |- | ||
! Developer (person) | ! Developer (person) | ||
Line 17: | Line 17: | ||
|- | |- | ||
|'''Licence''' | |'''Licence''' | ||
|GPL version 3 or later | |[[GPL]] version 3 or later | ||
|- | |- | ||
|'''Programming language''' | |'''Programming language''' | ||
|Java 11 | |[[Java]] 11 | ||
|- | |- | ||
|'''Used libraries''' | |'''Used libraries''' | ||
|LibGDX | |[[LibGDX]], [[Pixel Game Library]] | ||
|- | |- | ||
|'''Project launched''' | |'''Project launched''' | ||
|In June 2024 | |In June [[2024]] | ||
|- | |- | ||
|'''Development started''' | |'''Development started''' | ||
Line 46: | Line 46: | ||
|https://github.com/openeggbert | |https://github.com/openeggbert | ||
|- | |- | ||
| | |''Source code (mirror)'' | ||
|https://code.openeggbert.com | |''https://code.openeggbert.com'' | ||
|- | |- | ||
|'''Forum''' | |'''Forum''' | ||
|https://forum.openeggbert | |https://forum.openeggbert.com | ||
|- | |||
|'''Report bugs and features''' | |||
|https://issues.openeggbert.com | |||
|- | |- | ||
|'''Play online''' | |'''Play online''' | ||
|https://play.openeggbert.com/ | |https://play.openeggbert.com/ | ||
|- | |||
|'''Play online (TeaVM)''' | |||
|https://playt.openeggbert.com/ | |||
|- | |||
|''Play online (test)'' | |||
|''https://test.openeggbert.com/'' | |||
|- | |||
|''Play online (test, TeaVM)'' | |||
|''https://testt.openeggbert.com/'' | |||
|- | |- | ||
|'''File storage''' | |'''File storage''' | ||
|https://drive.openeggbert.com/ | |https://drive.openeggbert.com/ | ||
|- | |- | ||
| | |''Google Drive(mostly not up to date)'' | ||
|[https://drive.google.com/drive/folders/ | |''[https://drive.google.com/drive/folders/1McjJgxzWKlCAwwE9Q9QA9-S42calCp_3?usp=drive_link https://drive.google.com/...]'' | ||
|- | |||
|'''Maven artifacts''' | |||
|https://repo.openeggbert.com | |||
|- | |- | ||
|'''Video storage''' | |'''Video storage''' | ||
Line 68: | Line 83: | ||
|- | |- | ||
|'''Related Youtube videos''' | |'''Related Youtube videos''' | ||
|https:// | |https://youtube.openeggbert.com | ||
|- | |- | ||
|'''Related websites''' | |'''Related websites''' | ||
|https:// | |[[Webs related to Speedy Blupi]] | ||
|- | |||
|'''Internet archive''' | |||
|[[Internet archive]] | |||
|- | |||
|'''Archive (pywb)''' | |||
|https://archive.openeggbert.com/main | |||
https://archive.openeggbert.com/internet | |||
|- | |- | ||
|''' | |'''Archive of warc files''' | ||
|https:// | |https://warc.openeggbert.com | ||
https://warc2.openeggbert.com | |||
|- | |- | ||
| | |''Pixel Game Library'' | ||
|https:// | |''https://pixelgamelibrary.com'' | ||
|- | |- | ||
| | |''Blupi'' | ||
|https:// | |''https://blupi.net/'' | ||
|} | |} | ||
Line 86: | Line 109: | ||
[[File:Open-eggbert-logo.jpg|frame|This is original image of Open Eggbert created by Robert Vokáč]]'''[[Open Eggbert]]''' is a '''free''' and '''open-source''' recreation of '''Speedy Blupi I/II''' computer game. | [[File:Open-eggbert-logo.jpg|frame|This is original image of Open Eggbert created by Robert Vokáč]]'''[[Open Eggbert]]''' is a '''free''' and '''open-source''' recreation of '''Speedy Blupi I/II''' computer game. | ||
Multiple platforms are supported: Windows, Linux, MacOS, Android, Web (via GWT) | Multiple platforms are supported: [[Windows]], [[Linux]], [[MacOS]], [[Android]], [[Web]] (via [[GWT]]) | ||
== Relation to Speedy Blupi == | == Relation to Speedy Blupi == | ||
'''Open Eggbert''' is an approximation of the Speedy Blupi engine. | '''Open Eggbert''' is an approximation of the [[Speedy Blupi]] engine. | ||
'''Open Eggbert''' does not have a '''Clock cycle wise''' identical behaviour as '''Speedy Blupi,''' because to reach such goal is not possible without the source code of Speedy Blupi engine. | '''Open Eggbert''' does not have a '''Clock cycle wise''' identical behaviour as '''Speedy Blupi,''' because to reach such goal is not possible without the source code of Speedy Blupi engine. ''(Update: Thanks to the decompilation project the clock cycle wise identical behaviour may be possible)'' | ||
However, the player should not be able find out, whether he is playing Speedy Blupi game created by Daniel Roux or Open Eggbert (the reimplementation) | However, the player should not be able find out, whether he is playing Speedy Blupi game created by [[Daniel Roux]] or Open Eggbert (the [[reimplementation]]) | ||
== Why Open Eggbert was created == | == Why Open Eggbert was created == | ||
* Both the games '''Speedy Blupi I''' and '''Speedy Blupi II''' are '''closed-source'''. | * Both the games '''Speedy Blupi I''' and '''Speedy Blupi II''' are '''closed-source'''. | ||
* Modifications of Speedy Blupi are possible only by hex editing of the EXE files | * Modifications of Speedy Blupi are possible only by hex editing of the [[EXE]] files | ||
* Bugs in Speedy Blupi cannot be fixed | * [[Bugs]] in Speedy Blupi cannot be fixed | ||
* Existing features of Speedy Blupi cannot be improved | * Existing features of Speedy Blupi cannot be improved | ||
* New features cannot be added to Speedy Blupi | * New features cannot be added to Speedy Blupi | ||
Line 110: | Line 133: | ||
# Open Eggbert is specifically focused on recreating Speedy Blupi/Eggbert games. This does not include other Blupi games. | # Open Eggbert is specifically focused on recreating Speedy Blupi/Eggbert games. This does not include other Blupi games. | ||
# Open Eggbert does not plan to support iPhone. Reason: iPhone via RoboVM supports only Java 8. But you can try compile Open Eggbert with Java 8 and then add iPhone support. | # Open Eggbert does not plan to support [[iPhone]]. Reason: iPhone via RoboVM supports only Java 8. But you can try compile Open Eggbert with Java 8 and then add iPhone support. | ||
== How to contribute == | == How to contribute == | ||
'''Development:''' https://github.com/openeggbert | |||
'''Documentation:''' https://openeggbert.com | |||
* registration is needed for changes | |||
'''Forum:''' https://forum.openeggbert.com | |||
* registration is needed for adding new posts | |||
'''Report bugs, propose features (new or improvements):''' https://issues.openeggbert.com | |||
* registration is needed to report bugs or features | |||
* you need to send an e-mail message to bugzilla-admin@openeggbert.com to create new account at https://issues.openeggbert.com | |||
You can send a message to: '''info@openeggbert.com''' | |||
List of Projects includes what is planned to be worked on: https://openeggbert.com/title/Projects | List of Projects includes what is planned to be worked on: https://openeggbert.com/title/Projects | ||
Line 143: | Line 182: | ||
=== Forum === | === Forum === | ||
https://forum.openeggbert.com | https://forum.openeggbert.com | ||
* Discuss the Open Eggbert project | * Discuss the Open Eggbert project | ||
=== Create free replacements for game assets (like MIDI music, WAV sounds, BMP graphics) === | === Create free replacements for game assets (like MIDI music, WAV sounds, BMP graphics) === | ||
* MIDI music, WAV sounds, BMP graphics | * [[MIDI]] music, [[WAV]] sounds, [[BMP]] graphics | ||
* Applications like Gimp, Inkscape and Blender can be used to achieve these goals | * Applications like [[Gimp]], [[Inkscape]] and [[Blender]] can be used to achieve these goals | ||
* 3D sprites for Speedy Blupi were created using the Ray Dream Studio 3D application | * 3D sprites for Speedy Blupi were created using the Ray Dream Studio 3D application | ||
* Music for Speedy Blupi was created using the Microsoft Music Producer application | * Music for Speedy Blupi was created using the [[Microsoft Music Producer]] application | ||
* Sounds - Original sounds may be the own recordings of the voice of Daniel Roux | * Sounds - Original sounds may be the own recordings of the voice of Daniel Roux | ||
Line 178: | Line 215: | ||
# Open Eggbert 3 - new features, which are not available in the original games developed by Daniel Roux | # Open Eggbert 3 - new features, which are not available in the original games developed by Daniel Roux | ||
== Legacy mode == | == Legacy mode == | ||
If legacy mode is enabled in CONFIG.DEF, then Open Eggbert will behave as much as possible as the original games developed by Daniel Roux. | If legacy mode is enabled in [[CONFIG.DEF]], then Open Eggbert will behave as much as possible as the original games developed by Daniel Roux. | ||
If legacy mode is disabled, then all Open Eggbert new features, graphics, sounds, music, etc. of Open Eggbert will be present and activated | If legacy mode is disabled, then all Open Eggbert new features, graphics, sounds, music, etc. of Open Eggbert will be present and activated | ||
Line 276: | Line 313: | ||
#* F7: Speed 4x | #* F7: Speed 4x | ||
#* F8: Speed 8x | #* F8: Speed 8x | ||
# Language localization. Language can be switched during the game is running - without start. New language localizations can be created. | |||
# Improve the Tutorial level. Inspire by Speedy Blupi for Windows Phone | |||
== Name origin == | == Name origin == | ||
Its name is not "Open Blupi", because "Blupi" is the registered trademark of Epsitec company.<ref>https://branddb.wipo.int/en/quicksearch/brand/CH501993000002322?sort=score%20desc&start=0&rows=30&asStructure=%7B%22_id%22:%2253d3%22,%22boolean%22:%22AND%22,%22bricks%22:%5B%7B%22_id%22:%2253d4%22,%22key%22:%22brandName%22,%22value%22:%22blupi%22,%22strategy%22:%22Simple%22%7D%5D%7D&_=1718551274937&fg=_void_&i=6</ref> | Its name is not "Open Blupi", because "Blupi" is the registered trademark of [[Epsitec]] company.<ref>https://branddb.wipo.int/en/quicksearch/brand/CH501993000002322?sort=score%20desc&start=0&rows=30&asStructure=%7B%22_id%22:%2253d3%22,%22boolean%22:%22AND%22,%22bricks%22:%5B%7B%22_id%22:%2253d4%22,%22key%22:%22brandName%22,%22value%22:%22blupi%22,%22strategy%22:%22Simple%22%7D%5D%7D&_=1718551274937&fg=_void_&i=6</ref> | ||
Open is the first word in the name, because Open Eggbert is open-source. | Open is the first word in the name, because Open Eggbert is open-source. | ||
Line 286: | Line 325: | ||
==References== | ==References== | ||
<references /> | <references /> | ||
[[Category:Fan projects]] |
Revision as of 19:21, 21 November 2024
Open Eggbert | |
---|---|
Recreation of | Speedy Blupi/Eggbert I/II/1/2 |
Recreation type | Top down method |
Author (person) | Robert Vokac |
Developer (person) | |
Publisher (person) | |
Licence | GPL version 3 or later |
Programming language | Java 11 |
Used libraries | LibGDX, Pixel Game Library |
Project launched | In June 2024 |
Development started | On 3rd July 2024 |
Released date | Not yet released |
Development status | Being developed (just the beginning) |
E-mail contact | info@openeggbert.com |
Documentation | https://openeggbert.com |
Source code | https://github.com/openeggbert |
Source code (mirror) | https://code.openeggbert.com |
Forum | https://forum.openeggbert.com |
Report bugs and features | https://issues.openeggbert.com |
Play online | https://play.openeggbert.com/ |
Play online (TeaVM) | https://playt.openeggbert.com/ |
Play online (test) | https://test.openeggbert.com/ |
Play online (test, TeaVM) | https://testt.openeggbert.com/ |
File storage | https://drive.openeggbert.com/ |
Google Drive(mostly not up to date) | https://drive.google.com/... |
Maven artifacts | https://repo.openeggbert.com |
Video storage | https://videos.openeggbert.com |
Youtube channel | https://www.youtube.com/@OpenEggbert-e7t |
Related Youtube videos | https://youtube.openeggbert.com |
Related websites | Webs related to Speedy Blupi |
Internet archive | Internet archive |
Archive (pywb) | https://archive.openeggbert.com/main |
Archive of warc files | https://warc.openeggbert.com |
Pixel Game Library | https://pixelgamelibrary.com |
Blupi | https://blupi.net/ |
Introduction
Open Eggbert is a free and open-source recreation of Speedy Blupi I/II computer game.
Multiple platforms are supported: Windows, Linux, MacOS, Android, Web (via GWT)
Relation to Speedy Blupi
Open Eggbert is an approximation of the Speedy Blupi engine.
Open Eggbert does not have a Clock cycle wise identical behaviour as Speedy Blupi, because to reach such goal is not possible without the source code of Speedy Blupi engine. (Update: Thanks to the decompilation project the clock cycle wise identical behaviour may be possible)
However, the player should not be able find out, whether he is playing Speedy Blupi game created by Daniel Roux or Open Eggbert (the reimplementation)
Why Open Eggbert was created
- Both the games Speedy Blupi I and Speedy Blupi II are closed-source.
- Modifications of Speedy Blupi are possible only by hex editing of the EXE files
- Bugs in Speedy Blupi cannot be fixed
- Existing features of Speedy Blupi cannot be improved
- New features cannot be added to Speedy Blupi
- No one has yet appeared to start a project to create a recreation (reimplementation) of Speedy Blupi I/2.
Advantages of Open Eggbert
New features can be added. Existing features can be improved. Found bugs can be fixed. Game can be ported to new platforms.
Notes
- Open Eggbert is specifically focused on recreating Speedy Blupi/Eggbert games. This does not include other Blupi games.
- Open Eggbert does not plan to support iPhone. Reason: iPhone via RoboVM supports only Java 8. But you can try compile Open Eggbert with Java 8 and then add iPhone support.
How to contribute
Development: https://github.com/openeggbert
Documentation: https://openeggbert.com
- registration is needed for changes
Forum: https://forum.openeggbert.com
- registration is needed for adding new posts
Report bugs, propose features (new or improvements): https://issues.openeggbert.com
- registration is needed to report bugs or features
- you need to send an e-mail message to bugzilla-admin@openeggbert.com to create new account at https://issues.openeggbert.com
You can send a message to: info@openeggbert.com
List of Projects includes what is planned to be worked on: https://openeggbert.com/title/Projects
We can organize online meetings, share screens etc.
List of examples of possible contributions follows.
Development
https://github.com/openeggbert
- Fork the repository, add a change and create a new merge request
- Test features for bugs
- Add missing tests
- Report bugs
- Propose new features
- Implement bug fixes or feature requests from GitHub Issues
Once you've made your decision on what you'd like to do, please inform us beforehand. This ensures that the issue you're interested in hasn't already been addressed or is being worked on in newer versions.
Documentation
- Create new articles or improve the existing ones. Correct errors, ambiguities and typos.
- For example:
- Identify the sprite positions using the application sprite-utils
- Add help how to run and modify Speedy Blupi/Eggbert (Exagear, Wine, Windows Phone emulation or rooting, etc.)
Your changes will be made public, once approved. Verified users will be granted the right to public the changes immediately.
Reverse engineer EXE or XAP files of Speedy Blupi/Eggbert games.
Forum
- Discuss the Open Eggbert project
Create free replacements for game assets (like MIDI music, WAV sounds, BMP graphics)
- MIDI music, WAV sounds, BMP graphics
- Applications like Gimp, Inkscape and Blender can be used to achieve these goals
- 3D sprites for Speedy Blupi were created using the Ray Dream Studio 3D application
- Music for Speedy Blupi was created using the Microsoft Music Producer application
- Sounds - Original sounds may be the own recordings of the voice of Daniel Roux
Game space
Game space is a directory with the defined structure.
Player has one or more game spaces.
Each game space has a feature level.
Game space can be cloned. You can have several game spaces with the same Feature level.
Feature level
Feature level represents set of features, which are supported in the given game space.
Open Eggbert behaves almost exactly like the original game version related to the Feature level.
Feature levels:
- Speedy Blupi Demo
- Speedy Blupi I
- Speedy Blupi II
- Speedy Eggbert Demo
- Speedy Eggbert VALUEWARE
- Speedy Eggbert 1
- Speedy Eggbert 2
- Open Eggbert 3 - new features, which are not available in the original games developed by Daniel Roux
Legacy mode
If legacy mode is enabled in CONFIG.DEF, then Open Eggbert will behave as much as possible as the original games developed by Daniel Roux.
If legacy mode is disabled, then all Open Eggbert new features, graphics, sounds, music, etc. of Open Eggbert will be present and activated
The third possibility is to set the value of LegacyMode, which contains comma separated list of Open Eggbert only features, which will be additionally activated and supported. This means, that Legacy mode is enabled, but some Open Eggbert only features are activated.
- For example disable cheat, even the game behaves like Speedy Eggbert I
Goals (projects)
See: Projects
Project A: CATCH: Collect all knowledge related to the Speedy Blupi game engine found on the Internet
Project B: SPECIFY: Create the ultimate specification of Speedy Blupi game engine and its related games, utilities, etc.
Project C: REMAKE: Reimplement the origin Speedy Blupi game engine
Project D: FREE IMAGES: Create free replacements of game images - Vector graphics - with Inkscape or an alternative - format BMP or PNG or JPEG
Project E: FREE SPRITES: Create free replacements of game sprites - 3D graphics - with Blender or an alternative - format BMP or PNG or JPEG
Project F: FREE MUSIC: Create free replacements of game music - format MP3 or OGG
Project G: FREE SOUNDS: Create free replacements of game sounds - format WAV or OGG
Project H: OPEN EGGBERT 3: Propose and implement new features with comparison to the Speedy Blupi game engine
Project I: ANALYSE: Analyse and document all the knowledge related to the Speedy Blupi game engine
Project J: STORE: Implement modding system and Open Eggbert Store - web application
Project K: MODS: Document mods for Speedy Blupi/Eggbert games (record videos, decribe levels, describe modded graphics/music/sounds
Project L: EXE: Reverse engineer the EXE files of Speedy Blupi/Eggbert game engines
Project M: PLUS: Decompile the C++ source code of Speedy Blupi/Eggbert
Project N: XAP: Reverse engineer the XAP file of Speedy Blupi for Windows Phone released in 2013
Project O: INFRA: Infrastructure
Development
New features with comparison to Speedy Blupi/Eggbert 1/2/I/II
- Recreation of game graphics (doubled resolution). New vehicles. Existing features will be improved.
- Open Eggbert Editor - new separate application, an alternative level editor. Features will be inspired by X-Edit, X-Edit-Mapper and BlupiEdit and tiled-blupi
- An alternative new Graphics - will be created and modeled probably with Blender and Gimp and Inkscape.
- New directories:
- IMAGE24 - 24 bit graphics (BMP or PNG)
- MAGE24X2 - 24 bit graphics with the double detailed resolution with the comparison to Speedy Blupi I/II
- Support for the following image file extensions: BLP, BMP, PNG
- Support for the following image music extensions: BLP, MIDI, OGG, MP3
- Support for the following image sound extensions: BLP, WAV, OGG, MP3
- Support for text mods (translations/alternative texts)
- Game play FPS: 60
- 24 bit color depth
- Resolution 1280x960, or possibly any resolution.
- New vehicles - ship, submarine, bike, line skates, ...
- New cheats
- Improved multiplayer mode. More than 4 Eggberts in the multiplayer. And others.
- Some bugs in Speedy Blupi/Eggbert 1/2/I/II won't exist (Unfortunately some new unwanted bugs will be introduced)
- Support for mods - external directories or compressed archives with:
- worlds in directory data (mandatory)
- alternative graphics in directories IMAGES08 or IMAGES16 or IMAGE24 OR IMAGES16X2 OR IMAGES24X2 (optional)
- alternative WAV sounds in directory SOUND
- alternative MIDI music in directory SOUND
- Use of artificial intelligence - for example to simulate other players for multiplayer or to simulate gameplay by the computer or to generate new worlds
- World generator (using computer algorithm or artificial intelligence)
- World size could be also: width=200 height=200
- Infinite worlds - provided by the world generator
- Limits will be changed: size and object limit in levels. This requires new file format - maybe EGT file name extension.
- Dream blocks will be back
- Possibility to forbid cheats
- Some ideas and features from Speedy Blupi for Windows Phone should also appear in the Open Eggbert
- Ideas:
- Respawnable objects
- Another/custom water colors
- liana, ladder
- different types of bombs
- multi-station lifts with circle and shuttle mode - lifts with more than two checkpoints
- editing levels on the fly (during the gameplay)
- widescreen display mode
- ice blocks, sliding ice blocks
- Mouse, key and touch presses can be shown in real time on screen (inspired by https://github.com/Jax-Core/Keystrokes https://gitlab.com/screenkey/screenkey https://linux.die.net/man/1/xev https://kbd-project.org/manpages/man1/showkey.1.html https://www.omgubuntu.co.uk/screenkey-show-key-presses-screen-ubuntu)
- New Eggbert colors - probably realized by some color manipulation of BMP or PNG files.
- Editing CONFIG.DEF will be possible via a new graphical interface in the game.
- Switching between fullscreen and window modes without the requiring to exit the game and then start again.
- It will be possible to switch between game spaces without exiting the game and starting again.
- New ways of control of the game:
- white transparent buttons (similar to the Windows Phone version) on the touch screen
- accelerometer (similar to the Windows Phone version) - available only on the Android version'
- onscreen keyboard
- New keyboard shortcuts:
- F7: Speed 4x
- F8: Speed 8x
- Language localization. Language can be switched during the game is running - without start. New language localizations can be created.
- Improve the Tutorial level. Inspire by Speedy Blupi for Windows Phone
Name origin
Its name is not "Open Blupi", because "Blupi" is the registered trademark of Epsitec company.[1]
Open is the first word in the name, because Open Eggbert is open-source.
Speedy Eggbert is no more a registred trademark and this is reason, why the second word in the name is "Eggbert"
References
- ↑ https://branddb.wipo.int/en/quicksearch/brand/CH501993000002322?sort=score%20desc&start=0&rows=30&asStructure=%7B%22_id%22:%2253d3%22,%22boolean%22:%22AND%22,%22bricks%22:%5B%7B%22_id%22:%2253d4%22,%22key%22:%22brandName%22,%22value%22:%22blupi%22,%22strategy%22:%22Simple%22%7D%5D%7D&_=1718551274937&fg=_void_&i=6